summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhari gowtham <hgowtham@redhat.com>2016-03-08 17:22:35 +0530
committerDan Lambright <dlambrig@redhat.com>2016-03-10 07:20:55 -0800
commit537822d7eb7732f2f65300668355b6d7db448f39 (patch)
tree4acf42869bf9e3040217b246c01cacee5e3eb5d3
parenta007fdf549260d0b146184fa85ca7029560db8c5 (diff)
Tier: displaying status only one the nodes running tierd
When tier status is given on a cluster where one node doesn't have tierd running, the status is shown as not started. The status of the node without tierd should not be displayed. This patch will skip if the current node if the status is not started Change-Id: Ibeb39f13133f94a5869b020c5ccd9bd6992323f1 BUG: 1315666 Signed-off-by: hari gowtham <hgowtham@redhat.com> Reviewed-on: http://review.gluster.org/13647 Smoke: Gluster Build System <jenkins@build.gluster.com> Tested-by: hari gowtham <hari.gowtham005@gmail.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Dan Lambright <dlambrig@redhat.com>
-rw-r--r--cli/src/cli-rpc-ops.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c
index a756993c7ce..8a0f26bfbfe 100644
--- a/cli/src/cli-rpc-ops.c
+++ b/cli/src/cli-rpc-ops.c
@@ -1699,6 +1699,20 @@ gf_cli_print_tier_status (dict_t *dict, enum gf_task_types task_type)
promoted = 0;
demoted = 0;
+ /* Check if status is NOT_STARTED, and continue early */
+ memset (key, 0, 256);
+ snprintf (key, 256, "status-%d", i);
+
+ ret = dict_get_int32 (dict, key, (int32_t *)&status_rcd);
+ if (ret) {
+ gf_log ("cli", GF_LOG_TRACE, "count: %d, %d,"
+ "failed to get status", count, i);
+ goto out;
+ }
+
+ if (GF_DEFRAG_STATUS_NOT_STARTED == status_rcd)
+ continue;
+
memset (key, 0, 256);
snprintf (key, 256, "node-name-%d", i);
ret = dict_get_str (dict, key, &node_name);
@@ -1719,13 +1733,6 @@ gf_cli_print_tier_status (dict_t *dict, enum gf_task_types task_type)
gf_log ("cli", GF_LOG_TRACE,
"failed to get demoted count");
- memset (key, 0, 256);
- snprintf (key, 256, "status-%d", i);
- ret = dict_get_int32 (dict, key, (int32_t *)&status_rcd);
- if (ret)
- gf_log ("cli", GF_LOG_TRACE,
- "failed to get status");
-
/* Check for array bound */
if (status_rcd >= GF_DEFRAG_STATUS_MAX)
status_rcd = GF_DEFRAG_STATUS_MAX;