From: Sheng Yong Date: Thu, 21 Nov 2024 08:26:57 +0000 (+0800) Subject: f2fs: clear SBI_POR_DOING before initing inmem curseg X-Git-Tag: v6.13-rc1~77^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f88c7904b5c7e35ab8037e2a59e10d80adf6fd7e;p=thirdparty%2Fkernel%2Flinux.git f2fs: clear SBI_POR_DOING before initing inmem curseg 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 --- diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index 41cc13b43ce1c..c0670cd619563 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -4784,13 +4784,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)