summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2007-08-17 14:05:27 +1000
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-08-18 09:45:51 -0700
commit9ef7ad22965fcd817b20c1332286f02362266534 (patch)
tree9a2c60ced8f99f6c93ca5f46b468038f627cee8a
parent56616ebd0e49b7e5c67a19ca1d96e8ec382bcacf (diff)
Enable partitions for lguest block device
The lguest block device only requests one minor, which means partitions don't work (eg "root=/dev/lgba1"). Let's follow the crowd and ask for 16. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/block/lguest_blk.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/block/lguest_blk.c b/drivers/block/lguest_blk.c
index 93e3c4001bf..160cf14431a 100644
--- a/drivers/block/lguest_blk.c
+++ b/drivers/block/lguest_blk.c
@@ -308,9 +308,12 @@ static int lguestblk_probe(struct lguest_device *lgdev)
}
/* This allocates a "struct gendisk" where we pack all the information
- * about the disk which the rest of Linux sees. We ask for one minor
- * number; I do wonder if we should be asking for more. */
- bd->disk = alloc_disk(1);
+ * about the disk which the rest of Linux sees. The argument is the
+ * number of minor devices desired: we need one minor for the main
+ * disk, and one for each partition. Of course, we can't possibly know
+ * how many partitions are on the disk (add_disk does that).
+ */
+ bd->disk = alloc_disk(16);
if (!bd->disk) {
err = -ENOMEM;
goto out_unregister_blkdev;