In message: <[email protected]> Marcel Moolenaar <[email protected]> writes: : : On Feb 16, 2009, at 4:35 PM, M. Warner Losh wrote: : : > In message: <[email protected]> : > Marcel Moolenaar <[email protected]> writes: : > : : > : On Feb 16, 2009, at 3:13 PM, M. Warner Losh wrote: : > : : > : > In message: <[email protected]> : > : > Marcel Moolenaar <[email protected]> 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).
r145250 | phk | 2005-04-18 15:21:26 -0600 (Mon, 18 Apr 2005) | 12 lines Add a named reference-count KPI to hold off mounting of the root filesystem. While we wait for holds to be released, print a list of who holds us back once per second. Use the new KPI from GEOM instead of vfs_mount.c calling g_waitidle(). Use the new KPI also from ata. With ATAmkIII's newbusification, ata could narrowly miss the window and ad0 would not exist when we tried to mount root. ---- But it looks like the old usb code didn't call it either... I think old code enumerated right away during boot, while the new code defers the enumeration until events can be processed... Warner _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-usb To unsubscribe, send any mail to "[email protected]"
