From: Jaegeuk Kim via Linux-f2fs-devel <linux-f2fs-devel@lists.sourceforge.net>
To: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Cc: linux-f2fs-devel@lists.sourceforge.net
Subject: Re: [f2fs-dev] [PATCH 11/60] f2fs: Pass a folio to nid_of_node()
Date: Wed, 9 Jul 2025 19:56:09 +0000 [thread overview]
Message-ID: <aG7JWf8pzdRankdb@google.com> (raw)
In-Reply-To: <20250708170359.111653-12-willy@infradead.org>
Queued with this for testing.
--- a/fs/f2fs/recovery.c
+++ b/fs/f2fs/recovery.c
@@ -767,7 +767,7 @@ static int do_recover_data(struct f2fs_sb_info *sbi, struct inode *inode,
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;
On 07/08, Matthew Wilcox (Oracle) wrote:
> 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) <willy@infradead.org>
> ---
> fs/f2fs/data.c | 2 +-
> fs/f2fs/inode.c | 4 ++--
> fs/f2fs/node.c | 6 +++---
> fs/f2fs/node.h | 4 ++--
> 4 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
> index b023d15b4555..5fc3d985c4e3 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 eedc56a3561b..db4ccde3737a 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 fabcb3fa47cd..26d3bc7597d9 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 6c4fc3449a68..c03cc1fdd136 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);
> }
>
> --
> 2.47.2
>
>
>
> _______________________________________________
> Linux-f2fs-devel mailing list
> Linux-f2fs-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
next prev parent reply other threads:[~2025-07-09 19:56 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-08 17:02 [f2fs-dev] [PATCH 00/60] f2fs folio conversions for 6.17 Matthew Wilcox (Oracle)
2025-07-08 17:02 ` [f2fs-dev] [PATCH 01/60] f2fs: Pass a folio to recover_dentry() Matthew Wilcox (Oracle)
2025-07-08 17:02 ` [f2fs-dev] [PATCH 02/60] f2fs: Pass a folio to recover_inode() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 03/60] f2fs: Pass a folio to recover_quota_data() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 04/60] f2fs: Pass a folio to f2fs_recover_inode_page() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 05/60] f2fs: Pass a folio to sanity_check_extent_cache() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 06/60] f2fs: Pass a folio to sanity_check_inode() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 07/60] f2fs: Pass a folio to f2fs_sanity_check_inline_data() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 08/60] f2fs: Pass a folio to inode_has_blocks() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 09/60] f2fs: Pass a folio to F2FS_INODE() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 10/60] f2fs: Pass a folio to ino_of_node() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 11/60] f2fs: Pass a folio to nid_of_node() Matthew Wilcox (Oracle)
2025-07-09 19:56 ` Jaegeuk Kim via Linux-f2fs-devel [this message]
2025-07-08 17:03 ` [f2fs-dev] [PATCH 12/60] f2fs: Pass a folio to is_recoverable_dnode() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 13/60] f2fs: Pass a folio to set_dentry_mark() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 14/60] f2fs: Pass a folio to set_fsync_mark() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 15/60] f2fs: Pass a folio to set_mark() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 16/60] f2fs: Pass a folio to f2fs_allocate_data_block() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 17/60] f2fs: Pass a folio to f2fs_inode_chksum_set() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 18/60] f2fs: Pass a folio to f2fs_enable_inode_chksum() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 19/60] f2fs: Pass a folio to f2fs_inode_chksum() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 20/60] f2fs: Pass a folio to fill_node_footer_blkaddr() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 21/60] f2fs: Pass a folio to get_nid() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 22/60] f2fs: Pass a folio to set_cold_node() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 23/60] f2fs: Pass folios to copy_node_footer() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 24/60] f2fs: Pass a folio to fill_node_footer() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 25/60] f2fs: Pass a folio to cpver_of_node() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 26/60] f2fs: Pass a folio to f2fs_recover_xattr_data() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 27/60] f2fs: Pass a folio to is_fsync_dnode() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 28/60] f2fs: Pass a folio to is_dent_dnode() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 29/60] f2fs: Add fio->folio Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 30/60] f2fs: Use folio_unlock() in f2fs_write_compressed_pages() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 31/60] f2fs: Pass a folio to is_cold_node() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 32/60] f2fs: Pass a folio to is_node() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 33/60] f2fs: Pass a folio to IS_DNODE() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 34/60] f2fs: Pass a folio to ofs_of_node() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 35/60] f2fs: Pass a folio to get_dnode_base() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 36/60] f2fs: Pass a folio to ADDRS_PER_PAGE() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 37/60] f2fs: Pass a folio to IS_INODE() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 38/60] f2fs: Add folio counterparts to page_private_flags functions Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 39/60] f2fs: Use a folio in f2fs_is_cp_guaranteed() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 40/60] f2fs: Convert set_page_private_data() to folio_set_f2fs_data() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 41/60] f2fs: Convert get_page_private_data() to folio_get_f2fs_data() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 42/60] f2fs: Pass a folio to f2fs_compress_write_end_io() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 43/60] f2fs: Use a folio in f2fs_merge_page_bio() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 44/60] f2fs: Use a bio in f2fs_submit_page_write() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 45/60] f2fs: Pass a folio to WB_DATA_TYPE() and f2fs_is_cp_guaranteed() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 46/60] f2fs: Use a folio iterator in f2fs_handle_step_decompress() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 47/60] f2fs: Pass a folio to f2fs_end_read_compressed_page() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 48/60] f2fs: Use a folio iterator in f2fs_verify_bio() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 49/60] f2fs: Pass a folio to f2fs_is_compressed_page() Matthew Wilcox (Oracle)
2025-07-22 6:54 ` Chao Yu via Linux-f2fs-devel
2025-07-08 17:03 ` [f2fs-dev] [PATCH 50/60] f2fs: Convert get_next_nat_page() to get_next_nat_folio() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 51/60] f2fs: Pass the nat_blk to __update_nat_bits() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 52/60] f2fs: Pass a folio to F2FS_NODE() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 53/60] f2fs: Pass a folio to f2fs_cache_compressed_page() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 54/60] f2fs: Use a folio in f2fs_encrypted_get_link() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 55/60] f2fs: Use F2FS_F_SB() in f2fs_read_end_io() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 56/60] f2fs: Remove clear_page_private_all() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 57/60] f2fs: Remove use of page from f2fs_write_single_data_page() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 58/60] f2fs: Pass a folio to f2fs_submit_merged_write_cond() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 59/60] f2fs: Pass a folio to __has_merged_page() Matthew Wilcox (Oracle)
2025-07-08 17:03 ` [f2fs-dev] [PATCH 60/60] f2fs: Remove F2FS_P_SB() Matthew Wilcox (Oracle)
2025-07-11 16:20 ` [f2fs-dev] [PATCH 00/60] f2fs folio conversions for 6.17 patchwork-bot+f2fs--- via Linux-f2fs-devel
2025-07-22 7:03 ` Chao Yu via Linux-f2fs-devel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aG7JWf8pzdRankdb@google.com \
--to=linux-f2fs-devel@lists.sourceforge.net \
--cc=jaegeuk@kernel.org \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.