All callers have a folio so pass it in.  Also make the argument const
as the function does not modify it.  Removes a call to compound_head().

Signed-off-by: Matthew Wilcox (Oracle) <wi...@infradead.org>
---
 fs/f2fs/f2fs.h     |  2 +-
 fs/f2fs/node.h     | 10 +++++-----
 fs/f2fs/recovery.c |  6 +++---
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index 5e443b2ce8db..ae66c40c4b7d 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -2018,7 +2018,7 @@ static inline struct f2fs_sb_info *F2FS_M_SB(struct 
address_space *mapping)
        return F2FS_I_SB(mapping->host);
 }
 
-static inline struct f2fs_sb_info *F2FS_F_SB(struct folio *folio)
+static inline struct f2fs_sb_info *F2FS_F_SB(const struct folio *folio)
 {
        return F2FS_M_SB(folio->mapping);
 }
diff --git a/fs/f2fs/node.h b/fs/f2fs/node.h
index c03cc1fdd136..75e03f994847 100644
--- a/fs/f2fs/node.h
+++ b/fs/f2fs/node.h
@@ -262,7 +262,7 @@ static inline unsigned int ofs_of_node(const struct page 
*node_page)
        return flag >> OFFSET_BIT_SHIFT;
 }
 
-static inline __u64 cpver_of_node(struct page *node_page)
+static inline __u64 cpver_of_node(const struct page *node_page)
 {
        struct f2fs_node *rn = F2FS_NODE(node_page);
        return le64_to_cpu(rn->footer.cp_ver);
@@ -313,19 +313,19 @@ static inline void fill_node_footer_blkaddr(struct page 
*page, block_t blkaddr)
        rn->footer.next_blkaddr = cpu_to_le32(blkaddr);
 }
 
-static inline bool is_recoverable_dnode(struct page *page)
+static inline bool is_recoverable_dnode(const struct folio *folio)
 {
-       struct f2fs_checkpoint *ckpt = F2FS_CKPT(F2FS_P_SB(page));
+       struct f2fs_checkpoint *ckpt = F2FS_CKPT(F2FS_F_SB(folio));
        __u64 cp_ver = cur_cp_version(ckpt);
 
        /* Don't care crc part, if fsck.f2fs sets it. */
        if (__is_set_ckpt_flags(ckpt, CP_NOCRC_RECOVERY_FLAG))
-               return (cp_ver << 32) == (cpver_of_node(page) << 32);
+               return (cp_ver << 32) == (cpver_of_node(&folio->page) << 32);
 
        if (__is_set_ckpt_flags(ckpt, CP_CRC_RECOVERY_FLAG))
                cp_ver |= (cur_cp_crc(ckpt) << 32);
 
-       return cp_ver == cpver_of_node(page);
+       return cp_ver == cpver_of_node(&folio->page);
 }
 
 /*
diff --git a/fs/f2fs/recovery.c b/fs/f2fs/recovery.c
index 224754186096..380055000083 100644
--- a/fs/f2fs/recovery.c
+++ b/fs/f2fs/recovery.c
@@ -375,7 +375,7 @@ static int sanity_check_node_chain(struct f2fs_sb_info 
*sbi, block_t blkaddr,
                if (IS_ERR(folio))
                        return PTR_ERR(folio);
 
-               if (!is_recoverable_dnode(&folio->page)) {
+               if (!is_recoverable_dnode(folio)) {
                        f2fs_folio_put(folio, true);
                        *is_detecting = false;
                        return 0;
@@ -424,7 +424,7 @@ static int find_fsync_dnodes(struct f2fs_sb_info *sbi, 
struct list_head *head,
                        break;
                }
 
-               if (!is_recoverable_dnode(&folio->page)) {
+               if (!is_recoverable_dnode(folio)) {
                        f2fs_folio_put(folio, true);
                        break;
                }
@@ -796,7 +796,7 @@ static int recover_data(struct f2fs_sb_info *sbi, struct 
list_head *inode_list,
                        break;
                }
 
-               if (!is_recoverable_dnode(&folio->page)) {
+               if (!is_recoverable_dnode(folio)) {
                        f2fs_folio_put(folio, true);
                        break;
                }
-- 
2.47.2



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to