diff options
Diffstat (limited to 'xlators/cluster/stripe/src')
-rw-r--r-- | xlators/cluster/stripe/src/stripe-helpers.c | 2 | ||||
-rw-r--r-- | xlators/cluster/stripe/src/stripe.c | 9 |
2 files changed, 7 insertions, 4 deletions
diff --git a/xlators/cluster/stripe/src/stripe-helpers.c b/xlators/cluster/stripe/src/stripe-helpers.c index a83abdc72..a047d4a2e 100644 --- a/xlators/cluster/stripe/src/stripe-helpers.c +++ b/xlators/cluster/stripe/src/stripe-helpers.c @@ -223,6 +223,7 @@ stripe_fill_lockinfo_xattr (xlator_t *this, stripe_local_t *local, if (ret < 0) { gf_log (this->name, GF_LOG_WARNING, "dict_serialize failed (%s)", strerror (-ret)); + GF_FREE(buf); ret = -1; goto out; } @@ -280,6 +281,7 @@ stripe_fill_pathinfo_xattr (xlator_t *this, stripe_local_t *local, if (ret) { gf_log (this->name, GF_LOG_ERROR, "Cannot aggregate pathinfo list"); + GF_FREE(pathinfo_serz); goto out; } diff --git a/xlators/cluster/stripe/src/stripe.c b/xlators/cluster/stripe/src/stripe.c index c736e83ed..32d53e8e6 100644 --- a/xlators/cluster/stripe/src/stripe.c +++ b/xlators/cluster/stripe/src/stripe.c @@ -1053,6 +1053,9 @@ stripe_rename (call_frame_t *frame, xlator_t *this, loc_t *oldloc, op_errno = ENOMEM; goto err; } + + frame->local = local; + local->op_ret = -1; loc_copy (&local->loc, oldloc); loc_copy (&local->loc2, newloc); @@ -1066,8 +1069,6 @@ stripe_rename (call_frame_t *frame, xlator_t *this, loc_t *oldloc, local->fctx = fctx; } - frame->local = local; - STACK_WIND (frame, stripe_first_rename_cbk, trav->xlator, trav->xlator->fops->rename, oldloc, newloc, NULL); @@ -2879,15 +2880,15 @@ stripe_fsync (call_frame_t *frame, xlator_t *this, fd_t *fd, int32_t flags, dict goto err; } + frame->local = local; + inode_ctx_get(fd->inode, this, (uint64_t *) &fctx); if (!fctx) { op_errno = EINVAL; goto err; } local->fctx = fctx; - local->op_ret = -1; - frame->local = local; local->call_count = priv->child_count; while (trav) { |