Blob Blame History Raw
From 2935963e3130b66dfc2f7a4ab8b0f2c6abe1949d Mon Sep 17 00:00:00 2001
From: Pranith Kumar K <pkarampu@redhat.com>
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:
...
<gfid:3efb51cf-5fa5-4bed-817b-afd600e9449e>
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 <pkarampu@redhat.com>
 >Reviewed-on: http://review.gluster.org/13231
 >Smoke: Gluster Build System <jenkins@build.gluster.com>
 >Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com>
 >Reviewed-by: Sahina Bose <sabose@redhat.com>
 >NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
 >CentOS-regression: Gluster Build System <jenkins@build.gluster.com>

BUG: 1097555
Change-Id: I3b7a5511c6f734234b04928190d19feebea22310
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
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