Skip to content

Commit 45809cd

Browse files
chaseyuJaegeuk Kim
authored andcommitted
f2fs: introduce SEGS_TO_BLKS/BLKS_TO_SEGS for cleanup
Just cleanup, no functional change. Signed-off-by: Chao Yu <[email protected]> Signed-off-by: Jaegeuk Kim <[email protected]>
1 parent 22af1b8 commit 45809cd

File tree

8 files changed

+41
-41
lines changed

8 files changed

+41
-41
lines changed

fs/f2fs/debug.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ static void update_general_status(struct f2fs_sb_info *sbi)
135135
si->cur_ckpt_time = sbi->cprc_info.cur_time;
136136
si->peak_ckpt_time = sbi->cprc_info.peak_time;
137137
spin_unlock(&sbi->cprc_info.stat_lock);
138-
si->total_count = (int)sbi->user_block_count / BLKS_PER_SEG(sbi);
138+
si->total_count = BLKS_TO_SEGS(sbi, (int)sbi->user_block_count);
139139
si->rsvd_segs = reserved_segments(sbi);
140140
si->overp_segs = overprovision_segments(sbi);
141141
si->valid_count = valid_user_blocks(sbi);
@@ -176,11 +176,10 @@ static void update_general_status(struct f2fs_sb_info *sbi)
176176
si->alloc_nids = NM_I(sbi)->nid_cnt[PREALLOC_NID];
177177
si->io_skip_bggc = sbi->io_skip_bggc;
178178
si->other_skip_bggc = sbi->other_skip_bggc;
179-
si->util_free = (int)(free_user_blocks(sbi) >> sbi->log_blocks_per_seg)
179+
si->util_free = (int)(BLKS_TO_SEGS(sbi, free_user_blocks(sbi)))
180180
* 100 / (int)(sbi->user_block_count >> sbi->log_blocks_per_seg)
181181
/ 2;
182-
si->util_valid = (int)(written_block_count(sbi) >>
183-
sbi->log_blocks_per_seg)
182+
si->util_valid = (int)(BLKS_TO_SEGS(sbi, written_block_count(sbi)))
184183
* 100 / (int)(sbi->user_block_count >> sbi->log_blocks_per_seg)
185184
/ 2;
186185
si->util_invalid = 50 - si->util_free - si->util_valid;

fs/f2fs/f2fs.h

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1815,12 +1815,14 @@ struct f2fs_sb_info {
18151815
};
18161816

18171817
/* Definitions to access f2fs_sb_info */
1818-
#define BLKS_PER_SEG(sbi) \
1819-
((sbi)->blocks_per_seg)
1820-
#define BLKS_PER_SEC(sbi) \
1821-
((sbi)->segs_per_sec << (sbi)->log_blocks_per_seg)
1822-
#define SEGS_PER_SEC(sbi) \
1823-
((sbi)->segs_per_sec)
1818+
#define SEGS_TO_BLKS(sbi, segs) \
1819+
((segs) << (sbi)->log_blocks_per_seg)
1820+
#define BLKS_TO_SEGS(sbi, blks) \
1821+
((blks) >> (sbi)->log_blocks_per_seg)
1822+
1823+
#define BLKS_PER_SEG(sbi) ((sbi)->blocks_per_seg)
1824+
#define BLKS_PER_SEC(sbi) (SEGS_TO_BLKS(sbi, (sbi)->segs_per_sec))
1825+
#define SEGS_PER_SEC(sbi) ((sbi)->segs_per_sec)
18241826

18251827
__printf(3, 4)
18261828
void f2fs_printk(struct f2fs_sb_info *sbi, bool limit_rate, const char *fmt, ...);

