summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavi Hernandez <xhernandez@redhat.com>2018-03-28 11:34:49 +0200
committerjiffin tony Thottan <jthottan@redhat.com>2018-04-06 12:49:33 +0000
commit3cd3e338ea4586b772d8be0e2b798e7fd36539b0 (patch)
treef3daf2d3da79e3e7e054325b4604458d7cb28fc2
parent7061fc7e37847d0674059da0e62f42bd7032707f (diff)
cluster/ec: send list-node-uuids request to all subvolumes
The xattr trusted.glusterfs.list-node-uuids was only sent to a single subvolume. This was returning null uuids from the other subvolumes as if they were down. This fix forces that xattr to be requested from all subvolumes. Backport of: > BUG: 1561406 Change-Id: If62eb39a6857258923ba625e153d4ad79018ea2f BUG: 1561731 Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
-rw-r--r--tests/basic/ec/ec-rebalance.t1
-rw-r--r--xlators/cluster/ec/src/ec.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/tests/basic/ec/ec-rebalance.t b/tests/basic/ec/ec-rebalance.t
index b5c30727a15..6cda3a3e4be 100644
--- a/tests/basic/ec/ec-rebalance.t
+++ b/tests/basic/ec/ec-rebalance.t
@@ -14,6 +14,7 @@ cleanup
TEST glusterd
TEST pidof glusterd
TEST $CLI volume create $V0 disperse 3 redundancy 1 $H0:$B0/${V0}{0..2}
+TEST $CLI volume set $V0 lookup-optimize on
TEST $CLI volume start $V0
#Mount the volume
diff --git a/xlators/cluster/ec/src/ec.c b/xlators/cluster/ec/src/ec.c
index 0d616296aff..bee3bc3085a 100644
--- a/xlators/cluster/ec/src/ec.c
+++ b/xlators/cluster/ec/src/ec.c
@@ -874,7 +874,7 @@ ec_gf_getxattr (call_frame_t *frame, xlator_t *this, loc_t *loc,
if (name &&
((fnmatch (GF_XATTR_STIME_PATTERN, name, 0) == 0) ||
- (XATTR_IS_NODE_UUID(name)))) {
+ XATTR_IS_NODE_UUID(name) || XATTR_IS_NODE_UUID_LIST(name))) {
minimum = EC_MINIMUM_ALL;
}