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