[packages/kernel] - 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:27:00 CET 2018


commit 5da6072d9f9a819a5b0bbb80b333ed000155dff6
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Tue Nov 20 22:26:49 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 | 43 ++++++++++++++++++++++++++++++++++++++++++-
 kernel.spec              |  4 ++--
 2 files changed, 44 insertions(+), 3 deletions(-)
---
diff --git a/kernel.spec b/kernel.spec
index 693ab513..2d4113b2 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -67,7 +67,7 @@
 %define		have_pcmcia	0
 %endif
 
-%define		rel		1
+%define		rel		2
 %define		basever		4.19
 %define		postver		.2
 
@@ -682,7 +682,7 @@ rm -f localversion-rt
 %endif # vanilla
 
 # Small fixes:
-#%patch2000 -p1
+%patch2000 -p1
 %patch2001 -p1
 #%patch2003 -p1
 
diff --git a/kernel-small_fixes.patch b/kernel-small_fixes.patch
index 092bc2b0..5ef9dd5e 100644
--- a/kernel-small_fixes.patch
+++ b/kernel-small_fixes.patch
@@ -1 +1,42 @@
-;
+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
+@@ -613,8 +613,10 @@ xfs_add_to_ioend(
+ 			list_add(&wpc->ioend->io_list, iolist);
+ 		wpc->ioend = xfs_alloc_ioend(inode, wpc->io_type, offset,
+ 				bdev, sector);
++		wbc_init_bio(wbc, wpc->ioend->io_bio);
+ 	}
+ 
++	wbc_account_io(wbc, bh->b_page, bh->b_size);
+ 	if (!__bio_try_merge_page(wpc->ioend->io_bio, page, len, poff)) {
+ 		if (iop)
+ 			atomic_inc(&iop->write_count);
+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/5da6072d9f9a819a5b0bbb80b333ed000155dff6



More information about the pld-cvs-commit mailing list