Signed-off-by: Hou Pengyang <houpengy...@huawei.com> --- fs/f2fs/gc.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c index 6c996e3..eaf9e68 100644 --- a/fs/f2fs/gc.c +++ b/fs/f2fs/gc.c @@ -293,13 +293,22 @@ static int get_victim_by_default(struct f2fs_sb_info *sbi, unsigned int secno, last_victim; unsigned int last_segment = MAIN_SEGS(sbi); unsigned int nsearched = 0; + int nr_dirty; mutex_lock(&dirty_i->seglist_lock); p.alloc_mode = alloc_mode; - select_policy(sbi, gc_type, type, &p); - p.min_segno = NULL_SEGNO; + + if (alloc_mode == SSR) + nr_dirty = dirty_i->nr_dirty[type]; + else + nr_dirty = dirty_i->nr_dirty[DIRTY]; + + if (!nr_dirty) + goto out; + + select_policy(sbi, gc_type, type, &p); p.min_cost = get_max_cost(sbi, &p); if (p.max_search == 0) -- 2.10.1 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel