summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSheng Yong <shengyong@oppo.com>2025-12-30 19:22:51 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-01-08 12:14:59 +0300
commitcccd92ec7e34487593afee7f7b0dfa98108b0827 (patch)
treee340535bb01f40a92d01bff4fbbe122cdd569b2d
parentfdca9bfd6206ccc6067d68c1fa38aa09a1ee1305 (diff)
downloadlinux-cccd92ec7e34487593afee7f7b0dfa98108b0827.tar.xz
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 <songfeng@oppo.com> Signed-off-by: Yongpeng Yang <yangyongpeng1@oppo.com> Signed-off-by: Sheng Yong <shengyong@oppo.com> Reviewed-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> Stable-dep-of: be112e7449a6 ("f2fs: fix to propagate error from f2fs_enable_checkpoint()") Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--fs/f2fs/super.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index a85268b2978d..1ead438735b0 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)