diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c index 5917ee917d87..0c17038fcfd7 100644 --- a/fs/f2fs/gc.c +++ b/fs/f2fs/gc.c @@ -2183,6 +2183,9 @@ int f2fs_gc_range(struct f2fs_sb_info *sbi, do_garbage_collect(sbi, segno, &gc_list, FG_GC, true, false); put_gc_inode(&gc_list); + /* reset all pinned status during fggc */ + f2fs_unpin_all_sections(sbi, true); + if (!dry_run && get_valid_blocks(sbi, segno, true)) { err = -EAGAIN; goto next;