From: Matthew Wilcox (Oracle) Date: Tue, 8 Jul 2025 17:03:30 +0000 (+0100) Subject: f2fs: Pass a folio to IS_DNODE() X-Git-Tag: io_uring-6.17-20250815~47^2~50 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=fb92a5c9f89a4e5337768c7d2f374669e0ab454b;p=linux-block.git f2fs: Pass a folio to IS_DNODE() All callers now have a folio so pass it in. Signed-off-by: Matthew Wilcox (Oracle) Reviewed-by: Chao Yu Signed-off-by: Jaegeuk Kim --- diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index 6fc0a8de7158..dbc45b856ffa 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -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: diff --git a/fs/f2fs/node.h b/fs/f2fs/node.h index 92e73cff0d21..1b57b61f911b 100644 --- a/fs/f2fs/node.h +++ b/fs/f2fs/node.h @@ -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; diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index 72b3448e88ce..2a6dcfba911f 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -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;