diff options
author | Kay Sievers <kay.sievers@vrfy.org> | 2008-05-06 16:31:33 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-05-14 13:37:57 -0400 |
commit | 30f2f0eb4bd2c43d10a8b0d872c6e5ad8f31c9a0 (patch) | |
tree | deb8d2a749cd737d9abead1b4cc8321d00dbaee4 /include/linux | |
parent | 9604006d283fb67dda5ee9e0e15b7cc6c62e1557 (diff) |
block: do_mounts - accept root=<non-existant partition>
Some devices, like md, may create partitions only at first access,
so allow root= to be set to a valid non-existant partition of an
existing disk. This applies only to non-initramfs root mounting.
This fixes a regression from 2.6.24 which did allow this to happen and
broke some users machines :(
Acked-by: Neil Brown <neilb@suse.de>
Tested-by: Joao Luis Meloni Assirati <assirati@nonada.if.usp.br>
Cc: stable <stable@kernel.org>
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/genhd.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/genhd.h b/include/linux/genhd.h index e9874e7fcdf9..ae7aec3cabee 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h | |||
@@ -525,7 +525,7 @@ struct unixware_disklabel { | |||
525 | #define ADDPART_FLAG_RAID 1 | 525 | #define ADDPART_FLAG_RAID 1 |
526 | #define ADDPART_FLAG_WHOLEDISK 2 | 526 | #define ADDPART_FLAG_WHOLEDISK 2 |
527 | 527 | ||
528 | extern dev_t blk_lookup_devt(const char *name); | 528 | extern dev_t blk_lookup_devt(const char *name, int part); |
529 | extern char *disk_name (struct gendisk *hd, int part, char *buf); | 529 | extern char *disk_name (struct gendisk *hd, int part, char *buf); |
530 | 530 | ||
531 | extern int rescan_partitions(struct gendisk *disk, struct block_device *bdev); | 531 | extern int rescan_partitions(struct gendisk *disk, struct block_device *bdev); |
@@ -553,7 +553,7 @@ static inline struct block_device *bdget_disk(struct gendisk *disk, int index) | |||
553 | 553 | ||
554 | static inline void printk_all_partitions(void) { } | 554 | static inline void printk_all_partitions(void) { } |
555 | 555 | ||
556 | static inline dev_t blk_lookup_devt(const char *name) | 556 | static inline dev_t blk_lookup_devt(const char *name, int part) |
557 | { | 557 | { |
558 | dev_t devt = MKDEV(0, 0); | 558 | dev_t devt = MKDEV(0, 0); |
559 | return devt; | 559 | return devt; |