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> 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