Re: [PATCH v4 0/2] [SCSI] Asynchronous eventnotification infrastructure

From: James Bottomley
Date: Mon Oct 29 2007 - 12:11:15 EST


On Mon, 2007-10-29 at 11:58 -0400, Jeff Garzik wrote:
> James Bottomley wrote:
> > On Mon, 2007-10-29 at 10:42 -0400, Jeff Garzik wrote:
> >> This is the next revision of the SCSI event notification infrastructure
> >> patchset, enabling SATA Asynchronous Notification ("AN") for CD/DVD
> >> devices that support it.
> >>
> >> For devices that support SATA AN (only very recent ones do), this means
> >> that HAL and other userspace utilities no longer need to repeatedly poll
> >> the CD/DVD device to determine if the user has changed the media.
> >>
> >> This revision takes into account James' comments from earlier today,
> >> modulo the following notes:
> >>
> >> * I think the various event attributes should always be present,
> >> for all devices at all times. If various events are not supported,
> >> the attribute will of course return zero (false, not supported).
> >
> > Actually, I don't think so. We have precedent for this in the transport
> > classes: if a device doesn't support a feature, we don't export the flag
> > for that feature through sysfs. This allows not only feature control,
> > but an immediate view of the device capabilities simply by viewing the
> > sysfs directory.
>
> Think about about the values being exported by these sysfs attributes:
> they indicate whether or not that feature is supported.

Ah, OK; I haven't communicated what we need very clearly. We need a way
to see if the event is supported by the device, as well as a way to turn
it off. For some of the events (possibly not the SATA AN one, since I
know all SATA devices will be well behaved) there's going to be a need
to deal with berserk or broken devices that become trigger happy, so
turning off the event will be a useful (and possibly essential) way of
coping.

> Thus, using the presence/absence of an attribute to communicate the same
> thing would be redundant.
>
> This suggestion adds a whole lot of complexity -- mirroring every change
> to sdev->supported_events by dynamically adding or removing attributes.
>
> The current nice, simple, elegant bitops-based interface is suddenly a
> lot more cumbersome if forced to deal with attribute creation and disposal.
>
> Finally, this additional complexity of dynamic attribute management also
> eliminates some key information: userland can test the existence of the
> attribute to determine if that support is present in the kernel.

James


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/