From: Matthew Wilcox (Oracle) Date: Mon, 31 Mar 2025 20:12:31 +0000 (+0100) Subject: f2fs: Pass a folio to f2fs_recover_inline_data() X-Git-Tag: v6.16-rc1~115^2~52 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=413977c956dbac26b5a54d2f4f2a218e87747124;p=thirdparty%2Fkernel%2Flinux.git f2fs: Pass a folio to f2fs_recover_inline_data() The only 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 7e5000248758b..57288173c149e 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -4294,7 +4294,7 @@ int f2fs_convert_inline_folio(struct dnode_of_data *dn, struct folio *folio); int f2fs_convert_inline_inode(struct inode *inode); int f2fs_try_convert_inline_dir(struct inode *dir, struct dentry *dentry); int f2fs_write_inline_data(struct inode *inode, struct folio *folio); -int f2fs_recover_inline_data(struct inode *inode, struct page *npage); +int f2fs_recover_inline_data(struct inode *inode, struct folio *nfolio); struct f2fs_dir_entry *f2fs_find_in_inline_dir(struct inode *dir, const struct f2fs_filename *fname, struct folio **res_folio, bool use_hash); diff --git a/fs/f2fs/inline.c b/fs/f2fs/inline.c index 1c6dc9731f2a6..2d2dada85e088 100644 --- a/fs/f2fs/inline.c +++ b/fs/f2fs/inline.c @@ -291,7 +291,7 @@ int f2fs_write_inline_data(struct inode *inode, struct folio *folio) return 0; } -int f2fs_recover_inline_data(struct inode *inode, struct page *npage) +int f2fs_recover_inline_data(struct inode *inode, struct folio *nfolio) { struct f2fs_sb_info *sbi = F2FS_I_SB(inode); struct f2fs_inode *ri = NULL; @@ -305,8 +305,8 @@ int f2fs_recover_inline_data(struct inode *inode, struct page *npage) * x o -> remove data blocks, and then recover inline_data * x x -> recover data blocks */ - if (IS_INODE(npage)) - ri = F2FS_INODE(npage); + if (IS_INODE(&nfolio->page)) + ri = F2FS_INODE(&nfolio->page); if (f2fs_has_inline_data(inode) && ri && (ri->i_inline & F2FS_INLINE_DATA)) { @@ -318,7 +318,7 @@ process_inline: f2fs_folio_wait_writeback(ifolio, NODE, true, true); - src_addr = inline_data_addr(inode, npage); + src_addr = inline_data_addr(inode, &nfolio->page); dst_addr = inline_data_addr(inode, &ifolio->page); memcpy(dst_addr, src_addr, MAX_INLINE_DATA(inode)); diff --git a/fs/f2fs/recovery.c b/fs/f2fs/recovery.c index 0dfc60ac0f37b..bc7041d82dc56 100644 --- a/fs/f2fs/recovery.c +++ b/fs/f2fs/recovery.c @@ -640,7 +640,7 @@ static int do_recover_data(struct f2fs_sb_info *sbi, struct inode *inode, } /* step 2: recover inline data */ - err = f2fs_recover_inline_data(inode, &folio->page); + err = f2fs_recover_inline_data(inode, folio); if (err) { if (err == 1) err = 0;