summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnand Avati <avati@gluster.com>2010-03-04 06:49:26 +0000
committerAnand V. Avati <avati@dev.gluster.com>2010-03-04 04:37:25 -0800
commit95a5ba06a80e151c8dc95a3ec7cc6c1c39664d85 (patch)
treee915fbae54168dffbc6d15822c88b88ad0493718
parent789a2aa2276bd5d0986aa60dd7407d659ca8e056 (diff)
dht: preserve and return proper pre/postparent structures during unlink
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 689 (Segfault (11) on op UNLINK) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=689
-rw-r--r--xlators/cluster/dht/src/dht-common.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c
index 6fdebee8884..1b9834e2b5e 100644
--- a/xlators/cluster/dht/src/dht-common.c
+++ b/xlators/cluster/dht/src/dht-common.c
@@ -1219,6 +1219,8 @@ dht_unlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
}
local->op_ret = 0;
+ local->postparent = *postparent;
+ local->preparent = *preparent;
}
unlock:
UNLOCK (&frame->lock);
@@ -1226,7 +1228,7 @@ unlock:
this_call_cnt = dht_frame_return (frame);
if (is_last_call (this_call_cnt))
DHT_STACK_UNWIND (unlink, frame, local->op_ret, local->op_errno,
- NULL, NULL);
+ &local->preparent, &local->postparent);
return 0;
}