diff options
author | Michael Lass <bevan@bi-co.net> | 2021-05-01 15:52:41 +0200 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2021-05-10 08:45:32 -0700 |
commit | 91f9db23f6e8e34d29c92dc9075d4a2ca18057bd (patch) | |
tree | 4a4c974d861f35459bdf97cc88a7983caceba507 | |
parent | 1531853eb72b335c488171dd0803e9c417de7e1f (diff) | |
download | f2fs-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.c | 7 |
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; |