From 43519617174ec55a9298ffe15892d81fd7bfaaba Mon Sep 17 00:00:00 2001 From: Tal Zussman Date: Wed, 2 Sep 2026 12:35:07 -0400 Subject: [PATCH] ceph: use a folio in ceph_get_caps() Convert the inline data page cache check to filemap_get_folio(), which returns an ERR_PTR instead of NULL when no folio is present. Saves two calls to compound_head(). Signed-off-by: Tal Zussman Reviewed-by: Alex Markuze Signed-off-by: Ilya Dryomov --- fs/ceph/caps.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c index 1847badddd87..5be858df0a4d 100644 --- a/fs/ceph/caps.c +++ b/fs/ceph/caps.c @@ -3202,12 +3202,12 @@ int __ceph_get_caps(struct inode *inode, struct ceph_file_info *fi, int need, ceph_has_inline_data(ci) && (_got & (CEPH_CAP_FILE_CACHE|CEPH_CAP_FILE_LAZYIO)) && i_size_read(inode) > 0) { - struct page *page = - find_get_page(inode->i_mapping, 0); - if (page) { - bool uptodate = PageUptodate(page); + struct folio *folio = + filemap_get_folio(inode->i_mapping, 0); + if (!IS_ERR(folio)) { + bool uptodate = folio_test_uptodate(folio); - put_page(page); + folio_put(folio); if (uptodate) break; }