[PATCH] f2fs-tools: support CP_CRC_RECOVERY_FLAG check

From: Yunlong Song
Date: Thu Sep 07 2017 - 10:25:17 EST


Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
---
fsck/fsck.c | 3 +++
fsck/mount.c | 3 +++
2 files changed, 6 insertions(+)

diff --git a/fsck/fsck.c b/fsck/fsck.c
index cb341ba..f63a609 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
@@ -1786,6 +1786,9 @@ static void fix_checkpoint(struct f2fs_sb_info *sbi)
set_cp(cp_pack_total_block_count, 8 + orphan_blks + get_sb(cp_payload));

flags = update_nat_bits_flags(sb, cp, flags);
+
+ if (is_set_ckpt_flags(cp, CP_CRC_RECOVERY_FLAG))
+ flags |= CP_CRC_RECOVERY_FLAG;
set_cp(ckpt_flags, flags);

set_cp(free_segment_count, get_free_segments(sbi));
diff --git a/fsck/mount.c b/fsck/mount.c
index 7a8aeae..0d77cce 100644
--- a/fsck/mount.c
+++ b/fsck/mount.c
@@ -1902,6 +1902,9 @@ void write_checkpoint(struct f2fs_sb_info *sbi)
set_cp(cp_pack_total_block_count, 8 + orphan_blks + get_sb(cp_payload));

flags = update_nat_bits_flags(sb, cp, flags);
+
+ if (is_set_ckpt_flags(cp, CP_CRC_RECOVERY_FLAG))
+ flags |= CP_CRC_RECOVERY_FLAG;
set_cp(ckpt_flags, flags);

crc = f2fs_cal_crc32(F2FS_SUPER_MAGIC, cp, CHECKSUM_OFFSET);
--
1.8.5.2