summaryrefslogtreecommitdiffstats
path: root/xlators/features/locks
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/features/locks')
-rw-r--r--xlators/features/locks/src/entrylk.c7
-rw-r--r--xlators/features/locks/src/inodelk.c1
2 files changed, 5 insertions, 3 deletions
diff --git a/xlators/features/locks/src/entrylk.c b/xlators/features/locks/src/entrylk.c
index 208bc140e7a..c176306fe4f 100644
--- a/xlators/features/locks/src/entrylk.c
+++ b/xlators/features/locks/src/entrylk.c
@@ -371,7 +371,6 @@ __lock_entrylk (xlator_t *this, pl_inode_t *pinode, pl_entry_lock_t *lock,
__pl_entrylk_ref (lock);
gettimeofday (&lock->granted_time, NULL);
list_add (&lock->domain_list, &dom->entrylk_list);
- lock->frame = NULL;
ret = 0;
out:
@@ -576,10 +575,12 @@ pl_common_entrylk (call_frame_t *frame, xlator_t *this,
reqlock->pinode = pinode;
ret = __lock_entrylk (this, pinode, reqlock, nonblock, dom);
- if (ret == 0)
+ if (ret == 0) {
+ reqlock->frame = NULL;
op_ret = 0;
- else
+ } else {
op_errno = -ret;
+ }
if (ctx && (!ret || !nonblock))
list_add (&reqlock->client_list,
diff --git a/xlators/features/locks/src/inodelk.c b/xlators/features/locks/src/inodelk.c
index 969b67a61db..e7093e60ed5 100644
--- a/xlators/features/locks/src/inodelk.c
+++ b/xlators/features/locks/src/inodelk.c
@@ -478,6 +478,7 @@ pl_inode_setlk (xlator_t *this, pl_ctx_t *ctx, pl_inode_t *pl_inode,
if (lock->fl_type != F_UNLCK) {
ret = __lock_inodelk (this, pl_inode, lock, can_block, dom);
if (ret == 0) {
+ lock->frame = NULL;
gf_log (this->name, GF_LOG_TRACE,
"%s (pid=%d) (lk-owner=%s) %"PRId64" - %"PRId64" => OK",
lock->fl_type == F_UNLCK ? "Unlock" : "Lock",