f2fs: use segment number for get_valid_blocks
authorJaegeuk Kim <jaegeuk@kernel.org>
Fri, 7 Apr 2017 21:27:07 +0000 (14:27 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 11 Apr 2017 02:48:11 +0000 (19:48 -0700)
This patch fixes to submit a segment number for get_valid_blocks.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/segment.h

index b8a1bac9355d2e2aba6b9364cbcc00886a556a3d..39ef9cc0093bd5e6c635afd194848b4cec880cea 100644 (file)
@@ -80,6 +80,8 @@
                GET_SEGNO_FROM_SEG0(sbi, blk_addr)))
 #define GET_SECNO(sbi, segno)                                  \
        ((segno) / (sbi)->segs_per_sec)
+#define GET_SEGNO_FROM_SECNO(sbi, secno)                               \
+       ((secno) * (sbi)->segs_per_sec)
 #define GET_ZONENO_FROM_SEGNO(sbi, segno)                              \
        (((segno) / (sbi)->segs_per_sec) / (sbi)->secs_per_zone)
 
@@ -720,8 +722,8 @@ static inline block_t sum_blk_addr(struct f2fs_sb_info *sbi, int base, int type)
 static inline bool no_fggc_candidate(struct f2fs_sb_info *sbi,
                                                unsigned int secno)
 {
-       if (get_valid_blocks(sbi, secno, sbi->segs_per_sec) >=
-                                               sbi->fggc_threshold)
+       if (get_valid_blocks(sbi, GET_SEGNO_FROM_SECNO(sbi, secno),
+                               sbi->segs_per_sec) >= sbi->fggc_threshold)
                return true;
        return false;
 }