DragonFly BSD
DragonFly users List (threaded) for 2005-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: D-BUS, anyone?


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 6 Dec 2005 10:58:35 -0800 (PST)

:Ivan Voras <ivoras@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
:>filesystem).
:
: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.
:
:Rahul

    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.

					-Matt
					Matthew Dillon 
					<dillon@xxxxxxxxxxxxx>



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]