Commit 785d06af authored by Josef Bacik's avatar Josef Bacik Committed by Miklos Szeredi
Browse files

fuse: convert fuse_send_write_pages to use folios



Convert this to grab the folio from the fuse_args_pages and use the
appropriate folio related functions.

Reviewed-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: default avatarJoanne Koong <joannelkoong@gmail.com>
Signed-off-by: default avatarJosef Bacik <josef@toxicpanda.com>
Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
parent 3eab9d7b
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -1175,23 +1175,23 @@ static ssize_t fuse_send_write_pages(struct fuse_io_args *ia,
	offset = ap->descs[0].offset;
	count = ia->write.out.size;
	for (i = 0; i < ap->num_pages; i++) {
		struct page *page = ap->pages[i];
		struct folio *folio = page_folio(ap->pages[i]);

		if (err) {
			ClearPageUptodate(page);
			folio_clear_uptodate(folio);
		} else {
			if (count >= PAGE_SIZE - offset)
				count -= PAGE_SIZE - offset;
			if (count >= folio_size(folio) - offset)
				count -= folio_size(folio) - offset;
			else {
				if (short_write)
					ClearPageUptodate(page);
					folio_clear_uptodate(folio);
				count = 0;
			}
			offset = 0;
		}
		if (ia->write.page_locked && (i == ap->num_pages - 1))
			unlock_page(page);
		put_page(page);
			folio_unlock(folio);
		folio_put(folio);
	}

	return err;