summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Wilcox (Oracle) <willy@infradead.org>2025-03-31 21:12:36 +0100
committerJaegeuk Kim <jaegeuk@kernel.org>2025-04-28 15:26:45 +0000
commitba13af45e5172633620f81f48d13ac9c17629447 (patch)
tree56d3c9e4aae97bfc233301a2e8e63e56f34ed504
parent5b61618aa0ad8f16fb8d2ba1817bd15c40efd032 (diff)
f2fs: Use a folio in need_inode_page_update()
Fetch a folio from the pagecache instead of a page. Removes two calls to compound_head() Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r--fs/f2fs/file.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index b98451073bf7..b41a8d3f88a5 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -226,12 +226,13 @@ static inline enum cp_reason_type need_do_checkpoint(struct inode *inode)
static bool need_inode_page_update(struct f2fs_sb_info *sbi, nid_t ino)
{
- struct page *i = find_get_page(NODE_MAPPING(sbi), ino);
+ struct folio *i = filemap_get_folio(NODE_MAPPING(sbi), ino);
bool ret = false;
/* But we need to avoid that there are some inode updates */
- if ((i && PageDirty(i)) || f2fs_need_inode_block_update(sbi, ino))
+ if ((!IS_ERR(i) && folio_test_dirty(i)) ||
+ f2fs_need_inode_block_update(sbi, ino))
ret = true;
- f2fs_put_page(i, 0);
+ f2fs_folio_put(i, false);
return ret;
}