diff options
author | Matthew Wilcox (Oracle) <willy@infradead.org> | 2024-07-15 20:24:01 +0200 |
---|---|---|
committer | Christian Brauner <brauner@kernel.org> | 2024-08-07 11:33:21 +0200 |
commit | 1da86618bdce301d23e89ecce92161f9d3b3c5e7 (patch) | |
tree | 7e6d452f81d12f8b472b0a037f0d5654ea18766b /fs/hostfs | |
parent | fs: Convert aops->write_end to take a folio (diff) | |
download | linux-1da86618bdce301d23e89ecce92161f9d3b3c5e7.tar.xz linux-1da86618bdce301d23e89ecce92161f9d3b3c5e7.zip |
fs: Convert aops->write_begin to take a folio
Convert all callers from working on a page to working on one page
of a folio (support for working on an entire folio can come later).
Removes a lot of folio->page->folio conversions.
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/hostfs')
-rw-r--r-- | fs/hostfs/hostfs_kern.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c index d0cbc5ece952..6d1cf2436ead 100644 --- a/fs/hostfs/hostfs_kern.c +++ b/fs/hostfs/hostfs_kern.c @@ -465,12 +465,13 @@ static int hostfs_read_folio(struct file *file, struct folio *folio) static int hostfs_write_begin(struct file *file, struct address_space *mapping, loff_t pos, unsigned len, - struct page **pagep, void **fsdata) + struct folio **foliop, void **fsdata) { pgoff_t index = pos >> PAGE_SHIFT; - *pagep = grab_cache_page_write_begin(mapping, index); - if (!*pagep) + *foliop = __filemap_get_folio(mapping, index, FGP_WRITEBEGIN, + mapping_gfp_mask(mapping)); + if (!*foliop) return -ENOMEM; return 0; } |