xfs: add a lock class for group/project dquots

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linux Kernel Mailing List
Date: Friday, April 3, 2009 - 11:05 am

Gitweb:     http://git.kernel.org/linus/98b8c7a0c42acf0d6963dbb9aabe4a2e312aae12
Commit:     98b8c7a0c42acf0d6963dbb9aabe4a2e312aae12
Parent:     5bb87a33b2cfb8e7ef3383718274094bdff266a3
Author:     Christoph Hellwig <hch@lst.de>
AuthorDate: Mon Jan 19 02:03:25 2009 +0100
Committer:  Christoph Hellwig <hch@brick.lst.de>
CommitDate: Mon Jan 19 02:03:25 2009 +0100

    xfs: add a lock class for group/project dquots
    
    We can have both a user and a group/project dquot locked at the same time,
    as long as the user dquot is locked first.  Tell lockdep about that fact
    by making the group/project dquots a different lock class.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Dave Chinner <david@fromorbit.com>
---
 fs/xfs/quota/xfs_dquot.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/fs/xfs/quota/xfs_dquot.c b/fs/xfs/quota/xfs_dquot.c
index ebdf3c8..6543c0b 100644
--- a/fs/xfs/quota/xfs_dquot.c
+++ b/fs/xfs/quota/xfs_dquot.c
@@ -73,6 +73,8 @@ int xfs_dqreq_num;
 int xfs_dqerror_mod = 33;
 #endif
 
+static struct lock_class_key xfs_dquot_other_class;
+
 /*
  * Allocate and initialize a dquot. We don't always allocate fresh memory;
  * we try to reclaim a free dquot if the number of incore dquots are above
@@ -139,7 +141,15 @@ xfs_qm_dqinit(
 		 ASSERT(dqp->q_trace);
 		 xfs_dqtrace_entry(dqp, "DQRECLAIMED_INIT");
 #endif
-	 }
+	}
+
+	/*
+	 * In either case we need to make sure group quotas have a different
+	 * lock class than user quotas, to make sure lockdep knows we can
+	 * locks of one of each at the same time.
+	 */
+	if (!(type & XFS_DQ_USER))
+		lockdep_set_class(&dqp->q_qlock, &xfs_dquot_other_class);
 
 	/*
 	 * log item gets initialized later
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
xfs: add a lock class for group/project dquots, Linux Kernel Mailing ..., (Fri Apr 3, 11:05 am)