mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 20:46:48 +02:00
f2fs: Pass a folio to is_cold_node()
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>
This commit is contained in:
parent
79d976a2e7
commit
1fd0dffdb4
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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 @@ int f2fs_fsync_node_pages(struct f2fs_sb_info *sbi, struct inode *inode,
|
|||
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 @@ int f2fs_sync_node_pages(struct f2fs_sb_info *sbi,
|
|||
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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user