Re: [PATCH] fsck.f2fs: enable fix_on when CP_RESIZEFS_FLAG is set in auto-fix mode

From: Daeho Jeong

Date: Mon Oct 12 2026 - 14:50:57 EST


On Thu, Oct 1, 2026 at 11:08 AM Daeho Jeong <daeho43@xxxxxxxxx> wrote:
>
> From: Daeho Jeong <daehojeong@xxxxxxxxxx>
>
> Commit 9a31cefa2966 ("fsck.f2fs: allow fsck to fix issues with online
> resize due to SPO") added logic in sanity_check_ckpt() to recalculate
> and fix user_block_count when CP_RESIZEFS_FLAG is set after a sudden
> power-off during online resize.
>
> However, sanity_check_ckpt() calls f2fs_should_proceed() and checks
> c.fix_on before repairing user_block_count, while f2fs_should_proceed()
> did not check CP_RESIZEFS_FLAG when setting c.fix_on in auto_fix (-a) or
> preen (-p) mode. As a result, running 'fsck.f2fs -a' after an SPO during
> online shrink leaves c.fix_on unset and fails to repair the checkpoint.
>
> Check CP_RESIZEFS_FLAG in f2fs_should_proceed() so that auto-fix and
> preen modes properly enable c.fix_on and recover the filesystem.
>
> Fixes: 9a31cefa2966 ("fsck.f2fs: allow fsck to fix issues with online resize due to SPO")
> Signed-off-by: Daeho Jeong <daehojeong@xxxxxxxxxx>
> ---
> fsck/mount.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fsck/mount.c b/fsck/mount.c
> index 2fd8e1c..8479ed1 100644
> --- a/fsck/mount.c
> +++ b/fsck/mount.c
> @@ -1515,6 +1515,7 @@ static int f2fs_should_proceed(struct f2fs_super_block *sb, u32 flag)
> if (!c.fix_on && (c.auto_fix || c.preen_mode)) {
> if (flag & CP_FSCK_FLAG ||
> flag & CP_DISABLED_FLAG ||
> + flag & CP_RESIZEFS_FLAG ||
> flag & CP_QUOTA_NEED_FSCK_FLAG ||
> c.invalid_sb & SB_NEED_FIX ||
> (exist_qf_ino(sb) && (flag & CP_ERROR_FLAG))) {
> --

Kindly ping this.

Thanks,

> 2.56.0.rc1.315.gc6ed9934b7-goog
>