diff options
author | Anuradha Talur <atalur@redhat.com> | 2016-05-04 11:55:43 +0530 |
---|---|---|
committer | Niels de Vos <ndevos@redhat.com> | 2016-05-06 07:26:52 -0700 |
commit | 2ceb471d369c7da89d14c755b759b9358e035ccb (patch) | |
tree | be62874560178b0861499d78ee952fb6b8a45dea /heal | |
parent | 938dfb9d021db20dc3b511b78ec8c137b8ff3e7c (diff) |
heal: Fix incorrect heal info output
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.
>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>
Change-Id: I0d3541ed0594d67c3c3b8568a89a975a100bf6dd
BUG: 1333243
Signed-off-by: Anuradha Talur <atalur@redhat.com>
Reviewed-on: http://review.gluster.org/14219
Smoke: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'heal')
-rw-r--r-- | 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 4f636c6a54e..19bf4175cff 100644 --- a/heal/src/glfs-heal.c +++ b/heal/src/glfs-heal.c @@ -457,7 +457,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; |