mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-04 04:04:19 +00:00
fuse: use the folio based vmstat helpers
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. Reviewed-by: Joanne Koong <joannelkoong@gmail.com> Signed-off-by: Josef Bacik <josef@toxicpanda.com> Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
This commit is contained in:
parent
6930b8dac1
commit
949d67ac2e
@ -1820,12 +1820,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);
|
||||
}
|
||||
|
||||
@ -1837,7 +1837,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);
|
||||
}
|
||||
@ -1892,7 +1892,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);
|
||||
}
|
||||
|
||||
@ -2112,7 +2113,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,
|
||||
@ -2286,7 +2287,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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user