summaryrefslogtreecommitdiffstats
path: root/xlators/protocol/server/src/server3_1-fops.c
diff options
context:
space:
mode:
authorPavan Sondur <pavan@gluster.com>2010-08-22 14:09:48 +0000
committerAnand V. Avati <avati@dev.gluster.com>2010-08-22 22:27:49 -0700
commit0d33cce6f7bbb71abe0086469f2f726151b0e62c (patch)
tree74192cf39d8963889a4f37182d2bed229e99d347 /xlators/protocol/server/src/server3_1-fops.c
parent63f9e2a49573a0b539c0082fd0c08c1b4d4db983 (diff)
protocol/server: features/locks: Fix nonblocking entrylks, inodelks in locks and server.
Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 960 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=960
Diffstat (limited to 'xlators/protocol/server/src/server3_1-fops.c')
-rw-r--r--xlators/protocol/server/src/server3_1-fops.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/xlators/protocol/server/src/server3_1-fops.c b/xlators/protocol/server/src/server3_1-fops.c
index 9fbf720716b..69f37d6b370 100644
--- a/xlators/protocol/server/src/server3_1-fops.c
+++ b/xlators/protocol/server/src/server3_1-fops.c
@@ -242,10 +242,11 @@ server_inodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
if (op_ret >= 0) {
if (state->flock.l_type == F_UNLCK)
gf_del_locker (conn->ltable, state->volume,
- &state->loc, NULL, frame->root->pid);
+ &state->loc, NULL, frame->root->lk_owner);
else
gf_add_locker (conn->ltable, state->volume,
- &state->loc, NULL, frame->root->pid);
+ &state->loc, NULL, frame->root->pid,
+ frame->root->lk_owner);
} else if (op_errno != ENOSYS) {
gf_log (this->name, GF_LOG_TRACE,
"%"PRId64": INODELK %s (%"PRId64") ==> %"PRId32" (%s)",
@@ -283,11 +284,12 @@ server_finodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
if (state->flock.l_type == F_UNLCK)
gf_del_locker (conn->ltable, state->volume,
NULL, state->fd,
- frame->root->pid);
+ frame->root->lk_owner);
else
gf_add_locker (conn->ltable, state->volume,
NULL, state->fd,
- frame->root->pid);
+ frame->root->pid,
+ frame->root->lk_owner);
} else if (op_errno != ENOSYS) {
gf_log (this->name, GF_LOG_TRACE,
"%"PRId64": FINODELK %"PRId64" (%"PRId64") ==> %"PRId32" (%s)",
@@ -323,10 +325,11 @@ server_entrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
if (op_ret >= 0) {
if (state->cmd == ENTRYLK_UNLOCK)
gf_del_locker (conn->ltable, state->volume,
- &state->loc, NULL, frame->root->pid);
+ &state->loc, NULL, frame->root->lk_owner);
else
gf_add_locker (conn->ltable, state->volume,
- &state->loc, NULL, frame->root->pid);
+ &state->loc, NULL, frame->root->pid,
+ frame->root->lk_owner);
} else if (op_errno != ENOSYS) {
gf_log (this->name, GF_LOG_TRACE,
"%"PRId64": INODELK %s (%"PRId64") ==> %"PRId32" (%s)",
@@ -361,10 +364,11 @@ server_fentrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
if (op_ret >= 0) {
if (state->cmd == ENTRYLK_UNLOCK)
gf_del_locker (conn->ltable, state->volume,
- NULL, state->fd, frame->root->pid);
+ NULL, state->fd, frame->root->lk_owner);
else
gf_add_locker (conn->ltable, state->volume,
- NULL, state->fd, frame->root->pid);
+ NULL, state->fd, frame->root->pid,
+ frame->root->lk_owner);
} else if (op_errno != ENOSYS) {
gf_log (this->name, GF_LOG_TRACE,
"%"PRId64": FENTRYLK %"PRId64" (%"PRId64") "