Loading fs/ceph/addr.c +12 −12 Original line number Diff line number Diff line Loading @@ -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) Loading Loading @@ -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, }; Loading Loading
fs/ceph/addr.c +12 −12 Original line number Diff line number Diff line Loading @@ -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) Loading Loading @@ -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, }; Loading