init: DEBUG_BLOCK_EXT_DEVT requires explicit root= param
authorTejun Heo <tj@kernel.org>
Mon, 1 Sep 2008 11:44:35 +0000 (13:44 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Thu, 9 Oct 2008 06:56:11 +0000 (08:56 +0200)
DEBUG_BLOCK_EXT_DEVT shuffles SCSI and IDE device numbers and root
device number set using rdev become meaningless.  Root devices should
be explicitly specified using textual names.  Warn about it if root
can't be found and DEBUG_BLOCK_EXT_DEVT is enabled.  Also, add warning
to the help text.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
init/do_mounts.c
lib/Kconfig.debug

index 3715feb8446d5c84796310e975d4948fd88df9ea..d055b1914c3d3b696237a04bb352ed5dbb7e14c6 100644 (file)
@@ -263,6 +263,10 @@ retry:
                printk("Please append a correct \"root=\" boot option; here are the available partitions:\n");
 
                printk_all_partitions();
+#ifdef CONFIG_DEBUG_BLOCK_EXT_DEVT
+               printk("DEBUG_BLOCK_EXT_DEVT is enabled, you need to specify "
+                      "explicit textual name for \"root=\" boot option.\n");
+#endif
                panic("VFS: Unable to mount root fs on %s", b);
        }
 
index 4378d5e923ca25e55ed229b6dc106f1ceb834d85..c556896abe57e9680295899cb1f681122d260f4e 100644 (file)
@@ -638,6 +638,12 @@ config DEBUG_BLOCK_EXT_DEVT
          userland code paths which assume predetermined contiguous
          device number allocation.
 
+         Note that turning on this debug option shuffles all the
+         device numbers for all IDE and SCSI devices including libata
+         ones, so root partition specified using device number
+         directly (via rdev or root=MAJ:MIN) won't work anymore.
+         Textual device names (root=/dev/sdXn) will continue to work.
+
          Say N if you are unsure.
 
 config LKDTM