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) <[email protected]>
> ---
> 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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel