From: Coly Li <coyli@suse.de>
To: ocfs2-devel@oss.oracle.com
Subject: [Ocfs2-devel] [PATCH] ocfs2: replace obsoleted LKM_* dlm level with DLM_LOCK_* constants
Date: Wed, 12 Nov 2008 17:26:24 +0800 [thread overview]
Message-ID: <491AA140.3010104@suse.de> (raw)
Current code still contains obsoleted LKM_* constants for dlm levels, the patch tries to replace the
obsoleted ones with DLM_LOCK_* constants which are from <linux/dlmconstants.h>.
Signed-off-by: Coly Li <coyli@suse.de>
---
fs/ocfs2/dlm/dlmapi.h | 11 -------
fs/ocfs2/dlm/dlmast.c | 16 +++++-----
fs/ocfs2/dlm/dlmcommon.h | 15 +++++----
fs/ocfs2/dlm/dlmconvert.c | 18 ++++++------
fs/ocfs2/dlm/dlmfs.c | 7 ++--
fs/ocfs2/dlm/dlmlock.c | 8 ++--
fs/ocfs2/dlm/dlmrecovery.c | 38 ++++++++++++------------
fs/ocfs2/dlm/dlmthread.c | 20 ++++++------
fs/ocfs2/dlm/dlmunlock.c | 12 ++++----
fs/ocfs2/dlm/userdlm.c | 64 +++++++++++++++++++++---------------------
fs/ocfs2/dlmglue.c | 4 +-
fs/ocfs2/locks.c | 4 +-
fs/ocfs2/stack_o2cb.c | 24 +---------------
include/linux/dlmconstants.h | 1 +
14 files changed, 106 insertions(+), 136 deletions(-)
diff --git a/fs/ocfs2/dlm/dlmapi.h b/fs/ocfs2/dlm/dlmapi.h
index b5786a7..95838f0 100644
--- a/fs/ocfs2/dlm/dlmapi.h
+++ b/fs/ocfs2/dlm/dlmapi.h
@@ -115,17 +115,6 @@ struct dlm_lockstatus {
char lvb[DLM_LVB_LEN];
};
-/* Valid lock modes. */
-#define LKM_IVMODE (-1) /* invalid mode */
-#define LKM_NLMODE 0 /* null lock */
-#define LKM_CRMODE 1 /* concurrent read unsupported */
-#define LKM_CWMODE 2 /* concurrent write unsupported */
-#define LKM_PRMODE 3 /* protected read */
-#define LKM_PWMODE 4 /* protected write unsupported */
-#define LKM_EXMODE 5 /* exclusive */
-#define LKM_MAXMODE 5
-#define LKM_MODEMASK 0xff
-
/* Flags passed to dlmlock and dlmunlock:
* reserved: flags used by the "real" dlm
* only a few are supported by this dlm
diff --git a/fs/ocfs2/dlm/dlmast.c b/fs/ocfs2/dlm/dlmast.c
index 644bee5..3d85a6b 100644
--- a/fs/ocfs2/dlm/dlmast.c
+++ b/fs/ocfs2/dlm/dlmast.c
@@ -68,22 +68,22 @@ static int dlm_should_cancel_bast(struct dlm_ctxt *dlm, struct dlm_lock *lock)
assert_spin_locked(&dlm->ast_lock);
assert_spin_locked(&lock->spinlock);
- if (lock->ml.highest_blocked == LKM_IVMODE)
+ if (lock->ml.highest_blocked == DLM_LOCK_IV)
return 0;
- BUG_ON(lock->ml.highest_blocked == LKM_NLMODE);
+ BUG_ON(lock->ml.highest_blocked == DLM_LOCK_NL);
if (lock->bast_pending &&
list_empty(&lock->bast_list))
/* old bast already sent, ok */
return 0;
- if (lock->ml.type == LKM_EXMODE)
+ if (lock->ml.type == DLM_LOCK_EX)
/* EX blocks anything left, any bast still valid */
return 0;
- else if (lock->ml.type == LKM_NLMODE)
+ else if (lock->ml.type == DLM_LOCK_NL)
/* NL blocks nothing, no reason to send any bast, cancel it */
return 1;
- else if (lock->ml.highest_blocked != LKM_EXMODE)
+ else if (lock->ml.highest_blocked != DLM_LOCK_EX)
/* PR only blocks EX */
return 1;
@@ -118,7 +118,7 @@ static void __dlm_queue_ast(struct dlm_ctxt *dlm, struct dlm_lock *lock)
dlm->name, res->lockname.len, res->lockname.name);
lock->bast_pending = 0;
list_del_init(&lock->bast_list);
- lock->ml.highest_blocked = LKM_IVMODE;
+ lock->ml.highest_blocked = DLM_LOCK_IV;
/* removing lock from list, remove a ref. guaranteed
* this won't be the last ref because of the get above,
* so res->spinlock will not be taken here */
@@ -385,9 +385,9 @@ do_ast:
list_move_tail(&lock->list, &res->granted);
mlog(0, "ast: adding to granted list... type=%d, "
"convert_type=%d\n", lock->ml.type, lock->ml.convert_type);
- if (lock->ml.convert_type != LKM_IVMODE) {
+ if (lock->ml.convert_type != DLM_LOCK_IV) {
lock->ml.type = lock->ml.convert_type;
- lock->ml.convert_type = LKM_IVMODE;
+ lock->ml.convert_type = DLM_LOCK_IV;
} else {
// should already be there....
}
diff --git a/fs/ocfs2/dlm/dlmcommon.h b/fs/ocfs2/dlm/dlmcommon.h
index d5a86fb..59790a9 100644
--- a/fs/ocfs2/dlm/dlmcommon.h
+++ b/fs/ocfs2/dlm/dlmcommon.h
@@ -26,6 +26,7 @@
#define DLMCOMMON_H
#include <linux/kref.h>
+#include <linux/dlmconstants.h>
#define DLM_HB_NODE_DOWN_PRI (0xf000000)
#define DLM_HB_NODE_UP_PRI (0x8000000)
@@ -1027,11 +1028,11 @@ int __dlm_lockres_unused(struct dlm_lock_resource *res);
static inline const char * dlm_lock_mode_name(int mode)
{
switch (mode) {
- case LKM_EXMODE:
+ case DLM_LOCK_EX:
return "EX";
- case LKM_PRMODE:
+ case DLM_LOCK_PR:
return "PR";
- case LKM_NLMODE:
+ case DLM_LOCK_NL:
return "NL";
}
return "UNKNOWN";
@@ -1041,16 +1042,16 @@ static inline const char * dlm_lock_mode_name(int mode)
static inline int dlm_lock_compatible(int existing, int request)
{
/* NO_LOCK compatible with all */
- if (request == LKM_NLMODE ||
- existing == LKM_NLMODE)
+ if (request == DLM_LOCK_NL ||
+ existing == DLM_LOCK_NL)
return 1;
/* EX incompatible with all non-NO_LOCK */
- if (request == LKM_EXMODE)
+ if (request == DLM_LOCK_EX)
return 0;
/* request must be PR, which is compatible with PR */
- if (existing == LKM_PRMODE)
+ if (existing == DLM_LOCK_PR)
return 1;
return 0;
diff --git a/fs/ocfs2/dlm/dlmconvert.c b/fs/ocfs2/dlm/dlmconvert.c
index 75997b4..f117cf8 100644
--- a/fs/ocfs2/dlm/dlmconvert.c
+++ b/fs/ocfs2/dlm/dlmconvert.c
@@ -136,7 +136,7 @@ static enum dlm_status __dlmconvert_master(struct dlm_ctxt *dlm,
spin_lock(&lock->spinlock);
/* already converting? */
- if (lock->ml.convert_type != LKM_IVMODE) {
+ if (lock->ml.convert_type != DLM_LOCK_IV) {
mlog(ML_ERROR, "attempted to convert a lock with a lock "
"conversion pending\n");
status = DLM_DENIED;
@@ -153,17 +153,17 @@ static enum dlm_status __dlmconvert_master(struct dlm_ctxt *dlm,
if (flags & LKM_VALBLK) {
switch (lock->ml.type) {
- case LKM_EXMODE:
+ case DLM_LOCK_EX:
/* EX + LKM_VALBLK + convert == set lvb */
mlog(0, "will set lvb: converting %s->%s\n",
dlm_lock_mode_name(lock->ml.type),
dlm_lock_mode_name(type));
lock->lksb->flags |= DLM_LKSB_PUT_LVB;
break;
- case LKM_PRMODE:
- case LKM_NLMODE:
+ case DLM_LOCK_PR:
+ case DLM_LOCK_NL:
/* refetch if new level is not NL */
- if (type > LKM_NLMODE) {
+ if (type > DLM_LOCK_NL) {
mlog(0, "will fetch new value into "
"lvb: converting %s->%s\n",
dlm_lock_mode_name(lock->ml.type),
@@ -251,7 +251,7 @@ void dlm_revert_pending_convert(struct dlm_lock_resource *res,
{
/* do not alter lock refcount. switching lists. */
list_move_tail(&lock->list, &res->granted);
- lock->ml.convert_type = LKM_IVMODE;
+ lock->ml.convert_type = DLM_LOCK_IV;
lock->lksb->flags &= ~(DLM_LKSB_GET_LVB|DLM_LKSB_PUT_LVB);
}
@@ -282,7 +282,7 @@ enum dlm_status dlmconvert_remote(struct dlm_ctxt *dlm,
/* will exit this call with spinlock held */
__dlm_wait_on_lockres(res);
- if (lock->ml.convert_type != LKM_IVMODE) {
+ if (lock->ml.convert_type != DLM_LOCK_IV) {
__dlm_print_one_lock_resource(res);
mlog(ML_ERROR, "converting a remote lock that is already "
"converting! (cookie=%u:%llu, conv=%d)\n",
@@ -300,11 +300,11 @@ enum dlm_status dlmconvert_remote(struct dlm_ctxt *dlm,
lock->ml.convert_type = type;
if (flags & LKM_VALBLK) {
- if (lock->ml.type == LKM_EXMODE) {
+ if (lock->ml.type == DLM_LOCK_EX) {
flags |= LKM_PUT_LVB;
lock->lksb->flags |= DLM_LKSB_PUT_LVB;
} else {
- if (lock->ml.convert_type == LKM_NLMODE)
+ if (lock->ml.convert_type == DLM_LOCK_NL)
flags &= ~LKM_VALBLK;
else {
flags |= LKM_GET_LVB;
diff --git a/fs/ocfs2/dlm/dlmfs.c b/fs/ocfs2/dlm/dlmfs.c
index 533a789..2aae623 100644
--- a/fs/ocfs2/dlm/dlmfs.c
+++ b/fs/ocfs2/dlm/dlmfs.c
@@ -43,6 +43,7 @@
#include <linux/init.h>
#include <linux/string.h>
#include <linux/backing-dev.h>
+#include <linux/dlmconstants.h>
#include <asm/uaccess.h>
@@ -95,9 +96,9 @@ static int dlmfs_decode_open_flags(int open_flags,
int *flags)
{
if (open_flags & (O_WRONLY|O_RDWR))
- *level = LKM_EXMODE;
+ *level = DLM_LOCK_EX;
else
- *level = LKM_PRMODE;
+ *level = DLM_LOCK_PR;
*flags = 0;
if (open_flags & O_NONBLOCK)
@@ -169,7 +170,7 @@ static int dlmfs_file_release(struct inode *inode,
status = 0;
if (fp) {
level = fp->fp_lock_level;
- if (level != LKM_IVMODE)
+ if (level != DLM_LOCK_IV)
user_dlm_cluster_unlock(&ip->ip_lockres, level);
kfree(fp);
diff --git a/fs/ocfs2/dlm/dlmlock.c b/fs/ocfs2/dlm/dlmlock.c
index 83a9f29..b2e76ab 100644
--- a/fs/ocfs2/dlm/dlmlock.c
+++ b/fs/ocfs2/dlm/dlmlock.c
@@ -403,8 +403,8 @@ static void dlm_init_lock(struct dlm_lock *newlock, int type,
INIT_LIST_HEAD(&newlock->bast_list);
spin_lock_init(&newlock->spinlock);
newlock->ml.type = type;
- newlock->ml.convert_type = LKM_IVMODE;
- newlock->ml.highest_blocked = LKM_IVMODE;
+ newlock->ml.convert_type = DLM_LOCK_IV;
+ newlock->ml.highest_blocked = DLM_LOCK_IV;
newlock->ml.node = node;
newlock->ml.pad1 = 0;
newlock->ml.list = 0;
@@ -580,7 +580,7 @@ enum dlm_status dlmlock(struct dlm_ctxt *dlm, int mode,
}
status = DLM_BADPARAM;
- if (mode != LKM_EXMODE && mode != LKM_PRMODE && mode != LKM_NLMODE) {
+ if (mode != DLM_LOCK_EX && mode != DLM_LOCK_PR && mode != DLM_LOCK_NL) {
dlm_error(status);
goto error;
}
@@ -703,7 +703,7 @@ retry_lock:
/* LVB requests for non PR, PW or EX locks are
* ignored. */
- if (mode < LKM_PRMODE)
+ if (mode < DLM_LOCK_PR)
flags &= ~LKM_VALBLK;
else {
flags |= LKM_GET_LVB;
diff --git a/fs/ocfs2/dlm/dlmrecovery.c b/fs/ocfs2/dlm/dlmrecovery.c
index bcb9260..947f70c 100644
--- a/fs/ocfs2/dlm/dlmrecovery.c
+++ b/fs/ocfs2/dlm/dlmrecovery.c
@@ -1183,12 +1183,12 @@ static int dlm_add_lock_to_array(struct dlm_lock *lock,
if (lock->lksb) {
ml->flags = lock->lksb->flags;
/* send our current lvb */
- if (ml->type == LKM_EXMODE ||
- ml->type == LKM_PRMODE) {
+ if (ml->type == DLM_LOCK_EX ||
+ ml->type == DLM_LOCK_PR) {
/* if it is already set, this had better be a PR
* and it has to match */
if (!dlm_lvb_is_empty(mres->lvb) &&
- (ml->type == LKM_EXMODE ||
+ (ml->type == DLM_LOCK_EX ||
memcmp(mres->lvb, lock->lksb->lvb, DLM_LVB_LEN))) {
mlog(ML_ERROR, "mismatched lvbs!\n");
dlm_print_one_lock_resource(lock->lockres);
@@ -1211,9 +1211,9 @@ static void dlm_add_dummy_lock(struct dlm_ctxt *dlm,
struct dlm_lock dummy;
memset(&dummy, 0, sizeof(dummy));
dummy.ml.cookie = 0;
- dummy.ml.type = LKM_IVMODE;
- dummy.ml.convert_type = LKM_IVMODE;
- dummy.ml.highest_blocked = LKM_IVMODE;
+ dummy.ml.type = DLM_LOCK_IV;
+ dummy.ml.convert_type = DLM_LOCK_IV;
+ dummy.ml.highest_blocked = DLM_LOCK_IV;
dummy.lksb = NULL;
dummy.ml.node = dlm->node_num;
dlm_add_lock_to_array(&dummy, mres, DLM_BLOCKED_LIST);
@@ -1224,9 +1224,9 @@ static inline int dlm_is_dummy_lock(struct dlm_ctxt *dlm,
u8 *nodenum)
{
if (unlikely(ml->cookie == 0 &&
- ml->type == LKM_IVMODE &&
- ml->convert_type == LKM_IVMODE &&
- ml->highest_blocked == LKM_IVMODE &&
+ ml->type == DLM_LOCK_IV &&
+ ml->convert_type == DLM_LOCK_IV &&
+ ml->highest_blocked == DLM_LOCK_IV &&
ml->list == DLM_BLOCKED_LIST)) {
*nodenum = ml->node;
return 1;
@@ -1748,7 +1748,7 @@ static int dlm_process_recovery_data(struct dlm_ctxt *dlm,
added++;
break;
}
- BUG_ON(ml->highest_blocked != LKM_IVMODE);
+ BUG_ON(ml->highest_blocked != DLM_LOCK_IV);
newlock = NULL;
lksb = NULL;
@@ -1818,14 +1818,14 @@ static int dlm_process_recovery_data(struct dlm_ctxt *dlm,
lksb = newlock->lksb;
dlm_lock_attach_lockres(newlock, res);
- if (ml->convert_type != LKM_IVMODE) {
+ if (ml->convert_type != DLM_LOCK_IV) {
BUG_ON(queue != &res->converting);
newlock->ml.convert_type = ml->convert_type;
}
lksb->flags |= (ml->flags &
(DLM_LKSB_PUT_LVB|DLM_LKSB_GET_LVB));
- if (ml->type == LKM_NLMODE)
+ if (ml->type == DLM_LOCK_NL)
goto skip_lvb;
if (!dlm_lvb_is_empty(mres->lvb)) {
@@ -1842,10 +1842,10 @@ static int dlm_process_recovery_data(struct dlm_ctxt *dlm,
} else {
/* otherwise, the node is sending its
* most recent valid lvb info */
- BUG_ON(ml->type != LKM_EXMODE &&
- ml->type != LKM_PRMODE);
+ BUG_ON(ml->type != DLM_LOCK_EX &&
+ ml->type != DLM_LOCK_PR);
if (!dlm_lvb_is_empty(res->lvb) &&
- (ml->type == LKM_EXMODE ||
+ (ml->type == DLM_LOCK_EX ||
memcmp(res->lvb, mres->lvb, DLM_LVB_LEN))) {
int i;
mlog(ML_ERROR, "%s:%.*s: received bad "
@@ -2094,10 +2094,10 @@ static void dlm_finish_local_lockres_recovery(struct dlm_ctxt *dlm,
static inline int dlm_lvb_needs_invalidation(struct dlm_lock *lock, int local)
{
if (local) {
- if (lock->ml.type != LKM_EXMODE &&
- lock->ml.type != LKM_PRMODE)
+ if (lock->ml.type != DLM_LOCK_EX &&
+ lock->ml.type != DLM_LOCK_PR)
return 1;
- } else if (lock->ml.type == LKM_EXMODE)
+ } else if (lock->ml.type == DLM_LOCK_EX)
return 1;
return 0;
}
@@ -2428,7 +2428,7 @@ static int dlm_pick_recovery_master(struct dlm_ctxt *dlm)
again:
memset(&lksb, 0, sizeof(lksb));
- ret = dlmlock(dlm, LKM_EXMODE, &lksb, LKM_NOQUEUE|LKM_RECOVERY,
+ ret = dlmlock(dlm, DLM_LOCK_EX, &lksb, LKM_NOQUEUE|LKM_RECOVERY,
DLM_RECOVERY_LOCK_NAME, DLM_RECOVERY_LOCK_NAME_LEN,
dlm_reco_ast, dlm, dlm_reco_bast);
diff --git a/fs/ocfs2/dlm/dlmthread.c b/fs/ocfs2/dlm/dlmthread.c
index 4060bb3..80f1c29 100644
--- a/fs/ocfs2/dlm/dlmthread.c
+++ b/fs/ocfs2/dlm/dlmthread.c
@@ -303,7 +303,7 @@ converting:
res->lockname.name);
target = list_entry(res->converting.next, struct dlm_lock, list);
- if (target->ml.convert_type == LKM_IVMODE) {
+ if (target->ml.convert_type == DLM_LOCK_IV) {
mlog(ML_ERROR, "%.*s: converting a lock with no "
"convert_type!\n", res->lockname.len, res->lockname.name);
BUG();
@@ -317,7 +317,7 @@ converting:
target->ml.convert_type)) {
can_grant = 0;
/* queue the BAST if not already */
- if (lock->ml.highest_blocked == LKM_IVMODE) {
+ if (lock->ml.highest_blocked == DLM_LOCK_IV) {
__dlm_lockres_reserve_ast(res);
dlm_queue_bast(dlm, lock);
}
@@ -335,7 +335,7 @@ converting:
if (!dlm_lock_compatible(lock->ml.type,
target->ml.convert_type)) {
can_grant = 0;
- if (lock->ml.highest_blocked == LKM_IVMODE) {
+ if (lock->ml.highest_blocked == DLM_LOCK_IV) {
__dlm_lockres_reserve_ast(res);
dlm_queue_bast(dlm, lock);
}
@@ -348,7 +348,7 @@ converting:
/* we can convert the lock */
if (can_grant) {
spin_lock(&target->spinlock);
- BUG_ON(target->ml.highest_blocked != LKM_IVMODE);
+ BUG_ON(target->ml.highest_blocked != DLM_LOCK_IV);
mlog(0, "calling ast for converting lock: %.*s, have: %d, "
"granting: %d, node: %u\n", res->lockname.len,
@@ -356,7 +356,7 @@ converting:
target->ml.convert_type, target->ml.node);
target->ml.type = target->ml.convert_type;
- target->ml.convert_type = LKM_IVMODE;
+ target->ml.convert_type = DLM_LOCK_IV;
list_move_tail(&target->list, &res->granted);
BUG_ON(!target->lksb);
@@ -382,7 +382,7 @@ blocked:
continue;
if (!dlm_lock_compatible(lock->ml.type, target->ml.type)) {
can_grant = 0;
- if (lock->ml.highest_blocked == LKM_IVMODE) {
+ if (lock->ml.highest_blocked == DLM_LOCK_IV) {
__dlm_lockres_reserve_ast(res);
dlm_queue_bast(dlm, lock);
}
@@ -398,7 +398,7 @@ blocked:
continue;
if (!dlm_lock_compatible(lock->ml.type, target->ml.type)) {
can_grant = 0;
- if (lock->ml.highest_blocked == LKM_IVMODE) {
+ if (lock->ml.highest_blocked == DLM_LOCK_IV) {
__dlm_lockres_reserve_ast(res);
dlm_queue_bast(dlm, lock);
}
@@ -411,7 +411,7 @@ blocked:
* possible if converting list empty) */
if (can_grant) {
spin_lock(&target->spinlock);
- BUG_ON(target->ml.highest_blocked != LKM_IVMODE);
+ BUG_ON(target->ml.highest_blocked != DLM_LOCK_IV);
mlog(0, "calling ast for blocked lock: %.*s, granting: %d, "
"node: %u\n", res->lockname.len, res->lockname.name,
@@ -565,9 +565,9 @@ static void dlm_flush_asts(struct dlm_ctxt *dlm)
/* get the highest blocked lock, and reset */
spin_lock(&lock->spinlock);
- BUG_ON(lock->ml.highest_blocked <= LKM_IVMODE);
+ BUG_ON(lock->ml.highest_blocked <= DLM_LOCK_IV);
hi = lock->ml.highest_blocked;
- lock->ml.highest_blocked = LKM_IVMODE;
+ lock->ml.highest_blocked = DLM_LOCK_IV;
spin_unlock(&lock->spinlock);
/* remove from list (including ref) */
diff --git a/fs/ocfs2/dlm/dlmunlock.c b/fs/ocfs2/dlm/dlmunlock.c
index 86ca085..940978a 100644
--- a/fs/ocfs2/dlm/dlmunlock.c
+++ b/fs/ocfs2/dlm/dlmunlock.c
@@ -227,7 +227,7 @@ static enum dlm_status dlmunlock_common(struct dlm_ctxt *dlm,
if (actions & DLM_UNLOCK_CLEAR_CONVERT_TYPE) {
mlog(0, "clearing convert_type at %smaster node\n",
master_node ? "" : "non-");
- lock->ml.convert_type = LKM_IVMODE;
+ lock->ml.convert_type = DLM_LOCK_IV;
}
/* remove the extra ref on lock */
@@ -236,9 +236,9 @@ static enum dlm_status dlmunlock_common(struct dlm_ctxt *dlm,
leave:
res->state &= ~DLM_LOCK_RES_IN_PROGRESS;
if (!dlm_lock_on_list(&res->converting, lock))
- BUG_ON(lock->ml.convert_type != LKM_IVMODE);
+ BUG_ON(lock->ml.convert_type != DLM_LOCK_IV);
else
- BUG_ON(lock->ml.convert_type == LKM_IVMODE);
+ BUG_ON(lock->ml.convert_type == DLM_LOCK_IV);
spin_unlock(&lock->spinlock);
spin_unlock(&res->spinlock);
wake_up(&res->wq);
@@ -275,7 +275,7 @@ void dlm_commit_pending_cancel(struct dlm_lock_resource *res,
struct dlm_lock *lock)
{
list_move_tail(&lock->list, &res->granted);
- lock->ml.convert_type = LKM_IVMODE;
+ lock->ml.convert_type = DLM_LOCK_IV;
}
@@ -482,7 +482,7 @@ int dlm_unlock_lock_handler(struct o2net_msg *msg, u32 len, void *data,
/* lock was found on queue */
lksb = lock->lksb;
if (flags & (LKM_VALBLK|LKM_PUT_LVB) &&
- lock->ml.type != LKM_EXMODE)
+ lock->ml.type != DLM_LOCK_EX)
flags &= ~(LKM_VALBLK|LKM_PUT_LVB);
/* unlockast only called on originating node */
@@ -625,7 +625,7 @@ retry:
spin_lock(&res->spinlock);
is_master = (res->owner == dlm->node_num);
- if (flags & LKM_VALBLK && lock->ml.type != LKM_EXMODE)
+ if (flags & LKM_VALBLK && lock->ml.type != DLM_LOCK_EX)
flags &= ~LKM_VALBLK;
spin_unlock(&res->spinlock);
diff --git a/fs/ocfs2/dlm/userdlm.c b/fs/ocfs2/dlm/userdlm.c
index 4cb1d3d..6d0bd96 100644
--- a/fs/ocfs2/dlm/userdlm.c
+++ b/fs/ocfs2/dlm/userdlm.c
@@ -33,7 +33,7 @@
#include <linux/fs.h>
#include <linux/types.h>
#include <linux/crc32.h>
-
+#include <linux/dlmconstants.h>
#include "cluster/nodemanager.h"
#include "cluster/heartbeat.h"
@@ -113,12 +113,12 @@ static inline void user_recover_from_dlm_error(struct user_lock_res *lockres)
* lock types are added. */
static inline int user_highest_compat_lock_level(int level)
{
- int new_level = LKM_EXMODE;
+ int new_level = DLM_LOCK_EX;
- if (level == LKM_EXMODE)
- new_level = LKM_NLMODE;
- else if (level == LKM_PRMODE)
- new_level = LKM_PRMODE;
+ if (level == DLM_LOCK_EX)
+ new_level = DLM_LOCK_NL;
+ else if (level == DLM_LOCK_PR)
+ new_level = DLM_LOCK_PR;
return new_level;
}
@@ -140,7 +140,7 @@ static void user_ast(void *opaque)
return;
}
- mlog_bug_on_msg(lockres->l_requested == LKM_IVMODE,
+ mlog_bug_on_msg(lockres->l_requested == DLM_LOCK_IV,
"Lockres %.*s, requested ivmode. flags 0x%x\n",
lockres->l_namelen, lockres->l_name, lockres->l_flags);
@@ -148,13 +148,13 @@ static void user_ast(void *opaque)
if (lockres->l_requested < lockres->l_level) {
if (lockres->l_requested <=
user_highest_compat_lock_level(lockres->l_blocking)) {
- lockres->l_blocking = LKM_NLMODE;
+ lockres->l_blocking = DLM_LOCK_NL;
lockres->l_flags &= ~USER_LOCK_BLOCKED;
}
}
lockres->l_level = lockres->l_requested;
- lockres->l_requested = LKM_IVMODE;
+ lockres->l_requested = DLM_LOCK_IV;
lockres->l_flags |= USER_LOCK_ATTACHED;
lockres->l_flags &= ~USER_LOCK_BUSY;
@@ -193,11 +193,11 @@ static void __user_dlm_cond_queue_lockres(struct user_lock_res *lockres)
return;
switch (lockres->l_blocking) {
- case LKM_EXMODE:
+ case DLM_LOCK_EX:
if (!lockres->l_ex_holders && !lockres->l_ro_holders)
queue = 1;
break;
- case LKM_PRMODE:
+ case DLM_LOCK_PR:
if (!lockres->l_ex_holders)
queue = 1;
break;
@@ -243,7 +243,7 @@ static void user_unlock_ast(void *opaque, enum dlm_status status)
* for a concurrent cancel. */
if (lockres->l_flags & USER_LOCK_IN_TEARDOWN
&& !(lockres->l_flags & USER_LOCK_IN_CANCEL)) {
- lockres->l_level = LKM_IVMODE;
+ lockres->l_level = DLM_LOCK_IV;
} else if (status == DLM_CANCELGRANT) {
/* We tried to cancel a convert request, but it was
* already granted. Don't clear the busy flag - the
@@ -254,7 +254,7 @@ static void user_unlock_ast(void *opaque, enum dlm_status status)
} else {
BUG_ON(!(lockres->l_flags & USER_LOCK_IN_CANCEL));
/* Cancel succeeded, we want to re-queue */
- lockres->l_requested = LKM_IVMODE; /* cancel an
+ lockres->l_requested = DLM_LOCK_IV; /* cancel an
* upconvert
* request. */
lockres->l_flags &= ~USER_LOCK_IN_CANCEL;
@@ -335,7 +335,7 @@ static void user_dlm_unblock_lock(struct work_struct *work)
/* If there are still incompat holders, we can exit safely
* without worrying about re-queueing this lock as that will
* happen on the last call to user_cluster_unlock. */
- if ((lockres->l_blocking == LKM_EXMODE)
+ if ((lockres->l_blocking == DLM_LOCK_EX)
&& (lockres->l_ex_holders || lockres->l_ro_holders)) {
spin_unlock(&lockres->l_lock);
mlog(0, "can't downconvert for ex: ro = %u, ex = %u\n",
@@ -343,7 +343,7 @@ static void user_dlm_unblock_lock(struct work_struct *work)
goto drop_ref;
}
- if ((lockres->l_blocking == LKM_PRMODE)
+ if ((lockres->l_blocking == DLM_LOCK_PR)
&& lockres->l_ex_holders) {
spin_unlock(&lockres->l_lock);
mlog(0, "can't downconvert for pr: ex = %u\n",
@@ -382,10 +382,10 @@ static inline void user_dlm_inc_holders(struct user_lock_res *lockres,
int level)
{
switch(level) {
- case LKM_EXMODE:
+ case DLM_LOCK_EX:
lockres->l_ex_holders++;
break;
- case LKM_PRMODE:
+ case DLM_LOCK_PR:
lockres->l_ro_holders++;
break;
default:
@@ -412,8 +412,8 @@ int user_dlm_cluster_lock(struct user_lock_res *lockres,
int status, local_flags;
struct dlm_ctxt *dlm = dlm_ctxt_from_user_lockres(lockres);
- if (level != LKM_EXMODE &&
- level != LKM_PRMODE) {
+ if (level != DLM_LOCK_EX &&
+ level != DLM_LOCK_PR) {
mlog(ML_ERROR, "lockres %.*s: invalid request!\n",
lockres->l_namelen, lockres->l_name);
status = -EINVAL;
@@ -422,7 +422,7 @@ int user_dlm_cluster_lock(struct user_lock_res *lockres,
mlog(0, "lockres %.*s: asking for %s lock, passed flags = 0x%x\n",
lockres->l_namelen, lockres->l_name,
- (level == LKM_EXMODE) ? "LKM_EXMODE" : "LKM_PRMODE",
+ (level == DLM_LOCK_EX) ? "DLM_LOCK_EX" : "DLM_LOCK_PR",
lkm_flags);
again:
@@ -458,15 +458,15 @@ again:
if (level > lockres->l_level) {
local_flags = lkm_flags | LKM_VALBLK;
- if (lockres->l_level != LKM_IVMODE)
+ if (lockres->l_level != DLM_LOCK_IV)
local_flags |= LKM_CONVERT;
lockres->l_requested = level;
lockres->l_flags |= USER_LOCK_BUSY;
spin_unlock(&lockres->l_lock);
- BUG_ON(level == LKM_IVMODE);
- BUG_ON(level == LKM_NLMODE);
+ BUG_ON(level == DLM_LOCK_IV);
+ BUG_ON(level == DLM_LOCK_NL);
/* call dlm_lock to upgrade lock now */
status = dlmlock(dlm,
@@ -506,11 +506,11 @@ static inline void user_dlm_dec_holders(struct user_lock_res *lockres,
int level)
{
switch(level) {
- case LKM_EXMODE:
+ case DLM_LOCK_EX:
BUG_ON(!lockres->l_ex_holders);
lockres->l_ex_holders--;
break;
- case LKM_PRMODE:
+ case DLM_LOCK_PR:
BUG_ON(!lockres->l_ro_holders);
lockres->l_ro_holders--;
break;
@@ -522,8 +522,8 @@ static inline void user_dlm_dec_holders(struct user_lock_res *lockres,
void user_dlm_cluster_unlock(struct user_lock_res *lockres,
int level)
{
- if (level != LKM_EXMODE &&
- level != LKM_PRMODE) {
+ if (level != DLM_LOCK_EX &&
+ level != DLM_LOCK_PR) {
mlog(ML_ERROR, "lockres %.*s: invalid request!\n",
lockres->l_namelen, lockres->l_name);
return;
@@ -546,7 +546,7 @@ void user_dlm_write_lvb(struct inode *inode,
spin_lock(&lockres->l_lock);
- BUG_ON(lockres->l_level < LKM_EXMODE);
+ BUG_ON(lockres->l_level < DLM_LOCK_EX);
memcpy(lvb, val, len);
spin_unlock(&lockres->l_lock);
@@ -563,7 +563,7 @@ void user_dlm_read_lvb(struct inode *inode,
spin_lock(&lockres->l_lock);
- BUG_ON(lockres->l_level < LKM_PRMODE);
+ BUG_ON(lockres->l_level < DLM_LOCK_PR);
memcpy(val, lvb, len);
spin_unlock(&lockres->l_lock);
@@ -576,9 +576,9 @@ void user_dlm_lock_res_init(struct user_lock_res *lockres,
spin_lock_init(&lockres->l_lock);
init_waitqueue_head(&lockres->l_event);
- lockres->l_level = LKM_IVMODE;
- lockres->l_requested = LKM_IVMODE;
- lockres->l_blocking = LKM_IVMODE;
+ lockres->l_level = DLM_LOCK_IV;
+ lockres->l_requested = DLM_LOCK_IV;
+ lockres->l_blocking = DLM_LOCK_IV;
/* should have been checked before getting here. */
BUG_ON(dentry->d_name.len >= USER_DLM_LOCK_ID_MAX_LEN);
diff --git a/fs/ocfs2/dlmglue.c b/fs/ocfs2/dlmglue.c
index ec68442..b1b47bd 100644
--- a/fs/ocfs2/dlmglue.c
+++ b/fs/ocfs2/dlmglue.c
@@ -392,12 +392,12 @@ static void ocfs2_update_lock_stats(struct ocfs2_lock_res *res, int level,
struct timespec ts = current_kernel_time();
unsigned long long time = timespec_to_ns(&ts) - mw->mw_lock_start;
- if (level == LKM_PRMODE) {
+ if (level == DLM_LOCK_PR) {
num = &res->l_lock_num_prmode;
sum = &res->l_lock_total_prmode;
max = &res->l_lock_max_prmode;
failed = &res->l_lock_num_prmode_failed;
- } else if (level == LKM_EXMODE) {
+ } else if (level == DLM_LOCK_EX) {
num = &res->l_lock_num_exmode;
sum = &res->l_lock_total_exmode;
max = &res->l_lock_max_exmode;
diff --git a/fs/ocfs2/locks.c b/fs/ocfs2/locks.c
index 544ac62..eb0a42d 100644
--- a/fs/ocfs2/locks.c
+++ b/fs/ocfs2/locks.c
@@ -51,10 +51,10 @@ static int ocfs2_do_flock(struct file *file, struct inode *inode,
mutex_lock(&fp->fp_mutex);
if (lockres->l_flags & OCFS2_LOCK_ATTACHED &&
- lockres->l_level > LKM_NLMODE) {
+ lockres->l_level > DLM_LOCK_NL) {
int old_level = 0;
- if (lockres->l_level == LKM_EXMODE)
+ if (lockres->l_level == DLM_LOCK_EX)
old_level = 1;
if (level == old_level)
diff --git a/fs/ocfs2/stack_o2cb.c b/fs/ocfs2/stack_o2cb.c
index fcd120f..351a06f 100644
--- a/fs/ocfs2/stack_o2cb.c
+++ b/fs/ocfs2/stack_o2cb.c
@@ -35,31 +35,9 @@ struct o2dlm_private {
static struct ocfs2_stack_plugin o2cb_stack;
-/* These should be identical */
-#if (DLM_LOCK_IV != LKM_IVMODE)
-# error Lock modes do not match
-#endif
-#if (DLM_LOCK_NL != LKM_NLMODE)
-# error Lock modes do not match
-#endif
-#if (DLM_LOCK_CR != LKM_CRMODE)
-# error Lock modes do not match
-#endif
-#if (DLM_LOCK_CW != LKM_CWMODE)
-# error Lock modes do not match
-#endif
-#if (DLM_LOCK_PR != LKM_PRMODE)
-# error Lock modes do not match
-#endif
-#if (DLM_LOCK_PW != LKM_PWMODE)
-# error Lock modes do not match
-#endif
-#if (DLM_LOCK_EX != LKM_EXMODE)
-# error Lock modes do not match
-#endif
static inline int mode_to_o2dlm(int mode)
{
- BUG_ON(mode > LKM_MAXMODE);
+ BUG_ON(mode > DLM_LOCK_MAX);
return mode;
}
diff --git a/include/linux/dlmconstants.h b/include/linux/dlmconstants.h
index 47bf08d..f87bbc1 100644
--- a/include/linux/dlmconstants.h
+++ b/include/linux/dlmconstants.h
@@ -33,6 +33,7 @@
#define DLM_LOCK_PR 3 /* protected read */
#define DLM_LOCK_PW 4 /* protected write */
#define DLM_LOCK_EX 5 /* exclusive */
+#define DLM_LOCK_MAX 5
/*
--
Coly Li
SuSE PRC Labs
reply other threads:[~2008-11-12 9:26 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=491AA140.3010104@suse.de \
--to=coyli@suse.de \
--cc=ocfs2-devel@oss.oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.