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>
This commit is contained in:
Tejun Heo 2008-09-01 13:44:35 +02:00 коммит произвёл Jens Axboe
Родитель 2bbedcb4c1
Коммит 55dc7db70a
2 изменённых файлов: 10 добавлений и 0 удалений

Просмотреть файл

@ -263,6 +263,10 @@ retry:
printk("Please append a correct \"root=\" boot option; here are the available partitions:\n"); printk("Please append a correct \"root=\" boot option; here are the available partitions:\n");
printk_all_partitions(); 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); panic("VFS: Unable to mount root fs on %s", b);
} }

Просмотреть файл

@ -638,6 +638,12 @@ config DEBUG_BLOCK_EXT_DEVT
userland code paths which assume predetermined contiguous userland code paths which assume predetermined contiguous
device number allocation. 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. Say N if you are unsure.
config LKDTM config LKDTM