[PATCH 2/2] Revert: "f2fs: check in-memory sit version bitmap"
From: Chao Yu
Date: Fri May 22 2026 - 03:00:46 EST
Commit ae27d62e6bef ("f2fs: check in-memory sit version bitmap") added
a mirror for sit version bitmap, it expects to detect in-memory
corruption, however we never got any reports from the check points
for almost decade, let's remove the code, it can help to save
memories.
Cc: wallentx <william.allentx@xxxxxxxxx>
Suggested-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Signed-off-by: Chao Yu <chao@xxxxxxxxxx>
---
fs/f2fs/segment.c | 6 ------
fs/f2fs/segment.h | 16 ----------------
2 files changed, 22 deletions(-)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 9926ba9d77ba..993555042876 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -4882,11 +4882,6 @@ static int build_sit_info(struct f2fs_sb_info *sbi)
return -ENOMEM;
#ifdef CONFIG_F2FS_CHECK_FS
- sit_i->sit_bitmap_mir = kmemdup(src_bitmap,
- sit_bitmap_size, GFP_KERNEL);
- if (!sit_i->sit_bitmap_mir)
- return -ENOMEM;
-
sit_i->invalid_segmap = f2fs_kvzalloc(sbi,
main_bitmap_size, GFP_KERNEL);
if (!sit_i->invalid_segmap)
@@ -5849,7 +5844,6 @@ static void destroy_sit_info(struct f2fs_sb_info *sbi)
SM_I(sbi)->sit_info = NULL;
kfree(sit_i->sit_bitmap);
#ifdef CONFIG_F2FS_CHECK_FS
- kfree(sit_i->sit_bitmap_mir);
kvfree(sit_i->invalid_segmap);
#endif
kfree(sit_i);
diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h
index 38a56b8ab2cc..b0c06b3580b4 100644
--- a/fs/f2fs/segment.h
+++ b/fs/f2fs/segment.h
@@ -206,8 +206,6 @@ struct sit_info {
char *bitmap; /* all bitmaps pointer */
char *sit_bitmap; /* SIT bitmap pointer */
#ifdef CONFIG_F2FS_CHECK_FS
- char *sit_bitmap_mir; /* SIT bitmap mirror */
-
/* bitmap of segments to be ignored by GC in case of errors */
unsigned long *invalid_segmap;
#endif
@@ -549,11 +547,6 @@ static inline void get_sit_bitmap(struct f2fs_sb_info *sbi,
{
struct sit_info *sit_i = SIT_I(sbi);
-#ifdef CONFIG_F2FS_CHECK_FS
- if (memcmp(sit_i->sit_bitmap, sit_i->sit_bitmap_mir,
- sit_i->bitmap_size))
- f2fs_bug_on(sbi, 1);
-#endif
memcpy(dst_addr, sit_i->sit_bitmap, sit_i->bitmap_size);
}
@@ -894,12 +887,6 @@ static inline pgoff_t current_sit_addr(struct f2fs_sb_info *sbi,
f2fs_bug_on(sbi, !valid_main_segno(sbi, start));
-#ifdef CONFIG_F2FS_CHECK_FS
- if (f2fs_test_bit(offset, sit_i->sit_bitmap) !=
- f2fs_test_bit(offset, sit_i->sit_bitmap_mir))
- f2fs_bug_on(sbi, 1);
-#endif
-
/* calculate sit block address */
if (f2fs_test_bit(offset, sit_i->sit_bitmap))
blk_addr += sit_i->sit_blocks;
@@ -925,9 +912,6 @@ static inline void set_to_next_sit(struct sit_info *sit_i, unsigned int start)
unsigned int block_off = SIT_BLOCK_OFFSET(start);
f2fs_change_bit(block_off, sit_i->sit_bitmap);
-#ifdef CONFIG_F2FS_CHECK_FS
- f2fs_change_bit(block_off, sit_i->sit_bitmap_mir);
-#endif
}
static inline unsigned long long get_mtime(struct f2fs_sb_info *sbi,
--
2.49.0