diff options
author | N Balachandran <nbalacha@redhat.com> | 2016-09-16 13:05:59 +0530 |
---|---|---|
committer | Atin Mukherjee <amukherj@redhat.com> | 2016-09-26 10:54:27 -0700 |
commit | 4004e667edc88ac9a8c1e9048da0919ec38be4c2 (patch) | |
tree | 55fed78b0bb48d49ea5cbce1cb22960c3ef4ab44 | |
parent | 7a80b6128ad91c1174a79b4fa6a0340dfd0b6d6b (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.t | 8 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-rebalance.c | 39 |
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 (); |