Merge tag 'vfs-6.8.netfs' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs
[sfrench/cifs-2.6.git] / fs / ceph / addr.c
index 13af429ab030b6232c197c53659d982ac8bdc43a..500a87b68a9ab18144161e6352b7509849a557dd 100644 (file)
@@ -159,27 +159,7 @@ static void ceph_invalidate_folio(struct folio *folio, size_t offset,
                ceph_put_snap_context(snapc);
        }
 
-       folio_wait_fscache(folio);
-}
-
-static bool ceph_release_folio(struct folio *folio, gfp_t gfp)
-{
-       struct inode *inode = folio->mapping->host;
-       struct ceph_client *cl = ceph_inode_to_client(inode);
-
-       doutc(cl, "%llx.%llx idx %lu (%sdirty)\n", ceph_vinop(inode),
-             folio->index, folio_test_dirty(folio) ? "" : "not ");
-
-       if (folio_test_private(folio))
-               return false;
-
-       if (folio_test_fscache(folio)) {
-               if (current_is_kswapd() || !(gfp & __GFP_FS))
-                       return false;
-               folio_wait_fscache(folio);
-       }
-       ceph_fscache_note_page_release(inode);
-       return true;
+       netfs_invalidate_folio(folio, offset, length);
 }
 
 static void ceph_netfs_expand_readahead(struct netfs_io_request *rreq)
@@ -509,7 +489,6 @@ static void ceph_netfs_free_request(struct netfs_io_request *rreq)
 const struct netfs_request_ops ceph_netfs_ops = {
        .init_request           = ceph_init_request,
        .free_request           = ceph_netfs_free_request,
-       .begin_cache_operation  = ceph_begin_cache_operation,
        .issue_read             = ceph_netfs_issue_read,
        .expand_readahead       = ceph_netfs_expand_readahead,
        .clamp_length           = ceph_netfs_clamp_length,
@@ -1586,7 +1565,7 @@ const struct address_space_operations ceph_aops = {
        .write_end = ceph_write_end,
        .dirty_folio = ceph_dirty_folio,
        .invalidate_folio = ceph_invalidate_folio,
-       .release_folio = ceph_release_folio,
+       .release_folio = netfs_release_folio,
        .direct_IO = noop_direct_IO,
 };