From 528c9b3d1edf291685151afecd741d176f527ddf Mon Sep 17 00:00:00 2001
From: Kari Argillander <kari.argillander@gmail.com>
Date: Mon, 16 Aug 2021 13:37:32 +0300
Subject: [Backport 528c9b3d1edf] src: Use linux/log2 is_power_of_2
function
We do not need our own implementation for this function in this
driver. It is much better to use generic one.
Signed-off-by: Kari Argillander <kari.argillander@gmail.com>
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
---
src/ntfs_fs.h | 5 -----
src/run.c | 3 ++-
src/super.c | 9 +++++----
3 files changed, 7 insertions(+), 10 deletions(-)
diff --git a/src/ntfs_fs.h b/src/ntfs_fs.h
index 0c3ac89c3115da8131a66281c1c3c7da112d07ff..c8ea6dd38c213bf9ef5dd52aa46ae3cb3e8cd43b 100644
--- a/src/ntfs_fs.h
+++ b/src/ntfs_fs.h
@@ -972,11 +972,6 @@ static inline struct buffer_head *ntfs_bread(struct super_block *sb,
return NULL;
}
-static inline bool is_power_of2(size_t v)
-{
- return v && !(v & (v - 1));
-}
-
static inline struct ntfs_inode *ntfs_i(struct inode *inode)
{
return container_of(inode, struct ntfs_inode, vfs_inode);
diff --git a/src/run.c b/src/run.c
index f9c362ac672e96b9430ab211de4952d6dce7797a..60c64deab7389261b9cb21f03118f2e8e2b8dc05 100644
--- a/src/run.c
+++ b/src/run.c
@@ -9,6 +9,7 @@
#include <linux/blkdev.h>
#include <linux/buffer_head.h>
#include <linux/fs.h>
+#include <linux/log2.h>
#include <linux/nls.h>
#include "debug.h"
@@ -376,7 +377,7 @@ bool run_add_entry(struct runs_tree *run, CLST vcn, CLST lcn, CLST len,
if (!used) {
bytes = 64;
} else if (used <= 16 * PAGE_SIZE) {
- if (is_power_of2(run->allocated))
+ if (is_power_of_2(run->allocated))
bytes = run->allocated << 1;
else
bytes = (size_t)1
diff --git a/src/super.c b/src/super.c
index 84d4f389f6855091f3dc9be77f50c5e6acf99706..903975b7e832f627476fd8da4ec6e5fc9f080818 100644
--- a/src/super.c
+++ b/src/super.c
@@ -29,6 +29,7 @@
#include <linux/exportfs.h>
#include <linux/fs.h>
#include <linux/iversion.h>
+#include <linux/log2.h>
#include <linux/module.h>
#include <linux/nls.h>
#include <linux/parser.h>
@@ -735,13 +736,13 @@ static int ntfs_init_from_boot(struct super_block *sb, u32 sector_size,
boot_sector_size = (u32)boot->bytes_per_sector[1] << 8;
if (boot->bytes_per_sector[0] || boot_sector_size < SECTOR_SIZE ||
- !is_power_of2(boot_sector_size)) {
+ !is_power_of_2(boot_sector_size)) {
goto out;
}
/* cluster size: 512, 1K, 2K, 4K, ... 2M */
sct_per_clst = true_sectors_per_clst(boot);
- if (!is_power_of2(sct_per_clst))
+ if (!is_power_of_2(sct_per_clst))
goto out;
mlcn = le64_to_cpu(boot->mft_clst);
@@ -757,14 +758,14 @@ static int ntfs_init_from_boot(struct super_block *sb, u32 sector_size,
/* Check MFT record size */
if ((boot->record_size < 0 &&
SECTOR_SIZE > (2U << (-boot->record_size))) ||
- (boot->record_size >= 0 && !is_power_of2(boot->record_size))) {
+ (boot->record_size >= 0 && !is_power_of_2(boot->record_size))) {
goto out;
}
/* Check index record size */
if ((boot->index_size < 0 &&
SECTOR_SIZE > (2U << (-boot->index_size))) ||
- (boot->index_size >= 0 && !is_power_of2(boot->index_size))) {
+ (boot->index_size >= 0 && !is_power_of_2(boot->index_size))) {
goto out;
}
--
2.31.1