summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPranith Kumar K <pkarampu@redhat.com>2016-05-12 13:55:44 +0530
committerPranith Kumar Karampuri <pkarampu@redhat.com>2016-05-12 15:29:51 -0700
commit1d6852f2f892792b4bb54c24be2681f57f77d7fc (patch)
treea947593b379c9b709474baebe42d6a30fc39fb90
parent8fa1aeda677fa2c288d69ea299dc54c8c76ef831 (diff)
cluster/afr: Handle non-zero source in heal-info decision
Backport of http://review.gluster.org/14302 Problem: Spurious entries are reported in heal info when the mount is on second/third brick of the replica pair because local-child is given preference in selecting source. The code is supposed to suggest the file needs heal if the (source < 0) (failure code path), but instead it is written as if any non-zero value is considered failure. Fix: Treat +ve source as success case BUG: 1334566 Change-Id: Iac6d68cc429496756a9d8f6e21e71aa5f6b932ee Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/14304 Smoke: Gluster Build System <jenkins@build.gluster.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> Reviewed-by: Ravishankar N <ravishankar@redhat.com> Reviewed-by: Anuradha Talur <atalur@redhat.com> CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
-rw-r--r--xlators/cluster/afr/src/afr-common.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c
index 9ff374048ed..a346454bcce 100644
--- a/xlators/cluster/afr/src/afr-common.c
+++ b/xlators/cluster/afr/src/afr-common.c
@@ -4568,11 +4568,11 @@ out:
}
gf_boolean_t
-afr_decide_heal_info (afr_private_t *priv, unsigned char *sources, int ret)
+afr_decide_heal_info (afr_private_t *priv, unsigned char *sources, int source)
{
int sources_count = 0;
- if (ret)
+ if (source < 0)
goto out;
sources_count = AFR_COUNT (sources, priv->child_count);