]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
f2fs: Pass a folio to ofs_of_node()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Tue, 8 Jul 2025 17:03:31 +0000 (18:03 +0100)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 22 Jul 2025 15:56:53 +0000 (15:56 +0000)
All callers now have 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/extent_cache.c
fs/f2fs/file.c
fs/f2fs/gc.c
fs/f2fs/node.c
fs/f2fs/node.h
fs/f2fs/recovery.c

index a6eb3d73231e5370e53eae6c7123e4b73fab6d73..199c1e7a83ef3cff6ea40083ae18e67951ffdf34 100644 (file)
@@ -934,7 +934,7 @@ static void __update_extent_cache(struct dnode_of_data *dn, enum extent_type typ
        if (!__may_extent_tree(dn->inode, type))
                return;
 
-       ei.fofs = f2fs_start_bidx_of_node(ofs_of_node(&dn->node_folio->page), dn->inode) +
+       ei.fofs = f2fs_start_bidx_of_node(ofs_of_node(dn->node_folio), dn->inode) +
                                                                dn->ofs_in_node;
        ei.len = 1;
 
index bd835c4f874a9afd4a6b8985bd9dd0d6912d35e3..04a5a10893208279beb3eec1ec19c5068b25d7bf 100644 (file)
@@ -707,7 +707,7 @@ next:
                 * once we invalidate valid blkaddr in range [ofs, ofs + count],
                 * we will invalidate all blkaddr in the whole range.
                 */
-               fofs = f2fs_start_bidx_of_node(ofs_of_node(&dn->node_folio->page),
+               fofs = f2fs_start_bidx_of_node(ofs_of_node(dn->node_folio),
                                                        dn->inode) + ofs;
                f2fs_update_read_extent_cache_range(dn, fofs, 0, len);
                f2fs_update_age_extent_cache_range(dn, fofs, len);
index f82430759cf743d0a3a2b79b0d9edbc97ff07344..781b955cbb774e36acfa7cbc7922713a7eb5a77c 100644 (file)
@@ -1177,7 +1177,7 @@ static bool is_alive(struct f2fs_sb_info *sbi, struct f2fs_summary *sum,
                return false;
        }
 
-       *nofs = ofs_of_node(&node_folio->page);
+       *nofs = ofs_of_node(node_folio);
        source_blkaddr = data_blkaddr(NULL, node_folio, ofs_in_node);
        f2fs_folio_put(node_folio, true);
 
index dbc45b856ffa5b3a499754e2c047d907e8329224..b56e627e0b5642d01320dccd8082ad7cf003d14a 100644 (file)
@@ -1479,12 +1479,12 @@ static int sanity_check_node_footer(struct f2fs_sb_info *sbi,
        if (unlikely(nid != nid_of_node(folio) ||
                (ntype == NODE_TYPE_INODE && !IS_INODE(page)) ||
                (ntype == NODE_TYPE_XATTR &&
-               !f2fs_has_xattr_block(ofs_of_node(page))) ||
+               !f2fs_has_xattr_block(ofs_of_node(folio))) ||
                time_to_inject(sbi, FAULT_INCONSISTENT_FOOTER))) {
                f2fs_warn(sbi, "inconsistent node block, node_type:%d, nid:%lu, "
                          "node_footer[nid:%u,ino:%u,ofs:%u,cpver:%llu,blkaddr:%u]",
                          ntype, nid, nid_of_node(folio), ino_of_node(folio),
-                         ofs_of_node(page), cpver_of_node(folio),
+                         ofs_of_node(folio), cpver_of_node(folio),
                          next_blkaddr_of_node(folio));
                set_sbi_flag(sbi, SBI_NEED_FSCK);
                f2fs_handle_error(sbi, ERROR_INCONSISTENT_FOOTER);
index 1b57b61f911b56003cf15c911ef35a2b861a4e92..70a58c4052fe49816187ed5b5b74abbc2677bd7c 100644 (file)
@@ -255,9 +255,9 @@ static inline nid_t nid_of_node(const struct folio *node_folio)
        return le32_to_cpu(rn->footer.nid);
 }
 
-static inline unsigned int ofs_of_node(const struct page *node_page)
+static inline unsigned int ofs_of_node(const struct folio *node_folio)
 {
-       struct f2fs_node *rn = F2FS_NODE(node_page);
+       struct f2fs_node *rn = F2FS_NODE(&node_folio->page);
        unsigned flag = le32_to_cpu(rn->footer.flag);
        return flag >> OFFSET_BIT_SHIFT;
 }
@@ -352,7 +352,7 @@ static inline bool is_recoverable_dnode(const struct folio *folio)
  */
 static inline bool IS_DNODE(const struct folio *node_folio)
 {
-       unsigned int ofs = ofs_of_node(&node_folio->page);
+       unsigned int ofs = ofs_of_node(node_folio);
 
        if (f2fs_has_xattr_block(ofs))
                return true;
index da4b733aeaf2c93d1531bff0cda399d57703ad5d..5a45d0d1f05c28f95dcda321621e395dbb0dcd37 100644 (file)
@@ -552,7 +552,7 @@ got_it:
        if (IS_ERR(node_folio))
                return PTR_ERR(node_folio);
 
-       offset = ofs_of_node(&node_folio->page);
+       offset = ofs_of_node(node_folio);
        ino = ino_of_node(node_folio);
        f2fs_folio_put(node_folio, true);
 
@@ -632,7 +632,7 @@ static int do_recover_data(struct f2fs_sb_info *sbi, struct inode *inode,
                err = f2fs_recover_inline_xattr(inode, folio);
                if (err)
                        goto out;
-       } else if (f2fs_has_xattr_block(ofs_of_node(&folio->page))) {
+       } else if (f2fs_has_xattr_block(ofs_of_node(folio))) {
                err = f2fs_recover_xattr_data(inode, folio);
                if (!err)
                        recovered++;
@@ -648,7 +648,7 @@ static int do_recover_data(struct f2fs_sb_info *sbi, struct inode *inode,
        }
 
        /* step 3: recover data indices */
-       start = f2fs_start_bidx_of_node(ofs_of_node(&folio->page), inode);
+       start = f2fs_start_bidx_of_node(ofs_of_node(folio), inode);
        end = start + ADDRS_PER_PAGE(&folio->page, inode);
 
        set_new_dnode(&dn, inode, NULL, NULL, 0);
@@ -670,10 +670,10 @@ retry_dn:
 
        f2fs_bug_on(sbi, ni.ino != ino_of_node(folio));
 
-       if (ofs_of_node(&dn.node_folio->page) != ofs_of_node(&folio->page)) {
+       if (ofs_of_node(dn.node_folio) != ofs_of_node(folio)) {
                f2fs_warn(sbi, "Inconsistent ofs_of_node, ino:%lu, ofs:%u, %u",
-                         inode->i_ino, ofs_of_node(&dn.node_folio->page),
-                         ofs_of_node(&folio->page));
+                         inode->i_ino, ofs_of_node(dn.node_folio),
+                         ofs_of_node(folio));
                err = -EFSCORRUPTED;
                f2fs_handle_error(sbi, ERROR_INCONSISTENT_FOOTER);
                goto err;
@@ -760,7 +760,7 @@ retry_prev:
 
        copy_node_footer(dn.node_folio, folio);
        fill_node_footer(dn.node_folio, dn.nid, ni.ino,
-                                       ofs_of_node(&folio->page), false);
+                                       ofs_of_node(folio), false);
        folio_mark_dirty(dn.node_folio);
 err:
        f2fs_put_dnode(&dn);