We should call stat_inc_bggc_count only after BG_GC has been performed successfully. Otherwise, BG_GC count may be larger than total count when f2fs_gc failed, e.g., no victim was selected.
Signed-off-by: Weichao Guo <[email protected]> --- fs/f2fs/gc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c index 0265221..fbea046 100644 --- a/fs/f2fs/gc.c +++ b/fs/f2fs/gc.c @@ -81,11 +81,11 @@ static int gc_thread_func(void *data) else increase_sleep_time(gc_th, &wait_ms); - stat_inc_bggc_count(sbi); - /* if return value is not zero, no victim was selected */ if (f2fs_gc(sbi, test_opt(sbi, FORCE_FG_GC), true, NULL_SEGNO)) wait_ms = gc_th->no_gc_sleep_time; + else + stat_inc_bggc_count(sbi); trace_f2fs_background_gc(sbi->sb, wait_ms, prefree_segments(sbi), free_segments(sbi)); -- 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 [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
