f2fs: Pass a folio to IS_DNODE()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Tue, 8 Jul 2025 17:03:30 +0000 (18:03 +0100)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 22 Jul 2025 15:56:50 +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/node.c
fs/f2fs/node.h
fs/f2fs/segment.c

index 6fc0a8de7158098b51b0fed568eed040db861249..dbc45b856ffa5b3a499754e2c047d907e8329224 100644 (file)
@@ -312,8 +312,7 @@ static unsigned int __gang_lookup_nat_set(struct f2fs_nm_info *nm_i,
 
 bool f2fs_in_warm_node_list(struct f2fs_sb_info *sbi, struct folio *folio)
 {
-       return is_node_folio(folio) && IS_DNODE(&folio->page) &&
-                                       is_cold_node(folio);
+       return is_node_folio(folio) && IS_DNODE(folio) && is_cold_node(folio);
 }
 
 void f2fs_init_fsync_node_info(struct f2fs_sb_info *sbi)
@@ -1631,7 +1630,7 @@ static struct folio *last_fsync_dnode(struct f2fs_sb_info *sbi, nid_t ino)
                                return ERR_PTR(-EIO);
                        }
 
-                       if (!IS_DNODE(&folio->page) || !is_cold_node(folio))
+                       if (!IS_DNODE(folio) || !is_cold_node(folio))
                                continue;
                        if (ino_of_node(folio) != ino)
                                continue;
@@ -1702,7 +1701,7 @@ static bool __write_node_folio(struct folio *folio, bool atomic, bool *submitted
 
        if (!is_sbi_flag_set(sbi, SBI_CP_DISABLED) &&
                        wbc->sync_mode == WB_SYNC_NONE &&
-                       IS_DNODE(&folio->page) && is_cold_node(folio))
+                       IS_DNODE(folio) && is_cold_node(folio))
                goto redirty_out;
 
        /* get old block addr of this node page */
@@ -1840,7 +1839,7 @@ retry:
                                goto out;
                        }
 
-                       if (!IS_DNODE(&folio->page) || !is_cold_node(folio))
+                       if (!IS_DNODE(folio) || !is_cold_node(folio))
                                continue;
                        if (ino_of_node(folio) != ino)
                                continue;
@@ -2040,12 +2039,12 @@ next_step:
                         * 1. dentry dnodes
                         * 2. file dnodes
                         */
-                       if (step == 0 && IS_DNODE(&folio->page))
+                       if (step == 0 && IS_DNODE(folio))
                                continue;
-                       if (step == 1 && (!IS_DNODE(&folio->page) ||
+                       if (step == 1 && (!IS_DNODE(folio) ||
                                                is_cold_node(folio)))
                                continue;
-                       if (step == 2 && (!IS_DNODE(&folio->page) ||
+                       if (step == 2 && (!IS_DNODE(folio) ||
                                                !is_cold_node(folio)))
                                continue;
 lock_node:
index 92e73cff0d213e86287a67455b0332d3734e19a6..1b57b61f911b56003cf15c911ef35a2b861a4e92 100644 (file)
@@ -350,9 +350,9 @@ static inline bool is_recoverable_dnode(const struct folio *folio)
  *                 `- indirect node ((6 + 2N) + (N - 1)(N + 1))
  *                       `- direct node
  */
-static inline bool IS_DNODE(const struct page *node_page)
+static inline bool IS_DNODE(const struct folio *node_folio)
 {
-       unsigned int ofs = ofs_of_node(node_page);
+       unsigned int ofs = ofs_of_node(&node_folio->page);
 
        if (f2fs_has_xattr_block(ofs))
                return true;
index 72b3448e88ce247c271a6849ae7264e2a417ae20..2a6dcfba911fdd13b553f03f9fed2f46311d6836 100644 (file)
@@ -3620,7 +3620,7 @@ static int __get_segment_type_4(struct f2fs_io_info *fio)
                else
                        return CURSEG_COLD_DATA;
        } else {
-               if (IS_DNODE(fio->page) && is_cold_node(fio->folio))
+               if (IS_DNODE(fio->folio) && is_cold_node(fio->folio))
                        return CURSEG_WARM_NODE;
                else
                        return CURSEG_COLD_NODE;
@@ -3677,7 +3677,7 @@ static int __get_segment_type_6(struct f2fs_io_info *fio)
                return f2fs_rw_hint_to_seg_type(F2FS_I_SB(inode),
                                                inode->i_write_hint);
        } else {
-               if (IS_DNODE(fio->page))
+               if (IS_DNODE(fio->folio))
                        return is_cold_node(fio->folio) ? CURSEG_WARM_NODE :
                                                CURSEG_HOT_NODE;
                return CURSEG_COLD_NODE;