summaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/dlm/dlmlock.c
diff options
context:
space:
mode:
authorKurt Hackel <kurt.hackel@oracle.com>2006-05-01 13:30:49 -0700
committerMark Fasheh <mark.fasheh@oracle.com>2006-06-26 14:43:07 -0700
commitc87a9ae7059f718bf1bb87a702fcbef535e32111 (patch)
tree9e1a1604843b8dcde97ce392f2dc6bf50d8e70c0 /fs/ocfs2/dlm/dlmlock.c
parent2abaf97e62e51fdd09d5a46703b3b680f24bdd8b (diff)
downloadtalos-obmc-linux-c87a9ae7059f718bf1bb87a702fcbef535e32111.tar.gz
talos-obmc-linux-c87a9ae7059f718bf1bb87a702fcbef535e32111.zip
ocfs2: temporarily disable automatic lock migration
Now we never change the owner of a lock resource until unmount or node death. This will be re-enabled once some issues in the algorithm used have been resolved. Signed-off-by: Kurt Hackel <kurt.hackel@oracle.com> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'fs/ocfs2/dlm/dlmlock.c')
-rw-r--r--fs/ocfs2/dlm/dlmlock.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/fs/ocfs2/dlm/dlmlock.c b/fs/ocfs2/dlm/dlmlock.c
index 675123c30852..0ff934874942 100644
--- a/fs/ocfs2/dlm/dlmlock.c
+++ b/fs/ocfs2/dlm/dlmlock.c
@@ -227,14 +227,18 @@ static enum dlm_status dlmlock_remote(struct dlm_ctxt *dlm,
res->state &= ~DLM_LOCK_RES_IN_PROGRESS;
lock->lock_pending = 0;
if (status != DLM_NORMAL) {
- if (status != DLM_NOTQUEUED)
+ if (status != DLM_NOTQUEUED) {
+ /*
+ * DO NOT call calc_usage, as this would unhash
+ * the remote lockres before we ever get to use
+ * it. treat as if we never made any change to
+ * the lockres.
+ */
+ lockres_changed = 0;
dlm_error(status);
+ }
dlm_revert_pending_lock(res, lock);
dlm_lock_put(lock);
- /* do NOT call calc_usage, as this would unhash the remote
- * lockres before we ever get to use it. treat as if we
- * never made any change to the lockres. */
- lockres_changed = 0;
} else if (dlm_is_recovery_lock(res->lockname.name,
res->lockname.len)) {
/* special case for the $RECOVERY lock.
OpenPOWER on IntegriCloud