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
This commit is contained in:
Anand Avati 2010-03-04 06:52:49 +00:00 committed by Anand V. Avati
parent 727fe837b8
commit 8cb697667f

View File

@ -1236,15 +1236,18 @@ dht_unlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
preparent->st_ino = local->loc.parent->ino;
postparent->st_ino = local->loc.parent->ino;
local->op_ret = 0;
local->postparent = *postparent;
local->preparent = *preparent;
WIPE (&local->postparent);
WIPE (&local->preparent);
}
unlock:
UNLOCK (&frame->lock);
WIPE (postparent);
WIPE (preparent);
DHT_STACK_UNWIND (unlink, frame, local->op_ret, local->op_errno,
preparent, postparent);
&local->preparent, &local->postparent);
return 0;
}