diff options
| -rw-r--r-- | xlators/cluster/afr/src/afr-dir-write.c | 3 | ||||
| -rw-r--r-- | xlators/cluster/stripe/src/stripe.c | 20 | 
2 files changed, 11 insertions, 12 deletions
diff --git a/xlators/cluster/afr/src/afr-dir-write.c b/xlators/cluster/afr/src/afr-dir-write.c index b7e9bd8748a..46f5dceebd4 100644 --- a/xlators/cluster/afr/src/afr-dir-write.c +++ b/xlators/cluster/afr/src/afr-dir-write.c @@ -862,13 +862,12 @@ afr_link_wind_cbk (call_frame_t *frame, void *cookie, xlator_t *this,                                  local->cont.link.postparent     = *postparent;                          } -                        local->cont.link.inode    = inode; -                          fresh_children = local->fresh_children;                          fresh_children[local->success_count] = child_index;                          local->success_count++;                  } +		local->cont.link.inode = inode;                  local->op_errno = op_errno;          }          UNLOCK (&frame->lock); diff --git a/xlators/cluster/stripe/src/stripe.c b/xlators/cluster/stripe/src/stripe.c index d0542d143a7..932e907dcce 100644 --- a/xlators/cluster/stripe/src/stripe.c +++ b/xlators/cluster/stripe/src/stripe.c @@ -1951,16 +1951,6 @@ stripe_link_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          {                  callcnt = --local->call_count; -		if (IA_ISREG(inode->ia_type)) { -			inode_ctx_get(inode, this, (uint64_t *) &fctx); -			if (!fctx) { -				gf_log(this->name, GF_LOG_ERROR, -					"failed to get stripe context"); -				op_ret = -1; -				op_errno = EINVAL; -			} -		} -                  if (op_ret == -1) {                          gf_log (this->name, GF_LOG_DEBUG,                                  "%s returned error %s", @@ -1974,6 +1964,16 @@ stripe_link_cbk (call_frame_t *frame, void *cookie, xlator_t *this,                  if (op_ret >= 0) {                          local->op_ret = 0; +			if (IA_ISREG(inode->ia_type)) { +				inode_ctx_get(inode, this, (uint64_t *) &fctx); +				if (!fctx) { +					gf_log(this->name, GF_LOG_ERROR, +						"failed to get stripe context"); +					op_ret = -1; +					op_errno = EINVAL; +				} +			} +                          if (FIRST_CHILD(this) == prev->this) {                                  local->inode      = inode_ref (inode);                                  local->stbuf      = *buf;  | 
