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

From: Yangtao Li
Date: Wed Aug 11 2021 - 09:37:39 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>
---
v3:
-Remove extra parentheses
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..0d08e31214a3 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