Messages in this thread | | | Date | Mon, 29 Oct 2007 12:24:59 -0400 | From | Jeff Garzik <> | Subject | Re: [PATCH v4 0/2] [SCSI] Asynchronous event notification infrastructure |
| |
James Bottomley wrote: > 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.
That's possible with the presented interface[1]:
# see if event is supported cat $path/evt_media_change
# turn off event to deal with broken/beserk devices echo 0 > $path/evt_media_change
Some sillyhead can always do
echo 1 > $path/evt_some_event_my_device_does_not_support
but that will be obviously be a no-op because their device simply will not send such events.
Granted ls(1) is no longer a method for viewing supported-at-boot-time list of events -- ls(1) in the presented interface lists what events the _kernel_ supports, and cat(1) is used to discover which events are actually enabled.
I think that is the only difference between our two positions: [if I understand you correctly] you want ls(1) to be able to list the device's supported events. However, I feel that is inconsistent: for your proposal, userspace must perform two checks in order to determine a feature's availability: 1) does the file exist? 2) is the file context non-zero?
Regards,
Jeff
[1] modulo my comment from the original email in this thread: > * I was slack and did not bother to implement the 'set' operation > for the attributes. This can easily be done at a later time in a > separate patch.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |