diff options
author | Matthew Wilcox (Oracle) <willy@infradead.org> | 2022-02-09 23:21:40 +0300 |
---|---|---|
committer | Matthew Wilcox (Oracle) <willy@infradead.org> | 2022-03-15 15:23:29 +0300 |
commit | 9872f4de1442ce080073e978c818d7fbca47ecaa (patch) | |
tree | 76daa4b0f82da3c3ded14759532639932c6d44ae /fs/ceph | |
parent | 895586eb689819c83a83271fdebccfd00a5a7616 (diff) | |
download | linux-9872f4de1442ce080073e978c818d7fbca47ecaa.tar.xz |
ceph: Convert from invalidatepage to invalidate_folio
Mostly a straightforward conversion. Delete the pointer from the
debugging output as this has no value.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Tested-by: Mike Marshall <hubcap@omnibond.com> # orangefs
Tested-by: David Howells <dhowells@redhat.com> # afs
Diffstat (limited to 'fs/ceph')
-rw-r--r-- | fs/ceph/addr.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index 852ee161e8a4..09fd7a02586c 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@ -121,7 +121,7 @@ static int ceph_set_page_dirty(struct page *page) /* * Reference snap context in page->private. Also set - * PagePrivate so that we get invalidatepage callback. + * PagePrivate so that we get invalidate_folio callback. */ BUG_ON(PagePrivate(page)); attach_page_private(page, snapc); @@ -130,37 +130,37 @@ static int ceph_set_page_dirty(struct page *page) } /* - * If we are truncating the full page (i.e. offset == 0), adjust the - * dirty page counters appropriately. Only called if there is private - * data on the page. + * If we are truncating the full folio (i.e. offset == 0), adjust the + * dirty folio counters appropriately. Only called if there is private + * data on the folio. */ -static void ceph_invalidatepage(struct page *page, unsigned int offset, - unsigned int length) +static void ceph_invalidate_folio(struct folio *folio, size_t offset, + size_t length) { struct inode *inode; struct ceph_inode_info *ci; struct ceph_snap_context *snapc; - inode = page->mapping->host; + inode = folio->mapping->host; ci = ceph_inode(inode); - if (offset != 0 || length != thp_size(page)) { - dout("%p invalidatepage %p idx %lu partial dirty page %u~%u\n", - inode, page, page->index, offset, length); + if (offset != 0 || length != folio_size(folio)) { + dout("%p invalidate_folio idx %lu partial dirty page %zu~%zu\n", + inode, folio->index, offset, length); return; } - WARN_ON(!PageLocked(page)); - if (PagePrivate(page)) { - dout("%p invalidatepage %p idx %lu full dirty page\n", - inode, page, page->index); + WARN_ON(!folio_test_locked(folio)); + if (folio_get_private(folio)) { + dout("%p invalidate_folio idx %lu full dirty page\n", + inode, folio->index); - snapc = detach_page_private(page); + snapc = folio_detach_private(folio); ceph_put_wrbuffer_cap_refs(ci, 1, snapc); ceph_put_snap_context(snapc); } - wait_on_page_fscache(page); + folio_wait_fscache(folio); } static int ceph_releasepage(struct page *page, gfp_t gfp) @@ -1377,7 +1377,7 @@ const struct address_space_operations ceph_aops = { .write_begin = ceph_write_begin, .write_end = ceph_write_end, .set_page_dirty = ceph_set_page_dirty, - .invalidatepage = ceph_invalidatepage, + .invalidate_folio = ceph_invalidate_folio, .releasepage = ceph_releasepage, .direct_IO = noop_direct_IO, }; |