Message ID | 20240120230824.2619716-3-willy@infradead.org |
---|---|
State | Superseded |
Headers | show |
Series | ubifs folio conversion | expand |
在 2024/1/21 7:08, Matthew Wilcox (Oracle) 写道: > This is a simplistic conversion to separate out any effects of > no longer having a writepage method. > > Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> > --- > fs/ubifs/file.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > Reviewed-by: Zhihao Cheng <chengzhihao1@huawei.com> > diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c > index 40a9b03ef821..007a73052561 100644 > --- a/fs/ubifs/file.c > +++ b/fs/ubifs/file.c > @@ -1006,8 +1006,10 @@ static int do_writepage(struct page *page, int len) > * on the page lock and it would not write the truncated inode node to the > * journal before we have finished. > */ > -static int ubifs_writepage(struct page *page, struct writeback_control *wbc) > +static int ubifs_writepage(struct folio *folio, struct writeback_control *wbc, > + void *data) > { > + struct page *page = &folio->page; > struct inode *inode = page->mapping->host; > struct ubifs_info *c = inode->i_sb->s_fs_info; > struct ubifs_inode *ui = ubifs_inode(inode); > @@ -1079,6 +1081,12 @@ static int ubifs_writepage(struct page *page, struct writeback_control *wbc) > return err; > } > > +static int ubifs_writepages(struct address_space *mapping, > + struct writeback_control *wbc) > +{ > + return write_cache_pages(mapping, wbc, ubifs_writepage, NULL); > +} > + > /** > * do_attr_changes - change inode attributes. > * @inode: inode to change attributes for > @@ -1648,7 +1656,7 @@ static int ubifs_symlink_getattr(struct mnt_idmap *idmap, > > const struct address_space_operations ubifs_file_address_operations = { > .read_folio = ubifs_read_folio, > - .writepage = ubifs_writepage, > + .writepages = ubifs_writepages, > .write_begin = ubifs_write_begin, > .write_end = ubifs_write_end, > .invalidate_folio = ubifs_invalidate_folio, >
diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c index 40a9b03ef821..007a73052561 100644 --- a/fs/ubifs/file.c +++ b/fs/ubifs/file.c @@ -1006,8 +1006,10 @@ static int do_writepage(struct page *page, int len) * on the page lock and it would not write the truncated inode node to the * journal before we have finished. */ -static int ubifs_writepage(struct page *page, struct writeback_control *wbc) +static int ubifs_writepage(struct folio *folio, struct writeback_control *wbc, + void *data) { + struct page *page = &folio->page; struct inode *inode = page->mapping->host; struct ubifs_info *c = inode->i_sb->s_fs_info; struct ubifs_inode *ui = ubifs_inode(inode); @@ -1079,6 +1081,12 @@ static int ubifs_writepage(struct page *page, struct writeback_control *wbc) return err; } +static int ubifs_writepages(struct address_space *mapping, + struct writeback_control *wbc) +{ + return write_cache_pages(mapping, wbc, ubifs_writepage, NULL); +} + /** * do_attr_changes - change inode attributes. * @inode: inode to change attributes for @@ -1648,7 +1656,7 @@ static int ubifs_symlink_getattr(struct mnt_idmap *idmap, const struct address_space_operations ubifs_file_address_operations = { .read_folio = ubifs_read_folio, - .writepage = ubifs_writepage, + .writepages = ubifs_writepages, .write_begin = ubifs_write_begin, .write_end = ubifs_write_end, .invalidate_folio = ubifs_invalidate_folio,
This is a simplistic conversion to separate out any effects of no longer having a writepage method. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> --- fs/ubifs/file.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)