]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
fuse: support large folios for folio reads
authorJoanne Koong <joannelkoong@gmail.com>
Mon, 12 May 2025 22:58:34 +0000 (15:58 -0700)
committerMiklos Szeredi <mszeredi@redhat.com>
Thu, 29 May 2025 10:31:23 +0000 (12:31 +0200)
Add support for folios larger than one page size for folio reads into
the page cache.

Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Bernd Schubert <bschubert@ddn.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/fuse/file.c

index 2d9bc484e87adf7d530e158a1995cc646b0c6e3a..8efdca3ce566a1bfe8824edbfc4497409158f5ea 100644 (file)
@@ -793,7 +793,7 @@ static int fuse_do_readfolio(struct file *file, struct folio *folio)
        struct inode *inode = folio->mapping->host;
        struct fuse_mount *fm = get_fuse_mount(inode);
        loff_t pos = folio_pos(folio);
-       struct fuse_folio_desc desc = { .length = PAGE_SIZE };
+       struct fuse_folio_desc desc = { .length = folio_size(folio) };
        struct fuse_io_args ia = {
                .ap.args.page_zeroing = true,
                .ap.args.out_pages = true,