From: Yunlei He <[email protected]> GC move fbe data block will add some non uptodate page, we'd better release it at the end.
Signed-off-by: Yunlei He <[email protected]> Signed-off-by: Yongpeng Yang <[email protected]> --- fs/f2fs/gc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c index 8abf521530ff..09b65e6ea853 100644 --- a/fs/f2fs/gc.c +++ b/fs/f2fs/gc.c @@ -1315,6 +1315,7 @@ static int move_data_block(struct inode *inode, block_t bidx, struct node_info ni; struct folio *folio, *mfolio; block_t newaddr; + bool need_invalidate = true; int err = 0; bool lfs_mode = f2fs_lfs_mode(fio.sbi); int type = fio.sbi->am.atgc_enabled && (gc_type == BG_GC) && @@ -1450,7 +1451,11 @@ static int move_data_block(struct inode *inode, block_t bidx, put_out: f2fs_put_dnode(&dn); out: + if (folio_test_uptodate(folio)) + need_invalidate = false; f2fs_folio_put(folio, true); + if (need_invalidate) + invalidate_mapping_pages(mapping, bidx, bidx); return err; } -- 2.34.1 _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
