aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/quota/xfs_qm.c
diff options
context:
space:
mode:
authorPeter Leckie <pleckie@sgi.com>2008-10-30 02:05:04 -0400
committerLachlan McIlroy <lachlan@sgi.com>2008-10-30 02:05:04 -0400
commitbc3048e3cd3806ccfd5b16b1a30e5d6013abbd3d (patch)
treec6e27010cb66cc52f41bc696def885cb672fb61f /fs/xfs/quota/xfs_qm.c
parentd112f2984592acb774187b3adddc107fb0825500 (diff)
[XFS] Clean up dquot pincount code.
This is a code cleanup and optimization that removes a per mount point spinlock from the quota code and cleans up the code. The patch changes the pincount from being an int protected by a spinlock to an atomic_t allowing the pincount to be manipulated without holding the spinlock. This cleanup also protects against random wakup's of both the aild and xfssyncd by reevaluating the pincount after been woken. Two latter patches will address the Spurious wakeups. SGI-PV: 986789 SGI-Modid: xfs-linux-melb:xfs-kern:32215a Signed-off-by: Peter Leckie <pleckie@sgi.com> Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: David Chinner <david@fromorbit.com> Signed-off-by: Donald Douwsma <donaldd@sgi.com> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Diffstat (limited to 'fs/xfs/quota/xfs_qm.c')
-rw-r--r--fs/xfs/quota/xfs_qm.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/fs/xfs/quota/xfs_qm.c b/fs/xfs/quota/xfs_qm.c
index df0ffef9775a..270f775974e2 100644
--- a/fs/xfs/quota/xfs_qm.c
+++ b/fs/xfs/quota/xfs_qm.c
@@ -1137,7 +1137,6 @@ xfs_qm_init_quotainfo(
1137 return error; 1137 return error;
1138 } 1138 }
1139 1139
1140 spin_lock_init(&qinf->qi_pinlock);
1141 xfs_qm_list_init(&qinf->qi_dqlist, "mpdqlist", 0); 1140 xfs_qm_list_init(&qinf->qi_dqlist, "mpdqlist", 0);
1142 qinf->qi_dqreclaims = 0; 1141 qinf->qi_dqreclaims = 0;
1143 1142
@@ -1234,7 +1233,6 @@ xfs_qm_destroy_quotainfo(
1234 */ 1233 */
1235 xfs_qm_rele_quotafs_ref(mp); 1234 xfs_qm_rele_quotafs_ref(mp);
1236 1235
1237 spinlock_destroy(&qi->qi_pinlock);
1238 xfs_qm_list_destroy(&qi->qi_dqlist); 1236 xfs_qm_list_destroy(&qi->qi_dqlist);
1239 1237
1240 if (qi->qi_uquotaip) { 1238 if (qi->qi_uquotaip) {