diff options
Diffstat (limited to 'xlators/mgmt')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-brick-ops.c | 4 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-rebalance.c | 7 |
2 files changed, 10 insertions, 1 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c index d21a7341570..42927108f08 100644 --- a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c @@ -1738,10 +1738,12 @@ glusterd_op_stage_remove_brick (dict_t *dict, char **op_errstr) } case GF_OP_CMD_STOP: + case GF_OP_CMD_STOP_DETACH_TIER: ret = 0; break; case GF_OP_CMD_COMMIT: + case GF_OP_CMD_DETACH_COMMIT: if (volinfo->decommission_in_progress) { errstr = gf_strdup ("use 'force' option as migration " "is in progress"); @@ -1791,7 +1793,6 @@ glusterd_op_stage_remove_brick (dict_t *dict, char **op_errstr) break; - case GF_OP_CMD_DETACH_COMMIT: case GF_OP_CMD_DETACH_COMMIT_FORCE: case GF_OP_CMD_COMMIT_FORCE: break; @@ -2081,6 +2082,7 @@ glusterd_op_remove_brick (dict_t *dict, char **op_errstr) goto out; case GF_OP_CMD_STOP: + case GF_OP_CMD_STOP_DETACH_TIER: { /* Fall back to the old volume file */ cds_list_for_each_entry_safe (brickinfo, tmp, &volinfo->bricks, diff --git a/xlators/mgmt/glusterd/src/glusterd-rebalance.c b/xlators/mgmt/glusterd/src/glusterd-rebalance.c index c14bcd156b4..1566f54695f 100644 --- a/xlators/mgmt/glusterd/src/glusterd-rebalance.c +++ b/xlators/mgmt/glusterd/src/glusterd-rebalance.c @@ -690,6 +690,13 @@ glusterd_op_stage_rebalance (dict_t *dict, char **op_errstr) goto out; } } + if ((strstr(cmd_str, "detach-tier") != NULL) && + (volinfo->rebal.op != GD_OP_REMOVE_BRICK)) { + snprintf (msg, sizeof(msg), "Detach-tier not started."); + ret = -1; + goto out; + } + break; default: break; |