]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
f2fs: Pass a folio to f2fs_update_inode()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Mon, 31 Mar 2025 20:12:46 +0000 (21:12 +0100)
committerJaegeuk Kim <jaegeuk@kernel.org>
Mon, 28 Apr 2025 15:26:47 +0000 (15:26 +0000)
All callers now have a folio, so pass it in.  Remove two calls 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/dir.c
fs/f2fs/f2fs.h
fs/f2fs/inline.c
fs/f2fs/inode.c
fs/f2fs/node.c

index 6a26b7ca6a3187cfd04e02b3137694d1ae48d4a5..c36b3b22bfffd9403a29d55001620514f0bc11a2 100644 (file)
@@ -579,7 +579,7 @@ struct folio *f2fs_init_inode_metadata(struct inode *inode, struct inode *dir,
 
 put_error:
        clear_nlink(inode);
-       f2fs_update_inode(inode, &folio->page);
+       f2fs_update_inode(inode, folio);
        f2fs_folio_put(folio, true);
        return ERR_PTR(err);
 }
@@ -738,7 +738,7 @@ add_dentry:
 
                /* synchronize inode page's data from inode cache */
                if (is_inode_flag_set(inode, FI_NEW_INODE))
-                       f2fs_update_inode(inode, &folio->page);
+                       f2fs_update_inode(inode, folio);
 
                f2fs_folio_put(folio, true);
        }
index f6ad151d76588f3d1a6010bf7aac6767f64e9138..b38e93621997aca2391d211870e4171cf4ee5b62 100644 (file)
@@ -3616,7 +3616,7 @@ void f2fs_inode_chksum_set(struct f2fs_sb_info *sbi, struct page *page);
 struct inode *f2fs_iget(struct super_block *sb, unsigned long ino);
 struct inode *f2fs_iget_retry(struct super_block *sb, unsigned long ino);
 int f2fs_try_to_free_nats(struct f2fs_sb_info *sbi, int nr_shrink);
-void f2fs_update_inode(struct inode *inode, struct page *node_page);
+void f2fs_update_inode(struct inode *inode, struct folio *node_folio);
 void f2fs_update_inode_page(struct inode *inode);
 int f2fs_write_inode(struct inode *inode, struct writeback_control *wbc);
 void f2fs_evict_inode(struct inode *inode);
index 3b65adb4d1b00ed2d3f9cbb0c3bb800da342907b..72bb2bed28f852880ec67de7054d7662fda0b40e 100644 (file)
@@ -683,7 +683,7 @@ int f2fs_add_inline_entry(struct inode *dir, const struct f2fs_filename *fname,
 
                /* synchronize inode page's data from inode cache */
                if (is_inode_flag_set(inode, FI_NEW_INODE))
-                       f2fs_update_inode(inode, &folio->page);
+                       f2fs_update_inode(inode, folio);
 
                f2fs_folio_put(folio, true);
        }
index abb1ff1948fd27c7599e2e9cd658f801429c7577..17cb8aa0f7e72f9583173987486f00a6ad9e2855 100644 (file)
@@ -659,18 +659,18 @@ retry:
        return inode;
 }
 
-void f2fs_update_inode(struct inode *inode, struct page *node_page)
+void f2fs_update_inode(struct inode *inode, struct folio *node_folio)
 {
        struct f2fs_inode_info *fi = F2FS_I(inode);
        struct f2fs_inode *ri;
        struct extent_tree *et = fi->extent_tree[EX_READ];
 
-       f2fs_wait_on_page_writeback(node_page, NODE, true, true);
-       set_page_dirty(node_page);
+       f2fs_folio_wait_writeback(node_folio, NODE, true, true);
+       folio_mark_dirty(node_folio);
 
        f2fs_inode_synced(inode);
 
-       ri = F2FS_INODE(node_page);
+       ri = F2FS_INODE(&node_folio->page);
 
        ri->i_mode = cpu_to_le16(inode->i_mode);
        ri->i_advise = fi->i_advise;
@@ -745,15 +745,15 @@ void f2fs_update_inode(struct inode *inode, struct page *node_page)
                }
        }
 
-       __set_inode_rdev(inode, node_page);
+       __set_inode_rdev(inode, &node_folio->page);
 
        /* deleted inode */
        if (inode->i_nlink == 0)
-               clear_page_private_inline(node_page);
+               clear_page_private_inline(&node_folio->page);
 
        init_idisk_time(inode);
 #ifdef CONFIG_F2FS_CHECK_FS
-       f2fs_inode_chksum_set(F2FS_I_SB(inode), node_page);
+       f2fs_inode_chksum_set(F2FS_I_SB(inode), &node_folio->page);
 #endif
 }
 
@@ -780,7 +780,7 @@ stop_checkpoint:
                f2fs_stop_checkpoint(sbi, false, STOP_CP_REASON_UPDATE_INODE);
                return;
        }
-       f2fs_update_inode(inode, &node_folio->page);
+       f2fs_update_inode(inode, node_folio);
        f2fs_folio_put(node_folio, true);
 }
 
index a3f3c661c8167a2753fc0395c545417066b5a607..52d5f092a7403767487ee8da8da38a58015fde13 100644 (file)
@@ -1870,7 +1870,7 @@ continue_unlock:
                                if (IS_INODE(&folio->page)) {
                                        if (is_inode_flag_set(inode,
                                                                FI_DIRTY_INODE))
-                                               f2fs_update_inode(inode, &folio->page);
+                                               f2fs_update_inode(inode, folio);
                                        set_dentry_mark(&folio->page,
                                                f2fs_need_dentry_mark(sbi, ino));
                                }
@@ -1955,7 +1955,7 @@ static bool flush_dirty_inode(struct folio *folio)
        if (!inode)
                return false;
 
-       f2fs_update_inode(inode, &folio->page);
+       f2fs_update_inode(inode, folio);
        folio_unlock(folio);
 
        iput(inode);
@@ -2743,7 +2743,7 @@ int f2fs_recover_inline_xattr(struct inode *inode, struct folio *folio)
        f2fs_folio_wait_writeback(ifolio, NODE, true, true);
        memcpy(dst_addr, src_addr, inline_size);
 update_inode:
-       f2fs_update_inode(inode, &ifolio->page);
+       f2fs_update_inode(inode, ifolio);
        f2fs_folio_put(ifolio, true);
        return 0;
 }