]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
f2fs: remove struct segment_allocation default_salloc_ops
authorChristoph Hellwig <hch@lst.de>
Mon, 28 Nov 2022 09:43:44 +0000 (10:43 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2024 18:51:05 +0000 (19:51 +0100)
[ Upstream commit 1c8a8ec0a0e9a1176022a35c4daf04fe1594d270 ]

There is only  single instance of these ops, so remove the indirection
and call allocate_segment_by_default directly.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Stable-dep-of: 43563069e1c1 ("f2fs: check curseg->inited before write_sum_page in change_curseg")
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/f2fs/segment.c
fs/f2fs/segment.h

index 9e6c4a475d6d0ad422062792cf9dadac356fea3c..91c7593965c47c84f33f21279234256a7c41d985 100644 (file)
@@ -2999,7 +2999,7 @@ static void __allocate_new_segment(struct f2fs_sb_info *sbi, int type,
                return;
 alloc:
        old_segno = curseg->segno;
-       SIT_I(sbi)->s_ops->allocate_segment(sbi, type, true);
+       allocate_segment_by_default(sbi, type, true);
        locate_dirty_segment(sbi, old_segno);
 }
 
@@ -3030,10 +3030,6 @@ void f2fs_allocate_new_segments(struct f2fs_sb_info *sbi)
        up_read(&SM_I(sbi)->curseg_lock);
 }
 
-static const struct segment_allocation default_salloc_ops = {
-       .allocate_segment = allocate_segment_by_default,
-};
-
 bool f2fs_exist_trim_candidates(struct f2fs_sb_info *sbi,
                                                struct cp_control *cpc)
 {
@@ -3452,7 +3448,7 @@ void f2fs_allocate_data_block(struct f2fs_sb_info *sbi, struct page *page,
                        get_atssr_segment(sbi, type, se->type,
                                                AT_SSR, se->mtime);
                else
-                       sit_i->s_ops->allocate_segment(sbi, type, false);
+                       allocate_segment_by_default(sbi, type, false);
        }
        /*
         * segment dirty status should be updated after segment allocation,
@@ -4434,9 +4430,6 @@ static int build_sit_info(struct f2fs_sb_info *sbi)
                return -ENOMEM;
 #endif
 
-       /* init SIT information */
-       sit_i->s_ops = &default_salloc_ops;
-
        sit_i->sit_base_addr = le32_to_cpu(raw_super->sit_blkaddr);
        sit_i->sit_blocks = sit_segs << sbi->log_blocks_per_seg;
        sit_i->written_valid_blocks = 0;
index 2c1165e8f12835d2e24be04e8045d7c2ee8fc0df..e59b330ed833518bfa8f21a02734fca739ab114d 100644 (file)
@@ -225,10 +225,6 @@ struct sec_entry {
        unsigned int valid_blocks;      /* # of valid blocks in a section */
 };
 
-struct segment_allocation {
-       void (*allocate_segment)(struct f2fs_sb_info *, int, bool);
-};
-
 #define MAX_SKIP_GC_COUNT                      16
 
 struct inmem_pages {
@@ -238,8 +234,6 @@ struct inmem_pages {
 };
 
 struct sit_info {
-       const struct segment_allocation *s_ops;
-
        block_t sit_base_addr;          /* start block address of SIT area */
        block_t sit_blocks;             /* # of blocks used by SIT area */
        block_t written_valid_blocks;   /* # of valid blocks in main area */