Commit 5e414655 authored by Matthew Wilcox (Oracle)'s avatar Matthew Wilcox (Oracle)
Browse files

ceph: Convert to release_folio



Use a folio throughout ceph_release_folio().

Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
parent f913cff3
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -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,
};