f2fs: Pass a folio to f2fs_recover_inline_data()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Mon, 31 Mar 2025 20:12:31 +0000 (21:12 +0100)
committerJaegeuk Kim <jaegeuk@kernel.org>
Mon, 28 Apr 2025 15:26:44 +0000 (15:26 +0000)
The only caller has a folio, so pass it in.

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/f2fs.h
fs/f2fs/inline.c
fs/f2fs/recovery.c

index 7e5000248758bf78e802cee9b30159fd4b26b5b9..57288173c149e7045262ea4fb40e54d0f278f189 100644 (file)
@@ -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);
index 1c6dc9731f2a63a23739859a5ed75ea9b10417b9..2d2dada85e0887c5005b11163d58d8ba8dbb366e 100644 (file)
@@ -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));
 
index 0dfc60ac0f37b17b2d97a37a132d9aed118f6542..bc7041d82dc569d47f0a30489eee090967ed046c 100644 (file)
@@ -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;