]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
f2fs: wrap all unusable_blocks_per_sec code in CONFIG_BLK_DEV_ZONED
authorYongpeng Yang <yangyongpeng@xiaomi.com>
Mon, 10 Nov 2025 08:22:21 +0000 (16:22 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 4 Dec 2025 02:00:04 +0000 (02:00 +0000)
The usage of unusable_blocks_per_sec is already wrapped by
CONFIG_BLK_DEV_ZONED, except for its declaration and the definitions of
CAP_BLKS_PER_SEC and CAP_SEGS_PER_SEC. This patch ensures that all code
related to unusable_blocks_per_sec is properly wrapped under the
CONFIG_BLK_DEV_ZONED option.

Signed-off-by: Yongpeng Yang <yangyongpeng@xiaomi.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/f2fs.h
fs/f2fs/segment.h

index 860e9c69d3a6fb30d3c7ddf1f8ed7085d8740445..3d8b69628721e8c51336b80deacd0217b005f05d 100644 (file)
@@ -1669,6 +1669,7 @@ struct f2fs_sb_info {
 
 #ifdef CONFIG_BLK_DEV_ZONED
        unsigned int blocks_per_blkz;           /* F2FS blocks per zone */
+       unsigned int unusable_blocks_per_sec;   /* unusable blocks per section */
        unsigned int max_open_zones;            /* max open zone resources of the zoned device */
        /* For adjust the priority writing position of data in zone UFS */
        unsigned int blkzone_alloc_policy;
@@ -1741,7 +1742,6 @@ struct f2fs_sb_info {
        unsigned int meta_ino_num;              /* meta inode number*/
        unsigned int log_blocks_per_seg;        /* log2 blocks per segment */
        unsigned int blocks_per_seg;            /* blocks per segment */
-       unsigned int unusable_blocks_per_sec;   /* unusable blocks per section */
        unsigned int segs_per_sec;              /* segments per section */
        unsigned int secs_per_zone;             /* sections per zone */
        unsigned int total_sections;            /* total section count */
index e883f14c228f26eb233ac7faf570b03d0646395b..0b54d87409b083bf8e0d03d275aff84d2068894d 100644 (file)
@@ -69,11 +69,16 @@ static inline void sanity_check_seg_type(struct f2fs_sb_info *sbi,
        ((!__is_valid_data_blkaddr(blk_addr)) ?                 \
        NULL_SEGNO : GET_L2R_SEGNO(FREE_I(sbi),                 \
                GET_SEGNO_FROM_SEG0(sbi, blk_addr)))
+#ifdef CONFIG_BLK_DEV_ZONED
 #define CAP_BLKS_PER_SEC(sbi)                                  \
        (BLKS_PER_SEC(sbi) - (sbi)->unusable_blocks_per_sec)
 #define CAP_SEGS_PER_SEC(sbi)                                  \
        (SEGS_PER_SEC(sbi) -                                    \
        BLKS_TO_SEGS(sbi, (sbi)->unusable_blocks_per_sec))
+#else
+#define CAP_BLKS_PER_SEC(sbi) BLKS_PER_SEC(sbi)
+#define CAP_SEGS_PER_SEC(sbi) SEGS_PER_SEC(sbi)
+#endif
 #define GET_START_SEG_FROM_SEC(sbi, segno)                     \
        (rounddown(segno, SEGS_PER_SEC(sbi)))
 #define GET_SEC_FROM_SEG(sbi, segno)                           \