diff options
| -rwxr-xr-x | tests/bugs/bug-964059.t | 30 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-brick-ops.c | 1 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-rebalance.c | 1 | 
3 files changed, 32 insertions, 0 deletions
diff --git a/tests/bugs/bug-964059.t b/tests/bugs/bug-964059.t new file mode 100755 index 000000000..df07f95ee --- /dev/null +++ b/tests/bugs/bug-964059.t @@ -0,0 +1,30 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc +. $(dirname $0)/../cluster.rc + +function check_peers { +        $CLI_1 peer status | grep 'Peer in Cluster (Connected)' | wc -l +} + +function volume_count { +        local cli=$1; +        if [ $cli -eq '1' ] ; then +                $CLI_1 volume info | grep 'Volume Name' | wc -l; +        else +                $CLI_2 volume info | grep 'Volume Name' | wc -l; +        fi +} + +cleanup; + +TEST launch_cluster 2; +TEST $CLI_1 peer probe $H2; + +EXPECT_WITHIN 20 1 check_peers + +TEST $CLI_1 volume create $V0 $H1:$B1/$V0 $H2:$B2/$V0 +TEST $CLI_1 volume start $V0 +TEST $CLI_1 volume remove-brick $V0 $H2:$B2/$V0 start +TEST $CLI_1 volume status +cleanup; diff --git a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c index 912a6a798..4e5204ad1 100644 --- a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c @@ -1587,6 +1587,7 @@ glusterd_op_remove_brick (dict_t *dict, char **op_errstr)                          ret = 0;                  } else {                          uuid_parse (task_id_str, volinfo->rebal.rebalance_id) ; +                        volinfo->rebal.op = GD_OP_REMOVE_BRICK;                  }                  force = 0;                  break; diff --git a/xlators/mgmt/glusterd/src/glusterd-rebalance.c b/xlators/mgmt/glusterd/src/glusterd-rebalance.c index ebb9e7dd4..4f77f0883 100644 --- a/xlators/mgmt/glusterd/src/glusterd-rebalance.c +++ b/xlators/mgmt/glusterd/src/glusterd-rebalance.c @@ -648,6 +648,7 @@ glusterd_op_rebalance (dict_t *dict, char **op_errstr, dict_t *rsp_dict)                          ret = 0;                  } else {                          uuid_parse (task_id_str, volinfo->rebal.rebalance_id) ; +                        volinfo->rebal.op = GD_OP_REBALANCE;                  }                  ret = glusterd_handle_defrag_start (volinfo, msg, sizeof (msg),                                                      cmd, NULL, GD_OP_REBALANCE);  | 
