diff options
Diffstat (limited to 'xlators/cluster/afr/src/afr-inode-write.c')
| -rw-r--r-- | xlators/cluster/afr/src/afr-inode-write.c | 1768 | 
1 files changed, 884 insertions, 884 deletions
diff --git a/xlators/cluster/afr/src/afr-inode-write.c b/xlators/cluster/afr/src/afr-inode-write.c index 7a908acd7a6..587e4840008 100644 --- a/xlators/cluster/afr/src/afr-inode-write.c +++ b/xlators/cluster/afr/src/afr-inode-write.c @@ -52,141 +52,141 @@  int  afr_writev_unwind (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *   local = NULL; -	call_frame_t   *main_frame = NULL; +        afr_local_t *   local = NULL; +        call_frame_t   *main_frame = NULL; -	local = frame->local; +        local = frame->local; -	LOCK (&frame->lock); -	{ -		if (local->transaction.main_frame) -			main_frame = local->transaction.main_frame; -		local->transaction.main_frame = NULL; -	} -	UNLOCK (&frame->lock); +        LOCK (&frame->lock); +        { +                if (local->transaction.main_frame) +                        main_frame = local->transaction.main_frame; +                local->transaction.main_frame = NULL; +        } +        UNLOCK (&frame->lock); -	if (main_frame) { +        if (main_frame) {                  local->cont.writev.prebuf.ia_ino  = local->cont.writev.ino;                  local->cont.writev.postbuf.ia_ino = local->cont.writev.ino; -		AFR_STACK_UNWIND (writev, main_frame, +                AFR_STACK_UNWIND (writev, main_frame,                                    local->op_ret, local->op_errno,                                    &local->cont.writev.prebuf,                                    &local->cont.writev.postbuf); -	} -	return 0; +        } +        return 0;  }  int -afr_writev_wind_cbk (call_frame_t *frame, void *cookie, xlator_t *this,  -		     int32_t op_ret, int32_t op_errno, struct iatt *prebuf, +afr_writev_wind_cbk (call_frame_t *frame, void *cookie, xlator_t *this, +                     int32_t op_ret, int32_t op_errno, struct iatt *prebuf,                       struct iatt *postbuf)  { -	afr_local_t *   local = NULL; +        afr_local_t *   local = NULL; -	int child_index = (long) cookie; -	int call_count  = -1; +        int child_index = (long) cookie; +        int call_count  = -1;          int read_child  = 0; -	local = frame->local; +        local = frame->local;          read_child = afr_read_child (this, local->fd->inode); -	LOCK (&frame->lock); -	{ +        LOCK (&frame->lock); +        {                  if (child_index == read_child) {                          local->read_child_returned = _gf_true;                  } -		if (afr_fop_failed (op_ret, op_errno)) -			afr_transaction_fop_failed (frame, this, child_index); +                if (afr_fop_failed (op_ret, op_errno)) +                        afr_transaction_fop_failed (frame, this, child_index); -		if (op_ret != -1) { -			if (local->success_count == 0) { -				local->op_ret              = op_ret; -				local->cont.writev.prebuf  = *prebuf; -				local->cont.writev.postbuf = *postbuf; -			} +                if (op_ret != -1) { +                        if (local->success_count == 0) { +                                local->op_ret              = op_ret; +                                local->cont.writev.prebuf  = *prebuf; +                                local->cont.writev.postbuf = *postbuf; +                        }                          if (child_index == read_child) {                                  local->cont.writev.prebuf  = *prebuf;                                  local->cont.writev.postbuf = *postbuf;                          } -		} +                } -		local->op_errno = op_errno; -	} -	UNLOCK (&frame->lock); +                local->op_errno = op_errno; +        } +        UNLOCK (&frame->lock); -	call_count = afr_frame_return (frame); +        call_count = afr_frame_return (frame); -	if (call_count == 0) { -		local->transaction.unwind (frame, this); +        if (call_count == 0) { +                local->transaction.unwind (frame, this); -		local->transaction.resume (frame, this); -	} -	return 0; +                local->transaction.resume (frame, this); +        } +        return 0;  }  int  afr_writev_wind (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *local = NULL; -	afr_private_t *priv = NULL; -	 -	int i = 0; -	int call_count = -1; - -	local = frame->local; -	priv = this->private; - -	call_count = afr_up_children_count (priv->child_count, local->child_up); - -	if (call_count == 0) { -		local->transaction.resume (frame, this); -		return 0; -	} - -	local->call_count = call_count; - -	for (i = 0; i < priv->child_count; i++) {				 -		if (local->child_up[i]) { -			STACK_WIND_COOKIE (frame, afr_writev_wind_cbk,  -					   (void *) (long) i,	 -					   priv->children[i],  -					   priv->children[i]->fops->writev, -					   local->fd,  -					   local->cont.writev.vector, -					   local->cont.writev.count,  -					   local->cont.writev.offset, +        afr_local_t *local = NULL; +        afr_private_t *priv = NULL; + +        int i = 0; +        int call_count = -1; + +        local = frame->local; +        priv = this->private; + +        call_count = afr_up_children_count (priv->child_count, local->child_up); + +        if (call_count == 0) { +                local->transaction.resume (frame, this); +                return 0; +        } + +        local->call_count = call_count; + +        for (i = 0; i < priv->child_count; i++) { +                if (local->child_up[i]) { +                        STACK_WIND_COOKIE (frame, afr_writev_wind_cbk, +                                           (void *) (long) i, +                                           priv->children[i], +                                           priv->children[i]->fops->writev, +                                           local->fd, +                                           local->cont.writev.vector, +                                           local->cont.writev.count, +                                           local->cont.writev.offset,                                             local->cont.writev.iobref); -		 -			if (!--call_count) -				break; -		} -	} -	 -	return 0; + +                        if (!--call_count) +                                break; +                } +        } + +        return 0;  }  int  afr_writev_done (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *local = NULL; +        afr_local_t *local = NULL; -	local = frame->local; +        local = frame->local;          iobref_unref (local->cont.writev.iobref); -	local->cont.writev.iobref = NULL; +        local->cont.writev.iobref = NULL; -	local->transaction.unwind (frame, this); +        local->transaction.unwind (frame, this); -	AFR_STACK_DESTROY (frame); +        AFR_STACK_DESTROY (frame); -	return 0; +        return 0;  } @@ -201,88 +201,88 @@ afr_do_writev (call_frame_t *frame, xlator_t *this)          local = frame->local; -	transaction_frame = copy_frame (frame); -	if (!transaction_frame) { -		gf_log (this->name, GF_LOG_ERROR, -			"Out of memory."); +        transaction_frame = copy_frame (frame); +        if (!transaction_frame) { +                gf_log (this->name, GF_LOG_ERROR, +                        "Out of memory.");                  op_errno = ENOMEM; -		goto out; -	} +                goto out; +        } -	transaction_frame->local = local; +        transaction_frame->local = local;          frame->local = NULL; -	local->op = GF_FOP_WRITE; +        local->op = GF_FOP_WRITE;          local->success_count      = 0; -	local->transaction.fop    = afr_writev_wind; -	local->transaction.done   = afr_writev_done; -	local->transaction.unwind = afr_writev_unwind; - -	local->transaction.main_frame = frame; -	if (local->fd->flags & O_APPEND) { -		local->transaction.start   = 0; -		local->transaction.len     = 0; -	} else { -		local->transaction.start   = local->cont.writev.offset; -		local->transaction.len     = iov_length (local->cont.writev.vector, +        local->transaction.fop    = afr_writev_wind; +        local->transaction.done   = afr_writev_done; +        local->transaction.unwind = afr_writev_unwind; + +        local->transaction.main_frame = frame; +        if (local->fd->flags & O_APPEND) { +                local->transaction.start   = 0; +                local->transaction.len     = 0; +        } else { +                local->transaction.start   = local->cont.writev.offset; +                local->transaction.len     = iov_length (local->cont.writev.vector,                                                           local->cont.writev.count); -	} +        } -	afr_transaction (transaction_frame, this, AFR_DATA_TRANSACTION); +        afr_transaction (transaction_frame, this, AFR_DATA_TRANSACTION);          op_ret = 0;  out: -	if (op_ret == -1) { -		if (transaction_frame) -			AFR_STACK_DESTROY (transaction_frame); -		AFR_STACK_UNWIND (writev, frame, op_ret, op_errno, NULL, NULL); -	} +        if (op_ret == -1) { +                if (transaction_frame) +                        AFR_STACK_DESTROY (transaction_frame); +                AFR_STACK_UNWIND (writev, frame, op_ret, op_errno, NULL, NULL); +        }          return 0;  }  int -afr_writev (call_frame_t *frame, xlator_t *this, fd_t *fd,  -	    struct iovec *vector, int32_t count, off_t offset, +afr_writev (call_frame_t *frame, xlator_t *this, fd_t *fd, +            struct iovec *vector, int32_t count, off_t offset,              struct iobref *iobref)  { -	afr_private_t * priv  = NULL; -	afr_local_t   * local = NULL; +        afr_private_t * priv  = NULL; +        afr_local_t   * local = NULL; -	int ret = -1; +        int ret = -1; -	int op_ret   = -1; -	int op_errno = 0; +        int op_ret   = -1; +        int op_errno = 0;          uint64_t ctx;          afr_fd_ctx_t *fd_ctx = NULL; -	VALIDATE_OR_GOTO (frame, out); -	VALIDATE_OR_GOTO (this, out); -	VALIDATE_OR_GOTO (this->private, out); +        VALIDATE_OR_GOTO (frame, out); +        VALIDATE_OR_GOTO (this, out); +        VALIDATE_OR_GOTO (this->private, out); -	priv = this->private; +        priv = this->private; -	ALLOC_OR_GOTO (local, afr_local_t, out); +        ALLOC_OR_GOTO (local, afr_local_t, out); -	ret = AFR_LOCAL_INIT (local, priv); -	if (ret < 0) { -		op_errno = -ret; -		goto out; -	} +        ret = AFR_LOCAL_INIT (local, priv); +        if (ret < 0) { +                op_errno = -ret; +                goto out; +        }          frame->local = local; -	local->cont.writev.vector     = iov_dup (vector, count); -	local->cont.writev.count      = count; -	local->cont.writev.offset     = offset; -	local->cont.writev.ino        = fd->inode->ino; +        local->cont.writev.vector     = iov_dup (vector, count); +        local->cont.writev.count      = count; +        local->cont.writev.offset     = offset; +        local->cont.writev.ino        = fd->inode->ino;          local->cont.writev.iobref     = iobref_ref (iobref); -	local->fd                = fd_ref (fd); +        local->fd                = fd_ref (fd);          ret = fd_ctx_get (fd, this, &ctx);          if (ret < 0) { @@ -303,13 +303,13 @@ afr_writev (call_frame_t *frame, xlator_t *this, fd_t *fd,                  afr_do_writev (frame, this);          } -	op_ret = 0; +        op_ret = 0;  out: -	if (op_ret == -1) { -		AFR_STACK_UNWIND (writev, frame, op_ret, op_errno, NULL, NULL); -	} +        if (op_ret == -1) { +                AFR_STACK_UNWIND (writev, frame, op_ret, op_errno, NULL, NULL); +        } -	return 0; +        return 0;  } @@ -320,20 +320,20 @@ out:  int  afr_truncate_unwind (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *   local = NULL; -	call_frame_t   *main_frame = NULL; +        afr_local_t *   local = NULL; +        call_frame_t   *main_frame = NULL; -	local = frame->local; +        local = frame->local; -	LOCK (&frame->lock); -	{ -		if (local->transaction.main_frame) -			main_frame = local->transaction.main_frame; -		local->transaction.main_frame = NULL; -	} -	UNLOCK (&frame->lock); +        LOCK (&frame->lock); +        { +                if (local->transaction.main_frame) +                        main_frame = local->transaction.main_frame; +                local->transaction.main_frame = NULL; +        } +        UNLOCK (&frame->lock); -	if (main_frame) { +        if (main_frame) {                  local->cont.truncate.prebuf.ia_ino  = local->cont.truncate.ino;                  local->cont.truncate.postbuf.ia_ino = local->cont.truncate.ino; @@ -343,189 +343,189 @@ afr_truncate_unwind (call_frame_t *frame, xlator_t *this)                                    &local->cont.truncate.postbuf);          } -	return 0; +        return 0;  }  int -afr_truncate_wind_cbk (call_frame_t *frame, void *cookie, xlator_t *this,  -		       int32_t op_ret, int32_t op_errno, struct iatt *prebuf, +afr_truncate_wind_cbk (call_frame_t *frame, void *cookie, xlator_t *this, +                       int32_t op_ret, int32_t op_errno, struct iatt *prebuf,                         struct iatt *postbuf)  { -	afr_local_t *   local = NULL; -	afr_private_t * priv  = NULL; +        afr_local_t *   local = NULL; +        afr_private_t * priv  = NULL; -	int child_index = (long) cookie; +        int child_index = (long) cookie;          int read_child  = 0; -	int call_count  = -1; -	int need_unwind = 0; +        int call_count  = -1; +        int need_unwind = 0; -	local = frame->local; -	priv  = this->private; +        local = frame->local; +        priv  = this->private;          read_child = afr_read_child (this, local->loc.inode); -	LOCK (&frame->lock); -	{ +        LOCK (&frame->lock); +        {                  if (child_index == read_child) {                          local->read_child_returned = _gf_true;                  } -		if (afr_fop_failed (op_ret, op_errno) && op_errno != EFBIG) -			afr_transaction_fop_failed (frame, this, child_index); +                if (afr_fop_failed (op_ret, op_errno) && op_errno != EFBIG) +                        afr_transaction_fop_failed (frame, this, child_index); -		if (op_ret != -1) { -			if (local->success_count == 0) { -				local->op_ret = op_ret; -				local->cont.truncate.prebuf  = *prebuf; -				local->cont.truncate.postbuf = *postbuf; -			} +                if (op_ret != -1) { +                        if (local->success_count == 0) { +                                local->op_ret = op_ret; +                                local->cont.truncate.prebuf  = *prebuf; +                                local->cont.truncate.postbuf = *postbuf; +                        }                          if (child_index == read_child) {                                  local->cont.truncate.prebuf  = *prebuf;                                  local->cont.truncate.postbuf = *postbuf;                          } -			local->success_count++; +                        local->success_count++; -			if ((local->success_count >= priv->wait_count) +                        if ((local->success_count >= priv->wait_count)                              && local->read_child_returned) { -				need_unwind = 1; -			} -		} -		local->op_errno = op_errno; -	} -	UNLOCK (&frame->lock); +                                need_unwind = 1; +                        } +                } +                local->op_errno = op_errno; +        } +        UNLOCK (&frame->lock); -	if (need_unwind) -		local->transaction.unwind (frame, this); +        if (need_unwind) +                local->transaction.unwind (frame, this); -	call_count = afr_frame_return (frame); +        call_count = afr_frame_return (frame); -	if (call_count == 0) { -		local->transaction.resume (frame, this); -	} +        if (call_count == 0) { +                local->transaction.resume (frame, this); +        } -	return 0; +        return 0;  }  int32_t  afr_truncate_wind (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *local = NULL; -	afr_private_t *priv = NULL; - -	int call_count = -1; -	int i = 0; - -	local = frame->local; -	priv = this->private; - -	call_count = afr_up_children_count (priv->child_count, local->child_up); - -	if (call_count == 0) { -		local->transaction.resume (frame, this); -		return 0; -	} - -	local->call_count = call_count; - -	for (i = 0; i < priv->child_count; i++) { -		if (local->child_up[i]) { -			STACK_WIND_COOKIE (frame, afr_truncate_wind_cbk, -					   (void *) (long) i, -					   priv->children[i], -					   priv->children[i]->fops->truncate, -					   &local->loc, -					   local->cont.truncate.offset); - -			if (!--call_count) -				break; -		} -	} -	 -	return 0; +        afr_local_t *local = NULL; +        afr_private_t *priv = NULL; + +        int call_count = -1; +        int i = 0; + +        local = frame->local; +        priv = this->private; + +        call_count = afr_up_children_count (priv->child_count, local->child_up); + +        if (call_count == 0) { +                local->transaction.resume (frame, this); +                return 0; +        } + +        local->call_count = call_count; + +        for (i = 0; i < priv->child_count; i++) { +                if (local->child_up[i]) { +                        STACK_WIND_COOKIE (frame, afr_truncate_wind_cbk, +                                           (void *) (long) i, +                                           priv->children[i], +                                           priv->children[i]->fops->truncate, +                                           &local->loc, +                                           local->cont.truncate.offset); + +                        if (!--call_count) +                                break; +                } +        } + +        return 0;  }  int  afr_truncate_done (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *local = NULL; +        afr_local_t *local = NULL; -	local = frame->local; +        local = frame->local; -	local->transaction.unwind (frame, this); +        local->transaction.unwind (frame, this); -	AFR_STACK_DESTROY (frame); +        AFR_STACK_DESTROY (frame); -	return 0; +        return 0;  }  int  afr_truncate (call_frame_t *frame, xlator_t *this, -	      loc_t *loc, off_t offset) +              loc_t *loc, off_t offset)  { -	afr_private_t * priv  = NULL; -	afr_local_t   * local = NULL; -	call_frame_t   *transaction_frame = NULL; +        afr_private_t * priv  = NULL; +        afr_local_t   * local = NULL; +        call_frame_t   *transaction_frame = NULL; -	int ret = -1; +        int ret = -1; -	int op_ret   = -1; -	int op_errno = 0; +        int op_ret   = -1; +        int op_errno = 0; -	VALIDATE_OR_GOTO (frame, out); -	VALIDATE_OR_GOTO (this, out); -	VALIDATE_OR_GOTO (this->private, out); +        VALIDATE_OR_GOTO (frame, out); +        VALIDATE_OR_GOTO (this, out); +        VALIDATE_OR_GOTO (this->private, out); -	priv = this->private; +        priv = this->private; -	transaction_frame = copy_frame (frame); -	if (!transaction_frame) { -		gf_log (this->name, GF_LOG_ERROR, -			"Out of memory."); -		goto out; -	} +        transaction_frame = copy_frame (frame); +        if (!transaction_frame) { +                gf_log (this->name, GF_LOG_ERROR, +                        "Out of memory."); +                goto out; +        } -	ALLOC_OR_GOTO (local, afr_local_t, out); +        ALLOC_OR_GOTO (local, afr_local_t, out); -	ret = AFR_LOCAL_INIT (local, priv); -	if (ret < 0) { -		op_errno = -ret; -		goto out; -	} +        ret = AFR_LOCAL_INIT (local, priv); +        if (ret < 0) { +                op_errno = -ret; +                goto out; +        } -	transaction_frame->local = local; +        transaction_frame->local = local; -	local->op_ret = -1; +        local->op_ret = -1; -	local->cont.truncate.offset  = offset; -	local->cont.truncate.ino     = loc->inode->ino; +        local->cont.truncate.offset  = offset; +        local->cont.truncate.ino     = loc->inode->ino; -	local->transaction.fop    = afr_truncate_wind; -	local->transaction.done   = afr_truncate_done; -	local->transaction.unwind = afr_truncate_unwind; +        local->transaction.fop    = afr_truncate_wind; +        local->transaction.done   = afr_truncate_done; +        local->transaction.unwind = afr_truncate_unwind; -	loc_copy (&local->loc, loc); +        loc_copy (&local->loc, loc); -	local->transaction.main_frame = frame; -	local->transaction.start   = 0; -	local->transaction.len     = offset; +        local->transaction.main_frame = frame; +        local->transaction.start   = 0; +        local->transaction.len     = offset; -	afr_transaction (transaction_frame, this, AFR_DATA_TRANSACTION); +        afr_transaction (transaction_frame, this, AFR_DATA_TRANSACTION); -	op_ret = 0; +        op_ret = 0;  out: -	if (op_ret == -1) { -		if (transaction_frame) -			AFR_STACK_DESTROY (transaction_frame); -		AFR_STACK_UNWIND (truncate, frame, op_ret, op_errno, NULL, NULL); -	} +        if (op_ret == -1) { +                if (transaction_frame) +                        AFR_STACK_DESTROY (transaction_frame); +                AFR_STACK_UNWIND (truncate, frame, op_ret, op_errno, NULL, NULL); +        } -	return 0; +        return 0;  } @@ -537,145 +537,145 @@ out:  int  afr_ftruncate_unwind (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *   local = NULL; -	call_frame_t   *main_frame = NULL; +        afr_local_t *   local = NULL; +        call_frame_t   *main_frame = NULL; -	local = frame->local; +        local = frame->local; -	LOCK (&frame->lock); -	{ -		if (local->transaction.main_frame) -			main_frame = local->transaction.main_frame; -		local->transaction.main_frame = NULL; -	} -	UNLOCK (&frame->lock); +        LOCK (&frame->lock); +        { +                if (local->transaction.main_frame) +                        main_frame = local->transaction.main_frame; +                local->transaction.main_frame = NULL; +        } +        UNLOCK (&frame->lock); -	if (main_frame) { +        if (main_frame) {                  local->cont.ftruncate.prebuf.ia_ino  = local->cont.ftruncate.ino;                  local->cont.ftruncate.postbuf.ia_ino = local->cont.ftruncate.ino; -		AFR_STACK_UNWIND (ftruncate, main_frame, local->op_ret, +                AFR_STACK_UNWIND (ftruncate, main_frame, local->op_ret,                                    local->op_errno,                                    &local->cont.ftruncate.prebuf,                                    &local->cont.ftruncate.postbuf); -	} -	return 0; +        } +        return 0;  }  int -afr_ftruncate_wind_cbk (call_frame_t *frame, void *cookie, xlator_t *this,  -			int32_t op_ret, int32_t op_errno, struct iatt *prebuf, +afr_ftruncate_wind_cbk (call_frame_t *frame, void *cookie, xlator_t *this, +                        int32_t op_ret, int32_t op_errno, struct iatt *prebuf,                          struct iatt *postbuf)  { -	afr_local_t *   local = NULL; -	afr_private_t * priv  = NULL; +        afr_local_t *   local = NULL; +        afr_private_t * priv  = NULL; -	int child_index = (long) cookie; -	int call_count  = -1; -	int need_unwind = 0; +        int child_index = (long) cookie; +        int call_count  = -1; +        int need_unwind = 0;          int read_child  = 0; -	local = frame->local; -	priv  = this->private; +        local = frame->local; +        priv  = this->private;          read_child = afr_read_child (this, local->fd->inode); -	LOCK (&frame->lock); -	{ +        LOCK (&frame->lock); +        {                  if (child_index == read_child) {                          local->read_child_returned = _gf_true;                  } -		if (afr_fop_failed (op_ret, op_errno)) -			afr_transaction_fop_failed (frame, this, child_index); +                if (afr_fop_failed (op_ret, op_errno)) +                        afr_transaction_fop_failed (frame, this, child_index); -		if (op_ret != -1) { -			if (local->success_count == 0) { -				local->op_ret = op_ret; -				local->cont.ftruncate.prebuf  = *prebuf; -				local->cont.ftruncate.postbuf = *postbuf; -			} +                if (op_ret != -1) { +                        if (local->success_count == 0) { +                                local->op_ret = op_ret; +                                local->cont.ftruncate.prebuf  = *prebuf; +                                local->cont.ftruncate.postbuf = *postbuf; +                        }                          if (child_index == read_child) {                                  local->cont.ftruncate.prebuf  = *prebuf;                                  local->cont.ftruncate.postbuf = *postbuf;                          } -			local->success_count++; +                        local->success_count++; -			if ((local->success_count >= priv->wait_count) +                        if ((local->success_count >= priv->wait_count)                              && local->read_child_returned) { -				need_unwind = 1; -			} -		} -		local->op_errno = op_errno; -	} -	UNLOCK (&frame->lock); - -	if (need_unwind) -		local->transaction.unwind (frame, this); - -	call_count = afr_frame_return (frame); - -	if (call_count == 0) { -		local->transaction.resume (frame, this); -	} -	 -	return 0; +                                need_unwind = 1; +                        } +                } +                local->op_errno = op_errno; +        } +        UNLOCK (&frame->lock); + +        if (need_unwind) +                local->transaction.unwind (frame, this); + +        call_count = afr_frame_return (frame); + +        if (call_count == 0) { +                local->transaction.resume (frame, this); +        } + +        return 0;  }  int  afr_ftruncate_wind (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *local = NULL; -	afr_private_t *priv = NULL; -	 -	int call_count = -1; -	int i = 0; - -	local = frame->local; -	priv = this->private; - -	call_count = afr_up_children_count (priv->child_count, local->child_up); - -	if (call_count == 0) { -		local->transaction.resume (frame, this); -		return 0; -	} - -	local->call_count = call_count; - -	for (i = 0; i < priv->child_count; i++) {				 -		if (local->child_up[i]) { -			STACK_WIND_COOKIE (frame, afr_ftruncate_wind_cbk, -					   (void *) (long) i,	 -					   priv->children[i],  -					   priv->children[i]->fops->ftruncate, -					   local->fd, local->cont.ftruncate.offset); - -			if (!--call_count) -				break; -		} -	} -	 -	return 0; +        afr_local_t *local = NULL; +        afr_private_t *priv = NULL; + +        int call_count = -1; +        int i = 0; + +        local = frame->local; +        priv = this->private; + +        call_count = afr_up_children_count (priv->child_count, local->child_up); + +        if (call_count == 0) { +                local->transaction.resume (frame, this); +                return 0; +        } + +        local->call_count = call_count; + +        for (i = 0; i < priv->child_count; i++) { +                if (local->child_up[i]) { +                        STACK_WIND_COOKIE (frame, afr_ftruncate_wind_cbk, +                                           (void *) (long) i, +                                           priv->children[i], +                                           priv->children[i]->fops->ftruncate, +                                           local->fd, local->cont.ftruncate.offset); + +                        if (!--call_count) +                                break; +                } +        } + +        return 0;  }  int  afr_ftruncate_done (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *local = NULL; +        afr_local_t *local = NULL; -	local = frame->local; +        local = frame->local; -	local->transaction.unwind (frame, this); +        local->transaction.unwind (frame, this); -	AFR_STACK_DESTROY (frame); +        AFR_STACK_DESTROY (frame); -	return 0; +        return 0;  } @@ -690,36 +690,36 @@ afr_do_ftruncate (call_frame_t *frame, xlator_t *this)          local = frame->local; -	transaction_frame = copy_frame (frame); -	if (!transaction_frame) { -		gf_log (this->name, GF_LOG_ERROR, -			"Out of memory."); -		goto out; -	} +        transaction_frame = copy_frame (frame); +        if (!transaction_frame) { +                gf_log (this->name, GF_LOG_ERROR, +                        "Out of memory."); +                goto out; +        }          transaction_frame->local = local;          frame->local = NULL; -	local->op = GF_FOP_FTRUNCATE; +        local->op = GF_FOP_FTRUNCATE; -	local->transaction.fop    = afr_ftruncate_wind; -	local->transaction.done   = afr_ftruncate_done; -	local->transaction.unwind = afr_ftruncate_unwind; +        local->transaction.fop    = afr_ftruncate_wind; +        local->transaction.done   = afr_ftruncate_done; +        local->transaction.unwind = afr_ftruncate_unwind; -	local->transaction.main_frame = frame; +        local->transaction.main_frame = frame; -	local->transaction.start   = 0; -	local->transaction.len     = local->cont.ftruncate.offset; +        local->transaction.start   = 0; +        local->transaction.len     = local->cont.ftruncate.offset; -	afr_transaction (transaction_frame, this, AFR_DATA_TRANSACTION); +        afr_transaction (transaction_frame, this, AFR_DATA_TRANSACTION);          op_ret = 0;  out: -	if (op_ret == -1) { -		if (transaction_frame) -			AFR_STACK_DESTROY (transaction_frame); -		AFR_STACK_UNWIND (ftruncate, frame, op_ret, op_errno, NULL, NULL); -	} +        if (op_ret == -1) { +                if (transaction_frame) +                        AFR_STACK_DESTROY (transaction_frame); +                AFR_STACK_UNWIND (ftruncate, frame, op_ret, op_errno, NULL, NULL); +        }          return 0;  } @@ -727,40 +727,40 @@ out:  int  afr_ftruncate (call_frame_t *frame, xlator_t *this, -	       fd_t *fd, off_t offset) +               fd_t *fd, off_t offset)  { -	afr_private_t * priv  = NULL; -	afr_local_t   * local = NULL; -	call_frame_t   *transaction_frame = NULL; +        afr_private_t * priv  = NULL; +        afr_local_t   * local = NULL; +        call_frame_t   *transaction_frame = NULL; -	int ret = -1; +        int ret = -1; -	int op_ret   = -1; -	int op_errno = 0; +        int op_ret   = -1; +        int op_errno = 0;          uint64_t ctx;          afr_fd_ctx_t *fd_ctx = NULL; -	VALIDATE_OR_GOTO (frame, out); -	VALIDATE_OR_GOTO (this, out); -	VALIDATE_OR_GOTO (this->private, out); +        VALIDATE_OR_GOTO (frame, out); +        VALIDATE_OR_GOTO (this, out); +        VALIDATE_OR_GOTO (this->private, out); -	priv = this->private; +        priv = this->private; -	ALLOC_OR_GOTO (local, afr_local_t, out); +        ALLOC_OR_GOTO (local, afr_local_t, out); -	ret = AFR_LOCAL_INIT (local, priv); -	if (ret < 0) { -		op_errno = -ret; -		goto out; -	} +        ret = AFR_LOCAL_INIT (local, priv); +        if (ret < 0) { +                op_errno = -ret; +                goto out; +        }          frame->local = local; -	local->cont.ftruncate.offset  = offset; -	local->cont.ftruncate.ino     = fd->inode->ino; +        local->cont.ftruncate.offset  = offset; +        local->cont.ftruncate.ino     = fd->inode->ino; -	local->fd = fd_ref (fd); +        local->fd = fd_ref (fd);          ret = fd_ctx_get (fd, this, &ctx);          if (ret < 0) { @@ -776,15 +776,15 @@ afr_ftruncate (call_frame_t *frame, xlator_t *this,                  afr_do_ftruncate (frame, this);          } -	op_ret = 0; +        op_ret = 0;  out: -	if (op_ret == -1) { -		if (transaction_frame) -			AFR_STACK_DESTROY (transaction_frame); -		AFR_STACK_UNWIND (ftruncate, frame, op_ret, op_errno, NULL, NULL); -	} +        if (op_ret == -1) { +                if (transaction_frame) +                        AFR_STACK_DESTROY (transaction_frame); +                AFR_STACK_UNWIND (ftruncate, frame, op_ret, op_errno, NULL, NULL); +        } -	return 0; +        return 0;  }  /* }}} */ @@ -794,20 +794,20 @@ out:  int  afr_setattr_unwind (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *   local = NULL; -	call_frame_t   *main_frame = NULL; +        afr_local_t *   local = NULL; +        call_frame_t   *main_frame = NULL; -	local = frame->local; +        local = frame->local; -	LOCK (&frame->lock); -	{ -		if (local->transaction.main_frame) -			main_frame = local->transaction.main_frame; -		local->transaction.main_frame = NULL; -	} -	UNLOCK (&frame->lock); +        LOCK (&frame->lock); +        { +                if (local->transaction.main_frame) +                        main_frame = local->transaction.main_frame; +                local->transaction.main_frame = NULL; +        } +        UNLOCK (&frame->lock); -	if (main_frame) { +        if (main_frame) {                  local->cont.setattr.preop_buf.ia_ino  = local->cont.setattr.ino;                  local->cont.setattr.postop_buf.ia_ino = local->cont.setattr.ino; @@ -817,7 +817,7 @@ afr_setattr_unwind (call_frame_t *frame, xlator_t *this)                                    &local->cont.setattr.postop_buf);          } -	return 0; +        return 0;  } @@ -826,116 +826,116 @@ afr_setattr_wind_cbk (call_frame_t *frame, void *cookie, xlator_t *this,                        int32_t op_ret, int32_t op_errno,                        struct iatt *preop, struct iatt *postop)  { -	afr_local_t *   local = NULL; -	afr_private_t * priv  = NULL; +        afr_local_t *   local = NULL; +        afr_private_t * priv  = NULL; -	int child_index = (long) cookie; +        int child_index = (long) cookie;          int read_child  = 0; -	int call_count  = -1; -	int need_unwind = 0; +        int call_count  = -1; +        int need_unwind = 0; -	local = frame->local; -	priv  = this->private; +        local = frame->local; +        priv  = this->private;          read_child = afr_read_child (this, local->loc.inode); -	LOCK (&frame->lock); -	{ +        LOCK (&frame->lock); +        {                  if (child_index == read_child) {                          local->read_child_returned = _gf_true;                  } -		if (afr_fop_failed (op_ret, op_errno)) -			afr_transaction_fop_failed (frame, this, child_index); +                if (afr_fop_failed (op_ret, op_errno)) +                        afr_transaction_fop_failed (frame, this, child_index); -		if (op_ret != -1) { -			if (local->success_count == 0) { -				local->op_ret = op_ret; -				local->cont.setattr.preop_buf  = *preop; +                if (op_ret != -1) { +                        if (local->success_count == 0) { +                                local->op_ret = op_ret; +                                local->cont.setattr.preop_buf  = *preop;                                  local->cont.setattr.postop_buf = *postop; -			} +                        }                          if (child_index == read_child) {                                  local->cont.setattr.preop_buf  = *preop;                                  local->cont.setattr.postop_buf = *postop;                          } -			local->success_count++; +                        local->success_count++; -			if ((local->success_count >= priv->wait_count) +                        if ((local->success_count >= priv->wait_count)                              && local->read_child_returned) { -				need_unwind = 1; -			} -		} -		local->op_errno = op_errno; -	} -	UNLOCK (&frame->lock); +                                need_unwind = 1; +                        } +                } +                local->op_errno = op_errno; +        } +        UNLOCK (&frame->lock); -	if (need_unwind) -		local->transaction.unwind (frame, this); +        if (need_unwind) +                local->transaction.unwind (frame, this); -	call_count = afr_frame_return (frame); +        call_count = afr_frame_return (frame); -	if (call_count == 0) { -		local->transaction.resume (frame, this); -	} +        if (call_count == 0) { +                local->transaction.resume (frame, this); +        } -	return 0; +        return 0;  }  int32_t  afr_setattr_wind (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *local = NULL; -	afr_private_t *priv = NULL; +        afr_local_t *local = NULL; +        afr_private_t *priv = NULL; -	int call_count = -1; -	int i = 0; +        int call_count = -1; +        int i = 0; -	local = frame->local; -	priv = this->private; +        local = frame->local; +        priv = this->private; -	call_count = afr_up_children_count (priv->child_count, local->child_up); +        call_count = afr_up_children_count (priv->child_count, local->child_up); -	if (call_count == 0) { -		local->transaction.resume (frame, this); -		return 0; -	} +        if (call_count == 0) { +                local->transaction.resume (frame, this); +                return 0; +        } -	local->call_count = call_count; +        local->call_count = call_count; -	for (i = 0; i < priv->child_count; i++) { -		if (local->child_up[i]) { -			STACK_WIND_COOKIE (frame, afr_setattr_wind_cbk, -					   (void *) (long) i, -					   priv->children[i], -					   priv->children[i]->fops->setattr, -					   &local->loc, -					   &local->cont.setattr.in_buf, +        for (i = 0; i < priv->child_count; i++) { +                if (local->child_up[i]) { +                        STACK_WIND_COOKIE (frame, afr_setattr_wind_cbk, +                                           (void *) (long) i, +                                           priv->children[i], +                                           priv->children[i]->fops->setattr, +                                           &local->loc, +                                           &local->cont.setattr.in_buf,                                             local->cont.setattr.valid); -			if (!--call_count) -				break; -		} -	} +                        if (!--call_count) +                                break; +                } +        } -	return 0; +        return 0;  }  int  afr_setattr_done (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *local = NULL; +        afr_local_t *local = NULL; -	local = frame->local; +        local = frame->local; -	local->transaction.unwind (frame, this); +        local->transaction.unwind (frame, this); -	AFR_STACK_DESTROY (frame); +        AFR_STACK_DESTROY (frame); -	return 0; +        return 0;  } @@ -943,66 +943,66 @@ int  afr_setattr (call_frame_t *frame, xlator_t *this,               loc_t *loc, struct iatt *buf, int32_t valid)  { -	afr_private_t * priv  = NULL; -	afr_local_t   * local = NULL; -	call_frame_t   *transaction_frame = NULL; +        afr_private_t * priv  = NULL; +        afr_local_t   * local = NULL; +        call_frame_t   *transaction_frame = NULL; -	int ret = -1; +        int ret = -1; -	int op_ret   = -1; -	int op_errno = 0; +        int op_ret   = -1; +        int op_errno = 0; -	VALIDATE_OR_GOTO (frame, out); -	VALIDATE_OR_GOTO (this, out); -	VALIDATE_OR_GOTO (this->private, out); +        VALIDATE_OR_GOTO (frame, out); +        VALIDATE_OR_GOTO (this, out); +        VALIDATE_OR_GOTO (this->private, out); -	priv = this->private; +        priv = this->private; -	transaction_frame = copy_frame (frame); -	if (!transaction_frame) { -		gf_log (this->name, GF_LOG_ERROR, -			"Out of memory."); -		goto out; -	} +        transaction_frame = copy_frame (frame); +        if (!transaction_frame) { +                gf_log (this->name, GF_LOG_ERROR, +                        "Out of memory."); +                goto out; +        } -	ALLOC_OR_GOTO (local, afr_local_t, out); +        ALLOC_OR_GOTO (local, afr_local_t, out); -	ret = AFR_LOCAL_INIT (local, priv); -	if (ret < 0) { -		op_errno = -ret; -		goto out; -	} +        ret = AFR_LOCAL_INIT (local, priv); +        if (ret < 0) { +                op_errno = -ret; +                goto out; +        } -	transaction_frame->local = local; +        transaction_frame->local = local; -	local->op_ret = -1; +        local->op_ret = -1; -	local->cont.setattr.ino     = loc->inode->ino; +        local->cont.setattr.ino     = loc->inode->ino;          local->cont.setattr.in_buf = *buf;          local->cont.setattr.valid  = valid; -	local->transaction.fop    = afr_setattr_wind; -	local->transaction.done   = afr_setattr_done; -	local->transaction.unwind = afr_setattr_unwind; +        local->transaction.fop    = afr_setattr_wind; +        local->transaction.done   = afr_setattr_done; +        local->transaction.unwind = afr_setattr_unwind; -	loc_copy (&local->loc, loc); +        loc_copy (&local->loc, loc); -	local->transaction.main_frame = frame; -	local->transaction.start   = LLONG_MAX - 1; -	local->transaction.len     = 0; +        local->transaction.main_frame = frame; +        local->transaction.start   = LLONG_MAX - 1; +        local->transaction.len     = 0; -	afr_transaction (transaction_frame, this, AFR_METADATA_TRANSACTION); +        afr_transaction (transaction_frame, this, AFR_METADATA_TRANSACTION); -	op_ret = 0; +        op_ret = 0;  out: -	if (op_ret == -1) { -		if (transaction_frame) -			AFR_STACK_DESTROY (transaction_frame); -		AFR_STACK_UNWIND (setattr, frame, op_ret, op_errno, NULL, NULL); -	} +        if (op_ret == -1) { +                if (transaction_frame) +                        AFR_STACK_DESTROY (transaction_frame); +                AFR_STACK_UNWIND (setattr, frame, op_ret, op_errno, NULL, NULL); +        } -	return 0; +        return 0;  }  /* {{{ fsetattr */ @@ -1010,20 +1010,20 @@ out:  int  afr_fsetattr_unwind (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *   local = NULL; -	call_frame_t   *main_frame = NULL; +        afr_local_t *   local = NULL; +        call_frame_t   *main_frame = NULL; -	local = frame->local; +        local = frame->local; -	LOCK (&frame->lock); -	{ -		if (local->transaction.main_frame) -			main_frame = local->transaction.main_frame; -		local->transaction.main_frame = NULL; -	} -	UNLOCK (&frame->lock); +        LOCK (&frame->lock); +        { +                if (local->transaction.main_frame) +                        main_frame = local->transaction.main_frame; +                local->transaction.main_frame = NULL; +        } +        UNLOCK (&frame->lock); -	if (main_frame) { +        if (main_frame) {                  local->cont.fsetattr.preop_buf.ia_ino  =                          local->cont.fsetattr.ino;                  local->cont.fsetattr.postop_buf.ia_ino = @@ -1035,7 +1035,7 @@ afr_fsetattr_unwind (call_frame_t *frame, xlator_t *this)                                    &local->cont.fsetattr.postop_buf);          } -	return 0; +        return 0;  } @@ -1044,116 +1044,116 @@ afr_fsetattr_wind_cbk (call_frame_t *frame, void *cookie, xlator_t *this,                        int32_t op_ret, int32_t op_errno,                        struct iatt *preop, struct iatt *postop)  { -	afr_local_t *   local = NULL; -	afr_private_t * priv  = NULL; +        afr_local_t *   local = NULL; +        afr_private_t * priv  = NULL; -	int child_index = (long) cookie; +        int child_index = (long) cookie;          int read_child  = 0; -	int call_count  = -1; -	int need_unwind = 0; +        int call_count  = -1; +        int need_unwind = 0; -	local = frame->local; -	priv  = this->private; +        local = frame->local; +        priv  = this->private;          read_child = afr_read_child (this, local->fd->inode); -	LOCK (&frame->lock); -	{ +        LOCK (&frame->lock); +        {                  if (child_index == read_child) {                          local->read_child_returned = _gf_true;                  } -		if (afr_fop_failed (op_ret, op_errno)) -			afr_transaction_fop_failed (frame, this, child_index); +                if (afr_fop_failed (op_ret, op_errno)) +                        afr_transaction_fop_failed (frame, this, child_index); -		if (op_ret != -1) { -			if (local->success_count == 0) { -				local->op_ret = op_ret; -				local->cont.fsetattr.preop_buf  = *preop; +                if (op_ret != -1) { +                        if (local->success_count == 0) { +                                local->op_ret = op_ret; +                                local->cont.fsetattr.preop_buf  = *preop;                                  local->cont.fsetattr.postop_buf = *postop; -			} +                        }                          if (child_index == read_child) {                                  local->cont.fsetattr.preop_buf  = *preop;                                  local->cont.fsetattr.postop_buf = *postop;                          } -			local->success_count++; +                        local->success_count++; -			if ((local->success_count >= priv->wait_count) +                        if ((local->success_count >= priv->wait_count)                              && local->read_child_returned) { -				need_unwind = 1; -			} -		} -		local->op_errno = op_errno; -	} -	UNLOCK (&frame->lock); +                                need_unwind = 1; +                        } +                } +                local->op_errno = op_errno; +        } +        UNLOCK (&frame->lock); -	if (need_unwind) -		local->transaction.unwind (frame, this); +        if (need_unwind) +                local->transaction.unwind (frame, this); -	call_count = afr_frame_return (frame); +        call_count = afr_frame_return (frame); -	if (call_count == 0) { -		local->transaction.resume (frame, this); -	} +        if (call_count == 0) { +                local->transaction.resume (frame, this); +        } -	return 0; +        return 0;  }  int32_t  afr_fsetattr_wind (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *local = NULL; -	afr_private_t *priv = NULL; +        afr_local_t *local = NULL; +        afr_private_t *priv = NULL; -	int call_count = -1; -	int i = 0; +        int call_count = -1; +        int i = 0; -	local = frame->local; -	priv = this->private; +        local = frame->local; +        priv = this->private; -	call_count = afr_up_children_count (priv->child_count, local->child_up); +        call_count = afr_up_children_count (priv->child_count, local->child_up); -	if (call_count == 0) { -		local->transaction.resume (frame, this); -		return 0; -	} +        if (call_count == 0) { +                local->transaction.resume (frame, this); +                return 0; +        } -	local->call_count = call_count; +        local->call_count = call_count; -	for (i = 0; i < priv->child_count; i++) { -		if (local->child_up[i]) { -			STACK_WIND_COOKIE (frame, afr_fsetattr_wind_cbk, -					   (void *) (long) i, -					   priv->children[i], -					   priv->children[i]->fops->fsetattr, -					   local->fd, -					   &local->cont.fsetattr.in_buf, +        for (i = 0; i < priv->child_count; i++) { +                if (local->child_up[i]) { +                        STACK_WIND_COOKIE (frame, afr_fsetattr_wind_cbk, +                                           (void *) (long) i, +                                           priv->children[i], +                                           priv->children[i]->fops->fsetattr, +                                           local->fd, +                                           &local->cont.fsetattr.in_buf,                                             local->cont.fsetattr.valid); -			if (!--call_count) -				break; -		} -	} +                        if (!--call_count) +                                break; +                } +        } -	return 0; +        return 0;  }  int  afr_fsetattr_done (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *local = NULL; +        afr_local_t *local = NULL; -	local = frame->local; +        local = frame->local; -	local->transaction.unwind (frame, this); +        local->transaction.unwind (frame, this); -	AFR_STACK_DESTROY (frame); +        AFR_STACK_DESTROY (frame); -	return 0; +        return 0;  } @@ -1161,66 +1161,66 @@ int  afr_fsetattr (call_frame_t *frame, xlator_t *this,                fd_t *fd, struct iatt *buf, int32_t valid)  { -	afr_private_t * priv  = NULL; -	afr_local_t   * local = NULL; -	call_frame_t   *transaction_frame = NULL; +        afr_private_t * priv  = NULL; +        afr_local_t   * local = NULL; +        call_frame_t   *transaction_frame = NULL; -	int ret = -1; +        int ret = -1; -	int op_ret   = -1; -	int op_errno = 0; +        int op_ret   = -1; +        int op_errno = 0; -	VALIDATE_OR_GOTO (frame, out); -	VALIDATE_OR_GOTO (this, out); -	VALIDATE_OR_GOTO (this->private, out); +        VALIDATE_OR_GOTO (frame, out); +        VALIDATE_OR_GOTO (this, out); +        VALIDATE_OR_GOTO (this->private, out); -	priv = this->private; +        priv = this->private; -	transaction_frame = copy_frame (frame); -	if (!transaction_frame) { -		gf_log (this->name, GF_LOG_ERROR, -			"Out of memory."); -		goto out; -	} +        transaction_frame = copy_frame (frame); +        if (!transaction_frame) { +                gf_log (this->name, GF_LOG_ERROR, +                        "Out of memory."); +                goto out; +        } -	ALLOC_OR_GOTO (local, afr_local_t, out); +        ALLOC_OR_GOTO (local, afr_local_t, out); -	ret = AFR_LOCAL_INIT (local, priv); -	if (ret < 0) { -		op_errno = -ret; -		goto out; -	} +        ret = AFR_LOCAL_INIT (local, priv); +        if (ret < 0) { +                op_errno = -ret; +                goto out; +        } -	transaction_frame->local = local; +        transaction_frame->local = local; -	local->op_ret = -1; +        local->op_ret = -1; -	local->cont.fsetattr.ino     = fd->inode->ino; +        local->cont.fsetattr.ino     = fd->inode->ino;          local->cont.fsetattr.in_buf = *buf;          local->cont.fsetattr.valid  = valid; -	local->transaction.fop    = afr_fsetattr_wind; -	local->transaction.done   = afr_fsetattr_done; -	local->transaction.unwind = afr_fsetattr_unwind; +        local->transaction.fop    = afr_fsetattr_wind; +        local->transaction.done   = afr_fsetattr_done; +        local->transaction.unwind = afr_fsetattr_unwind;          local->fd                 = fd_ref (fd); -	local->transaction.main_frame = frame; -	local->transaction.start   = LLONG_MAX - 1; -	local->transaction.len     = 0; +        local->transaction.main_frame = frame; +        local->transaction.start   = LLONG_MAX - 1; +        local->transaction.len     = 0; -	afr_transaction (transaction_frame, this, AFR_METADATA_TRANSACTION); +        afr_transaction (transaction_frame, this, AFR_METADATA_TRANSACTION); -	op_ret = 0; +        op_ret = 0;  out: -	if (op_ret == -1) { -		if (transaction_frame) -			AFR_STACK_DESTROY (transaction_frame); -		AFR_STACK_UNWIND (fsetattr, frame, op_ret, op_errno, NULL, NULL); -	} +        if (op_ret == -1) { +                if (transaction_frame) +                        AFR_STACK_DESTROY (transaction_frame); +                AFR_STACK_UNWIND (fsetattr, frame, op_ret, op_errno, NULL, NULL); +        } -	return 0; +        return 0;  } @@ -1230,184 +1230,184 @@ out:  int  afr_setxattr_unwind (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *   local = NULL; -	call_frame_t   *main_frame = NULL; +        afr_local_t *   local = NULL; +        call_frame_t   *main_frame = NULL; -	local = frame->local; +        local = frame->local; -	LOCK (&frame->lock); -	{ -		if (local->transaction.main_frame) -			main_frame = local->transaction.main_frame; -		local->transaction.main_frame = NULL; -	} -	UNLOCK (&frame->lock); +        LOCK (&frame->lock); +        { +                if (local->transaction.main_frame) +                        main_frame = local->transaction.main_frame; +                local->transaction.main_frame = NULL; +        } +        UNLOCK (&frame->lock); -	if (main_frame) { -		AFR_STACK_UNWIND (setxattr, main_frame, +        if (main_frame) { +                AFR_STACK_UNWIND (setxattr, main_frame,                                    local->op_ret, local->op_errno) -	} -	return 0; +        } +        return 0;  }  int -afr_setxattr_wind_cbk (call_frame_t *frame, void *cookie, xlator_t *this,  -		       int32_t op_ret, int32_t op_errno) +afr_setxattr_wind_cbk (call_frame_t *frame, void *cookie, xlator_t *this, +                       int32_t op_ret, int32_t op_errno)  { -	afr_local_t *   local = NULL; -	afr_private_t * priv  = NULL; - -	int call_count  = -1; -	int need_unwind = 0; - -	local = frame->local; -	priv = this->private; - -	LOCK (&frame->lock); -	{ -		if (op_ret != -1) { -			if (local->success_count == 0) { -				local->op_ret = op_ret; -			} -			local->success_count++; - -			if (local->success_count == priv->child_count) { -				need_unwind = 1; -			} -		} - -		local->op_errno = op_errno; -	} -	UNLOCK (&frame->lock); - -	if (need_unwind) -		local->transaction.unwind (frame, this); - -	call_count = afr_frame_return (frame); - -	if (call_count == 0) { -		local->transaction.resume (frame, this); -	} -	 -	return 0; +        afr_local_t *   local = NULL; +        afr_private_t * priv  = NULL; + +        int call_count  = -1; +        int need_unwind = 0; + +        local = frame->local; +        priv = this->private; + +        LOCK (&frame->lock); +        { +                if (op_ret != -1) { +                        if (local->success_count == 0) { +                                local->op_ret = op_ret; +                        } +                        local->success_count++; + +                        if (local->success_count == priv->child_count) { +                                need_unwind = 1; +                        } +                } + +                local->op_errno = op_errno; +        } +        UNLOCK (&frame->lock); + +        if (need_unwind) +                local->transaction.unwind (frame, this); + +        call_count = afr_frame_return (frame); + +        if (call_count == 0) { +                local->transaction.resume (frame, this); +        } + +        return 0;  }  int  afr_setxattr_wind (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *local = NULL; -	afr_private_t *priv = NULL; - -	int call_count = -1; -	int i = 0; - -	local = frame->local; -	priv = this->private; - -	call_count = afr_up_children_count (priv->child_count, local->child_up); - -	if (call_count == 0) { -		local->transaction.resume (frame, this); -		return 0; -	} - -	local->call_count = call_count; - -	for (i = 0; i < priv->child_count; i++) {				 -		if (local->child_up[i]) { -			STACK_WIND_COOKIE (frame, afr_setxattr_wind_cbk, -					   (void *) (long) i,	 -					   priv->children[i],  -					   priv->children[i]->fops->setxattr, -					   &local->loc,  -					   local->cont.setxattr.dict, -					   local->cont.setxattr.flags);  - -			if (!--call_count) -				break; -		} -	} -	 -	return 0; +        afr_local_t *local = NULL; +        afr_private_t *priv = NULL; + +        int call_count = -1; +        int i = 0; + +        local = frame->local; +        priv = this->private; + +        call_count = afr_up_children_count (priv->child_count, local->child_up); + +        if (call_count == 0) { +                local->transaction.resume (frame, this); +                return 0; +        } + +        local->call_count = call_count; + +        for (i = 0; i < priv->child_count; i++) { +                if (local->child_up[i]) { +                        STACK_WIND_COOKIE (frame, afr_setxattr_wind_cbk, +                                           (void *) (long) i, +                                           priv->children[i], +                                           priv->children[i]->fops->setxattr, +                                           &local->loc, +                                           local->cont.setxattr.dict, +                                           local->cont.setxattr.flags); + +                        if (!--call_count) +                                break; +                } +        } + +        return 0;  }  int  afr_setxattr_done (call_frame_t *frame, xlator_t *this)  { -	afr_local_t * local = frame->local; +        afr_local_t * local = frame->local; -	local->transaction.unwind (frame, this); +        local->transaction.unwind (frame, this); -	AFR_STACK_DESTROY (frame); +        AFR_STACK_DESTROY (frame); -	return 0; +        return 0;  }  int  afr_setxattr (call_frame_t *frame, xlator_t *this, -	      loc_t *loc, dict_t *dict, int32_t flags) +              loc_t *loc, dict_t *dict, int32_t flags)  { -	afr_private_t * priv  = NULL; -	afr_local_t   * local = NULL; -	call_frame_t   *transaction_frame = NULL; +        afr_private_t * priv  = NULL; +        afr_local_t   * local = NULL; +        call_frame_t   *transaction_frame = NULL; -	int ret = -1; +        int ret = -1; -	int op_ret   = -1; -	int op_errno = 0; +        int op_ret   = -1; +        int op_errno = 0; -	VALIDATE_OR_GOTO (frame, out); -	VALIDATE_OR_GOTO (this, out); -	VALIDATE_OR_GOTO (this->private, out); +        VALIDATE_OR_GOTO (frame, out); +        VALIDATE_OR_GOTO (this, out); +        VALIDATE_OR_GOTO (this->private, out); -	priv = this->private; +        priv = this->private; -	ALLOC_OR_GOTO (local, afr_local_t, out); +        ALLOC_OR_GOTO (local, afr_local_t, out); -	ret = AFR_LOCAL_INIT (local, priv); -	if (ret < 0) { -		op_errno = -ret; -		goto out; -	} +        ret = AFR_LOCAL_INIT (local, priv); +        if (ret < 0) { +                op_errno = -ret; +                goto out; +        } -	transaction_frame = copy_frame (frame); -	if (!transaction_frame) { -		gf_log (this->name, GF_LOG_ERROR, -			"Out of memory."); -		goto out; -	} +        transaction_frame = copy_frame (frame); +        if (!transaction_frame) { +                gf_log (this->name, GF_LOG_ERROR, +                        "Out of memory."); +                goto out; +        } -	transaction_frame->local = local; +        transaction_frame->local = local; -	local->op_ret = -1; +        local->op_ret = -1; -	local->cont.setxattr.dict  = dict_ref (dict); -	local->cont.setxattr.flags = flags; +        local->cont.setxattr.dict  = dict_ref (dict); +        local->cont.setxattr.flags = flags; -	local->transaction.fop    = afr_setxattr_wind; -	local->transaction.done   = afr_setxattr_done; -	local->transaction.unwind = afr_setxattr_unwind; +        local->transaction.fop    = afr_setxattr_wind; +        local->transaction.done   = afr_setxattr_done; +        local->transaction.unwind = afr_setxattr_unwind; -	loc_copy (&local->loc, loc); +        loc_copy (&local->loc, loc); -	local->transaction.main_frame = frame; -	local->transaction.start   = LLONG_MAX - 1; -	local->transaction.len     = 0; +        local->transaction.main_frame = frame; +        local->transaction.start   = LLONG_MAX - 1; +        local->transaction.len     = 0; -	afr_transaction (transaction_frame, this, AFR_METADATA_TRANSACTION); +        afr_transaction (transaction_frame, this, AFR_METADATA_TRANSACTION); -	op_ret = 0; +        op_ret = 0;  out: -	if (op_ret == -1) { -		if (transaction_frame) -			AFR_STACK_DESTROY (transaction_frame); -		AFR_STACK_UNWIND (setxattr, frame, op_ret, op_errno); -	} +        if (op_ret == -1) { +                if (transaction_frame) +                        AFR_STACK_DESTROY (transaction_frame); +                AFR_STACK_UNWIND (setxattr, frame, op_ret, op_errno); +        } -	return 0; +        return 0;  }  /* }}} */ @@ -1418,182 +1418,182 @@ out:  int  afr_removexattr_unwind (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *   local = NULL; -	call_frame_t   *main_frame = NULL; +        afr_local_t *   local = NULL; +        call_frame_t   *main_frame = NULL; -	local = frame->local; +        local = frame->local; -	LOCK (&frame->lock); -	{ -		if (local->transaction.main_frame) -			main_frame = local->transaction.main_frame; -		local->transaction.main_frame = NULL; -	} -	UNLOCK (&frame->lock); +        LOCK (&frame->lock); +        { +                if (local->transaction.main_frame) +                        main_frame = local->transaction.main_frame; +                local->transaction.main_frame = NULL; +        } +        UNLOCK (&frame->lock); -	if (main_frame) { -		AFR_STACK_UNWIND (removexattr, main_frame, +        if (main_frame) { +                AFR_STACK_UNWIND (removexattr, main_frame,                                    local->op_ret, local->op_errno) -	} -	return 0; +        } +        return 0;  }  int -afr_removexattr_wind_cbk (call_frame_t *frame, void *cookie, xlator_t *this,  -			  int32_t op_ret, int32_t op_errno) +afr_removexattr_wind_cbk (call_frame_t *frame, void *cookie, xlator_t *this, +                          int32_t op_ret, int32_t op_errno)  { -	afr_local_t *   local = NULL; -	afr_private_t * priv  = NULL; - -	int call_count  = -1; -	int need_unwind = 0; - -	local = frame->local; -	priv = this->private; - -	LOCK (&frame->lock); -	{ -		if (op_ret != -1) { -			if (local->success_count == 0) { -				local->op_ret = op_ret; -			} -			local->success_count++; - -			if (local->success_count == priv->wait_count) { -				need_unwind = 1; -			} -		} - -		local->op_errno = op_errno; -	} -	UNLOCK (&frame->lock); - -	if (need_unwind) -		local->transaction.unwind (frame, this); - -	call_count = afr_frame_return (frame); - -	if (call_count == 0) { -		local->transaction.resume (frame, this); -	} -	 -	return 0; +        afr_local_t *   local = NULL; +        afr_private_t * priv  = NULL; + +        int call_count  = -1; +        int need_unwind = 0; + +        local = frame->local; +        priv = this->private; + +        LOCK (&frame->lock); +        { +                if (op_ret != -1) { +                        if (local->success_count == 0) { +                                local->op_ret = op_ret; +                        } +                        local->success_count++; + +                        if (local->success_count == priv->wait_count) { +                                need_unwind = 1; +                        } +                } + +                local->op_errno = op_errno; +        } +        UNLOCK (&frame->lock); + +        if (need_unwind) +                local->transaction.unwind (frame, this); + +        call_count = afr_frame_return (frame); + +        if (call_count == 0) { +                local->transaction.resume (frame, this); +        } + +        return 0;  }  int32_t  afr_removexattr_wind (call_frame_t *frame, xlator_t *this)  { -	afr_local_t *local = NULL; -	afr_private_t *priv = NULL; - -	int call_count = -1; -	int i = 0; - -	local = frame->local; -	priv = this->private; - -	call_count = afr_up_children_count (priv->child_count, local->child_up); - -	if (call_count == 0) { -		local->transaction.resume (frame, this); -		return 0; -	} - -	local->call_count = call_count; - -	for (i = 0; i < priv->child_count; i++) {				 -		if (local->child_up[i]) { -			STACK_WIND_COOKIE (frame, afr_removexattr_wind_cbk,  -					   (void *) (long) i,	 -					   priv->children[i],  -					   priv->children[i]->fops->removexattr, -					   &local->loc,  -					   local->cont.removexattr.name); - -			if (!--call_count) -				break; -		} -	} -	 -	return 0; +        afr_local_t *local = NULL; +        afr_private_t *priv = NULL; + +        int call_count = -1; +        int i = 0; + +        local = frame->local; +        priv = this->private; + +        call_count = afr_up_children_count (priv->child_count, local->child_up); + +        if (call_count == 0) { +                local->transaction.resume (frame, this); +                return 0; +        } + +        local->call_count = call_count; + +        for (i = 0; i < priv->child_count; i++) { +                if (local->child_up[i]) { +                        STACK_WIND_COOKIE (frame, afr_removexattr_wind_cbk, +                                           (void *) (long) i, +                                           priv->children[i], +                                           priv->children[i]->fops->removexattr, +                                           &local->loc, +                                           local->cont.removexattr.name); + +                        if (!--call_count) +                                break; +                } +        } + +        return 0;  }  int  afr_removexattr_done (call_frame_t *frame, xlator_t *this)  { -	afr_local_t * local = frame->local; +        afr_local_t * local = frame->local; + +        local->transaction.unwind (frame, this); -	local->transaction.unwind (frame, this); +        AFR_STACK_DESTROY (frame); -	AFR_STACK_DESTROY (frame); -	 -	return 0; +        return 0;  }  int  afr_removexattr (call_frame_t *frame, xlator_t *this, -		 loc_t *loc, const char *name) +                 loc_t *loc, const char *name)  { -	afr_private_t * priv  = NULL; -	afr_local_t   * local = NULL; -	call_frame_t   *transaction_frame = NULL; +        afr_private_t * priv  = NULL; +        afr_local_t   * local = NULL; +        call_frame_t   *transaction_frame = NULL; -	int ret = -1; +        int ret = -1; -	int op_ret   = -1; -	int op_errno = 0; +        int op_ret   = -1; +        int op_errno = 0; -	VALIDATE_OR_GOTO (frame, out); -	VALIDATE_OR_GOTO (this, out); -	VALIDATE_OR_GOTO (this->private, out); -	VALIDATE_OR_GOTO (loc, out); +        VALIDATE_OR_GOTO (frame, out); +        VALIDATE_OR_GOTO (this, out); +        VALIDATE_OR_GOTO (this->private, out); +        VALIDATE_OR_GOTO (loc, out); -	priv = this->private; +        priv = this->private; -	transaction_frame = copy_frame (frame); -	if (!transaction_frame) { -		gf_log (this->name, GF_LOG_ERROR, -			"Out of memory."); -		goto out; -	} +        transaction_frame = copy_frame (frame); +        if (!transaction_frame) { +                gf_log (this->name, GF_LOG_ERROR, +                        "Out of memory."); +                goto out; +        } -	ALLOC_OR_GOTO (local, afr_local_t, out); +        ALLOC_OR_GOTO (local, afr_local_t, out); -	ret = AFR_LOCAL_INIT (local, priv); -	if (ret < 0) { -		op_errno = -ret; -		goto out; -	} +        ret = AFR_LOCAL_INIT (local, priv); +        if (ret < 0) { +                op_errno = -ret; +                goto out; +        } -	transaction_frame->local = local; +        transaction_frame->local = local; -	local->op_ret = -1; +        local->op_ret = -1; -	local->cont.removexattr.name = gf_strdup (name); +        local->cont.removexattr.name = gf_strdup (name); -	local->transaction.fop    = afr_removexattr_wind; -	local->transaction.done   = afr_removexattr_done; -	local->transaction.unwind = afr_removexattr_unwind; +        local->transaction.fop    = afr_removexattr_wind; +        local->transaction.done   = afr_removexattr_done; +        local->transaction.unwind = afr_removexattr_unwind; -	loc_copy (&local->loc, loc); +        loc_copy (&local->loc, loc); -	local->transaction.main_frame = frame; -	local->transaction.start   = LLONG_MAX - 1; -	local->transaction.len     = 0; +        local->transaction.main_frame = frame; +        local->transaction.start   = LLONG_MAX - 1; +        local->transaction.len     = 0; -	afr_transaction (transaction_frame, this, AFR_METADATA_TRANSACTION); +        afr_transaction (transaction_frame, this, AFR_METADATA_TRANSACTION); -	op_ret = 0; +        op_ret = 0;  out: -	if (op_ret == -1) { -		if (transaction_frame) -			AFR_STACK_DESTROY (transaction_frame); -		AFR_STACK_UNWIND (removexattr, frame, op_ret, op_errno); -	} +        if (op_ret == -1) { +                if (transaction_frame) +                        AFR_STACK_DESTROY (transaction_frame); +                AFR_STACK_UNWIND (removexattr, frame, op_ret, op_errno); +        } -	return 0; +        return 0;  }  | 
