[packages/kernel/LINUX_4_9] - rel 2; add cgroup writeback suport for xfs (not merged by upstream only due to lack of xfstests su

arekm arekm at pld-linux.org
Tue Nov 20 22:30:53 CET 2018


commit 5a002ca362731990c7381757a3a58ad481815115
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Tue Nov 20 22:30:38 2018 +0100

    - rel 2; add cgroup writeback suport for xfs (not merged by upstream only due to lack of xfstests support)

 kernel-small_fixes.patch | 42 ++++++++++++++++++++++++++++++++++++++++++
 kernel.spec              |  2 +-
 2 files changed, 43 insertions(+), 1 deletion(-)
---
diff --git a/kernel.spec b/kernel.spec
index 26905fd7..3396d231 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -71,7 +71,7 @@
 %define		have_pcmcia	0
 %endif
 
-%define		rel		1
+%define		rel		2
 %define		basever		4.9
 %define		postver		.137
 
diff --git a/kernel-small_fixes.patch b/kernel-small_fixes.patch
index 319191ce..1fbd7c13 100644
--- a/kernel-small_fixes.patch
+++ b/kernel-small_fixes.patch
@@ -61,3 +61,45 @@ index 098ce9b179ee..fcf8d0aa66ec 100644
 -- 
 2.11.0
 
+From: Shaohua Li <shli at fb.com>
+
+Basically this is a copy of commit 001e4a8775f6(ext4: implement cgroup
+writeback support). Tested with a fio test, verified writeback is
+throttled against cgroup io.max write bandwidth, also verified moving
+the fio test to another cgroup and the writeback is throttled against
+new cgroup setting.
+
+Cc: Tejun Heo <tj at kernel.org>
+Signed-off-by: Shaohua Li <shli at fb.com>
+---
+ fs/xfs/xfs_aops.c  | 2 ++
+ fs/xfs/xfs_super.c | 1 +
+ 2 files changed, 3 insertions(+)
+
+diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c
+index f18e593..6535054 100644
+--- a/fs/xfs/xfs_aops.c
++++ b/fs/xfs/xfs_aops.c
+@@ -630,8 +630,10 @@ xfs_add_to_ioend(
+ 		if (wpc->ioend)
+ 			list_add(&wpc->ioend->io_list, iolist);
+ 		wpc->ioend = xfs_alloc_ioend(inode, wpc->io_type, offset, bh);
++		wbc_init_bio(wbc, wpc->ioend->io_bio);
+ 	}
+ 
++	wbc_account_io(wbc, bh->b_page, bh->b_size);
+ 	/*
+ 	 * If the buffer doesn't fit into the bio we need to allocate a new
+ 	 * one.  This shouldn't happen more than once for a given buffer.
+diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
+index 584cf2d..aea3bc2 100644
+--- a/fs/xfs/xfs_super.c
++++ b/fs/xfs/xfs_super.c
+@@ -1634,6 +1634,7 @@ xfs_fs_fill_super(
+ 	sb->s_max_links = XFS_MAXLINK;
+ 	sb->s_time_gran = 1;
+ 	set_posix_acl_flag(sb);
++	sb->s_iflags |= SB_I_CGROUPWB;
+ 
+ 	/* version 5 superblocks support inode version counters. */
+ 	if (XFS_SB_VERSION_NUM(&mp->m_sb) == XFS_SB_VERSION_5)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/kernel.git/commitdiff/5a002ca362731990c7381757a3a58ad481815115



More information about the pld-cvs-commit mailing list