From: Matthew Wilcox (Oracle) Date: Mon, 31 Mar 2025 20:12:18 +0000 (+0100) Subject: f2fs: Pass a folio to f2fs_recover_inline_xattr() X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=39b53c0b99464af67272b1cfd449abf02de60cf2;p=users%2Fdwmw2%2Flinux.git f2fs: Pass a folio to f2fs_recover_inline_xattr() The caller has a folio, so pass it in. Signed-off-by: Matthew Wilcox (Oracle) Reviewed-by: Chao Yu Signed-off-by: Jaegeuk Kim --- diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index f1d7002fcd2ca..48dee2817e437 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -3759,7 +3759,7 @@ bool f2fs_alloc_nid(struct f2fs_sb_info *sbi, nid_t *nid); void f2fs_alloc_nid_done(struct f2fs_sb_info *sbi, nid_t nid); void f2fs_alloc_nid_failed(struct f2fs_sb_info *sbi, nid_t nid); int f2fs_try_to_free_nids(struct f2fs_sb_info *sbi, int nr_shrink); -int f2fs_recover_inline_xattr(struct inode *inode, struct page *page); +int f2fs_recover_inline_xattr(struct inode *inode, struct folio *folio); int f2fs_recover_xattr_data(struct inode *inode, struct page *page); int f2fs_recover_inode_page(struct f2fs_sb_info *sbi, struct page *page); int f2fs_restore_node_summary(struct f2fs_sb_info *sbi, diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index 57b72c32bba51..2b989135defe3 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -2711,7 +2711,7 @@ int f2fs_try_to_free_nids(struct f2fs_sb_info *sbi, int nr_shrink) return nr - nr_shrink; } -int f2fs_recover_inline_xattr(struct inode *inode, struct page *page) +int f2fs_recover_inline_xattr(struct inode *inode, struct folio *folio) { void *src_addr, *dst_addr; size_t inline_size; @@ -2722,7 +2722,7 @@ int f2fs_recover_inline_xattr(struct inode *inode, struct page *page) if (IS_ERR(ifolio)) return PTR_ERR(ifolio); - ri = F2FS_INODE(page); + ri = F2FS_INODE(&folio->page); if (ri->i_inline & F2FS_INLINE_XATTR) { if (!f2fs_has_inline_xattr(inode)) { set_inode_flag(inode, FI_INLINE_XATTR); @@ -2737,7 +2737,7 @@ int f2fs_recover_inline_xattr(struct inode *inode, struct page *page) } dst_addr = inline_xattr_addr(inode, &ifolio->page); - src_addr = inline_xattr_addr(inode, page); + src_addr = inline_xattr_addr(inode, &folio->page); inline_size = inline_xattr_size(inode); f2fs_folio_wait_writeback(ifolio, NODE, true, true); diff --git a/fs/f2fs/recovery.c b/fs/f2fs/recovery.c index 8f8a6b2331a6e..ac8f2d0763a43 100644 --- a/fs/f2fs/recovery.c +++ b/fs/f2fs/recovery.c @@ -629,7 +629,7 @@ static int do_recover_data(struct f2fs_sb_info *sbi, struct inode *inode, /* step 1: recover xattr */ if (IS_INODE(&folio->page)) { - err = f2fs_recover_inline_xattr(inode, &folio->page); + err = f2fs_recover_inline_xattr(inode, folio); if (err) goto out; } else if (f2fs_has_xattr_block(ofs_of_node(&folio->page))) {