From cf8029c55f3efc80b17b2ce3442864643e2fe917 Mon Sep 17 00:00:00 2001 From: Pranith Kumar K Date: Tue, 3 Jun 2014 16:50:33 +0530 Subject: heal: Don't depend on errno for reporting heal info status Change the interfaces to return errno in 'return value' to prevent errno being over-written in glfsh_print_brick_from_xl. Change-Id: I425c85e496a885ed3cd0aeef86d4616aa21bb1b5 BUG: 1104592 Signed-off-by: Pranith Kumar K Reviewed-on: http://review.gluster.org/7965 Reviewed-by: Ravishankar N Tested-by: Gluster Build System Reviewed-by: Niels de Vos --- heal/src/glfs-heal.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/heal/src/glfs-heal.c b/heal/src/glfs-heal.c index 665c76d1b77..dacdb5bc99b 100644 --- a/heal/src/glfs-heal.c +++ b/heal/src/glfs-heal.c @@ -318,8 +318,10 @@ glfsh_print_brick (xlator_t *xl, loc_t *rootloc) char *brick_end = NULL; ret = syncop_getxattr (xl, rootloc, &xattr, GF_XATTR_PATHINFO_KEY); - if (ret < 0) + if (ret < 0) { + ret = -errno; goto out; + } ret = dict_get_str (xattr, GF_XATTR_PATHINFO_KEY, &pathinfo); if (ret < 0) @@ -369,7 +371,7 @@ glfsh_print_pending_heals (xlator_t *xl, loc_t *rootloc) ret = glfsh_print_brick (xl, rootloc); if (ret < 0) { glfsh_print_brick_from_xl (xl); - printf ("Status: %s\n", strerror (errno)); + printf ("Status: %s\n", strerror (-ret)); goto out; } -- cgit