[Ocfs2-commits] khackel commits r1940 - branches/dlm-reco-mig/fs/ocfs2/dlm

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Fri Mar 4 18:42:05 CST 2005


Author: khackel
Date: 2005-03-04 18:42:02 -0600 (Fri, 04 Mar 2005)
New Revision: 1940

Modified:
   branches/dlm-reco-mig/fs/ocfs2/dlm/dlmmaster.c
Log:
* split dlm_change_lockres_owner out of dlm_set_lockres_owner,
  as per zach's suggestion.  only direct caller of
  dlm_set_lockres_owner should be dlm_init_lockres



Modified: branches/dlm-reco-mig/fs/ocfs2/dlm/dlmmaster.c
===================================================================
--- branches/dlm-reco-mig/fs/ocfs2/dlm/dlmmaster.c	2005-03-04 22:21:29 UTC (rev 1939)
+++ branches/dlm-reco-mig/fs/ocfs2/dlm/dlmmaster.c	2005-03-05 00:42:02 UTC (rev 1940)
@@ -350,21 +350,10 @@
  * LOCK RESOURCE FUNCTIONS
  */
 
-static inline void dlm_set_lockres_owner(dlm_ctxt *dlm, dlm_lock_resource *res,
-					 u8 owner, int init)
+static inline void dlm_set_lockres_owner(dlm_ctxt *dlm,
+					 dlm_lock_resource *res,
+					 u8 owner)
 {
-	if (!init) {
-		if (owner == res->owner)
-			return;
-
-		if (res->owner == dlm->group_index)
-			atomic_dec(&dlm->local_resources);
-		else if (res->owner == DLM_LOCK_RES_OWNER_UNKNOWN)
-			atomic_dec(&dlm->unknown_resources);
-		else
-			atomic_dec(&dlm->remote_resources);
-	}
-
 	if (owner == dlm->group_index)
 		atomic_inc(&dlm->local_resources);
 	else if (owner == DLM_LOCK_RES_OWNER_UNKNOWN)
@@ -375,7 +364,24 @@
 	res->owner = owner;
 }
 
+static inline void dlm_change_lockres_owner(dlm_ctxt *dlm, 
+					    dlm_lock_resource *res,
+					    u8 owner)
+{
+	if (owner == res->owner)
+		return;
 
+	if (res->owner == dlm->group_index)
+		atomic_dec(&dlm->local_resources);
+	else if (res->owner == DLM_LOCK_RES_OWNER_UNKNOWN)
+		atomic_dec(&dlm->unknown_resources);
+	else
+		atomic_dec(&dlm->remote_resources);
+
+	dlm_set_lockres_owner(dlm, res, owner);
+}
+
+
 static void dlm_lockres_release(struct kref *kref)
 {
 	dlm_lock_resource *res;
@@ -446,7 +452,7 @@
 
 	kref_init(&res->refs, dlm_lockres_release);
 
-	dlm_set_lockres_owner(dlm, res, DLM_LOCK_RES_OWNER_UNKNOWN, 1);
+	dlm_set_lockres_owner(dlm, res, DLM_LOCK_RES_OWNER_UNKNOWN);
 	res->state = DLM_LOCK_RES_IN_PROGRESS;
 
 	memset(res->lvb, 0, DLM_LVB_LEN);
@@ -546,7 +552,7 @@
 	if (flags & LKM_LOCAL) {
 		/* caller knows it's safe to assume it's not mastered elsewhere
 		 * DONE!  return right away */
-		dlm_set_lockres_owner(dlm, res, dlm->group_index, 0);
+		dlm_change_lockres_owner(dlm, res, dlm->group_index);
 		__dlm_insert_lock(dlm, res);
 		spin_unlock(&dlm->spinlock);
 		/* lockres still marked IN_PROGRESS */
@@ -742,7 +748,7 @@
 
 	/* set the lockres owner */
 	spin_lock(&res->spinlock);
-	dlm_set_lockres_owner(dlm, res, m, 0);
+	dlm_change_lockres_owner(dlm, res, m);
 	spin_unlock(&res->spinlock);
 
 leave:



More information about the Ocfs2-commits mailing list