fuse: Convert fuse_readpages_end() to use folio_end_read()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Sat, 20 Apr 2024 02:50:06 +0000 (03:50 +0100)
committerMiklos Szeredi <mszeredi@redhat.com>
Wed, 8 May 2024 07:31:21 +0000 (09:31 +0200)
Nobody checks the error flag on fuse folios, so stop setting it.
Optimise the (optional) setting of the uptodate flag and clearing
of the lock flag by using folio_end_read().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/fuse/file.c

index b57ce41576407be3d910da8916629f640668ee9a..f39456c65ed7f7934a35b59e1ee8d7c5db1e90c7 100644 (file)
@@ -935,14 +935,10 @@ static void fuse_readpages_end(struct fuse_mount *fm, struct fuse_args *args,
        }
 
        for (i = 0; i < ap->num_pages; i++) {
-               struct page *page = ap->pages[i];
+               struct folio *folio = page_folio(ap->pages[i]);
 
-               if (!err)
-                       SetPageUptodate(page);
-               else
-                       SetPageError(page);
-               unlock_page(page);
-               put_page(page);
+               folio_end_read(folio, !err);
+               folio_put(folio);
        }
        if (ia->ff)
                fuse_file_put(ia->ff, false);