[PATCH v2] f2fs: warn on when fsck flag is set

From: Yangtao Li
Date: Wed Aug 11 2021 - 09:30:19 EST


SBI_NEED_FSCK is an indicator that fsck.f2fs needs to be triggered,
this flag is set in too many places. For some scenes that are not very reproducible,
adding stack information will help locate the problem.

Signed-off-by: Yangtao Li <frank.li@xxxxxxxx>
---
v2:
-convert to WARN_ON
-one more blank
fs/f2fs/f2fs.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index 67faa43cc141..2e2294234c0d 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -33,7 +33,7 @@
#else
#define f2fs_bug_on(sbi, condition) \
do { \
- if (WARN_ON(condition)) \
+ if ((condition)) \
set_sbi_flag(sbi, SBI_NEED_FSCK); \
} while (0)
#endif
@@ -1999,6 +1999,8 @@ static inline bool is_sbi_flag_set(struct f2fs_sb_info *sbi, unsigned int type)

static inline void set_sbi_flag(struct f2fs_sb_info *sbi, unsigned int type)
{
+ WARN_ON(type == SBI_NEED_FSCK);
+
set_bit(type, &sbi->s_flag);
}

--
2.32.0