From: Matthew Wilcox (Oracle) Date: Tue, 8 Jul 2025 17:03:08 +0000 (+0100) Subject: f2fs: Pass a folio to nid_of_node() X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=a63f2de2dd950aaa7c6008e90f30c43b34f643f5;p=users%2Fdwmw2%2Flinux.git f2fs: Pass a folio to nid_of_node() All callers have a folio so pass it in. Also make the argument const as the function does not modify it. Signed-off-by: Matthew Wilcox (Oracle) Reviewed-by: Chao Yu Signed-off-by: Jaegeuk Kim --- diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 95db528bcd35e..c4da33de0d1d0 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -355,7 +355,7 @@ static void f2fs_write_end_io(struct bio *bio) } f2fs_bug_on(sbi, is_node_folio(folio) && - folio->index != nid_of_node(&folio->page)); + folio->index != nid_of_node(folio)); dec_page_count(sbi, type); if (f2fs_in_warm_node_list(sbi, folio)) diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c index 249cc37ad35bd..c5dbc9963e4f3 100644 --- a/fs/f2fs/inode.c +++ b/fs/f2fs/inode.c @@ -280,10 +280,10 @@ static bool sanity_check_inode(struct inode *inode, struct folio *node_folio) return false; } - if (ino_of_node(node_folio) != nid_of_node(&node_folio->page)) { + if (ino_of_node(node_folio) != nid_of_node(node_folio)) { f2fs_warn(sbi, "%s: corrupted inode footer i_ino=%lx, ino,nid: [%u, %u] run fsck to fix.", __func__, inode->i_ino, - ino_of_node(node_folio), nid_of_node(&node_folio->page)); + ino_of_node(node_folio), nid_of_node(node_folio)); return false; } diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index b3956daacbf86..750addd117132 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -1477,14 +1477,14 @@ static int sanity_check_node_footer(struct f2fs_sb_info *sbi, { struct page *page = &folio->page; - if (unlikely(nid != nid_of_node(page) || + 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))) || 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(page), ino_of_node(folio), + ntype, nid, nid_of_node(folio), ino_of_node(folio), ofs_of_node(page), cpver_of_node(page), next_blkaddr_of_node(folio)); set_sbi_flag(sbi, SBI_NEED_FSCK); @@ -1706,7 +1706,7 @@ static bool __write_node_folio(struct folio *folio, bool atomic, bool *submitted goto redirty_out; /* get old block addr of this node page */ - nid = nid_of_node(&folio->page); + nid = nid_of_node(folio); f2fs_bug_on(sbi, folio->index != nid); if (f2fs_get_node_info(sbi, nid, &ni, !do_balance)) diff --git a/fs/f2fs/node.h b/fs/f2fs/node.h index 3bf9d637168c8..a4ffb9460ee9e 100644 --- a/fs/f2fs/node.h +++ b/fs/f2fs/node.h @@ -249,9 +249,9 @@ static inline nid_t ino_of_node(const struct folio *node_folio) return le32_to_cpu(rn->footer.ino); } -static inline nid_t nid_of_node(struct page *node_page) +static inline nid_t nid_of_node(const struct folio *node_folio) { - struct f2fs_node *rn = F2FS_NODE(node_page); + struct f2fs_node *rn = F2FS_NODE(&node_folio->page); return le32_to_cpu(rn->footer.nid); } diff --git a/fs/f2fs/recovery.c b/fs/f2fs/recovery.c index b81ae66fff4da..e5cd9959c894d 100644 --- a/fs/f2fs/recovery.c +++ b/fs/f2fs/recovery.c @@ -767,7 +767,7 @@ err: out: f2fs_notice(sbi, "recover_data: ino = %lx, nid = %x (i_size: %s), " "range (%u, %u), recovered = %d, err = %d", - inode->i_ino, nid_of_node(&folio->page), + inode->i_ino, nid_of_node(folio), file_keep_isize(inode) ? "keep" : "recover", start, end, recovered, err); return err;