]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
f2fs: fix the wrong f2fs_bug_on condition in f2fs_do_replace_block
authorLongPing Wei <weilongping@oppo.com>
Mon, 21 Oct 2024 02:31:47 +0000 (10:31 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2024 12:53:48 +0000 (13:53 +0100)
[ Upstream commit c3af1f13476ec23fd99c98d060a89be28c1e8871 ]

This f2fs_bug_on was introduced by commit 2c1905042c8c ("f2fs: check
segment type in __f2fs_replace_block") when there were only 6 curseg types.
After commit d0b9e42ab615 ("f2fs: introduce inmem curseg") was introduced,
the condition should be changed to checking curseg->seg_type.

Fixes: d0b9e42ab615 ("f2fs: introduce inmem curseg")
Signed-off-by: LongPing Wei <weilongping@oppo.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/f2fs/segment.c

index c9320c98cb1425fdcfb712ce51af87a2088da842..3f49a9e0ec642c5bb032996568c5f39022a32da1 100644 (file)
@@ -3974,8 +3974,8 @@ void f2fs_do_replace_block(struct f2fs_sb_info *sbi, struct f2fs_summary *sum,
                }
        }
 
-       f2fs_bug_on(sbi, !IS_DATASEG(type));
        curseg = CURSEG_I(sbi, type);
+       f2fs_bug_on(sbi, !IS_DATASEG(curseg->seg_type));
 
        mutex_lock(&curseg->curseg_mutex);
        down_write(&sit_i->sentry_lock);