Author: baggins                      Date: Tue Feb  1 18:00:56 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- rel 4
- fix deadlock in XFS dquot reclaim

---- Files affected:
packages/kernel:
   kernel-small_fixes.patch (1.15 -> 1.16) , kernel.spec (1.875 -> 1.876) 

---- Diffs:

================================================================
Index: packages/kernel/kernel-small_fixes.patch
diff -u packages/kernel/kernel-small_fixes.patch:1.15 
packages/kernel/kernel-small_fixes.patch:1.16
--- packages/kernel/kernel-small_fixes.patch:1.15       Wed Jan  5 21:11:41 2011
+++ packages/kernel/kernel-small_fixes.patch    Tue Feb  1 19:00:51 2011
@@ -117,3 +117,27 @@
        sky2_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_SET);
  }
 
+Commit 368e136 ("xfs: remove duplicate code from dquot reclaim") fails
+to unlock the dquot freelist when the number of loop restarts is
+exceeded in xfs_qm_dqreclaim_one(). This causes hangs in memory
+reclaim. Remove the bogus loop exit check that causes the problem.
+
+Reported-by: Malcolm Scott <[email protected]>
+Signed-off-by: Dave Chinner <[email protected]>
+---
+ fs/xfs/quota/xfs_qm.c |    2 --
+ 1 files changed, 0 insertions(+), 2 deletions(-)
+
+diff --git a/fs/xfs/quota/xfs_qm.c b/fs/xfs/quota/xfs_qm.c
+index f8e854b..9431c56 100644
+--- a/fs/xfs/quota/xfs_qm.c
++++ b/fs/xfs/quota/xfs_qm.c
+@@ -1992,8 +1992,6 @@ dqfunlock:
+               xfs_dqunlock(dqp);
+               if (dqpout)
+                       break;
+-              if (restarts >= XFS_QM_RECLAIM_MAX_RESTARTS)
+-                      return NULL;
+       }
+       mutex_unlock(&xfs_Gqm->qm_dqfrlist_lock);
+       return dqpout;

================================================================
Index: packages/kernel/kernel.spec
diff -u packages/kernel/kernel.spec:1.875 packages/kernel/kernel.spec:1.876
--- packages/kernel/kernel.spec:1.875   Tue Feb  1 06:41:09 2011
+++ packages/kernel/kernel.spec Tue Feb  1 19:00:51 2011
@@ -89,7 +89,7 @@
 
 %define                basever         2.6.37
 %define                postver         %{nil}
-%define                rel             3
+%define                rel             4
 
 %define                _enable_debug_packages                  0
 
@@ -1530,6 +1530,10 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.876  2011/02/01 18:00:51  baggins
+- rel 4
+- fix deadlock in XFS dquot reclaim
+
 Revision 1.875  2011/02/01 05:41:09  arekm
 - rel 3; updated vserver (credentials fixed) and grsecurity
 
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel-small_fixes.patch?r1=1.15&r2=1.16&f=u
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel.spec?r1=1.875&r2=1.876&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to