summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorKefeng Wang <wangkefeng.wang@huawei.com>2024-03-21 16:16:39 +0300
committerChristian Brauner <brauner@kernel.org>2024-04-05 16:53:46 +0300
commit5ea0a35511895f10b965e24ed6f11adae47668d2 (patch)
treee30fd4624137b4e2709929e226052715858e1314 /fs
parent75a07b557a11a713c85f5fa8f9ed99b8c9b6f5d8 (diff)
downloadlinux-5ea0a35511895f10b965e24ed6f11adae47668d2.tar.xz
fs: aio: use a folio in aio_free_ring()
Use a folio throughout aio_free_ring() to remove calls to compound_head(), also move pr_debug after folio check to remove unnecessary print. Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> Link: https://lore.kernel.org/r/20240321131640.948634-3-wangkefeng.wang@huawei.com Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org> Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/aio.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/fs/aio.c b/fs/aio.c
index 60da236ad575..738654b58bfb 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -334,14 +334,15 @@ static void aio_free_ring(struct kioctx *ctx)
put_aio_ring_file(ctx);
for (i = 0; i < ctx->nr_pages; i++) {
- struct page *page;
- pr_debug("pid(%d) [%d] page->count=%d\n", current->pid, i,
- page_count(ctx->ring_pages[i]));
- page = ctx->ring_pages[i];
- if (!page)
+ struct folio *folio = page_folio(ctx->ring_pages[i]);
+
+ if (!folio)
continue;
+
+ pr_debug("pid(%d) [%d] folio->count=%d\n", current->pid, i,
+ folio_ref_count(folio));
ctx->ring_pages[i] = NULL;
- put_page(page);
+ folio_put(folio);
}
if (ctx->ring_pages && ctx->ring_pages != ctx->internal_pages) {