From fcd35ea786dea454b11837f818be959082c8e731 Mon Sep 17 00:00:00 2001 From: Pranith Kumar K Date: Mon, 30 May 2011 07:55:00 +0000 Subject: features/locks: Unwind with SUCCESS on non-blocking entrylk success Signed-off-by: Pranith Kumar K Signed-off-by: Anand Avati BUG: 2949 (self-heal hangs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2949 --- xlators/features/locks/src/entrylk.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'xlators/features/locks/src/entrylk.c') diff --git a/xlators/features/locks/src/entrylk.c b/xlators/features/locks/src/entrylk.c index e58c1a2c3..9e7d4c878 100644 --- a/xlators/features/locks/src/entrylk.c +++ b/xlators/features/locks/src/entrylk.c @@ -671,6 +671,7 @@ pl_common_entrylk (call_frame_t *frame, xlator_t *this, break; case ENTRYLK_LOCK_NB: + unwind = 1; pthread_mutex_lock (&pinode->mutex); { ret = __lock_name (pinode, basename, type, @@ -678,11 +679,11 @@ pl_common_entrylk (call_frame_t *frame, xlator_t *this, } pthread_mutex_unlock (&pinode->mutex); - if (ret < 0) + if (ret < 0) { op_errno = -ret; + goto out; + } - unwind = 1; - goto out; break; case ENTRYLK_UNLOCK: -- cgit