init: wait for asynchronously scanned block devices
authorPierre Ossman <drzeus-list@drzeus.cx>
Mon, 16 Jul 2007 06:40:35 +0000 (23:40 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 16 Jul 2007 16:05:45 +0000 (09:05 -0700)
commitcc1ed7542c8c26af0f501da8006b9fce03e9aaca
treef618c959d3740151de50ba59b13c3af8d00a3b71
parent4a19542e5f694cd408a32c3d9dc593ba9366e2d7
init: wait for asynchronously scanned block devices

Some buses (e.g.  USB and MMC) do their scanning of devices in the
background, causing a race between them and prepare_namespace().  In order
to be able to use these buses without an initrd, we now wait for the device
specified in root= to actually show up.

If the device never shows up than we will hang in an infinite loop.  In
order to not mess with setups that reboot on panic, the feature must be
turned on via the command line option "rootwait".

[bunk@stusta.de: root_wait can become static]
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Documentation/kernel-parameters.txt
init/do_mounts.c