From 4207f532157ba1bde034bb48c273dfdcdded0846 Mon Sep 17 00:00:00 2001 From: Chao Yu Date: Thu, 2 Feb 2023 15:56:25 +0800 Subject: [PATCH] fsck.f2fs: relocate chksum verification step during f2fs_do_mount() Keep sanity_check_raw_super flow in fsck.f2fs being consistent w/ sanity_check_raw_super() in f2fs kernel module, otherwise, it outputs different error information when mounting/fscking the same image which contains corrupted superblock. Signed-off-by: Chao Yu Signed-off-by: Jaegeuk Kim --- fsck/mount.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fsck/mount.c b/fsck/mount.c index 273b5a1..1a65b05 100644 --- a/fsck/mount.c +++ b/fsck/mount.c @@ -867,16 +867,16 @@ int sanity_check_raw_super(struct f2fs_super_block *sb, enum SB_ADDR sb_addr) unsigned int segment_count, segs_per_sec, secs_per_zone, segs_per_zone; unsigned int total_sections, blocks_per_seg; - if ((get_sb(feature) & F2FS_FEATURE_SB_CHKSUM) && - verify_sb_chksum(sb)) - return -1; - if (F2FS_SUPER_MAGIC != get_sb(magic)) { MSG(0, "Magic Mismatch, valid(0x%x) - read(0x%x)\n", F2FS_SUPER_MAGIC, get_sb(magic)); return -1; } + if ((get_sb(feature) & F2FS_FEATURE_SB_CHKSUM) && + verify_sb_chksum(sb)) + return -1; + blocksize = 1 << get_sb(log_blocksize); if (F2FS_BLKSIZE != blocksize) { MSG(0, "Invalid blocksize (%u), supports only 4KB\n",