fs/f2fs/gc.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ static unsigned int get_max_cost(struct f2fs_sb_info *sbi,
301301

302302
/* LFS */
303303
if (p->gc_mode == GC_GREEDY)
304-
return 2 * BLKS_PER_SEG(sbi) * p->ofs_unit;
304+
return SEGS_TO_BLKS(sbi, 2 * p->ofs_unit);
305305
else if (p->gc_mode == GC_CB)
306306
return UINT_MAX;
307307
else if (p->gc_mode == GC_AT)
@@ -348,7 +348,7 @@ static unsigned int get_cb_cost(struct f2fs_sb_info *sbi, unsigned int segno)
348348
mtime = div_u64(mtime, usable_segs_per_sec);
349349
vblocks = div_u64(vblocks, usable_segs_per_sec);
350350

351-
u = (vblocks * 100) >> sbi->log_blocks_per_seg;
351+
u = BLKS_TO_SEGS(sbi, vblocks * 100);
352352

353353
/* Handle if the system time has changed by the user */
354354
if (mtime < sit_i->min_mtime)
@@ -2081,7 +2081,7 @@ static void update_sb_metadata(struct f2fs_sb_info *sbi, int secs)
20812081
raw_sb->segment_count = cpu_to_le32(segment_count + segs);
20822082
raw_sb->segment_count_main = cpu_to_le32(segment_count_main + segs);
20832083
raw_sb->block_count = cpu_to_le64(block_count +
2084-
(long long)(segs << sbi->log_blocks_per_seg));
2084+
(long long)SEGS_TO_BLKS(sbi, segs));
20852085
if (f2fs_is_multi_device(sbi)) {
20862086
int last_dev = sbi->s_ndevs - 1;
20872087
int dev_segs =
@@ -2097,7 +2097,7 @@ static void update_sb_metadata(struct f2fs_sb_info *sbi, int secs)
20972097
static void update_fs_metadata(struct f2fs_sb_info *sbi, int secs)
20982098
{
20992099
int segs = secs * SEGS_PER_SEC(sbi);
2100-
long long blks = (long long)segs << sbi->log_blocks_per_seg;
2100+
long long blks = SEGS_TO_BLKS(sbi, segs);
21012101
long long user_block_count =
21022102
le64_to_cpu(F2FS_CKPT(sbi)->user_block_count);
21032103

@@ -2139,7 +2139,7 @@ int f2fs_resize_fs(struct file *filp, __u64 block_count)
21392139
int last_dev = sbi->s_ndevs - 1;
21402140
__u64 last_segs = FDEV(last_dev).total_segments;
21412141

2142-
if (block_count + (last_segs << sbi->log_blocks_per_seg) <=
2142+
if (block_count + SEGS_TO_BLKS(sbi, last_segs) <=
21432143
old_block_count)
21442144
return -EINVAL;
21452145
}

fs/f2fs/gc.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,15 +96,15 @@ static inline block_t free_segs_blk_count(struct f2fs_sb_info *sbi)
9696
if (f2fs_sb_has_blkzoned(sbi))
9797
return free_segs_blk_count_zoned(sbi);
9898

99-
return free_segments(sbi) << sbi->log_blocks_per_seg;
99+
return SEGS_TO_BLKS(sbi, free_segments(sbi));
100100
}
101101

102102
static inline block_t free_user_blocks(struct f2fs_sb_info *sbi)
103103
{
104104
block_t free_blks, ovp_blks;
105105

106106
free_blks = free_segs_blk_count(sbi);
107-
ovp_blks = overprovision_segments(sbi) << sbi->log_blocks_per_seg;
107+
ovp_blks = SEGS_TO_BLKS(sbi, overprovision_segments(sbi));
108108

109109
if (free_blks < ovp_blks)
110110
return 0;

fs/f2fs/segment.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -451,8 +451,8 @@ static inline bool excess_dirty_threshold(struct f2fs_sb_info *sbi)
451451
unsigned int nodes = get_pages(sbi, F2FS_DIRTY_NODES);
452452
unsigned int meta = get_pages(sbi, F2FS_DIRTY_META);
453453
unsigned int imeta = get_pages(sbi, F2FS_DIRTY_IMETA);
454-
unsigned int threshold = (factor * DEFAULT_DIRTY_THRESHOLD) <<
455-
sbi->log_blocks_per_seg;
454+
unsigned int threshold =
455+
SEGS_TO_BLKS(sbi, (factor * DEFAULT_DIRTY_THRESHOLD));
456456
unsigned int global_threshold = threshold * 3 / 2;
457457

458458
if (dents >= threshold || qdata >= threshold ||
@@ -875,7 +875,7 @@ block_t f2fs_get_unusable_blocks(struct f2fs_sb_info *sbi)
875875
{
876876
int ovp_hole_segs =
877877
(overprovision_segments(sbi) - reserved_segments(sbi));
878-
block_t ovp_holes = ovp_hole_segs << sbi->log_blocks_per_seg;
878+
block_t ovp_holes = SEGS_TO_BLKS(sbi, ovp_hole_segs);
879879
struct dirty_seglist_info *dirty_i = DIRTY_I(sbi);
880880
block_t holes[2] = {0, 0}; /* DATA and NODE */
881881
block_t unusable;
@@ -2188,7 +2188,7 @@ void f2fs_clear_prefree_segments(struct f2fs_sb_info *sbi,
21882188
if (!f2fs_sb_has_blkzoned(sbi) &&
21892189
(!f2fs_lfs_mode(sbi) || !__is_large_section(sbi))) {
21902190
f2fs_issue_discard(sbi, START_BLOCK(sbi, start),
2191-
(end - start) << sbi->log_blocks_per_seg);
2191+
SEGS_TO_BLKS(sbi, end - start));
21922192
continue;
21932193
}
21942194
next:
@@ -2305,7 +2305,7 @@ static int create_discard_cmd_control(struct f2fs_sb_info *sbi)
23052305
atomic_set(&dcc->queued_discard, 0);
23062306
atomic_set(&dcc->discard_cmd_cnt, 0);
23072307
dcc->nr_discards = 0;
2308-
dcc->max_discards = MAIN_SEGS(sbi) << sbi->log_blocks_per_seg;
2308+
dcc->max_discards = SEGS_TO_BLKS(sbi, MAIN_SEGS(sbi));
23092309
dcc->max_discard_request = DEF_MAX_DISCARD_REQUEST;
23102310
dcc->min_discard_issue_time = DEF_MIN_DISCARD_ISSUE_TIME;
23112311
dcc->mid_discard_issue_time = DEF_MID_DISCARD_ISSUE_TIME;
@@ -4548,7 +4548,7 @@ static int build_sit_info(struct f2fs_sb_info *sbi)
45484548
#endif
45494549

45504550
sit_i->sit_base_addr = le32_to_cpu(raw_super->sit_blkaddr);
4551-
sit_i->sit_blocks = sit_segs << sbi->log_blocks_per_seg;
4551+
sit_i->sit_blocks = SEGS_TO_BLKS(sbi, sit_segs);
45524552
sit_i->written_valid_blocks = 0;
45534553
sit_i->bitmap_size = sit_bitmap_size;
45544554
sit_i->dirty_sentries = 0;

fs/f2fs/segment.h

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -77,21 +77,21 @@ static inline void sanity_check_seg_type(struct f2fs_sb_info *sbi,
7777
#define TOTAL_SEGS(sbi) \
7878
(SM_I(sbi) ? SM_I(sbi)->segment_count : \
7979
le32_to_cpu(F2FS_RAW_SUPER(sbi)->segment_count))
80-
#define TOTAL_BLKS(sbi) (TOTAL_SEGS(sbi) << (sbi)->log_blocks_per_seg)
80+
#define TOTAL_BLKS(sbi) (SEGS_TO_BLKS(sbi, TOTAL_SEGS(sbi)))
8181

8282
#define MAX_BLKADDR(sbi) (SEG0_BLKADDR(sbi) + TOTAL_BLKS(sbi))
8383
#define SEGMENT_SIZE(sbi) (1ULL << ((sbi)->log_blocksize + \
8484
(sbi)->log_blocks_per_seg))
8585

8686
#define START_BLOCK(sbi, segno) (SEG0_BLKADDR(sbi) + \
87-
(GET_R2L_SEGNO(FREE_I(sbi), segno) << (sbi)->log_blocks_per_seg))
87+
(SEGS_TO_BLKS(sbi, GET_R2L_SEGNO(FREE_I(sbi), segno))))
8888

8989
#define NEXT_FREE_BLKADDR(sbi, curseg) \
9090
(START_BLOCK(sbi, (curseg)->segno) + (curseg)->next_blkoff)
9191

9292
#define GET_SEGOFF_FROM_SEG0(sbi, blk_addr) ((blk_addr) - SEG0_BLKADDR(sbi))
9393
#define GET_SEGNO_FROM_SEG0(sbi, blk_addr) \
94-
(GET_SEGOFF_FROM_SEG0(sbi, blk_addr) >> (sbi)->log_blocks_per_seg)
94+
(BLKS_TO_SEGS(sbi, GET_SEGOFF_FROM_SEG0(sbi, blk_addr)))
9595
#define GET_BLKOFF_FROM_SEG0(sbi, blk_addr) \
9696
(GET_SEGOFF_FROM_SEG0(sbi, blk_addr) & (BLKS_PER_SEG(sbi) - 1))
9797

@@ -100,11 +100,10 @@ static inline void sanity_check_seg_type(struct f2fs_sb_info *sbi,
100100
NULL_SEGNO : GET_L2R_SEGNO(FREE_I(sbi), \
101101
GET_SEGNO_FROM_SEG0(sbi, blk_addr)))
102102
#define CAP_BLKS_PER_SEC(sbi) \
103-
(SEGS_PER_SEC(sbi) * BLKS_PER_SEG(sbi) - \
104-
(sbi)->unusable_blocks_per_sec)
103+
(BLKS_PER_SEC(sbi) - (sbi)->unusable_blocks_per_sec)
105104
#define CAP_SEGS_PER_SEC(sbi) \
106-
(SEGS_PER_SEC(sbi) - ((sbi)->unusable_blocks_per_sec >> \
107-
(sbi)->log_blocks_per_seg))
105+
(SEGS_PER_SEC(sbi) - \
106+
BLKS_TO_SEGS(sbi, (sbi)->unusable_blocks_per_sec))
108107
#define GET_SEC_FROM_SEG(sbi, segno) \
109108
(((segno) == -1) ? -1 : (segno) / SEGS_PER_SEC(sbi))
110109
#define GET_SEG_FROM_SEC(sbi, secno) \
@@ -904,7 +903,7 @@ static inline int nr_pages_to_skip(struct f2fs_sb_info *sbi, int type)
904903
if (type == DATA)
905904
return BLKS_PER_SEG(sbi);
906905
else if (type == NODE)
907-
return 8 * BLKS_PER_SEG(sbi);
906+
return SEGS_TO_BLKS(sbi, 8);
908907
else if (type == META)
909908
return 8 * BIO_MAX_VECS;
910909
else

fs/f2fs/super.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3756,9 +3756,9 @@ static void init_sb_info(struct f2fs_sb_info *sbi)
37563756
sbi->segs_per_sec = le32_to_cpu(raw_super->segs_per_sec);
37573757
sbi->secs_per_zone = le32_to_cpu(raw_super->secs_per_zone);
37583758
sbi->total_sections = le32_to_cpu(raw_super->section_count);
3759-
sbi->total_node_count =
3760-
((le32_to_cpu(raw_super->segment_count_nat) / 2) *
3761-
NAT_ENTRY_PER_BLOCK) << sbi->log_blocks_per_seg;
3759+
sbi->total_node_count = SEGS_TO_BLKS(sbi,
3760+
((le32_to_cpu(raw_super->segment_count_nat) / 2) *
3761+
NAT_ENTRY_PER_BLOCK));
37623762
F2FS_ROOT_INO(sbi) = le32_to_cpu(raw_super->root_ino);
37633763
F2FS_NODE_INO(sbi) = le32_to_cpu(raw_super->node_ino);
37643764
F2FS_META_INO(sbi) = le32_to_cpu(raw_super->meta_ino);
@@ -4200,14 +4200,14 @@ static int f2fs_scan_devices(struct f2fs_sb_info *sbi)
42004200
if (i == 0) {
42014201
FDEV(i).start_blk = 0;
42024202
FDEV(i).end_blk = FDEV(i).start_blk +
4203-
(FDEV(i).total_segments <<
4204-
sbi->log_blocks_per_seg) - 1 +
4205-
le32_to_cpu(raw_super->segment0_blkaddr);
4203+
SEGS_TO_BLKS(sbi,
4204+
FDEV(i).total_segments) - 1 +
4205+
le32_to_cpu(raw_super->segment0_blkaddr);
42064206
} else {
42074207
FDEV(i).start_blk = FDEV(i - 1).end_blk + 1;
42084208
FDEV(i).end_blk = FDEV(i).start_blk +
4209-
(FDEV(i).total_segments <<
4210-
sbi->log_blocks_per_seg) - 1;
4209+
SEGS_TO_BLKS(sbi,
4210+
FDEV(i).total_segments) - 1;
42114211
FDEV(i).bdev_handle = bdev_open_by_path(
42124212
FDEV(i).path, mode, sbi->sb, NULL);
42134213
}

fs/f2fs/sysfs.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -493,8 +493,8 @@ static ssize_t __sbi_store(struct f2fs_attr *a,
493493
spin_lock(&sbi->stat_lock);
494494
if (t > (unsigned long)(sbi->user_block_count -
495495
F2FS_OPTION(sbi).root_reserved_blocks -
496-
(SM_I(sbi)->additional_reserved_segments <<
497-
sbi->log_blocks_per_seg))) {
496+
SEGS_TO_BLKS(sbi,
497+
SM_I(sbi)->additional_reserved_segments))) {
498498
spin_unlock(&sbi->stat_lock);
499499
return -EINVAL;
500500
}

0 commit comments

Comments
 (0)