summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulia Lawall <Julia.Lawall@inria.fr>2026-02-22 15:50:49 +0300
committerTheodore Ts'o <tytso@mit.edu>2026-04-09 17:40:31 +0300
commita804ecc399d91a529726fa1b10ff699bb531253d (patch)
tree376f1fe4bfb094ea6689047faf6d839ba9c2437c
parent2f17d1993b01960579761284e9a0da533a7a82fa (diff)
downloadlinux-a804ecc399d91a529726fa1b10ff699bb531253d.tar.xz
ext4/move_extent: use folio_next_pos()
A series of patches such as commit 60a70e61430b ("mm: Use folio_next_pos()") replace folio_pos() + folio_size() by folio_next_pos(). The former performs x << z + y << z while the latter performs (x + y) << z, which is slightly more efficient. This case was not taken into account, perhaps because the argument is not named folio. The change was performed using the following Coccinelle semantic patch: @@ expression folio; @@ - folio_pos(folio) + folio_size(folio) + folio_next_pos(folio) Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr> Reviewed-by: Zhang Yi <yi.zhang@huawei.com> Link: https://patch.msgid.link/20260222125049.1309075-1-Julia.Lawall@inria.fr Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-rw-r--r--fs/ext4/move_extent.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c
index ce1f738dff93..78569ed91b97 100644
--- a/fs/ext4/move_extent.c
+++ b/fs/ext4/move_extent.c
@@ -224,8 +224,8 @@ static int mext_move_begin(struct mext_data *mext, struct folio *folio[2],
}
/* Adjust the moving length according to the length of shorter folio. */
- move_len = umin(folio_pos(folio[0]) + folio_size(folio[0]) - orig_pos,
- folio_pos(folio[1]) + folio_size(folio[1]) - donor_pos);
+ move_len = umin(folio_next_pos(folio[0]) - orig_pos,
+ folio_next_pos(folio[1]) - donor_pos);
move_len >>= blkbits;
if (move_len < mext->orig_map.m_len)
mext->orig_map.m_len = move_len;