[PATCH -next] hostfs: Convert hostfs_writepage to use folio

Matthew Wilcox willy at infradead.org
Thu Sep 12 11:36:52 PDT 2024


On Thu, Sep 12, 2024 at 08:22:48PM +0200, Richard Weinberger wrote:
> ----- Ursprüngliche Mail -----
> > Von: "Li Zetao" <lizetao1 at huawei.com>
> > An: "richard" <richard at nod.at>, "anton ivanov" <anton.ivanov at cambridgegreys.com>, "Johannes Berg"
> > <johannes at sipsolutions.net>
> > CC: lizetao1 at huawei.com, "linux-um" <linux-um at lists.infradead.org>, "linux-kernel" <linux-kernel at 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].

Ideally, we would not do this, instead converting hostfs to use
writepages instead of writepage.  I haven't done this work; would
someone like to do it?

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

Don't use folio_inode() here, leave it as it was.

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

These two lines assume that hostfs remains a non-large-folio filesystem.
I'm not sure what the plans are for hostfs.




More information about the linux-um mailing list