|
@@ -27,6 +27,7 @@
|
|
#include <linux/pagemap.h>
|
|
#include <linux/pagemap.h>
|
|
#include <linux/quotaops.h>
|
|
#include <linux/quotaops.h>
|
|
#include <linux/slab.h>
|
|
#include <linux/slab.h>
|
|
|
|
+#include <linux/log2.h>
|
|
|
|
|
|
#include "aops.h"
|
|
#include "aops.h"
|
|
#include "attrib.h"
|
|
#include "attrib.h"
|
|
@@ -1570,7 +1571,7 @@ static int ntfs_read_locked_index_inode(struct inode *base_vi, struct inode *vi)
|
|
ntfs_debug("Index collation rule is 0x%x.",
|
|
ntfs_debug("Index collation rule is 0x%x.",
|
|
le32_to_cpu(ir->collation_rule));
|
|
le32_to_cpu(ir->collation_rule));
|
|
ni->itype.index.block_size = le32_to_cpu(ir->index_block_size);
|
|
ni->itype.index.block_size = le32_to_cpu(ir->index_block_size);
|
|
- if (ni->itype.index.block_size & (ni->itype.index.block_size - 1)) {
|
|
|
|
|
|
+ if (!is_power_of_2(ni->itype.index.block_size)) {
|
|
ntfs_error(vi->i_sb, "Index block size (%u) is not a power of "
|
|
ntfs_error(vi->i_sb, "Index block size (%u) is not a power of "
|
|
"two.", ni->itype.index.block_size);
|
|
"two.", ni->itype.index.block_size);
|
|
goto unm_err_out;
|
|
goto unm_err_out;
|