summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavan Sondur <pavan@gluster.com>2010-10-02 08:29:38 +0000
committerVijay Bellur <vijay@dev.gluster.com>2010-10-02 07:15:00 -0700
commit77085451a88878728e703215f9bf871a74df92ba (patch)
tree6df696b357f4919ffd5354e69fffc0396ed0187f
parent8d70c0dd0a9346d75469634777daa362ec8f89f6 (diff)
Set the lock owner properly for lock self heal.
Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 865 (Add locks recovery support in GlusterFS) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=865
-rw-r--r--xlators/cluster/afr/src/afr-lk-common.c2
-rw-r--r--xlators/features/locks/src/common.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/xlators/cluster/afr/src/afr-lk-common.c b/xlators/cluster/afr/src/afr-lk-common.c
index 06f35597429..d82fb877f7f 100644
--- a/xlators/cluster/afr/src/afr-lk-common.c
+++ b/xlators/cluster/afr/src/afr-lk-common.c
@@ -1882,6 +1882,8 @@ afr_recover_lock (call_frame_t *frame, xlator_t *this,
lock_recovery_child = local->lock_recovery_child;
+ frame->root->lk_owner = flock->l_owner;
+
STACK_WIND_COOKIE (frame, afr_recover_lock_cbk,
(void *) (long) lock_recovery_child,
priv->children[lock_recovery_child],
diff --git a/xlators/features/locks/src/common.c b/xlators/features/locks/src/common.c
index 0df5fcae5b8..5d44f0e4547 100644
--- a/xlators/features/locks/src/common.c
+++ b/xlators/features/locks/src/common.c
@@ -513,6 +513,7 @@ posix_lock_to_flock (posix_lock_t *lock, struct gf_flock *flock)
flock->l_pid = lock->client_pid;
flock->l_type = lock->fl_type;
flock->l_start = lock->fl_start;
+ flock->l_owner = lock->owner;
if (lock->fl_end == LLONG_MAX)
flock->l_len = 0;