]> git.pld-linux.org Git - packages/kernel.git/blobdiff - kernel-small_fixes.patch
- rel 3; fixed for xfs changes
[packages/kernel.git] / kernel-small_fixes.patch
index 3df7f3507005ca4406182ebbe1a722727f40ac7f..b97c7aafdb86c3ebfb2d414fc39ae3dc41fbbff6 100644 (file)
@@ -1,80 +1,40 @@
---- linux-2.6.33/scripts/mod/modpost.c~        2010-02-24 19:52:17.000000000 +0100
-+++ linux-2.6.33/scripts/mod/modpost.c 2010-03-07 14:26:47.242168558 +0100
-@@ -15,7 +15,8 @@
- #include <stdio.h>
- #include <ctype.h>
- #include "modpost.h"
--#include "../../include/generated/autoconf.h"
-+// PLD architectures don't use CONFIG_SYMBOL_PREFIX
-+//#include "../../include/generated/autoconf.h"
- #include "../../include/linux/license.h"
- /* Some toolchains use a `_' prefix for all user symbols. */
-
---- linux-3.0/scripts/kconfig/lxdialog/check-lxdialog.sh~      2011-07-22 04:17:23.000000000 +0200
-+++ linux-3.0/scripts/kconfig/lxdialog/check-lxdialog.sh       2011-08-25 21:26:04.799150642 +0200
-@@ -9,6 +9,12 @@
-                       $cc -print-file-name=lib${lib}.${ext} | grep -q /
-                       if [ $? -eq 0 ]; then
-                               echo "-l${lib}"
-+                              for libt in tinfow tinfo ; do
-+                                      $cc -print-file-name=lib${libt}.${ext} | grep -q /
-+                                      if [ $? -eq 0 ]; then
-+                                              echo "-l${libt}"
-+                                      fi
-+                              done
-                               exit
-                       fi
-               done
-From 069d5ac9ae0d271903cc4607890616418118379a Mon Sep 17 00:00:00 2001
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-Date: Fri, 30 Sep 2016 11:28:05 -0500
-Subject: autofs:  Fix automounts by using current_real_cred()->uid
-
-Seth Forshee reports that in 4.8-rcN some automounts are failing
-because the requesting the automount changed.
-
-The relevant call path is:
-follow_automount()
-    ->d_automount
-    autofs4_d_automount
-       autofs4_mount_wait
-           autofs4_wait
-
-In autofs4_wait wq_uid and wq_gid are set to current_uid() and
-current_gid respectively.  With follow_automount now overriding creds
-uid that we export to userspace changes and that breaks existing
-setups.
+From: Shaohua Li <shli@fb.com>
 
-To remove the regression set wq_uid and wq_gid from
-current_real_cred()->uid and current_real_cred()->gid respectively.
-This restores the current behavior as current->real_cred is identical
-to current->cred except when override creds are used.
+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: stable@vger.kernel.org
-Fixes: aeaa4a79ff6a ("fs: Call d_automount with the filesystems creds")
-Reported-by: Seth Forshee <seth.forshee@canonical.com>
-Tested-by: Seth Forshee <seth.forshee@canonical.com>
-Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
+Cc: Tejun Heo <tj@kernel.org>
+Signed-off-by: Shaohua Li <shli@fb.com>
 ---
- fs/autofs4/waitq.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/fs/autofs4/waitq.c b/fs/autofs4/waitq.c
-index 431fd7e..e44271d 100644
---- a/fs/autofs4/waitq.c
-+++ b/fs/autofs4/waitq.c
-@@ -431,8 +431,8 @@ int autofs4_wait(struct autofs_sb_info *sbi,
-               memcpy(&wq->name, &qstr, sizeof(struct qstr));
-               wq->dev = autofs4_get_dev(sbi);
-               wq->ino = autofs4_get_ino(sbi);
--              wq->uid = current_uid();
--              wq->gid = current_gid();
-+              wq->uid = current_real_cred()->uid;
-+              wq->gid = current_real_cred()->gid;
-               wq->pid = pid;
-               wq->tgid = tgid;
-               wq->status = -EINTR; /* Status return if interrupted */
--- 
-cgit v0.12
-
+ fs/xfs/xfs_aops.c  | 2 ++
+ fs/xfs/xfs_super.c | 1 +
+ 2 files changed, 3 insertions(+)
+
+--- linux-4.19/fs/xfs/xfs_aops.c.org   2018-11-21 10:31:12.348955352 +0100
++++ linux-4.19/fs/xfs/xfs_aops.c       2018-11-21 10:34:35.241764742 +0100
+@@ -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, page, len);
+       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)
This page took 0.036088 seconds and 4 git commands to generate.