|
@@ -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);
|
|
|
}
|
|
|
|