2022-12-28 04:30:13

by Katrin Jo

[permalink] [raw]
Subject: [PATCH] brtfs: use PAGE_ALIGNED macro

From: Yushan Zhou <[email protected]>

The header file linux/mm.h provides the PAGE_ALIGNED macro to
test whether an address is aligned to PAGE_SIZE. Use it instead
of IS_ALIGNED.

Signed-off-by: Yushan Zhou <[email protected]>
---
fs/btrfs/lzo.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/btrfs/lzo.c b/fs/btrfs/lzo.c
index d5e78cbc8fbc..71f6d8302d50 100644
--- a/fs/btrfs/lzo.c
+++ b/fs/btrfs/lzo.c
@@ -280,7 +280,7 @@ int lzo_compress_pages(struct list_head *ws, struct address_space *mapping,
}

/* Check if we have reached page boundary */
- if (IS_ALIGNED(cur_in, PAGE_SIZE)) {
+ if (PAGE_ALIGNED(cur_in)) {
put_page(page_in);
page_in = NULL;
}
--
2.27.0


2023-01-02 16:08:19

by David Sterba

[permalink] [raw]
Subject: Re: [PATCH] brtfs: use PAGE_ALIGNED macro

On Wed, Dec 28, 2022 at 12:04:47PM +0800, [email protected] wrote:
> From: Yushan Zhou <[email protected]>
>
> The header file linux/mm.h provides the PAGE_ALIGNED macro to
> test whether an address is aligned to PAGE_SIZE. Use it instead
> of IS_ALIGNED.

There are about 8 such conversions in fs/btrfs/, please fix them all.
Thanks.

2023-01-03 02:56:21

by Katrin Jo

[permalink] [raw]
Subject: Re: [PATCH] brtfs: use PAGE_ALIGNED macro

I will send a new version soon. But I only find 5 such conversions in
fs/btrfs. Could you please check it?

Best,
Katrin

On Mon, Jan 2, 2023 at 11:09 PM David Sterba <[email protected]> wrote:
>
> On Wed, Dec 28, 2022 at 12:04:47PM +0800, [email protected] wrote:
> > From: Yushan Zhou <[email protected]>
> >
> > The header file linux/mm.h provides the PAGE_ALIGNED macro to
> > test whether an address is aligned to PAGE_SIZE. Use it instead
> > of IS_ALIGNED.
>
> There are about 8 such conversions in fs/btrfs/, please fix them all.
> Thanks.

2023-01-03 03:05:12

by Katrin Jo

[permalink] [raw]
Subject: [PATCH v2] brtfs: use PAGE_ALIGNED macro

From: Yushan Zhou <[email protected]>

The header file linux/mm.h provides the PAGE_ALIGNED macro to
test whether an address is aligned to PAGE_SIZE. Use it instead
of IS_ALIGNED.

Signed-off-by: Yushan Zhou <[email protected]>
---
fs/btrfs/compression.c | 2 +-
fs/btrfs/defrag.c | 2 +-
fs/btrfs/lzo.c | 2 +-
fs/btrfs/relocation.c | 2 +-
fs/btrfs/send.c | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c
index 5122ca79f7ea..4a5aeb8dd479 100644
--- a/fs/btrfs/compression.c
+++ b/fs/btrfs/compression.c
@@ -1609,7 +1609,7 @@ static void heuristic_collect_sample(struct inode *inode, u64 start, u64 end,
index_end = end >> PAGE_SHIFT;

/* Don't miss unaligned end */
- if (!IS_ALIGNED(end, PAGE_SIZE))
+ if (!PAGE_ALIGNED(end))
index_end++;

curr_sample_pos = 0;
diff --git a/fs/btrfs/defrag.c b/fs/btrfs/defrag.c
index 0a3c261b69c9..130de66839c1 100644
--- a/fs/btrfs/defrag.c
+++ b/fs/btrfs/defrag.c
@@ -997,7 +997,7 @@ static int defrag_collect_targets(struct btrfs_inode *inode,
}

#define CLUSTER_SIZE (SZ_256K)
-static_assert(IS_ALIGNED(CLUSTER_SIZE, PAGE_SIZE));
+static_assert(PAGE_ALIGNED(CLUSTER_SIZE));

/*
* Defrag one contiguous target range.
diff --git a/fs/btrfs/lzo.c b/fs/btrfs/lzo.c
index d5e78cbc8fbc..71f6d8302d50 100644
--- a/fs/btrfs/lzo.c
+++ b/fs/btrfs/lzo.c
@@ -280,7 +280,7 @@ int lzo_compress_pages(struct list_head *ws, struct address_space *mapping,
}

/* Check if we have reached page boundary */
- if (IS_ALIGNED(cur_in, PAGE_SIZE)) {
+ if (PAGE_ALIGNED(cur_in)) {
put_page(page_in);
page_in = NULL;
}
diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c
index 31ec4a7658ce..ef13a9d4e370 100644
--- a/fs/btrfs/relocation.c
+++ b/fs/btrfs/relocation.c
@@ -2825,7 +2825,7 @@ static noinline_for_stack int prealloc_file_extent_cluster(
*
* Here we have to manually invalidate the range (i_size, PAGE_END + 1).
*/
- if (!IS_ALIGNED(i_size, PAGE_SIZE)) {
+ if (!PAGE_ALIGNED(i_size)) {
struct address_space *mapping = inode->vfs_inode.i_mapping;
struct btrfs_fs_info *fs_info = inode->root->fs_info;
const u32 sectorsize = fs_info->sectorsize;
diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c
index e65e6b6600a7..bab0ba3e6542 100644
--- a/fs/btrfs/send.c
+++ b/fs/btrfs/send.c
@@ -5759,7 +5759,7 @@ static int send_extent_data(struct send_ctx *sctx, struct btrfs_path *path,
sent += size;
}

- if (sctx->clean_page_cache && IS_ALIGNED(end, PAGE_SIZE)) {
+ if (sctx->clean_page_cache && PAGE_ALIGNED(end)) {
/*
* Always operate only on ranges that are a multiple of the page
* size. This is not only to prevent zeroing parts of a page in
--
2.27.0

2023-01-03 03:14:42

by Katrin Jo

[permalink] [raw]
Subject: Re: [PATCH] brtfs: use PAGE_ALIGNED macro

The macro ALIGN(addr, PAGE_SIZE) can be replaced by PAGE_ALIGN(addr),
and the same as PAGE_ALIGNED_DOWN.
Do you mean that? I will send the third version and modify the commit
message a bit.

Best,
Katrin

On Mon, Jan 2, 2023 at 11:09 PM David Sterba <[email protected]> wrote:
>
> On Wed, Dec 28, 2022 at 12:04:47PM +0800, [email protected] wrote:
> > From: Yushan Zhou <[email protected]>
> >
> > The header file linux/mm.h provides the PAGE_ALIGNED macro to
> > test whether an address is aligned to PAGE_SIZE. Use it instead
> > of IS_ALIGNED.
>
> There are about 8 such conversions in fs/btrfs/, please fix them all.
> Thanks.