Blob Blame History Raw
From 47668d23639795c3704075276f07dd6434e041bb Mon Sep 17 00:00:00 2001
From: Anuradha Talur <atalur@redhat.com>
Date: Wed, 4 May 2016 11:55:43 +0530
Subject: [PATCH 121/139] heal: Fix incorrect heal info output

        Backport of: review.gluster.org/14199

Problem:
In heterogenous clusters, heal info gives incorrect
outout as "Failed to process entries completely.
Number of entries so far: 0".

This happens when the getxattr on virtual xattr
for <brickpath>/.glusterfs/indices/dirty fails
on older bricks as they do not recognize the xattr.

Fix:
Ignore that error so that heal info doesn't
incorrectly report failure.

Change-Id: I0d3541ed0594d67c3c3b8568a89a975a100bf6dd
BUG: 1311362
        >BUG: 1332798
        >Signed-off-by: Anuradha Talur <atalur@redhat.com>
        >Reviewed-on: http://review.gluster.org/14199
        >Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
        >Tested-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
        >Smoke: Gluster Build System <jenkins@build.gluster.com>
        >NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
        >CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
        >Signed-off-by: Anuradha Talur <atalur@redhat.com>

Signed-off-by: Anuradha Talur <atalur@redhat.com>
Change-Id: If69a5c2dc986391bc30352714ed7e8d5ef0d6335
Reviewed-on: https://code.engineering.redhat.com/gerrit/73679
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
---
 heal/src/glfs-heal.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/heal/src/glfs-heal.c b/heal/src/glfs-heal.c
index 4e381e8..1af58de 100644
--- a/heal/src/glfs-heal.c
+++ b/heal/src/glfs-heal.c
@@ -448,7 +448,8 @@ glfsh_print_pending_heals_type (glfs_t *fs, xlator_t *top_subvol, loc_t *rootloc
         ret = glfsh_get_index_dir_loc (rootloc, xl, &dirloc, &op_errno,
                                        vgfid);
         if (ret < 0) {
-                if (op_errno == ESTALE || op_errno == ENOENT)
+                if (op_errno == ESTALE || op_errno == ENOENT ||
+                    op_errno == ENOTSUP)
                         ret = 0;
                 else
                         ret = -op_errno;
-- 
1.7.1