From 2935963e3130b66dfc2f7a4ab8b0f2c6abe1949d Mon Sep 17 00:00:00 2001 From: Pranith Kumar K Date: Mon, 21 Dec 2015 17:55:49 +0530 Subject: [PATCH 137/139] heal: Have fixed number of fields in heal info output MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sample output: ⚡ gluster v heal r2 info Brick localhost.localdomain:/home/gfs/r2_0 /a / Status: Connected Number of entries: 2 Brick localhost.localdomain:/home/gfs/r2_1 Status: Transport endpoint is not connected Number of entries: - Brick localhost.localdomain:/home/gfs/r2_2 Status: Connected Number of entries: 0 Brick localhost.localdomain:/home/gfs/r2_3 Status: Connected Number of entries: 0 Partial failure will print: ... Status: Failed to process entries completely. (Transport endpoint is not connected) Number of entries: 372 ... >BUG: 1297897 >Change-Id: I79131cbf255acd98f11eedafb53246c465f6665d >Signed-off-by: Pranith Kumar K >Reviewed-on: http://review.gluster.org/13231 >Smoke: Gluster Build System >Reviewed-by: Krutika Dhananjay >Reviewed-by: Sahina Bose >NetBSD-regression: NetBSD Build System >CentOS-regression: Gluster Build System BUG: 1097555 Change-Id: I3b7a5511c6f734234b04928190d19feebea22310 Signed-off-by: Pranith Kumar K Reviewed-on: https://code.engineering.redhat.com/gerrit/73910 --- heal/src/glfs-heal.c | 31 ++++++++++++++++++++----------- 1 files changed, 20 insertions(+), 11 deletions(-) diff --git a/heal/src/glfs-heal.c b/heal/src/glfs-heal.c index 1af58de..19bf417 100644 --- a/heal/src/glfs-heal.c +++ b/heal/src/glfs-heal.c @@ -56,23 +56,32 @@ void glfsh_print_heal_op_status (int ret, uint64_t num_entries, gf_xl_afr_op_t heal_op) { + char *fmt_str = NULL; - if (ret == -ENOTCONN && num_entries == 0) { + if (heal_op == GF_SHD_OP_INDEX_SUMMARY) + fmt_str = "Number of entries:"; + else if (heal_op == GF_SHD_OP_SPLIT_BRAIN_FILES) + fmt_str = "Number of entries in split-brain:"; + else if (heal_op == GF_SHD_OP_SBRAIN_HEAL_FROM_BRICK) + fmt_str = "Number of healed entries:"; + + if (ret < 0 && num_entries == 0) { printf ("Status: %s\n", strerror (-ret)); + if (fmt_str) + printf ("%s -\n", fmt_str); return; + } else if (ret == 0) { + printf ("Status: Connected\n"); } + if (ret < 0) { - printf ("Failed to process entries completely. " - "Number of entries so far: %"PRIu64"\n", num_entries); + if (fmt_str) + printf ("Status: Failed to process entries completely. " + "(%s)\n%s: %"PRIu64"\n", + strerror (-ret), fmt_str, num_entries); } else { - if (heal_op == GF_SHD_OP_INDEX_SUMMARY) - printf ("Number of entries: %"PRIu64"\n", num_entries); - else if (heal_op == GF_SHD_OP_SPLIT_BRAIN_FILES) - printf ("Number of entries in split-brain: %"PRIu64"\n" - , num_entries); - else if (heal_op == GF_SHD_OP_SBRAIN_HEAL_FROM_BRICK) - printf ("Number of healed entries: %"PRIu64"\n", - num_entries); + if (fmt_str) + printf ("%s %"PRIu64"\n", fmt_str, num_entries); } return; } -- 1.7.1