]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
xen-blkfront: use bitmap_set() and bitmap_clear()
authorAkinobu Mita <akinobu.mita@gmail.com>
Fri, 20 Jan 2012 15:15:26 +0000 (00:15 +0900)
committerJens Axboe <axboe@kernel.dk>
Tue, 20 Mar 2012 11:52:41 +0000 (12:52 +0100)
Use bitmap_set and bitmap_clear rather than modifying individual bits
in a memory region.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com
Cc: virtualization@lists.linux-foundation.org
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
drivers/block/xen-blkfront.c

index 2f22874c0a374df53ef5f264b42901ac3fc15979..619868d91ca8729037515b06480f7a7a8c011821 100644 (file)
@@ -43,6 +43,7 @@
 #include <linux/slab.h>
 #include <linux/mutex.h>
 #include <linux/scatterlist.h>
+#include <linux/bitmap.h>
 
 #include <xen/xen.h>
 #include <xen/xenbus.h>
@@ -177,8 +178,7 @@ static int xlbd_reserve_minors(unsigned int minor, unsigned int nr)
 
        spin_lock(&minor_lock);
        if (find_next_bit(minors, end, minor) >= end) {
-               for (; minor < end; ++minor)
-                       __set_bit(minor, minors);
+               bitmap_set(minors, minor, nr);
                rc = 0;
        } else
                rc = -EBUSY;
@@ -193,8 +193,7 @@ static void xlbd_release_minors(unsigned int minor, unsigned int nr)
 
        BUG_ON(end > nr_minors);
        spin_lock(&minor_lock);
-       for (; minor < end; ++minor)
-               __clear_bit(minor, minors);
+       bitmap_clear(minors,  minor, nr);
        spin_unlock(&minor_lock);
 }