]> git.apps.os.sepia.ceph.com Git - ceph-client.git/commitdiff
f2fs: Pass a folio to is_cold_node()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Tue, 8 Jul 2025 17:03:28 +0000 (18:03 +0100)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 22 Jul 2025 15:56:45 +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/inode.c
fs/f2fs/node.c
fs/f2fs/node.h
fs/f2fs/segment.c

index 251526c73930503cd4d2322a2cc9e497b051e17a..a8f64d206d19660fcb1411fc5e60886fd52ededc 100644 (file)
@@ -482,7 +482,7 @@ static int do_read_inode(struct inode *inode)
                __recover_inline_status(inode, node_folio);
 
        /* try to recover cold bit for non-dir inode */
-       if (!S_ISDIR(inode->i_mode) && !is_cold_node(&node_folio->page)) {
+       if (!S_ISDIR(inode->i_mode) && !is_cold_node(node_folio)) {
                f2fs_folio_wait_writeback(node_folio, NODE, true, true);
                set_cold_node(node_folio, false);
                folio_mark_dirty(node_folio);
index 0574f045630579bf8920d65298ac0791264edf29..6fc0a8de7158098b51b0fed568eed040db861249 100644 (file)
@@ -313,7 +313,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->page);
+                                       is_cold_node(folio);
 }
 
 void f2fs_init_fsync_node_info(struct f2fs_sb_info *sbi)
@@ -1631,7 +1631,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->page))
+                       if (!IS_DNODE(&folio->page) || !is_cold_node(folio))
                                continue;
                        if (ino_of_node(folio) != ino)
                                continue;
@@ -1702,7 +1702,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->page))
+                       IS_DNODE(&folio->page) && is_cold_node(folio))
                goto redirty_out;
 
        /* get old block addr of this node page */
@@ -1840,7 +1840,7 @@ retry:
                                goto out;
                        }
 
-                       if (!IS_DNODE(&folio->page) || !is_cold_node(&folio->page))
+                       if (!IS_DNODE(&folio->page) || !is_cold_node(folio))
                                continue;
                        if (ino_of_node(folio) != ino)
                                continue;
@@ -2043,10 +2043,10 @@ next_step:
                        if (step == 0 && IS_DNODE(&folio->page))
                                continue;
                        if (step == 1 && (!IS_DNODE(&folio->page) ||
-                                               is_cold_node(&folio->page)))
+                                               is_cold_node(folio)))
                                continue;
                        if (step == 2 && (!IS_DNODE(&folio->page) ||
-                                               !is_cold_node(&folio->page)))
+                                               !is_cold_node(folio)))
                                continue;
 lock_node:
                        if (wbc->sync_mode == WB_SYNC_ALL)
index b54c2d520d1e12c81c7107fcfe50267c075f19dd..6daacadb0ee0ec5ed098de957261980c77d5fa4d 100644 (file)
@@ -403,7 +403,7 @@ static inline int is_node(const struct page *page, int type)
        return le32_to_cpu(rn->footer.flag) & BIT(type);
 }
 
-#define is_cold_node(page)     is_node(page, COLD_BIT_SHIFT)
+#define is_cold_node(folio)    is_node(&folio->page, COLD_BIT_SHIFT)
 #define is_fsync_dnode(folio)  is_node(&folio->page, FSYNC_BIT_SHIFT)
 #define is_dent_dnode(folio)   is_node(&folio->page, DENT_BIT_SHIFT)
 
index 965c9f55559c9291c62e5622831368e35f8b90d0..72b3448e88ce247c271a6849ae7264e2a417ae20 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->page))
+               if (IS_DNODE(fio->page) && is_cold_node(fio->folio))
                        return CURSEG_WARM_NODE;
                else
                        return CURSEG_COLD_NODE;
@@ -3678,7 +3678,7 @@ static int __get_segment_type_6(struct f2fs_io_info *fio)
                                                inode->i_write_hint);
        } else {
                if (IS_DNODE(fio->page))
-                       return is_cold_node(fio->page) ? CURSEG_WARM_NODE :
+                       return is_cold_node(fio->folio) ? CURSEG_WARM_NODE :
                                                CURSEG_HOT_NODE;
                return CURSEG_COLD_NODE;
        }