From 3782c90a617dfefc9bc8a92d0facb3927659dede Mon Sep 17 00:00:00 2001 From: Sanju Rakonde Date: Wed, 3 Oct 2018 23:58:37 +0530 Subject: glusterd: ensure volinfo->caps is set to correct value. With the commit febf5ed4848, during the volume create op, we are setting volinfo->caps to 0, only if any of the bricks belong to the same node and brickinfo->vg[0] is null. Previously, we used to set volinfo->caps to 0, when either brick doesn't belong to the same node or brickinfo->vg[0] is null. With this patch, we set volinfo->caps to 0, when either brick doesn't belong to the same node or brickinfo->vg[0] is null. (as we do earlier without commit febf5ed4848). > BUG: bz#1635820 > Change-Id: I00a97415786b775fb088ac45566ad52b402f1a49 > Signed-off-by: Sanju Rakonde (cherry picked from commit aae1c402b74fd02ed2f6473b896f108d82aef8e3) fixes: bz#1647968 Change-Id: I00a97415786b775fb088ac45566ad52b402f1a49 Signed-off-by: Sanju Rakonde --- tests/bugs/glusterd/optimized-basic-testcases-in-cluster.t | 9 +++++++++ xlators/mgmt/glusterd/src/glusterd-volume-ops.c | 2 ++ 2 files changed, 11 insertions(+) diff --git a/tests/bugs/glusterd/optimized-basic-testcases-in-cluster.t b/tests/bugs/glusterd/optimized-basic-testcases-in-cluster.t index ce1d9463809..99272e14245 100644 --- a/tests/bugs/glusterd/optimized-basic-testcases-in-cluster.t +++ b/tests/bugs/glusterd/optimized-basic-testcases-in-cluster.t @@ -59,6 +59,15 @@ TEST $CLI_1 volume delete $V0 TEST $CLI_1 volume create $V0 $H1:$B1/$V0 $H2:$B2/$V0 TEST $CLI_1 volume create $V1 $H1:$B1/$V1 +# bug - 1635820 +# rebooting a node which doen't host bricks for any one volume +# peer should not go into rejected state +TEST kill_glusterd 2 +TEST start_glusterd 2 + +EXPECT_WITHIN $PROBE_TIMEOUT 1 peer_count 1 +EXPECT_WITHIN $PROBE_TIMEOUT 1 peer_count 2 + TEST $CLI_1 volume start $V0 EXPECT_WITHIN $PROCESS_UP_TIMEOUT 'Started' volinfo_field_1 $V0 'Status' diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c index 2e0fe168807..ac42b3ef73c 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c @@ -2583,6 +2583,8 @@ glusterd_op_create_volume(dict_t *dict, char **op_errstr) caps = 0; } #endif + } else { + caps = 0; } cds_list_add_tail(&brickinfo->brick_list, &volinfo->bricks); -- cgit