From: Chao Yu Date: Fri, 22 May 2026 06:59:12 +0000 (+0800) Subject: Revert: "f2fs: check in-memory sit version bitmap" X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7967d563bcbaac60711f09d699bce95e91a7cb5c;p=thirdparty%2Flinux.git Revert: "f2fs: check in-memory sit version bitmap" 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 Suggested-by: Jaegeuk Kim Signed-off-by: Chao Yu Signed-off-by: Jaegeuk Kim --- diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index 9926ba9d77bac..9935550428764 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 38a56b8ab2ccc..b0c06b3580b4d 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,