a3470f
From 53649d22deea97c1604f5688ecab303eb46104d9 Mon Sep 17 00:00:00 2001
a3470f
From: Xavi Hernandez <xhernandez@redhat.com>
a3470f
Date: Wed, 28 Mar 2018 11:34:49 +0200
a3470f
Subject: [PATCH 210/212] cluster/ec: send list-node-uuids request to all
a3470f
 subvolumes
a3470f
a3470f
The xattr trusted.glusterfs.list-node-uuids was only sent to a single
a3470f
subvolume. This was returning null uuids from the other subvolumes as
a3470f
if they were down.
a3470f
a3470f
This fix forces that xattr to be requested from all subvolumes.
a3470f
a3470f
> Upstream patch: https://review.gluster.org/19784
a3470f
a3470f
Change-Id: If62eb39a6857258923ba625e153d4ad79018ea2f
a3470f
BUG: 1561733
a3470f
Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
a3470f
Reviewed-on: https://code.engineering.redhat.com/gerrit/134066
a3470f
Tested-by: RHGS Build Bot <nigelb@redhat.com>
a3470f
Reviewed-by: Ashish Pandey <aspandey@redhat.com>
a3470f
---
a3470f
 tests/basic/ec/ec-rebalance.t | 1 +
a3470f
 xlators/cluster/ec/src/ec.c   | 2 +-
a3470f
 2 files changed, 2 insertions(+), 1 deletion(-)
a3470f
a3470f
diff --git a/tests/basic/ec/ec-rebalance.t b/tests/basic/ec/ec-rebalance.t
a3470f
index b5c3072..6cda3a3 100644
a3470f
--- a/tests/basic/ec/ec-rebalance.t
a3470f
+++ b/tests/basic/ec/ec-rebalance.t
a3470f
@@ -14,6 +14,7 @@ cleanup
a3470f
 TEST glusterd
a3470f
 TEST pidof glusterd
a3470f
 TEST $CLI volume create $V0 disperse 3 redundancy 1 $H0:$B0/${V0}{0..2}
a3470f
+TEST $CLI volume set $V0 lookup-optimize on
a3470f
 TEST $CLI volume start $V0
a3470f
 
a3470f
 #Mount the volume
a3470f
diff --git a/xlators/cluster/ec/src/ec.c b/xlators/cluster/ec/src/ec.c
a3470f
index 956b45b..eb91c4a 100644
a3470f
--- a/xlators/cluster/ec/src/ec.c
a3470f
+++ b/xlators/cluster/ec/src/ec.c
a3470f
@@ -881,7 +881,7 @@ ec_gf_getxattr (call_frame_t *frame, xlator_t *this, loc_t *loc,
a3470f
 
a3470f
         if (name &&
a3470f
             ((fnmatch (GF_XATTR_STIME_PATTERN, name, 0) == 0) ||
a3470f
-             (XATTR_IS_NODE_UUID(name)))) {
a3470f
+             XATTR_IS_NODE_UUID(name) || XATTR_IS_NODE_UUID_LIST(name))) {
a3470f
                 minimum = EC_MINIMUM_ALL;
a3470f
         }
a3470f
 
a3470f
-- 
a3470f
1.8.3.1
a3470f