f2fs: simplify do_checkpoint

For each loop add a local curseg_info pointer insted of looking it up
for each of the three fields.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
Christoph Hellwig 2023-01-19 07:36:19 +01:00 committed by Jaegeuk Kim
parent ddbf486d3d
commit 4d833154c3

View File

@ -1470,20 +1470,18 @@ static int do_checkpoint(struct f2fs_sb_info *sbi, struct cp_control *cpc)
ckpt->elapsed_time = cpu_to_le64(get_mtime(sbi, true)); ckpt->elapsed_time = cpu_to_le64(get_mtime(sbi, true));
ckpt->free_segment_count = cpu_to_le32(free_segments(sbi)); ckpt->free_segment_count = cpu_to_le32(free_segments(sbi));
for (i = 0; i < NR_CURSEG_NODE_TYPE; i++) { for (i = 0; i < NR_CURSEG_NODE_TYPE; i++) {
ckpt->cur_node_segno[i] = struct curseg_info *curseg = CURSEG_I(sbi, i + CURSEG_HOT_NODE);
cpu_to_le32(curseg_segno(sbi, i + CURSEG_HOT_NODE));
ckpt->cur_node_blkoff[i] = ckpt->cur_node_segno[i] = cpu_to_le32(curseg->segno);
cpu_to_le16(curseg_blkoff(sbi, i + CURSEG_HOT_NODE)); ckpt->cur_node_blkoff[i] = cpu_to_le16(curseg->next_blkoff);
ckpt->alloc_type[i + CURSEG_HOT_NODE] = ckpt->alloc_type[i + CURSEG_HOT_NODE] = curseg->alloc_type;
curseg_alloc_type(sbi, i + CURSEG_HOT_NODE);
} }
for (i = 0; i < NR_CURSEG_DATA_TYPE; i++) { for (i = 0; i < NR_CURSEG_DATA_TYPE; i++) {
ckpt->cur_data_segno[i] = struct curseg_info *curseg = CURSEG_I(sbi, i + CURSEG_HOT_DATA);
cpu_to_le32(curseg_segno(sbi, i + CURSEG_HOT_DATA));
ckpt->cur_data_blkoff[i] = ckpt->cur_data_segno[i] = cpu_to_le32(curseg->segno);
cpu_to_le16(curseg_blkoff(sbi, i + CURSEG_HOT_DATA)); ckpt->cur_data_blkoff[i] = cpu_to_le16(curseg->next_blkoff);
ckpt->alloc_type[i + CURSEG_HOT_DATA] = ckpt->alloc_type[i + CURSEG_HOT_DATA] = curseg->alloc_type;
curseg_alloc_type(sbi, i + CURSEG_HOT_DATA);
} }
/* 2 cp + n data seg summary + orphan inode blocks */ /* 2 cp + n data seg summary + orphan inode blocks */