aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2008-09-01 13:44:35 +0200
committerJens Axboe <jens.axboe@oracle.com>2008-10-09 08:56:11 +0200
commit55dc7db70a73a3809a2334063c9b5b0d8ccebdaa (patch)
treee0e52ad2a0e6d3142945346f5acd7979c2b10e8d
parent2bbedcb4c1abac498f18e5770d62ae66ff235ada (diff)
init: DEBUG_BLOCK_EXT_DEVT requires explicit root= param
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>
-rw-r--r--init/do_mounts.c4
-rw-r--r--lib/Kconfig.debug6
2 files changed, 10 insertions, 0 deletions
diff --git a/init/do_mounts.c b/init/do_mounts.c
index 3715feb8446..d055b1914c3 100644
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -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);
}
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 4378d5e923c..c556896abe5 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -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