[Ocfs2-commits] khackel commits r1955 - trunk/fs/ocfs2/dlm
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Mon Mar 7 16:51:21 CST 2005
Author: khackel
Signed-off-by: mfasheh
Date: 2005-03-07 16:51:19 -0600 (Mon, 07 Mar 2005)
New Revision: 1955
Modified:
trunk/fs/ocfs2/dlm/dlmmaster.c
Log:
o Merged revision 1940 from dlm-reco-mig branch
- [1940] dlm_change_lockres_owner
Signed-off-by: mfasheh
Modified: trunk/fs/ocfs2/dlm/dlmmaster.c
===================================================================
--- trunk/fs/ocfs2/dlm/dlmmaster.c 2005-03-07 22:22:19 UTC (rev 1954)
+++ trunk/fs/ocfs2/dlm/dlmmaster.c 2005-03-07 22:51:19 UTC (rev 1955)
@@ -349,21 +349,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)
@@ -374,7 +363,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;
@@ -445,7 +451,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);
@@ -545,7 +551,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 */
@@ -741,7 +747,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