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 <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
Chao Yu 2023-02-02 15:56:25 +08:00 committed by sunshenshen
parent 7026a73750
commit 4207f53215

View File

@ -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",