f2fs: Pass folios to set_new_dnode()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Mon, 31 Mar 2025 20:11:55 +0000 (21:11 +0100)
committerJaegeuk Kim <jaegeuk@kernel.org>
Mon, 28 Apr 2025 15:26:39 +0000 (15:26 +0000)
Removes a lot of conversions of folios into pages.

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/data.c
fs/f2fs/f2fs.h
fs/f2fs/file.c
fs/f2fs/inline.c
fs/f2fs/node.c

index 13999bca1cfcf72da6117314bc5734399514048f..9a66c5f908d444603b6620fe0ab239f105ef37d1 100644 (file)
@@ -1359,7 +1359,7 @@ struct folio *f2fs_get_new_data_folio(struct inode *inode,
                return ERR_PTR(-ENOMEM);
        }
 
-       set_new_dnode(&dn, inode, &ifolio->page, NULL, 0);
+       set_new_dnode(&dn, inode, ifolio, NULL, 0);
        err = f2fs_reserve_block(&dn, index);
        if (err) {
                f2fs_folio_put(folio, true);
@@ -3384,7 +3384,7 @@ restart:
                goto unlock_out;
        }
 
-       set_new_dnode(&dn, inode, &ifolio->page, &ifolio->page, 0);
+       set_new_dnode(&dn, inode, ifolio, ifolio, 0);
 
        if (f2fs_has_inline_data(inode)) {
                if (pos + len <= MAX_INLINE_DATA(inode)) {
@@ -3445,7 +3445,7 @@ static int __find_data_block(struct inode *inode, pgoff_t index,
        if (IS_ERR(ifolio))
                return PTR_ERR(ifolio);
 
-       set_new_dnode(&dn, inode, &ifolio->page, &ifolio->page, 0);
+       set_new_dnode(&dn, inode, ifolio, ifolio, 0);
 
        if (!f2fs_lookup_read_extent_cache_block(inode, index,
                                                 &dn.data_blkaddr)) {
@@ -3476,7 +3476,7 @@ static int __reserve_data_block(struct inode *inode, pgoff_t index,
                err = PTR_ERR(ifolio);
                goto unlock_out;
        }
-       set_new_dnode(&dn, inode, &ifolio->page, &ifolio->page, 0);
+       set_new_dnode(&dn, inode, ifolio, ifolio, 0);
 
        if (!f2fs_lookup_read_extent_cache_block(dn.inode, index,
                                                &dn.data_blkaddr))
index 4266971992dd7766a159949d6f846b779584007f..601bd3b5a67da0d7623a581fce60e108d4388195 100644 (file)
@@ -1013,12 +1013,12 @@ struct dnode_of_data {
 };
 
 static inline void set_new_dnode(struct dnode_of_data *dn, struct inode *inode,
-               struct page *ipage, struct page *npage, nid_t nid)
+               struct folio *ifolio, struct folio *nfolio, nid_t nid)
 {
        memset(dn, 0, sizeof(*dn));
        dn->inode = inode;
-       dn->inode_page = ipage;
-       dn->node_page = npage;
+       dn->inode_page = &ifolio->page;
+       dn->node_page = &nfolio->page;
        dn->nid = nid;
 }
 
index 90f5ef72444fde6858fbd17dbe62de521e8f8beb..f8b468f884b48adc303d7befa72d917ebac20570 100644 (file)
@@ -790,7 +790,7 @@ int f2fs_do_truncate_blocks(struct inode *inode, u64 from, bool lock)
                goto out;
        }
 
-       set_new_dnode(&dn, inode, &ifolio->page, NULL, 0);
+       set_new_dnode(&dn, inode, ifolio, NULL, 0);
        err = f2fs_get_dnode_of_data(&dn, free_from, LOOKUP_NODE_RA);
        if (err) {
                if (err == -ENOENT)
index 1bc6a0d61f7e88277f83c83294ba2c929a0dec11..7638854bc7d93134b4e14d501f759b27efce8cbb 100644 (file)
@@ -243,7 +243,7 @@ int f2fs_convert_inline_inode(struct inode *inode)
                goto out;
        }
 
-       set_new_dnode(&dn, inode, &ifolio->page, &ifolio->page, 0);
+       set_new_dnode(&dn, inode, ifolio, ifolio, 0);
 
        if (f2fs_has_inline_data(inode))
                err = f2fs_convert_inline_page(&dn, &folio->page);
@@ -422,7 +422,7 @@ static int f2fs_move_inline_dirents(struct inode *dir, struct folio *ifolio,
                return PTR_ERR(folio);
        }
 
-       set_new_dnode(&dn, dir, &ifolio->page, NULL, 0);
+       set_new_dnode(&dn, dir, ifolio, NULL, 0);
        err = f2fs_reserve_block(&dn, 0);
        if (err)
                goto out;
index b186f53d7e02a33ce78d56c67a87081588d7ae83..4ad7e5c9fd662c36b2424858c2c8dba004a770d0 100644 (file)
@@ -1156,7 +1156,7 @@ int f2fs_truncate_inode_blocks(struct inode *inode, pgoff_t from)
                return PTR_ERR(folio);
        }
 
-       set_new_dnode(&dn, inode, &folio->page, NULL, 0);
+       set_new_dnode(&dn, inode, folio, NULL, 0);
        folio_unlock(folio);
 
        ri = F2FS_INODE(&folio->page);
@@ -1252,7 +1252,7 @@ int f2fs_truncate_xattr_node(struct inode *inode)
        if (IS_ERR(nfolio))
                return PTR_ERR(nfolio);
 
-       set_new_dnode(&dn, inode, NULL, &nfolio->page, nid);
+       set_new_dnode(&dn, inode, NULL, nfolio, nid);
        err = truncate_node(&dn);
        if (err) {
                f2fs_folio_put(nfolio, true);