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-05 20:38:01 +0000
commit224895148d95742c1f36b48bb79d8b9ef1ff0cd6 (patch)
tree3ec555f391f7d4ec442a73c409061017c06b80fd
parent23a61baaccfa22b6a71f600d985760d8f9b2b22f (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> fixes: bz#1643052 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 e46ef57e441..b72def8e4eb 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c
@@ -2489,6 +2489,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);