mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
fs/writeback: convert wbc_account_cgroup_owner to take a folio
Most of the callers of wbc_account_cgroup_owner() are converting a folio to page before calling the function. wbc_account_cgroup_owner() is converting the page back to a folio to call mem_cgroup_css_from_folio(). Convert wbc_account_cgroup_owner() to take a folio instead of a page, and convert all callers to pass a folio directly except f2fs. Convert the page to folio for all the callers from f2fs as they were the only callers calling wbc_account_cgroup_owner() with a page. As f2fs is already in the process of converting to folios, these call sites might also soon be calling wbc_account_cgroup_owner() with a folio directly in the future. No functional changes. Only compile tested. Signed-off-by: Pankaj Raghav <p.raghav@samsung.com> Link: https://lore.kernel.org/r/20240926140121.203821-1-kernel@pankajraghav.com Acked-by: David Sterba <dsterba@suse.com> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
committed by
Christian Brauner
parent
8c6e03ffed
commit
30dac24e14
@@ -890,17 +890,16 @@ EXPORT_SYMBOL_GPL(wbc_detach_inode);
|
||||
/**
|
||||
* wbc_account_cgroup_owner - account writeback to update inode cgroup ownership
|
||||
* @wbc: writeback_control of the writeback in progress
|
||||
* @page: page being written out
|
||||
* @folio: folio being written out
|
||||
* @bytes: number of bytes being written out
|
||||
*
|
||||
* @bytes from @page are about to written out during the writeback
|
||||
* @bytes from @folio are about to written out during the writeback
|
||||
* controlled by @wbc. Keep the book for foreign inode detection. See
|
||||
* wbc_detach_inode().
|
||||
*/
|
||||
void wbc_account_cgroup_owner(struct writeback_control *wbc, struct page *page,
|
||||
void wbc_account_cgroup_owner(struct writeback_control *wbc, struct folio *folio,
|
||||
size_t bytes)
|
||||
{
|
||||
struct folio *folio;
|
||||
struct cgroup_subsys_state *css;
|
||||
int id;
|
||||
|
||||
@@ -913,7 +912,6 @@ void wbc_account_cgroup_owner(struct writeback_control *wbc, struct page *page,
|
||||
if (!wbc->wb || wbc->no_cgroup_owner)
|
||||
return;
|
||||
|
||||
folio = page_folio(page);
|
||||
css = mem_cgroup_css_from_folio(folio);
|
||||
/* dead cgroups shouldn't contribute to inode ownership arbitration */
|
||||
if (!(css->flags & CSS_ONLINE))
|
||||
|
||||
Reference in New Issue
Block a user