summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSanju Rakonde <srakonde@redhat.com>2018-10-03 23:58:37 +0530
committerShyamsundar Ranganathan <srangana@redhat.com>2018-11-09 18:46:34 +0000
commit3782c90a617dfefc9bc8a92d0facb3927659dede (patch)
treeb20e24b84749053895e908eedf59c31bad3fe211
parent83304fedb464fe3f97db662ce3e07bd948b7b7d9 (diff)
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 <srakonde@redhat.com> (cherry picked from commit aae1c402b74fd02ed2f6473b896f108d82aef8e3) fixes: bz#1647968 Change-Id: I00a97415786b775fb088ac45566ad52b402f1a49 Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
-rw-r--r--tests/bugs/glusterd/optimized-basic-testcases-in-cluster.t9
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volume-ops.c2
2 files changed, 11 insertions, 0 deletions
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);