aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/quota
diff options
context:
space:
mode:
authorJes Sorensen <jes@trained-monkey.org>2006-01-09 18:59:21 -0500
committerIngo Molnar <mingo@hera.kernel.org>2006-01-09 18:59:21 -0500
commit794ee1baee1c26be40410233e6c20bceb2b03c08 (patch)
tree1173a5cca98ddfbc1520d2d124af6d16bf950df2 /fs/xfs/quota
parentde5097c2e73f826302cd8957c225b3725e0c7553 (diff)
[PATCH] mutex subsystem, semaphore to mutex: XFS
This patch switches XFS over to use the new mutex code directly as opposed to the previous workaround patch I posted earlier that avoided the namespace clash by forcing it back to semaphores. This falls in the 'works for me<tm>' category. Signed-off-by: Jes Sorensen <jes@trained-monkey.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'fs/xfs/quota')
-rw-r--r--fs/xfs/quota/xfs_dquot.c4
-rw-r--r--fs/xfs/quota/xfs_qm.c10
-rw-r--r--fs/xfs/quota/xfs_qm.h2
-rw-r--r--fs/xfs/quota/xfs_qm_bhv.c2
-rw-r--r--fs/xfs/quota/xfs_qm_syscalls.c8
-rw-r--r--fs/xfs/quota/xfs_quota_priv.h2
6 files changed, 14 insertions, 14 deletions
diff --git a/fs/xfs/quota/xfs_dquot.c b/fs/xfs/quota/xfs_dquot.c
index 00b5043dfa5a..772ac48329ea 100644
--- a/fs/xfs/quota/xfs_dquot.c
+++ b/fs/xfs/quota/xfs_dquot.c
@@ -104,7 +104,7 @@ xfs_qm_dqinit(
104 */ 104 */
105 if (brandnewdquot) { 105 if (brandnewdquot) {
106 dqp->dq_flnext = dqp->dq_flprev = dqp; 106 dqp->dq_flnext = dqp->dq_flprev = dqp;
107 mutex_init(&dqp->q_qlock, MUTEX_DEFAULT, "xdq"); 107 mutex_init(&dqp->q_qlock);
108 initnsema(&dqp->q_flock, 1, "fdq"); 108 initnsema(&dqp->q_flock, 1, "fdq");
109 sv_init(&dqp->q_pinwait, SV_DEFAULT, "pdq"); 109 sv_init(&dqp->q_pinwait, SV_DEFAULT, "pdq");
110 110
@@ -1382,7 +1382,7 @@ void
1382xfs_dqlock( 1382xfs_dqlock(
1383 xfs_dquot_t *dqp) 1383 xfs_dquot_t *dqp)
1384{ 1384{
1385 mutex_lock(&(dqp->q_qlock), PINOD); 1385 mutex_lock(&(dqp->q_qlock));
1386} 1386}
1387 1387
1388void 1388void
diff --git a/fs/xfs/quota/xfs_qm.c b/fs/xfs/quota/xfs_qm.c
index 5328a2937127..bb6991a7a617 100644
--- a/fs/xfs/quota/xfs_qm.c
+++ b/fs/xfs/quota/xfs_qm.c
@@ -167,7 +167,7 @@ xfs_Gqm_init(void)
167 xqm->qm_dqfree_ratio = XFS_QM_DQFREE_RATIO; 167 xqm->qm_dqfree_ratio = XFS_QM_DQFREE_RATIO;
168 xqm->qm_nrefs = 0; 168 xqm->qm_nrefs = 0;
169#ifdef DEBUG 169#ifdef DEBUG
170 mutex_init(&qcheck_lock, MUTEX_DEFAULT, "qchk"); 170 xfs_mutex_init(&qcheck_lock, MUTEX_DEFAULT, "qchk");
171#endif 171#endif
172 return xqm; 172 return xqm;
173} 173}
@@ -1166,7 +1166,7 @@ xfs_qm_init_quotainfo(
1166 qinf->qi_dqreclaims = 0; 1166 qinf->qi_dqreclaims = 0;
1167 1167
1168 /* mutex used to serialize quotaoffs */ 1168 /* mutex used to serialize quotaoffs */
1169 mutex_init(&qinf->qi_quotaofflock, MUTEX_DEFAULT, "qoff"); 1169 mutex_init(&qinf->qi_quotaofflock);
1170 1170
1171 /* Precalc some constants */ 1171 /* Precalc some constants */
1172 qinf->qi_dqchunklen = XFS_FSB_TO_BB(mp, XFS_DQUOT_CLUSTER_SIZE_FSB); 1172 qinf->qi_dqchunklen = XFS_FSB_TO_BB(mp, XFS_DQUOT_CLUSTER_SIZE_FSB);
@@ -1285,7 +1285,7 @@ xfs_qm_list_init(
1285 char *str, 1285 char *str,
1286 int n) 1286 int n)
1287{ 1287{
1288 mutex_init(&list->qh_lock, MUTEX_DEFAULT, str); 1288 mutex_init(&list->qh_lock);
1289 list->qh_next = NULL; 1289 list->qh_next = NULL;
1290 list->qh_version = 0; 1290 list->qh_version = 0;
1291 list->qh_nelems = 0; 1291 list->qh_nelems = 0;
@@ -2762,7 +2762,7 @@ STATIC void
2762xfs_qm_freelist_init(xfs_frlist_t *ql) 2762xfs_qm_freelist_init(xfs_frlist_t *ql)
2763{ 2763{
2764 ql->qh_next = ql->qh_prev = (xfs_dquot_t *) ql; 2764 ql->qh_next = ql->qh_prev = (xfs_dquot_t *) ql;
2765 mutex_init(&ql->qh_lock, MUTEX_DEFAULT, "dqf"); 2765 mutex_init(&ql->qh_lock);
2766 ql->qh_version = 0; 2766 ql->qh_version = 0;
2767 ql->qh_nelems = 0; 2767 ql->qh_nelems = 0;
2768} 2768}
@@ -2772,7 +2772,7 @@ xfs_qm_freelist_destroy(xfs_frlist_t *ql)
2772{ 2772{
2773 xfs_dquot_t *dqp, *nextdqp; 2773 xfs_dquot_t *dqp, *nextdqp;
2774 2774
2775 mutex_lock(&ql->qh_lock, PINOD); 2775 mutex_lock(&ql->qh_lock);
2776 for (dqp = ql->qh_next; 2776 for (dqp = ql->qh_next;
2777 dqp != (xfs_dquot_t *)ql; ) { 2777 dqp != (xfs_dquot_t *)ql; ) {
2778 xfs_dqlock(dqp); 2778 xfs_dqlock(dqp);
diff --git a/fs/xfs/quota/xfs_qm.h b/fs/xfs/quota/xfs_qm.h
index 12da259f2fcb..4568deb6da86 100644
--- a/fs/xfs/quota/xfs_qm.h
+++ b/fs/xfs/quota/xfs_qm.h
@@ -165,7 +165,7 @@ typedef struct xfs_dquot_acct {
165#define XFS_QM_IWARNLIMIT 5 165#define XFS_QM_IWARNLIMIT 5
166#define XFS_QM_RTBWARNLIMIT 5 166#define XFS_QM_RTBWARNLIMIT 5
167 167
168#define XFS_QM_LOCK(xqm) (mutex_lock(&xqm##_lock, PINOD)) 168#define XFS_QM_LOCK(xqm) (mutex_lock(&xqm##_lock))
169#define XFS_QM_UNLOCK(xqm) (mutex_unlock(&xqm##_lock)) 169#define XFS_QM_UNLOCK(xqm) (mutex_unlock(&xqm##_lock))
170#define XFS_QM_HOLD(xqm) ((xqm)->qm_nrefs++) 170#define XFS_QM_HOLD(xqm) ((xqm)->qm_nrefs++)
171#define XFS_QM_RELE(xqm) ((xqm)->qm_nrefs--) 171#define XFS_QM_RELE(xqm) ((xqm)->qm_nrefs--)
diff --git a/fs/xfs/quota/xfs_qm_bhv.c b/fs/xfs/quota/xfs_qm_bhv.c
index d9d2993de435..90402a1c3983 100644
--- a/fs/xfs/quota/xfs_qm_bhv.c
+++ b/fs/xfs/quota/xfs_qm_bhv.c
@@ -363,7 +363,7 @@ xfs_qm_init(void)
363 KERN_INFO "SGI XFS Quota Management subsystem\n"; 363 KERN_INFO "SGI XFS Quota Management subsystem\n";
364 364
365 printk(message); 365 printk(message);
366 mutex_init(&xfs_Gqm_lock, MUTEX_DEFAULT, "xfs_qmlock"); 366 mutex_init(&xfs_Gqm_lock);
367 vfs_bhv_set_custom(&xfs_qmops, &xfs_qmcore_xfs); 367 vfs_bhv_set_custom(&xfs_qmops, &xfs_qmcore_xfs);
368 xfs_qm_init_procfs(); 368 xfs_qm_init_procfs();
369} 369}
diff --git a/fs/xfs/quota/xfs_qm_syscalls.c b/fs/xfs/quota/xfs_qm_syscalls.c
index 24690e1af659..86a1d09f48d5 100644
--- a/fs/xfs/quota/xfs_qm_syscalls.c
+++ b/fs/xfs/quota/xfs_qm_syscalls.c
@@ -233,7 +233,7 @@ xfs_qm_scall_quotaoff(
233 */ 233 */
234 ASSERT(mp->m_quotainfo); 234 ASSERT(mp->m_quotainfo);
235 if (mp->m_quotainfo) 235 if (mp->m_quotainfo)
236 mutex_lock(&(XFS_QI_QOFFLOCK(mp)), PINOD); 236 mutex_lock(&(XFS_QI_QOFFLOCK(mp)));
237 237
238 ASSERT(mp->m_quotainfo); 238 ASSERT(mp->m_quotainfo);
239 239
@@ -508,7 +508,7 @@ xfs_qm_scall_quotaon(
508 /* 508 /*
509 * Switch on quota enforcement in core. 509 * Switch on quota enforcement in core.
510 */ 510 */
511 mutex_lock(&(XFS_QI_QOFFLOCK(mp)), PINOD); 511 mutex_lock(&(XFS_QI_QOFFLOCK(mp)));
512 mp->m_qflags |= (flags & XFS_ALL_QUOTA_ENFD); 512 mp->m_qflags |= (flags & XFS_ALL_QUOTA_ENFD);
513 mutex_unlock(&(XFS_QI_QOFFLOCK(mp))); 513 mutex_unlock(&(XFS_QI_QOFFLOCK(mp)));
514 514
@@ -617,7 +617,7 @@ xfs_qm_scall_setqlim(
617 * a quotaoff from happening). (XXXThis doesn't currently happen 617 * a quotaoff from happening). (XXXThis doesn't currently happen
618 * because we take the vfslock before calling xfs_qm_sysent). 618 * because we take the vfslock before calling xfs_qm_sysent).
619 */ 619 */
620 mutex_lock(&(XFS_QI_QOFFLOCK(mp)), PINOD); 620 mutex_lock(&(XFS_QI_QOFFLOCK(mp)));
621 621
622 /* 622 /*
623 * Get the dquot (locked), and join it to the transaction. 623 * Get the dquot (locked), and join it to the transaction.
@@ -1426,7 +1426,7 @@ xfs_qm_internalqcheck(
1426 xfs_log_force(mp, (xfs_lsn_t)0, XFS_LOG_FORCE | XFS_LOG_SYNC); 1426 xfs_log_force(mp, (xfs_lsn_t)0, XFS_LOG_FORCE | XFS_LOG_SYNC);
1427 XFS_bflush(mp->m_ddev_targp); 1427 XFS_bflush(mp->m_ddev_targp);
1428 1428
1429 mutex_lock(&qcheck_lock, PINOD); 1429 mutex_lock(&qcheck_lock);
1430 /* There should be absolutely no quota activity while this 1430 /* There should be absolutely no quota activity while this
1431 is going on. */ 1431 is going on. */
1432 qmtest_udqtab = kmem_zalloc(qmtest_hashmask * 1432 qmtest_udqtab = kmem_zalloc(qmtest_hashmask *
diff --git a/fs/xfs/quota/xfs_quota_priv.h b/fs/xfs/quota/xfs_quota_priv.h
index 7a9f3beb818c..b7ddd04aae32 100644
--- a/fs/xfs/quota/xfs_quota_priv.h
+++ b/fs/xfs/quota/xfs_quota_priv.h
@@ -51,7 +51,7 @@
51#define XFS_QI_MPLNEXT(mp) ((mp)->m_quotainfo->qi_dqlist.qh_next) 51#define XFS_QI_MPLNEXT(mp) ((mp)->m_quotainfo->qi_dqlist.qh_next)
52#define XFS_QI_MPLNDQUOTS(mp) ((mp)->m_quotainfo->qi_dqlist.qh_nelems) 52#define XFS_QI_MPLNDQUOTS(mp) ((mp)->m_quotainfo->qi_dqlist.qh_nelems)
53 53
54#define XQMLCK(h) (mutex_lock(&((h)->qh_lock), PINOD)) 54#define XQMLCK(h) (mutex_lock(&((h)->qh_lock)))
55#define XQMUNLCK(h) (mutex_unlock(&((h)->qh_lock))) 55#define XQMUNLCK(h) (mutex_unlock(&((h)->qh_lock)))
56#ifdef DEBUG 56#ifdef DEBUG
57struct xfs_dqhash; 57struct xfs_dqhash;