]> git.pld-linux.org Git - packages/kernel.git/commitdiff
- up to 4.9.7
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Thu, 2 Feb 2017 18:09:25 +0000 (19:09 +0100)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Thu, 2 Feb 2017 18:09:25 +0000 (19:09 +0100)
kernel-small_fixes.patch
kernel.spec

index a5fbdf6aa5812fa569ba393b7583607bf182ae82..1bc4a8f87929ca94eb7247b4d6f51ced14645cd5 100644 (file)
@@ -64,54 +64,4 @@ index 7a30b8f..dbeddd9 100644
        if (next_id % mp->m_quotainfo->qi_dqperchunk) {
                *id = next_id;
 
-From:   Brian Foster <bfoster@redhat.com>
-Subject: [PATCH] xfs: prevent quotacheck from overloading inode lru
-
-Quotacheck runs at mount time in situations where quota accounting must
-be recalculated. In doing so, it uses bulkstat to visit every inode in
-the filesystem. Historically, every inode processed during quotacheck
-was released and immediately tagged for reclaim because quotacheck runs
-before the superblock is marked active by the VFS. In other words,
-the final iput() lead to an immediate ->destroy_inode() call, which
-allowed the XFS background reclaim worker to start reclaiming inodes.
-
-Commit 17c12bcd3 ("xfs: when replaying bmap operations, don't let
-unlinked inodes get reaped") marks the XFS superblock active sooner as
-part of the mount process to support caching inodes processed during log
-recovery. This occurs before quotacheck and thus means all inodes
-processed by quotacheck are inserted to the LRU on release.  The
-s_umount lock is held until the mount has completed and thus prevents
-the shrinkers from operating on the sb. This means that quotacheck can
-excessively populate the inode LRU and lead to OOM conditions on systems
-without sufficient RAM.
-
-Update the quotacheck bulkstat handler to set XFS_IGET_DONTCACHE on
-inodes processed by quotacheck. This causes ->drop_inode() to return 1
-and in turn causes iput_final() to evict the inode. This preserves the
-original quotacheck behavior and prevents it from overloading the LRU
-and running out of memory.
-
-CC: stable@vger.kernel.org # v4.9
-Reported-by: Martin Svec <martin.svec@zoner.cz>
-Signed-off-by: Brian Foster <bfoster@redhat.com>
----
- fs/xfs/xfs_qm.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c
-index 45e50ea..b669b12 100644
---- a/fs/xfs/xfs_qm.c
-+++ b/fs/xfs/xfs_qm.c
-@@ -1177,7 +1177,8 @@ xfs_qm_dqusage_adjust(
-        * the case in all other instances. It's OK that we do this because
-        * quotacheck is done only at mount time.
-        */
--      error = xfs_iget(mp, NULL, ino, 0, XFS_ILOCK_EXCL, &ip);
-+      error = xfs_iget(mp, NULL, ino, XFS_IGET_DONTCACHE, XFS_ILOCK_EXCL,
-+                       &ip);
-       if (error) {
-               *res = BULKSTAT_RV_NOTHING;
-               return error;
--- 
-2.7.4
 
index 78d9408c5509c23d18eded545564b74888eccec5..985a7dad3ca850d3b27c19250547bae3e2ade348 100644 (file)
@@ -73,7 +73,7 @@
 
 %define                rel             1
 %define                basever         4.9
-%define                postver         .6
+%define                postver         .7
 
 # define this to '-%{basever}' for longterm branch
 %define                versuffix       %{nil}
@@ -125,7 +125,7 @@ Source0:    https://www.kernel.org/pub/linux/kernel/v4.x/linux-%{basever}.tar.xz
 # Source0-md5: 0a68ef3615c64bd5ee54a3320e46667d
 %if "%{postver}" != ".0"
 Patch0:                https://www.kernel.org/pub/linux/kernel/v4.x/patch-%{version}.xz
-# Patch0-md5:  864724f2aad24886f464e047dd99ca4e
+# Patch0-md5:  e1f02eaa546e2f2c46b4c89b2b3c282f
 %endif
 Source1:       kernel.sysconfig
 
This page took 1.323408 seconds and 4 git commands to generate.