f2fs-tools: move_curseg_info only if check_curseg_offset fails

Current design will lose recovery process when check_curseg_offset is OK.

Signed-off-by: Yunlong Song <yunlong.song@huawei.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
Yunlong Song 2017-09-11 00:20:36 +08:00 committed by Jaegeuk Kim
parent f4078d7e5b
commit d879e7ebde

View File

@ -2026,9 +2026,11 @@ int fsck_verify(struct f2fs_sb_info *sbi)
fix_hard_links(sbi);
fix_nat_entries(sbi);
rewrite_sit_area_bitmap(sbi);
move_curseg_info(sbi, SM_I(sbi)->main_blkaddr);
write_curseg_info(sbi);
flush_curseg_sit_entries(sbi);
if (check_curseg_offset(sbi)) {
move_curseg_info(sbi, SM_I(sbi)->main_blkaddr);
write_curseg_info(sbi);
flush_curseg_sit_entries(sbi);
}
fix_checkpoint(sbi);
} else if (is_set_ckpt_flags(cp, CP_FSCK_FLAG)) {
write_checkpoint(sbi);