From: Yongpeng Yang <[email protected]>
sbi->unusable_blocks_per_sec is used only within CONFIG_BLK_DEV_ZONED
sections, except for CAP_BLKS_PER_SEC and CAP_SEGS_PER_SEC. This patch
renames unusable_blocks_per_sec to unusable_blocks_per_blkz and ensures
that unusable_blocks_per_blkz is properly enclosed within the
CONFIG_BLK_DEV_ZONED.
Signed-off-by: Yongpeng Yang <[email protected]>
---
fs/f2fs/f2fs.h | 2 +-
fs/f2fs/segment.c | 3 +--
fs/f2fs/segment.h | 9 +++++++--
fs/f2fs/super.c | 6 +++---
fs/f2fs/sysfs.c | 4 ++--
5 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index 5b4e9548a231..c47a09c7f7e7 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -1661,6 +1661,7 @@ struct f2fs_sb_info {
#ifdef CONFIG_BLK_DEV_ZONED
unsigned int blocks_per_blkz; /* F2FS blocks per zone */
+ unsigned int unusable_blocks_per_blkz; /* F2FS unusable blocks
per zone */
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;
@@ -1732,7 +1733,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 */
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index b45eace879d7..54ad774ee338 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -5567,7 +5567,7 @@ static inline unsigned int
f2fs_usable_zone_blks_in_seg(
block_t seg_start, sec_start_blkaddr, sec_cap_blkaddr;
unsigned int secno;
- if (!sbi->unusable_blocks_per_sec)
+ if (!sbi->unusable_blocks_per_blkz)
return BLKS_PER_SEG(sbi);
secno = GET_SEC_FROM_SEG(sbi, segno);
@@ -5599,7 +5599,6 @@ static inline unsigned int
f2fs_usable_zone_blks_in_seg(struct f2fs_sb_info *sbi
{
return 0;
}
-
#endif
unsigned int f2fs_usable_blks_in_seg(struct f2fs_sb_info *sbi,
unsigned int segno)
diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h
index 1ce2c8abaf48..0a1ca929ce1a 100644
--- a/fs/f2fs/segment.h
+++ b/fs/f2fs/segment.h
@@ -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)
+ (BLKS_PER_SEC(sbi) - (sbi)->unusable_blocks_per_blkz)
#define CAP_SEGS_PER_SEC(sbi) \
(SEGS_PER_SEC(sbi) - \
- BLKS_TO_SEGS(sbi, (sbi)->unusable_blocks_per_sec))
+ BLKS_TO_SEGS(sbi, (sbi)->unusable_blocks_per_blkz))
+#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) \
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index db7afb806411..c055032593b7 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -4333,11 +4333,11 @@ static int f2fs_report_zone_cb(struct blk_zone
*zone, unsigned int idx,
return 0;
set_bit(idx, rz_args->dev->blkz_seq);
- if (!rz_args->sbi->unusable_blocks_per_sec) {
- rz_args->sbi->unusable_blocks_per_sec = unusable_blocks;
+ if (!rz_args->sbi->unusable_blocks_per_blkz) {
+ rz_args->sbi->unusable_blocks_per_blkz = unusable_blocks;
return 0;
}
- if (rz_args->sbi->unusable_blocks_per_sec != unusable_blocks) {
+ if (rz_args->sbi->unusable_blocks_per_blkz != unusable_blocks) {
f2fs_err(rz_args->sbi, "F2FS supports single zone capacity\n");
return -EINVAL;
}
diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
index 6d2a4fba68a2..98d2cb60e806 100644
--- a/fs/f2fs/sysfs.c
+++ b/fs/f2fs/sysfs.c
@@ -1209,7 +1209,7 @@ F2FS_SBI_GENERAL_RW_ATTR(last_age_weight);
/* read extent cache */
F2FS_SBI_GENERAL_RW_ATTR(max_read_extent_count);
#ifdef CONFIG_BLK_DEV_ZONED
-F2FS_SBI_GENERAL_RO_ATTR(unusable_blocks_per_sec);
+F2FS_SBI_GENERAL_RO_ATTR(unusable_blocks_per_blkz);