فهرست منبع

f2fs: fix the wrong stat count of calling gc

With a partition which was formated as multi segments in one section,
we stated incorrectly for count of gc operation.

e.g., for a partition with segs_per_sec = 4

cat /sys/kernel/debug/f2fs/status

GC calls: 208 (BG: 7)
  - data segments : 104 (52)
  - node segments : 104 (24)

GC called count should be (104 (data segs) + 104 (node segs)) / 4 = 52,
rather than 208. Fix it.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Chao Yu 9 سال پیش
والد
کامیت
17d899df46
1فایلهای تغییر یافته به همراه3 افزوده شده و 1 حذف شده
  1. 3 1
      fs/f2fs/gc.c

+ 3 - 1
fs/f2fs/gc.c

@@ -820,7 +820,6 @@ static int do_garbage_collect(struct f2fs_sb_info *sbi,
 								gc_type);
 
 		stat_inc_seg_count(sbi, type, gc_type);
-		stat_inc_call_count(sbi->stat_info);
 
 		f2fs_put_page(sum_page, 0);
 	}
@@ -845,6 +844,9 @@ static int do_garbage_collect(struct f2fs_sb_info *sbi,
 			if (get_valid_blocks(sbi, start_segno++, 1) == 0)
 				seg_freed++;
 	}
+
+	stat_inc_call_count(sbi->stat_info);
+
 	return seg_freed;
 }