From: Sheng Yong Date: Tue, 30 Dec 2025 16:22:51 +0000 (-0500) Subject: f2fs: clear SBI_POR_DOING before initing inmem curseg X-Git-Tag: v6.12.64~56 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cccd92ec7e34487593afee7f7b0dfa98108b0827;p=thirdparty%2Fkernel%2Fstable.git f2fs: clear SBI_POR_DOING before initing inmem curseg [ Upstream commit f88c7904b5c7e35ab8037e2a59e10d80adf6fd7e ] SBI_POR_DOING can be cleared after recovery is completed, so that changes made before recovery can be persistent, and subsequent errors can be recorded into cp/sb. Signed-off-by: Song Feng Signed-off-by: Yongpeng Yang Signed-off-by: Sheng Yong Reviewed-by: Chao Yu Signed-off-by: Jaegeuk Kim Stable-dep-of: be112e7449a6 ("f2fs: fix to propagate error from f2fs_enable_checkpoint()") Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index a85268b2978d5..1ead438735b01 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -4804,13 +4804,13 @@ reset_checkpoint: if (err) goto free_meta; + /* f2fs_recover_fsync_data() cleared this already */ + clear_sbi_flag(sbi, SBI_POR_DOING); + err = f2fs_init_inmem_curseg(sbi); if (err) goto sync_free_meta; - /* f2fs_recover_fsync_data() cleared this already */ - clear_sbi_flag(sbi, SBI_POR_DOING); - if (test_opt(sbi, DISABLE_CHECKPOINT)) { err = f2fs_disable_checkpoint(sbi); if (err)