|
@@ -22,6 +22,7 @@
|
|
|
#include <linux/mount.h>
|
|
|
#include <linux/uio.h>
|
|
|
#include <linux/namei.h>
|
|
|
+#include <linux/log2.h>
|
|
|
#include <asm/uaccess.h>
|
|
|
#include "internal.h"
|
|
|
|
|
@@ -67,7 +68,7 @@ static void kill_bdev(struct block_device *bdev)
|
|
|
int set_blocksize(struct block_device *bdev, int size)
|
|
|
{
|
|
|
/* Size must be a power of two, and between 512 and PAGE_SIZE */
|
|
|
- if (size > PAGE_SIZE || size < 512 || (size & (size-1)))
|
|
|
+ if (size > PAGE_SIZE || size < 512 || !is_power_of_2(size))
|
|
|
return -EINVAL;
|
|
|
|
|
|
/* Size cannot be smaller than the size supported by the device */
|