On Tue, 2004-04-06 at 10:10, David Brownell wrote:
> James Bottomley wrote:
> > that's intra subsystem synchronisation, not inter subsystem
>
> I'd say that device_driver.remove() calls from the bus management
> code to a given device driver are inter-subsystem...
so using a subsystem provided API from another subsystem constitutes
inter subsytem synchronisation? I don't think so.
> Refcounting systems need loop-breaking protocols ("disconnect");
> this is needed for that sort of reason, if no other.
No, they don't.
Supposing we did no hotplug at all and just relied on the fact that a
driver responds DID_NO_CONNECT to a missing device.
We have a mounted fs on a CD on SCSI on USB which gets disconnected. No
event is generated because no hotplug. Now every read of the fs gets
EIO. The system can continue in this state forever if necessary.
However, eventually the user will get bored and unmount the fs
If we just generated a single event saying "device gone" and did nothing
else, userland helpers could pull apart the entire stack (clean up
application, kill processes, unmount fs, remove scsi device etc).
You're trying to make a particular event special. That's not correct.
There are many types of disconnect (user unmount, user offlines device)
coming from essentially all parts of the stack.
James
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel