From f92379289f0cfe8cebc716c5ce37015f05b4cb26 Mon Sep 17 00:00:00 2001 From: "Matthew Wilcox (Oracle)" Date: Mon, 31 Mar 2025 21:12:46 +0100 Subject: [PATCH] f2fs: Pass a folio to f2fs_update_inode() All callers now have a folio, so pass it in. Remove two calls to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) Reviewed-by: Chao Yu Signed-off-by: Jaegeuk Kim --- fs/f2fs/dir.c | 4 ++-- fs/f2fs/f2fs.h | 2 +- fs/f2fs/inline.c | 2 +- fs/f2fs/inode.c | 16 ++++++++-------- fs/f2fs/node.c | 6 +++--- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/fs/f2fs/dir.c b/fs/f2fs/dir.c index 6a26b7ca6a31..c36b3b22bfff 100644 --- a/fs/f2fs/dir.c +++ b/fs/f2fs/dir.c @@ -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); } diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index f6ad151d7658..b38e93621997 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -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); diff --git a/fs/f2fs/inline.c b/fs/f2fs/inline.c index 3b65adb4d1b0..72bb2bed28f8 100644 --- a/fs/f2fs/inline.c +++ b/fs/f2fs/inline.c @@ -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); } diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c index abb1ff1948fd..17cb8aa0f7e7 100644 --- a/fs/f2fs/inode.c +++ b/fs/f2fs/inode.c @@ -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); } diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index a3f3c661c816..52d5f092a740 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -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; } -- 2.50.1