diff options
author | Krishnan Parthasarathi <kp@gluster.com> | 2012-02-14 21:27:10 +0530 |
---|---|---|
committer | Vijay Bellur <vijay@gluster.com> | 2012-03-01 08:23:49 -0800 |
commit | bcfd365c10d20bde920a3c6cdd1f95b7da5ffe84 (patch) | |
tree | 929990279fb42a057e977d2e7d3836fab9912612 /xlators/cluster/afr/src/pump.c | |
parent | 1936e29c3ac3d6466d391545d761ad8e60ae2e03 (diff) |
afr: [Un]Set the 'right' lkowner for [f]{inode|entry}_lk and the 'enclosed' fop.
afr 'mangles' the lkowner inorder to ensure [f]inodelk/[f]entrylk fops from the
same application contend. But other fops that are 'visible' to the application
should operate with the lkowner provided by fuse for correct functioning of
posix-locks xlator.
Change-Id: I7e71f35ae7df2a070f1f46d4fc77eed26a717673
BUG: 790743
Signed-off-by: Krishnan Parthasarathi <kp@gluster.com>
Reviewed-on: http://review.gluster.com/2752
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'xlators/cluster/afr/src/pump.c')
-rw-r--r-- | xlators/cluster/afr/src/pump.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/xlators/cluster/afr/src/pump.c b/xlators/cluster/afr/src/pump.c index e795c38e096..bc95791004b 100644 --- a/xlators/cluster/afr/src/pump.c +++ b/xlators/cluster/afr/src/pump.c @@ -696,15 +696,14 @@ pump_task_completion (int ret, call_frame_t *sync_frame, void *data) int pump_start (call_frame_t *pump_frame, xlator_t *this) { - afr_private_t *priv = NULL; - pump_private_t *pump_priv = NULL; - - int ret = -1; + afr_private_t *priv = NULL; + pump_private_t *pump_priv = NULL; + int ret = -1; - priv = this->private; + priv = this->private; pump_priv = priv->pump_private; - afr_set_lk_owner (pump_frame, this); + afr_set_lk_owner (pump_frame, this, NULL); pump_pid = (uint64_t) (unsigned long)pump_frame->root; ret = synctask_new (pump_priv->env, pump_task, |