1 From: Shaohua Li <shli@fb.com>
3 Basically this is a copy of commit 001e4a8775f6(ext4: implement cgroup
4 writeback support). Tested with a fio test, verified writeback is
5 throttled against cgroup io.max write bandwidth, also verified moving
6 the fio test to another cgroup and the writeback is throttled against
9 Cc: Tejun Heo <tj@kernel.org>
10 Signed-off-by: Shaohua Li <shli@fb.com>
12 fs/xfs/xfs_aops.c | 2 ++
13 fs/xfs/xfs_super.c | 1 +
14 2 files changed, 3 insertions(+)
16 --- linux-4.19/fs/xfs/xfs_aops.c.org 2018-11-21 10:31:12.348955352 +0100
17 +++ linux-4.19/fs/xfs/xfs_aops.c 2018-11-21 10:34:35.241764742 +0100
18 @@ -613,8 +613,10 @@ xfs_add_to_ioend(
19 list_add(&wpc->ioend->io_list, iolist);
20 wpc->ioend = xfs_alloc_ioend(inode, wpc->io_type, offset,
22 + wbc_init_bio(wbc, wpc->ioend->io_bio);
25 + wbc_account_io(wbc, page, len);
26 if (!__bio_try_merge_page(wpc->ioend->io_bio, page, len, poff)) {
28 atomic_inc(&iop->write_count);
29 diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
30 index 584cf2d..aea3bc2 100644
31 --- a/fs/xfs/xfs_super.c
32 +++ b/fs/xfs/xfs_super.c
33 @@ -1634,6 +1634,7 @@ xfs_fs_fill_super(
34 sb->s_max_links = XFS_MAXLINK;
36 set_posix_acl_flag(sb);
37 + sb->s_iflags |= SB_I_CGROUPWB;
39 /* version 5 superblocks support inode version counters. */
40 if (XFS_SB_VERSION_NUM(&mp->m_sb) == XFS_SB_VERSION_5)