USB2+umass: root mount fails

Marcel Moolenaar xcllnt at mac.com
Mon Feb 16 17:37:25 PST 2009


On Feb 16, 2009, at 4:35 PM, M. Warner Losh wrote:

> In message: <741FAA3B-B91A-4A23-B47F-21141A8D0B5D at mac.com>
>            Marcel Moolenaar <xcllnt at mac.com> writes:
> :
> : On Feb 16, 2009, at 3:13 PM, M. Warner Losh wrote:
> :
> : > In message: <ACB7DFF1-6C8E-4936-9BD9-BB2FD375F3BB at mac.com>
> : >            Marcel Moolenaar <xcllnt at mac.com> writes:
> : > : Before I dig into the code, what's the current status of
> : > : root mounts on USB mass storage devices?
> : >
> : > First, there's a kludge-o-round that is similar to your "sleep 10"
> : > that you've added.  It loops waiting for more devices to show up  
> if
> : > the desired root file system hasn't appeared yet.
> : >
> : > There's no way for hot-plug busses to tell the kernel "I've  
> tried my
> : > best to enumerate everything on my bus, and I'm done"
> :
> : Of course there is. Any and all USB hubs have a certain
> : number of ports. You can trivially iterate over all of
> : them and declare completion when you've tried them all.
>
> The hot-plug busses know.  The mountroot code doesn't have a way to
> wait for the hot-plug busses.

Huh?
root_mount_hold() and root_mount_rel() are specifically
designed to inform the mountroot code that it needs to
wait (or that it should go ahead and mount root).

-- 
Marcel Moolenaar
xcllnt at mac.com





More information about the freebsd-usb mailing list