summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorN Balachandran <nbalacha@redhat.com>2016-09-16 13:05:59 +0530
committerAtin Mukherjee <amukherj@redhat.com>2016-09-26 10:54:27 -0700
commit4004e667edc88ac9a8c1e9048da0919ec38be4c2 (patch)
tree55fed78b0bb48d49ea5cbce1cb22960c3ef4ab44
parent7a80b6128ad91c1174a79b4fa6a0340dfd0b6d6b (diff)
glusterd: Revert 368e26f454fe35477e46dc698fa6b8c3c608ea8d
The earlier fix prevented rebalance from starting even if only a single brick of a replica set was down. Change-Id: I8c9a7d4c1fe33f7749568357462f29796e1b832a BUG: 1376671 Signed-off-by: N Balachandran <nbalacha@redhat.com> Reviewed-on: http://review.gluster.org/15517 Smoke: Gluster Build System <jenkins@build.gluster.org> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Raghavendra G <rgowdapp@redhat.com> Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
-rw-r--r--tests/bugs/distribute/bug-860663.t8
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-rebalance.c39
2 files changed, 3 insertions, 44 deletions
diff --git a/tests/bugs/distribute/bug-860663.t b/tests/bugs/distribute/bug-860663.t
index 12b3e21a9be..43511945cb9 100644
--- a/tests/bugs/distribute/bug-860663.t
+++ b/tests/bugs/distribute/bug-860663.t
@@ -37,15 +37,13 @@ TEST [ $ORIG_FILE_COUNT -ge 1000 ]
# Kill a brick process
kill -9 `cat $GLUSTERD_WORKDIR/vols/$V0/run/$H0-d-backends-${V0}1.pid`;
-TEST ! $CLI volume rebalance $V0 fix-layout start
+TEST $CLI volume rebalance $V0 fix-layout start
+
+EXPECT_WITHIN $REBALANCE_TIMEOUT "fix-layout failed" fix-layout_status_field $V0;
TEST $CLI volume start $V0 force
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" brick_up_status $V0 $H0 $B0/${V0}1
-TEST $CLI volume rebalance $V0 fix-layout start
-
-EXPECT_WITHIN $REBALANCE_TIMEOUT "fix-layout completed" fix-layout_status_field $V0;
-
# Unmount and remount to make sure we're doing fresh lookups.
TEST umount $M0
TEST glusterfs -s $H0 --volfile-id $V0 $M0;
diff --git a/xlators/mgmt/glusterd/src/glusterd-rebalance.c b/xlators/mgmt/glusterd/src/glusterd-rebalance.c
index 9150ed24687..36a98fc87ad 100644
--- a/xlators/mgmt/glusterd/src/glusterd-rebalance.c
+++ b/xlators/mgmt/glusterd/src/glusterd-rebalance.c
@@ -633,8 +633,6 @@ glusterd_op_stage_rebalance (dict_t *dict, char **op_errstr)
int32_t cmd = 0;
char msg[2048] = {0};
glusterd_volinfo_t *volinfo = NULL;
- glusterd_brickinfo_t *brickinfo = NULL;
- glusterd_peerinfo_t *peerinfo = NULL;
char *task_id_str = NULL;
dict_t *op_ctx = NULL;
xlator_t *this = 0;
@@ -702,43 +700,6 @@ glusterd_op_stage_rebalance (dict_t *dict, char **op_errstr)
goto out;
}
- cds_list_for_each_entry (brickinfo, &volinfo->bricks,
- brick_list) {
- if (glusterd_is_local_brick (THIS, volinfo, brickinfo)) {
- if (brickinfo->status != GF_BRICK_STARTED) {
- gf_asprintf (op_errstr, "Received"
- " rebalance on volume with "
- " stopped brick %s",
- brickinfo->path);
- ret = -1;
- goto out;
- }
- } else {
- rcu_read_lock ();
- peerinfo = glusterd_peerinfo_find_by_uuid
- (brickinfo->uuid);
- if (!peerinfo) {
- gf_asprintf (op_errstr, "Host node %s "
- "of brick %s doesn't "
- "belong to cluster",
- brickinfo->hostname,
- brickinfo->path);
- ret = -1;
- rcu_read_unlock ();
- goto out;
- } else if (!peerinfo->connected) {
- gf_asprintf (op_errstr, "Host node %s "
- "of brick %s is down",
- brickinfo->hostname,
- brickinfo->path);
- ret = -1;
- rcu_read_unlock ();
- goto out;
- }
- rcu_read_unlock ();
- }
- }
-
case GF_DEFRAG_CMD_START_FORCE:
if (is_origin_glusterd (dict)) {
op_ctx = glusterd_op_get_ctx ();