Commit 28c6715d authored by Tony Lindgren's avatar Tony Lindgren

Sync with mainline: init/do_mounts.c

File init/do_mounts.c should always be in sync with mainline.

See rootdelay= kernel parameter for mounting USB drive as root.
parent b53d86bd
......@@ -8,6 +8,7 @@
#include <linux/security.h>
#include <linux/delay.h>
#include <linux/mount.h>
#include <linux/device.h>
#include <linux/nfs_fs.h>
#include <linux/nfs_fs_sb.h>
......@@ -284,8 +285,11 @@ void __init mount_block_root(char *name, int flags)
{
char *fs_names = __getname();
char *p;
#ifdef CONFIG_BLOCK
char b[BDEVNAME_SIZE];
int i = 0;
#else
const char *b = name;
#endif
get_fs_names(fs_names);
retry:
......@@ -300,19 +304,13 @@ retry:
case -EINVAL:
continue;
}
printk("VFS: No root yet, retrying to mount root on %s (%s)\n",
root_device_name, __bdevname(ROOT_DEV, b));
current->state = TASK_INTERRUPTIBLE;
schedule_timeout(10 * HZ);
if (i++ < 5)
goto retry;
/*
* Allow the user to distinguish between failed sys_open
* and bad superblock on root device.
*/
#ifdef CONFIG_BLOCK
__bdevname(ROOT_DEV, b);
#endif
printk("VFS: Cannot open root device \"%s\" or %s\n",
root_device_name, b);
printk("Please append a correct \"root=\" boot option\n");
......@@ -324,7 +322,10 @@ retry:
for (p = fs_names; *p; p += strlen(p)+1)
printk(" %s", p);
printk("\n");
panic("VFS: Unable to mount root fs on %s", __bdevname(ROOT_DEV, b));
#ifdef CONFIG_BLOCK
__bdevname(ROOT_DEV, b);
#endif
panic("VFS: Unable to mount root fs on %s", b);
out:
putname(fs_names);
}
......@@ -395,8 +396,10 @@ void __init mount_root(void)
change_floppy("root floppy");
}
#endif
#ifdef CONFIG_BLOCK
create_dev("/dev/root", ROOT_DEV);
mount_block_root("/dev/root", root_mountflags);
#endif
}
/*
......@@ -412,6 +415,10 @@ void __init prepare_namespace(void)
ssleep(root_delay);
}
/* wait for the known devices to complete their probing */
while (driver_probe_done() != 0)
msleep(100);
md_run_setup();
if (saved_root_name[0]) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment