]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - init/do_mounts.c
Merge with ../linux-2.6
[linux-2.6-omap-h63xx.git] / init / do_mounts.c
index b27c11064409a35812d9d35ba359e06f6d8c0ffb..d63da86037b76865094b2ac5d05a867ea26d5921 100644 (file)
@@ -286,6 +286,7 @@ void __init mount_block_root(char *name, int flags)
        char *fs_names = __getname();
        char *p;
        char b[BDEVNAME_SIZE];
+       int i = 0;
 
        get_fs_names(fs_names);
 retry:
@@ -300,6 +301,14 @@ 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.