Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Feb 2009 15:52:08 -0800
From:      Marcel Moolenaar <xcllnt@mac.com>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        usb@freebsd.org
Subject:   Re: USB2+umass: root mount fails
Message-ID:  <741FAA3B-B91A-4A23-B47F-21141A8D0B5D@mac.com>
In-Reply-To: <20090216.161346.1176917525.imp@bsdimp.com>
References:  <ACB7DFF1-6C8E-4936-9BD9-BB2FD375F3BB@mac.com> <20090216.161346.1176917525.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Feb 16, 2009, at 3:13 PM, M. Warner Losh wrote:

> In message: <ACB7DFF1-6C8E-4936-9BD9-BB2FD375F3BB@mac.com>
>            Marcel Moolenaar <xcllnt@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.

Recursion is also not a big deal. When you find a HUB
underneath a port, you iterate over all the ports of
that downstream hub before you declare completion of
the USB discovery process.

When the USB discovery process is done, you release
the root mount lock...

So what's the problem?

-- 
Marcel Moolenaar
xcllnt@mac.com






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?741FAA3B-B91A-4A23-B47F-21141A8D0B5D>