----- Ursprüngliche Mail ----- > Von: "Li Zetao" <lizet...@huawei.com> > An: "richard" <rich...@nod.at>, "anton ivanov" > <anton.iva...@cambridgegreys.com>, "Johannes Berg" > <johan...@sipsolutions.net> > CC: lizet...@huawei.com, "linux-um" <linux-um@lists.infradead.org>, > "linux-kernel" <linux-ker...@vger.kernel.org> > Gesendet: Dienstag, 20. August 2024 04:50:45 > Betreff: [PATCH -next] hostfs: Convert hostfs_writepage to use folio
> convert to use folio, so that we can get rid of 'page->index' to > prepare for removal of 'index' field in structure page [1]. > > [1]: https://lore.kernel.org/all/zp8fgusibgq1t...@casper.infradead.org/ > > Cc: Matthew Wilcox <wi...@infradead.org> You patch submission didn't CC Matthew. Adding him now. > Signed-off-by: Li Zetao <lizet...@huawei.com> > --- > fs/hostfs/hostfs_kern.c | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) > > diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c > index 6d1cf2436ead..e17e70f20fa1 100644 > --- a/fs/hostfs/hostfs_kern.c > +++ b/fs/hostfs/hostfs_kern.c > @@ -411,18 +411,19 @@ static const struct file_operations hostfs_dir_fops = { > > static int hostfs_writepage(struct page *page, struct writeback_control *wbc) > { > - struct address_space *mapping = page->mapping; > - struct inode *inode = mapping->host; > + struct folio *folio = page_folio(page); > + struct address_space *mapping = folio->mapping; > + struct inode *inode = folio_inode(folio); > char *buffer; > - loff_t base = page_offset(page); > + loff_t base = folio_pos(folio); > int count = PAGE_SIZE; > int end_index = inode->i_size >> PAGE_SHIFT; > int err; > > - if (page->index >= end_index) > + if (folio->index >= end_index) > count = inode->i_size & (PAGE_SIZE-1); > > - buffer = kmap_local_page(page); > + buffer = kmap_local_folio(folio, 0); > > err = write_file(HOSTFS_I(inode)->fd, &base, buffer, count); > if (err != count) { > @@ -439,7 +440,7 @@ static int hostfs_writepage(struct page *page, struct > writeback_control *wbc) > > out: > kunmap_local(buffer); > - unlock_page(page); > + folio_unlock(folio); > > return err; > } > -- > 2.34.1