[PATCH] ext4/move_extent: use folio_next_pos()

From: Julia Lawall

Date: Sun Feb 22 2026 - 07:51:23 EST


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@xxxxxxxx>

---
fs/ext4/move_extent.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff -u -p a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c
--- a/fs/ext4/move_extent.c
+++ b/fs/ext4/move_extent.c
@@ -224,8 +224,8 @@ static int mext_move_begin(struct mext_d
}

/* 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;