ceph: Convert to release_folio
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Sun, 1 May 2022 03:21:43 +0000 (23:21 -0400)
committerMatthew Wilcox (Oracle) <willy@infradead.org>
Tue, 10 May 2022 03:12:32 +0000 (23:12 -0400)
Use a folio throughout ceph_release_folio().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
fs/ceph/addr.c

index e040b92..737d139 100644 (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,
 };