ceph: Convert to release_folio

Use a folio throughout ceph_release_folio().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
This commit is contained in:
Matthew Wilcox (Oracle) 2022-04-30 23:21:43 -04:00
parent f913cff350
commit 5e4146558c

View File

@ -162,24 +162,24 @@ static void ceph_invalidate_folio(struct folio *folio, size_t offset,
folio_wait_fscache(folio);
}
static int ceph_releasepage(struct page *page, gfp_t gfp)
static bool ceph_release_folio(struct folio *folio, gfp_t gfp)
{
struct inode *inode = page->mapping->host;
struct inode *inode = folio->mapping->host;
dout("%llx:%llx releasepage %p idx %lu (%sdirty)\n",
ceph_vinop(inode), page,
page->index, PageDirty(page) ? "" : "not ");
dout("%llx:%llx release_folio idx %lu (%sdirty)\n",
ceph_vinop(inode),
folio->index, folio_test_dirty(folio) ? "" : "not ");
if (PagePrivate(page))
return 0;
if (folio_test_private(folio))
return false;
if (PageFsCache(page)) {
if (folio_test_fscache(folio)) {
if (current_is_kswapd() || !(gfp & __GFP_FS))
return 0;
wait_on_page_fscache(page);
return false;
folio_wait_fscache(folio);
}
ceph_fscache_note_page_release(inode);
return 1;
return true;
}
static void ceph_netfs_expand_readahead(struct netfs_io_request *rreq)
@ -1380,7 +1380,7 @@ const struct address_space_operations ceph_aops = {
.write_end = ceph_write_end,
.dirty_folio = ceph_dirty_folio,
.invalidate_folio = ceph_invalidate_folio,
.releasepage = ceph_releasepage,
.release_folio = ceph_release_folio,
.direct_IO = noop_direct_IO,
};