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 <[email protected]>
---
 fs/f2fs/gc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index 47ade35..6b2d704 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -816,7 +816,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);
        }
@@ -841,6 +840,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;
 }
 
-- 
2.7.0



------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to