fs: Convert simple_readpage to simple_read_folio
This is a full folio conversion; it is prepared to handle folios of arbitrary size. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
This commit is contained in:
Родитель
f132ab7d3a
Коммит
a77f580a2d
14
fs/libfs.c
14
fs/libfs.c
|
@ -539,12 +539,12 @@ int simple_setattr(struct user_namespace *mnt_userns, struct dentry *dentry,
|
|||
}
|
||||
EXPORT_SYMBOL(simple_setattr);
|
||||
|
||||
static int simple_readpage(struct file *file, struct page *page)
|
||||
static int simple_read_folio(struct file *file, struct folio *folio)
|
||||
{
|
||||
clear_highpage(page);
|
||||
flush_dcache_page(page);
|
||||
SetPageUptodate(page);
|
||||
unlock_page(page);
|
||||
folio_zero_range(folio, 0, folio_size(folio));
|
||||
flush_dcache_folio(folio);
|
||||
folio_mark_uptodate(folio);
|
||||
folio_unlock(folio);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -592,7 +592,7 @@ EXPORT_SYMBOL(simple_write_begin);
|
|||
* should extend on what's done here with a call to mark_inode_dirty() in the
|
||||
* case that i_size has changed.
|
||||
*
|
||||
* Use *ONLY* with simple_readpage()
|
||||
* Use *ONLY* with simple_read_folio()
|
||||
*/
|
||||
static int simple_write_end(struct file *file, struct address_space *mapping,
|
||||
loff_t pos, unsigned len, unsigned copied,
|
||||
|
@ -628,7 +628,7 @@ static int simple_write_end(struct file *file, struct address_space *mapping,
|
|||
* Provides ramfs-style behavior: data in the pagecache, but no writeback.
|
||||
*/
|
||||
const struct address_space_operations ram_aops = {
|
||||
.readpage = simple_readpage,
|
||||
.read_folio = simple_read_folio,
|
||||
.write_begin = simple_write_begin,
|
||||
.write_end = simple_write_end,
|
||||
.dirty_folio = noop_dirty_folio,
|
||||
|
|
Загрузка…
Ссылка в новой задаче