summaryrefslogtreecommitdiffstats
path: root/xlators/cluster
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/cluster')
-rw-r--r--xlators/cluster/afr/src/afr-transaction.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/xlators/cluster/afr/src/afr-transaction.c b/xlators/cluster/afr/src/afr-transaction.c
index ba50abd6d38..d773b5ace7a 100644
--- a/xlators/cluster/afr/src/afr-transaction.c
+++ b/xlators/cluster/afr/src/afr-transaction.c
@@ -493,18 +493,14 @@ afr_txn_nothing_failed (call_frame_t *frame, xlator_t *this)
{
afr_private_t *priv = NULL;
afr_local_t *local = NULL;
- int pre_op_count = 0;
int i = 0;
local = frame->local;
priv = this->private;
- pre_op_count = AFR_COUNT (local->transaction.pre_op, priv->child_count);
- if (pre_op_count < priv->child_count)
- return _gf_false;
-
for (i = 0; i < priv->child_count; i++) {
- if (local->transaction.failed_subvols[i])
+ if (local->transaction.pre_op[i] &&
+ local->transaction.failed_subvols[i])
return _gf_false;
}
@@ -1156,14 +1152,9 @@ afr_changelog_pre_op (call_frame_t *frame, xlator_t *this)
goto err;
}
- if (call_count > 1 &&
- (local->transaction.type == AFR_DATA_TRANSACTION ||
+ if ((local->transaction.type == AFR_DATA_TRANSACTION ||
!local->optimistic_change_log)) {
- /* If we are performing change on only one subvol, no
- need to mark dirty, because we are setting the pending
- counts already anyways
- */
local->dirty[idx] = hton32(1);
ret = dict_set_static_bin (xdata_req, AFR_DIRTY, local->dirty,