diff options
author | Ravishankar N <ravishankar@redhat.com> | 2015-10-16 06:23:29 +0530 |
---|---|---|
committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2015-10-20 01:44:36 -0700 |
commit | 7945121dda340ec8f25711b2ad3ca70b544de967 (patch) | |
tree | 7449e14f04ede728b9929e9bd6b6d53a386d3406 /xlators/cluster/afr/src/afr-common.c | |
parent | cddc75e242140f8485e2377ce4e6dffe23123744 (diff) |
afr: do not wind write if pre-op fails on all children
1. When winding the pre-op, transaction.pre_op[i] is set. If the pre-op fails,
transaction.failed_subvols[i] is set. If if fails on all chidren, we can
directly proceed to unlock (via afr_changelog_post_op_now) without trying
to wind the write, fail and then go to unlock.
2. 'fop_subvols' seems to be an unused variable, hence removing it.
Change-Id: I9525628daf48082e979b0093fa0478934495e61f
BUG: 1272362
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-on: http://review.gluster.org/12368
Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Reviewed-by: Anuradha Talur <atalur@redhat.com>
Diffstat (limited to 'xlators/cluster/afr/src/afr-common.c')
-rw-r--r-- | xlators/cluster/afr/src/afr-common.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c index ce9c1ce110a..576199db137 100644 --- a/xlators/cluster/afr/src/afr-common.c +++ b/xlators/cluster/afr/src/afr-common.c @@ -1199,7 +1199,6 @@ afr_local_transaction_cleanup (afr_local_t *local, xlator_t *this) } GF_FREE (local->transaction.eager_lock); - GF_FREE (local->transaction.fop_subvols); GF_FREE (local->transaction.failed_subvols); GF_FREE (local->transaction.basename); @@ -4171,12 +4170,6 @@ afr_transaction_local_init (afr_local_t *local, xlator_t *this) goto out; } - local->transaction.fop_subvols = GF_CALLOC (sizeof (*local->transaction.fop_subvols), - priv->child_count, - gf_afr_mt_char); - if (!local->transaction.fop_subvols) - goto out; - local->transaction.failed_subvols = GF_CALLOC (sizeof (*local->transaction.failed_subvols), priv->child_count, gf_afr_mt_char); |