aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2018-01-20 13:51:05 -0800
committerJaegeuk Kim <jaegeuk@google.com>2018-01-30 19:07:49 -0800
commit51f7e10067209fe695ac686b0a29333bb43dbe0e (patch)
tree216fbf49f58d237919c35a834bef5236cee135a2
parent5d87f6ccad8b381d72f36854ddf0c6732066634b (diff)
downloadandroid_external_f2fs-tools-51f7e10067209fe695ac686b0a29333bb43dbe0e.tar.gz
android_external_f2fs-tools-51f7e10067209fe695ac686b0a29333bb43dbe0e.tar.bz2
android_external_f2fs-tools-51f7e10067209fe695ac686b0a29333bb43dbe0e.zip
fsck.f2fs: allow roll-forward for small checkpoint fix
This allows roll-forward when fsck.f2fs changes checkpoint crc. Reviewed-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r--fsck/fsck.c1
-rw-r--r--include/f2fs_fs.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/fsck/fsck.c b/fsck/fsck.c
index 1211729..6c1b9a7 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
@@ -1936,6 +1936,7 @@ 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);
+ flags |= CP_NOCRC_RECOVERY_FLAG;
set_cp(ckpt_flags, flags);
set_cp(free_segment_count, get_free_segments(sbi));
diff --git a/include/f2fs_fs.h b/include/f2fs_fs.h
index 4739085..67f31d8 100644
--- a/include/f2fs_fs.h
+++ b/include/f2fs_fs.h
@@ -613,6 +613,7 @@ struct f2fs_super_block {
/*
* For checkpoint
*/
+#define CP_NOCRC_RECOVERY_FLAG 0x00000200
#define CP_TRIMMED_FLAG 0x00000100
#define CP_NAT_BITS_FLAG 0x00000080
#define CP_CRC_RECOVERY_FLAG 0x00000040