dillon at apollo.backplane.com
Tue Dec 6 11:08:52 PST 2005
:Ivan Voras <ivoras at xxxxxx>
:>Something like that has been done, for example on FreeSBIE livecd of
:>FreeBSD (using devd(8) IIRC). But there's a major problem when devices
:>get disconnected (i.e.: the device gets pulled from under the mounted
:Actually it's easy to panic DragonFly (or FreeBSD, last I checked,
:which was early 5.x) by pulling out any USB device while it's in use
:-- not necessarily a storage device, it happens for me with a
:USB-to-serial convertor too, and used to happen under FreeBSD with a
:USB audio device. Annoyingly the USB audio device was often not
:actually in use (no audio playback/recording happening, no mixer
:program running), but the kernel still believed it was in use and
:refused to "detach" it even though it was physically gone. The panic
:happened if I plugged it in again.
:> AFAIK, this problem was considered too complex to deal at
:>this time because it involved re-architecting portions of VFS.
:The response I got on the FreeBSD lists at that time was it would
:involve major rearchitecting of something else (not VFS) since the
:kernel assumes that a device, once detected, will always be there and
:will not be abruptly yanked out...
:I don't know if this has changed lately.
Well, the unplug/replug->panic issue with USB on FreeBSD is simply
due to the device being reattached but not being reinitialized properly,
so the driver winds up getting really confused. I fixed that in DragonFly
but I'm sure there are a ton of other potential panic situations that
we haven't covered. Device Drivers just aren't written with the concept
of the hardware getting ripped out from under them in mind.
<dillon at xxxxxxxxxxxxx>
More information about the Users