usbd does not use detach

Eric Jacobs eaja at erols.com
Fri Aug 15 08:20:36 PDT 2003


On Thu, 14 Aug 2003 10:38:07 -0700
John-Mark Gurney <gurney_j at efn.org> wrote:

> 
> This is a bit more complex than this.  There are many more layers between
> usb and VFS.  For USB umass devices, they proxy to cam, which then is an
> interface to da which is a provider for geom which then provides the
> final device for ufs to mount.  So, each and every one of those steps
> need to be taught about this.  Right now, very few things use newbus
> even though they should.  This is a problem of them existing before
> newbus was nailed down.  CAM doesn't use newbus for any of it's device
> management (scsi device, not HBA attachment).

Yes, I'm aware that there are more layers. Propogating the flag value
down is trivial. The major deficiency of CAM and GEOM is that errors
can't be sent back up. For example, we have this scenario:

# mount /dev/da0s1a /mnt          # mounting a USB hard drive
# cd /mnt                         # in use
# kldunload umass                 # oops! it succeeds
#

Ideally, I'd love to see an enhanced newbus provide the One True
Framework for attaching and detaching both devices and device
clients. Unfortunately, it seems like it would take a substantial
redesign to get there from this point.

Eric


More information about the freebsd-current mailing list