summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr/src/afr.c
diff options
context:
space:
mode:
authorPavan Sondur <pavan@gluster.com>2010-06-28 14:10:36 +0000
committerAnand V. Avati <avati@dev.gluster.com>2010-06-29 02:58:04 -0700
commitda1123b9d87db1642883336e990ff393ae0fcc50 (patch)
tree4be4c8913c3c41635ccfddfabe280c6f1946ecda /xlators/cluster/afr/src/afr.c
parent907f9f95a21f21aab7269268c85c3ab65bb7224b (diff)
cluster/afr: Set lk-owner to pid when fuse does not supply it.v3.0.5rc7
Use the frame->root address as lk-owner when FUSE does not supply lk_owner. Raghu, I unit tested this patch with dbench and self heal tests. Did not observe lk-owner=0 in any server logs. Can you verify this patch with the other tests you had run today? Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1032 (Set lock-owner with pid when fuse does not supply value) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1032
Diffstat (limited to 'xlators/cluster/afr/src/afr.c')
-rw-r--r--xlators/cluster/afr/src/afr.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/xlators/cluster/afr/src/afr.c b/xlators/cluster/afr/src/afr.c
index 6afb2fb97db..10f572925fa 100644
--- a/xlators/cluster/afr/src/afr.c
+++ b/xlators/cluster/afr/src/afr.c
@@ -60,6 +60,17 @@
#define AFR_ICTX_READ_CHILD_MASK 0x00000000FFFFFFFFULL
+void
+afr_set_lk_owner (call_frame_t *frame, xlator_t *this)
+{
+ if (!frame->root->lk_owner) {
+ gf_log (this->name, GF_LOG_TRACE,
+ "Setting lk-owner=%llu",
+ (unsigned long long) frame->root);
+ frame->root->lk_owner = (uint64_t) frame->root;
+ }
+}
+
uint64_t
afr_is_split_brain (xlator_t *this, inode_t *inode)
{