On Tue, Aug 27, 2024 at 1:46 PM Josef Bacik <josef@xxxxxxxxxxxxxx> wrote: > > In order to make it easier to switch to folios in the fuse_args_pages > update the places where we update the vmstat counters for writeback to > use the folio related helpers. On the inc side this is easy as we > already have the folio, on the dec side we have to page_folio() the > pages for now. > > Signed-off-by: Josef Bacik <josef@xxxxxxxxxxxxxx> LGTM. Reviewed-by: Joanne Koong <joannelkoong@xxxxxxxxx> > --- > fs/fuse/file.c | 14 ++++++++------ > 1 file changed, 8 insertions(+), 6 deletions(-) > > diff --git a/fs/fuse/file.c b/fs/fuse/file.c > index 3ef6c2f58940..e03b915d8229 100644 > --- a/fs/fuse/file.c > +++ b/fs/fuse/file.c > @@ -1853,12 +1853,12 @@ static void fuse_writepage_free(struct fuse_writepage_args *wpa) > kfree(wpa); > } > > -static void fuse_writepage_finish_stat(struct inode *inode, struct page *page) > +static void fuse_writepage_finish_stat(struct inode *inode, struct folio *folio) > { > struct backing_dev_info *bdi = inode_to_bdi(inode); > > dec_wb_stat(&bdi->wb, WB_WRITEBACK); > - dec_node_page_state(page, NR_WRITEBACK_TEMP); > + node_stat_sub_folio(folio, NR_WRITEBACK_TEMP); > wb_writeout_inc(&bdi->wb); > } > > @@ -1870,7 +1870,7 @@ static void fuse_writepage_finish(struct fuse_writepage_args *wpa) > int i; > > for (i = 0; i < ap->num_pages; i++) > - fuse_writepage_finish_stat(inode, ap->pages[i]); > + fuse_writepage_finish_stat(inode, page_folio(ap->pages[i])); > > wake_up(&fi->page_waitq); > } > @@ -1925,7 +1925,8 @@ __acquires(fi->lock) > for (aux = wpa->next; aux; aux = next) { > next = aux->next; > aux->next = NULL; > - fuse_writepage_finish_stat(aux->inode, aux->ia.ap.pages[0]); > + fuse_writepage_finish_stat(aux->inode, > + page_folio(aux->ia.ap.pages[0])); > fuse_writepage_free(aux); > } > > @@ -2145,7 +2146,7 @@ static void fuse_writepage_args_page_fill(struct fuse_writepage_args *wpa, struc > ap->descs[page_index].length = PAGE_SIZE; > > inc_wb_stat(&inode_to_bdi(inode)->wb, WB_WRITEBACK); > - inc_node_page_state(&tmp_folio->page, NR_WRITEBACK_TEMP); > + node_stat_add_folio(tmp_folio, NR_WRITEBACK_TEMP); > } > > static struct fuse_writepage_args *fuse_writepage_args_setup(struct folio *folio, > @@ -2319,7 +2320,8 @@ static bool fuse_writepage_add(struct fuse_writepage_args *new_wpa, > spin_unlock(&fi->lock); > > if (tmp) { > - fuse_writepage_finish_stat(new_wpa->inode, new_ap->pages[0]); > + fuse_writepage_finish_stat(new_wpa->inode, > + page_folio(new_ap->pages[0])); > fuse_writepage_free(new_wpa); > } > > -- > 2.43.0 >