[PATCH 1/4] f2fs: use segment number for get_valid_blocks

From: Jaegeuk Kim
Date: Mon Apr 10 2017 - 20:13:22 EST


This patch fixes to submit a segment number for get_valid_blocks.

Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
---
fs/f2fs/segment.h | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h
index b8a1bac9355d..39ef9cc0093b 100644
--- a/fs/f2fs/segment.h
+++ b/fs/f2fs/segment.h
@@ -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;
}
--
2.11.0