]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
f2fs: Use a folio in get_next_nat_page()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Mon, 31 Mar 2025 20:10:41 +0000 (21:10 +0100)
committerJaegeuk Kim <jaegeuk@kernel.org>
Mon, 28 Apr 2025 15:26:28 +0000 (15:26 +0000)
Call f2fs_grab_meta_folio() instead of f2fs_grab_meta_page().
Saves a hidden call to compound_head().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/node.c

index 8a8d4d9d9b05ac238fc517f277498926f5bbd51e..fbf640bee6bfa9296cd60348b5c2d66ab5d1bfc3 100644 (file)
@@ -138,7 +138,7 @@ static struct page *get_current_nat_page(struct f2fs_sb_info *sbi, nid_t nid)
 static struct page *get_next_nat_page(struct f2fs_sb_info *sbi, nid_t nid)
 {
        struct page *src_page;
-       struct page *dst_page;
+       struct folio *dst_folio;
        pgoff_t dst_off;
        void *src_addr;
        void *dst_addr;
@@ -150,18 +150,18 @@ static struct page *get_next_nat_page(struct f2fs_sb_info *sbi, nid_t nid)
        src_page = get_current_nat_page(sbi, nid);
        if (IS_ERR(src_page))
                return src_page;
-       dst_page = f2fs_grab_meta_page(sbi, dst_off);
+       dst_folio = f2fs_grab_meta_folio(sbi, dst_off);
        f2fs_bug_on(sbi, PageDirty(src_page));
 
        src_addr = page_address(src_page);
-       dst_addr = page_address(dst_page);
+       dst_addr = folio_address(dst_folio);
        memcpy(dst_addr, src_addr, PAGE_SIZE);
-       set_page_dirty(dst_page);
+       folio_mark_dirty(dst_folio);
        f2fs_put_page(src_page, 1);
 
        set_to_next_nat(nm_i, nid);
 
-       return dst_page;
+       return &dst_folio->page;
 }
 
 static struct nat_entry *__alloc_nat_entry(struct f2fs_sb_info *sbi,