From: "Matthew Wilcox (Oracle)" <willy@infradead.org>
To: linux-fsdevel@vger.kernel.org
Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>,
Hans de Goede <hdegoede@redhat.com>
Subject: [PATCH 25/30] vboxsf: Convert vboxsf_read_folio() to use a folio
Date: Sat, 20 Apr 2024 03:50:20 +0100 [thread overview]
Message-ID: <20240420025029.2166544-26-willy@infradead.org> (raw)
In-Reply-To: <20240420025029.2166544-1-willy@infradead.org>
Remove conversion to a page and use folio APIs throughout. This includes
a removal of setting the error flag as nobody checks the error flag on
vboxsf folios. This does not include large folio support as we would
have to map each page individually.
Cc: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
fs/vboxsf/file.c | 18 +++++-------------
1 file changed, 5 insertions(+), 13 deletions(-)
diff --git a/fs/vboxsf/file.c b/fs/vboxsf/file.c
index 118dedef8ebe..e149158b105d 100644
--- a/fs/vboxsf/file.c
+++ b/fs/vboxsf/file.c
@@ -228,26 +228,19 @@ const struct inode_operations vboxsf_reg_iops = {
static int vboxsf_read_folio(struct file *file, struct folio *folio)
{
- struct page *page = &folio->page;
struct vboxsf_handle *sf_handle = file->private_data;
- loff_t off = page_offset(page);
+ loff_t off = folio_pos(folio);
u32 nread = PAGE_SIZE;
u8 *buf;
int err;
- buf = kmap(page);
+ buf = kmap_local_folio(folio, 0);
err = vboxsf_read(sf_handle->root, sf_handle->handle, off, &nread, buf);
- if (err == 0) {
- memset(&buf[nread], 0, PAGE_SIZE - nread);
- flush_dcache_page(page);
- SetPageUptodate(page);
- } else {
- SetPageError(page);
- }
+ buf = folio_zero_tail(folio, nread, buf);
- kunmap(page);
- unlock_page(page);
+ kunmap_local(buf);
+ folio_end_read(folio, err == 0);
return err;
}
@@ -295,7 +288,6 @@ static int vboxsf_writepage(struct page *page, struct writeback_control *wbc)
kref_put(&sf_handle->refcount, vboxsf_handle_release);
if (err == 0) {
- ClearPageError(page);
/* mtime changed */
sf_i->force_restat = 1;
} else {
--
2.43.0
next prev parent reply other threads:[~2024-04-20 2:51 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-20 2:49 [PATCH 00/30] Remove PG_error flag Matthew Wilcox (Oracle)
2024-04-20 2:49 ` [PATCH 01/30] btrfs: Use a folio in wait_dev_supers() Matthew Wilcox (Oracle)
2024-04-23 12:25 ` Johannes Thumshirn
2024-04-20 2:49 ` [PATCH 02/30] btrfs: Use a folio in write_dev_supers() Matthew Wilcox (Oracle)
2024-04-23 12:26 ` Johannes Thumshirn
2024-04-25 14:44 ` David Sterba
2024-04-25 16:38 ` Matthew Wilcox
2024-04-20 2:49 ` [PATCH 03/30] btrfs: Use the folio iterator in btrfs_end_super_write() Matthew Wilcox (Oracle)
2024-04-23 12:26 ` Johannes Thumshirn
2024-04-20 2:49 ` [PATCH 04/30] btrfs: Remove use of the folio error flag Matthew Wilcox (Oracle)
2024-04-20 2:50 ` [PATCH 05/30] jfs: Remove use of " Matthew Wilcox (Oracle)
2024-04-20 2:50 ` [PATCH 06/30] bcachefs: Remove calls to folio_set_error Matthew Wilcox (Oracle)
2024-04-20 3:04 ` Kent Overstreet
2024-04-20 2:50 ` [PATCH 07/30] befs: Convert befs_symlink_read_folio() to use folio_end_read() Matthew Wilcox (Oracle)
2024-04-20 2:50 ` [PATCH 08/30] coda: Convert coda_symlink_filler() " Matthew Wilcox (Oracle)
2024-04-20 2:50 ` [PATCH 09/30] ext2: Remove call to folio_set_error() Matthew Wilcox (Oracle)
2024-04-20 2:50 ` [PATCH 10/30] ext4: Remove calls to to set/clear the folio error flag Matthew Wilcox (Oracle)
2024-04-20 2:50 ` [PATCH 11/30] fuse: Convert fuse_readpages_end() to use folio_end_read() Matthew Wilcox (Oracle)
2024-04-22 15:20 ` Miklos Szeredi
2024-04-20 2:50 ` [PATCH 12/30] hostfs: Convert hostfs_read_folio() to use a folio Matthew Wilcox (Oracle)
2024-04-20 2:50 ` [PATCH 13/30] isofs: Remove calls to set/clear the error flag Matthew Wilcox (Oracle)
2024-04-22 21:57 ` Jan Kara
2024-04-23 17:51 ` Matthew Wilcox
2024-04-23 21:22 ` Jan Kara
2024-04-20 2:50 ` [PATCH 14/30] jffs2: Remove calls to set/clear the folio " Matthew Wilcox (Oracle)
2024-04-22 14:46 ` Zhihao Cheng
2024-04-22 15:56 ` Richard Weinberger
2024-04-20 2:50 ` [PATCH 15/30] nfs: Remove calls to folio_set_error Matthew Wilcox (Oracle)
2024-04-20 2:50 ` [PATCH 16/30] nilfs2: Remove calls to folio_set_error() and folio_clear_error() Matthew Wilcox (Oracle)
2024-04-23 16:36 ` Ryusuke Konishi
2024-04-23 17:51 ` Matthew Wilcox
2024-04-23 17:58 ` Ryusuke Konishi
2024-04-20 2:50 ` [PATCH 17/30] ntfs3: Remove calls to set/clear the error flag Matthew Wilcox (Oracle)
2024-04-20 2:50 ` [PATCH 18/30] orangefs: " Matthew Wilcox (Oracle)
2024-04-24 18:02 ` Mike Marshall
2024-04-20 2:50 ` [PATCH 19/30] reiserfs: Remove call to folio_set_error() Matthew Wilcox (Oracle)
2024-04-20 2:50 ` [PATCH 20/30] romfs: Convert romfs_read_folio() to use a folio Matthew Wilcox (Oracle)
2024-04-20 2:50 ` [PATCH 21/30] smb: Remove calls to set folio error flag Matthew Wilcox (Oracle)
2024-04-20 2:50 ` [PATCH 22/30] squashfs: Convert squashfs_symlink_read_folio to use folio APIs Matthew Wilcox (Oracle)
2024-04-28 21:40 ` Phillip Lougher
2024-04-20 2:50 ` [PATCH 23/30] squashfs: Remove calls to set the folio error flag Matthew Wilcox (Oracle)
2024-04-28 21:42 ` Phillip Lougher
2024-04-20 2:50 ` [PATCH 24/30] ufs: Remove call " Matthew Wilcox (Oracle)
2024-04-20 2:50 ` Matthew Wilcox (Oracle) [this message]
2024-04-22 10:59 ` [PATCH 25/30] vboxsf: Convert vboxsf_read_folio() to use a folio Hans de Goede
2024-04-20 2:50 ` [PATCH 26/30] mm/memory-failure: Stop setting the folio error flag Matthew Wilcox (Oracle)
2024-04-20 2:50 ` [PATCH 27/30] iomap: Remove calls to set and clear " Matthew Wilcox (Oracle)
2024-04-22 6:16 ` Christoph Hellwig
2024-04-22 15:05 ` Matthew Wilcox
2024-04-22 15:26 ` Christoph Hellwig
2024-04-22 17:51 ` Matthew Wilcox
2024-04-25 12:23 ` Christoph Hellwig
2024-04-25 12:44 ` Matthew Wilcox
2024-04-25 12:51 ` Christoph Hellwig
2024-04-25 16:47 ` Darrick J. Wong
2024-04-25 16:55 ` Darrick J. Wong
2024-04-20 2:50 ` [PATCH 28/30] buffer: Remove calls to set and clear the " Matthew Wilcox (Oracle)
2024-04-20 2:50 ` [PATCH 29/30] fs: " Matthew Wilcox (Oracle)
2024-04-20 2:50 ` [PATCH 30/30] mm: Remove PG_error Matthew Wilcox (Oracle)
2024-05-09 4:26 ` [PATCH 00/30] Remove PG_error flag Theodore Ts'o
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240420025029.2166544-26-willy@infradead.org \
--to=willy@infradead.org \
--cc=hdegoede@redhat.com \
--cc=linux-fsdevel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).