From 991139438e808ee1fe4f6f811d2693c867cc8a9f Mon Sep 17 00:00:00 2001 From: Namhyung Kim Date: Tue, 24 May 2011 16:48:55 +0200 Subject: [PATCH] --- yaml --- r: 251286 b: refs/heads/master c: a1c15c59feee36267c43142a41152fbf7402afb6 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/block/loop.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 78ba619ddcf7..532922ae0337 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 78f4bb367fd147a0e7e3998ba6e47109999d8814 +refs/heads/master: a1c15c59feee36267c43142a41152fbf7402afb6 diff --git a/trunk/drivers/block/loop.c b/trunk/drivers/block/loop.c index cbf7052d1dd5..c59a672a3de0 100644 --- a/trunk/drivers/block/loop.c +++ b/trunk/drivers/block/loop.c @@ -1658,7 +1658,7 @@ static struct kobject *loop_probe(dev_t dev, int *part, void *data) struct kobject *kobj; mutex_lock(&loop_devices_mutex); - lo = loop_init_one(dev & MINORMASK); + lo = loop_init_one(MINOR(dev) >> part_shift); kobj = lo ? get_disk(lo->lo_disk) : ERR_PTR(-ENOMEM); mutex_unlock(&loop_devices_mutex); @@ -1699,10 +1699,10 @@ static int __init loop_init(void) if (max_loop) { nr = max_loop; - range = max_loop; + range = max_loop << part_shift; } else { nr = 8; - range = 1UL << (MINORBITS - part_shift); + range = 1UL << MINORBITS; } if (register_blkdev(LOOP_MAJOR, "loop")) @@ -1741,7 +1741,7 @@ static void __exit loop_exit(void) unsigned long range; struct loop_device *lo, *next; - range = max_loop ? max_loop : 1UL << (MINORBITS - part_shift); + range = max_loop ? max_loop << part_shift : 1UL << MINORBITS; list_for_each_entry_safe(lo, next, &loop_devices, lo_list) loop_del_one(lo);