aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Lass <bevan@bi-co.net>2021-05-01 15:52:41 +0200
committerJaegeuk Kim <jaegeuk@kernel.org>2021-05-10 08:45:32 -0700
commit91f9db23f6e8e34d29c92dc9075d4a2ca18057bd (patch)
tree4a4c974d861f35459bdf97cc88a7983caceba507
parent1531853eb72b335c488171dd0803e9c417de7e1f (diff)
downloadf2fs-tools-91f9db23f6e8e34d29c92dc9075d4a2ca18057bd.tar.gz
fsck.f2fs: update kernel version in superblock on forced check
In 1126e38 (fsck.f2fs: add --{no-}kernel-check to bypass kernel version diff or not) the automatic check on a kernel version change was made optional and disabled by default on non-Android systems. This also disabled the update of the kernel version stored in the superblock if --kernel-check is not given. Restore the update in case a full check is forced via -y or -f to properly reflect the version in the superblock. Signed-off-by: Michael Lass <bevan@bi-co.net> Reviewed-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r--fsck/mount.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/fsck/mount.c b/fsck/mount.c
index 6b2f17e..cc140a3 100644
--- a/fsck/mount.c
+++ b/fsck/mount.c
@@ -967,12 +967,13 @@ int validate_super_block(struct f2fs_sb_info *sbi, enum SB_ADDR sb_addr)
c.sb_version, c.version);
if (!c.no_kernel_check &&
memcmp(c.sb_version, c.version, VERSION_LEN)) {
+ c.auto_fix = 0;
+ c.fix_on = 1;
+ }
+ if (c.fix_on) {
memcpy(sbi->raw_super->version,
c.version, VERSION_LEN);
update_superblock(sbi->raw_super, SB_MASK(sb_addr));
-
- c.auto_fix = 0;
- c.fix_on = 1;
}
print_sb_state(sbi->raw_super);
return 0;