fsck.f2fs: avoid wrong IS_VALID_BLK_ADDR
authorJaegeuk Kim <jaegeuk@kernel.org>
Thu, 28 Dec 2017 02:02:32 +0000 (18:02 -0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 28 Dec 2017 02:02:32 +0000 (18:02 -0800)
This patch avoids to check next free block offset in current segments, since we
are using IS_VALID_BLK_ADDR during fsck which is able to be valid for a while.
Let's just check this at the end of fsck.

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

index 34b2481..b7b6305 100644 (file)
@@ -369,21 +369,12 @@ static inline bool IS_VALID_NID(struct f2fs_sb_info *sbi, u32 nid)
 
 static inline bool IS_VALID_BLK_ADDR(struct f2fs_sb_info *sbi, u32 addr)
 {
-       int i;
-
        if (addr >= le64_to_cpu(F2FS_RAW_SUPER(sbi)->block_count) ||
                                addr < SM_I(sbi)->main_blkaddr) {
                DBG(1, "block addr [0x%x]\n", addr);
                return 0;
        }
-
-       for (i = 0; i < NO_CHECK_TYPE; i++) {
-               struct curseg_info *curseg = CURSEG_I(sbi, i);
-
-               if (START_BLOCK(sbi, curseg->segno) +
-                                       curseg->next_blkoff == addr)
-                       return 0;
-       }
+       /* next block offset will be checked at the end of fsck. */
        return 1;
 }