fuse: convert fuse_retrieve to use folios
authorJosef Bacik <josef@toxicpanda.com>
Mon, 30 Sep 2024 13:45:17 +0000 (09:45 -0400)
committerMiklos Szeredi <mszeredi@redhat.com>
Fri, 25 Oct 2024 15:05:50 +0000 (17:05 +0200)
We're just looking for pages in a mapping, use a folio and the folio
lookup function directly instead of using the page helper.

Reviewed-by: Joanne Koong <joannelkoong@gmail.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/fuse/dev.c

index 1f64ae6d7a69e53c8d96f2e1f5caca3ff2b4ab26..a332cb79996721969a632e17f49dd3f20ec2d57d 100644 (file)
@@ -1756,15 +1756,15 @@ static int fuse_retrieve(struct fuse_mount *fm, struct inode *inode,
        index = outarg->offset >> PAGE_SHIFT;
 
        while (num && ap->num_pages < num_pages) {
-               struct page *page;
+               struct folio *folio;
                unsigned int this_num;
 
-               page = find_get_page(mapping, index);
-               if (!page)
+               folio = filemap_get_folio(mapping, index);
+               if (IS_ERR(folio))
                        break;
 
                this_num = min_t(unsigned, num, PAGE_SIZE - offset);
-               ap->pages[ap->num_pages] = page;
+               ap->pages[ap->num_pages] = &folio->page;
                ap->descs[ap->num_pages].offset = offset;
                ap->descs[ap->num_pages].length = this_num;
                ap->num_pages++;