From 9609dd704725a40cd63d915f2ab6c44248a44598 Mon Sep 17 00:00:00 2001 From: Yongpeng Yang Date: Sat, 27 Dec 2025 15:34:31 +0800 Subject: [PATCH] f2fs: remove non-uptodate folio from the page cache in move_data_block During data movement, move_data_block acquires file folio without triggering a file read. Such folio are typically not uptodate, they need to be removed from the page cache after gc complete. This patch marks folio with the PG_dropbehind flag and uses folio_end_dropbehind to remove folio from the page cache. Signed-off-by: Yunlei He Signed-off-by: Yongpeng Yang Reviewed-by: Chao Yu Signed-off-by: Jaegeuk Kim --- fs/f2fs/gc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c index 58b291d19f06..d889f7d9a70f 100644 --- a/fs/f2fs/gc.c +++ b/fs/f2fs/gc.c @@ -1453,7 +1453,11 @@ up_out: put_out: f2fs_put_dnode(&dn); out: - f2fs_folio_put(folio, true); + if (!folio_test_uptodate(folio)) + __folio_set_dropbehind(folio); + folio_unlock(folio); + folio_end_dropbehind(folio); + folio_put(folio); return err; } -- 2.47.3