]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
f2fs: convert f2fs_do_write_meta_page() to use folio
authorChao Yu <chao@kernel.org>
Tue, 13 Aug 2024 14:13:28 +0000 (22:13 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 6 Sep 2024 23:04:47 +0000 (23:04 +0000)
Convert to use folio, so that we can get rid of 'page->index' to
prepare for removal of 'index' field in structure page [1].

[1] https://lore.kernel.org/all/Zp8fgUSIBGQ1TN0D@casper.infradead.org/

Cc: Matthew Wilcox <willy@infradead.org>
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/checkpoint.c
fs/f2fs/f2fs.h
fs/f2fs/segment.c

index f3d22b8ef2ffa56d529136829160c669f21b387c..d73d4d05313e0da355d00e8ef5a115f005d5743c 100644 (file)
@@ -362,7 +362,7 @@ static int __f2fs_write_meta_page(struct page *page,
        if (wbc->for_reclaim && page->index < GET_SUM_BLOCK(sbi, 0))
                goto redirty_out;
 
-       f2fs_do_write_meta_page(sbi, page, io_type);
+       f2fs_do_write_meta_page(sbi, page_folio(page), io_type);
        dec_page_count(sbi, F2FS_DIRTY_META);
 
        if (wbc->for_reclaim)
index 994661d976350a62e481db11defad3f49661d61a..2c1664f951e968a99767d756c98d8638a86bdc2c 100644 (file)
@@ -3732,7 +3732,7 @@ bool f2fs_exist_trim_candidates(struct f2fs_sb_info *sbi,
 struct page *f2fs_get_sum_page(struct f2fs_sb_info *sbi, unsigned int segno);
 void f2fs_update_meta_page(struct f2fs_sb_info *sbi, void *src,
                                        block_t blk_addr);
-void f2fs_do_write_meta_page(struct f2fs_sb_info *sbi, struct page *page,
+void f2fs_do_write_meta_page(struct f2fs_sb_info *sbi, struct folio *folio,
                                                enum iostat_type io_type);
 void f2fs_do_write_node_page(unsigned int nid, struct f2fs_io_info *fio);
 void f2fs_outplace_write_data(struct dnode_of_data *dn,
index ed070b9ef91b1d29521f134677dbcfb34e6ada6c..e3cc2706f544dd8d941c49f99a300aadaeb9dd4d 100644 (file)
@@ -3811,7 +3811,7 @@ out:
                f2fs_up_read(&fio->sbi->io_order_lock);
 }
 
-void f2fs_do_write_meta_page(struct f2fs_sb_info *sbi, struct page *page,
+void f2fs_do_write_meta_page(struct f2fs_sb_info *sbi, struct folio *folio,
                                        enum iostat_type io_type)
 {
        struct f2fs_io_info fio = {
@@ -3820,20 +3820,20 @@ void f2fs_do_write_meta_page(struct f2fs_sb_info *sbi, struct page *page,
                .temp = HOT,
                .op = REQ_OP_WRITE,
                .op_flags = REQ_SYNC | REQ_META | REQ_PRIO,
-               .old_blkaddr = page->index,
-               .new_blkaddr = page->index,
-               .page = page,
+               .old_blkaddr = folio->index,
+               .new_blkaddr = folio->index,
+               .page = folio_page(folio, 0),
                .encrypted_page = NULL,
                .in_list = 0,
        };
 
-       if (unlikely(page->index >= MAIN_BLKADDR(sbi)))
+       if (unlikely(folio->index >= MAIN_BLKADDR(sbi)))
                fio.op_flags &= ~REQ_META;
 
-       set_page_writeback(page);
+       folio_start_writeback(folio);
        f2fs_submit_page_write(&fio);
 
-       stat_inc_meta_count(sbi, page->index);
+       stat_inc_meta_count(sbi, folio->index);
        f2fs_update_iostat(sbi, NULL, io_type, F2FS_BLKSIZE);
 }