Skip to content

Commit 55050b6

Browse files
Matthew Wilcox (Oracle)brauner
authored andcommitted
vboxsf: Convert vboxsf_read_folio() to use a folio
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. Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Link: https://lore.kernel.org/r/[email protected] Tested-by: Hans de Goede <[email protected]> Reviewed-by: Hans de Goede <[email protected]> Signed-off-by: Christian Brauner <[email protected]>
1 parent ca7d585 commit 55050b6

File tree

1 file changed

+5
-13
lines changed

1 file changed

+5
-13
lines changed

fs/vboxsf/file.c

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -228,26 +228,19 @@ const struct inode_operations vboxsf_reg_iops = {
228228

229229
static int vboxsf_read_folio(struct file *file, struct folio *folio)
230230
{
231-
struct page *page = &folio->page;
232231
struct vboxsf_handle *sf_handle = file->private_data;
233-
loff_t off = page_offset(page);
232+
loff_t off = folio_pos(folio);
234233
u32 nread = PAGE_SIZE;
235234
u8 *buf;
236235
int err;
237236

238-
buf = kmap(page);
237+
buf = kmap_local_folio(folio, 0);
239238

240239
err = vboxsf_read(sf_handle->root, sf_handle->handle, off, &nread, buf);
241-
if (err == 0) {
242-
memset(&buf[nread], 0, PAGE_SIZE - nread);
243-
flush_dcache_page(page);
244-
SetPageUptodate(page);
245-
} else {
246-
SetPageError(page);
247-
}
240+
buf = folio_zero_tail(folio, nread, buf + nread);
248241

249-
kunmap(page);
250-
unlock_page(page);
242+
kunmap_local(buf);
243+
folio_end_read(folio, err == 0);
251244
return err;
252245
}
253246

@@ -295,7 +288,6 @@ static int vboxsf_writepage(struct page *page, struct writeback_control *wbc)
295288
kref_put(&sf_handle->refcount, vboxsf_handle_release);
296289

297290
if (err == 0) {
298-
ClearPageError(page);
299291
/* mtime changed */
300292
sf_i->force_restat = 1;
301293
} else {

0 commit comments

Comments
 (0)