From ccb906c8a8139b66130192080020709bfc6d0dc3 Mon Sep 17 00:00:00 2001 From: Dan Lambright Date: Thu, 19 May 2016 10:43:53 -0400 Subject: cluster/tier: fix detach tier error message Do not refer to obsolete syntax when throwing an error on detach tier. Throw a warning if the user tries to commit a detach tier before starting (or completing) the decommission process. Change-Id: I9df28c1b42b8ab1790e1db5c0cd518432146c1d1 BUG: 1337227 Signed-off-by: Dan Lambright Reviewed-on: http://review.gluster.org/14438 Smoke: Gluster Build System NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Reviewed-by: Atin Mukherjee --- xlators/mgmt/glusterd/src/glusterd-brick-ops.c | 29 +++++++++++++------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'xlators/mgmt/glusterd/src') diff --git a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c index a90114ab2b3..24317726079 100644 --- a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c @@ -1964,15 +1964,25 @@ glusterd_remove_brick_validate_bricks (gf1_op_commands cmd, int32_t brick_count, } if (cmd == GF_OP_CMD_DETACH_COMMIT) { - snprintf (msg, sizeof (msg), "Brick's in Hot " - "tier is not decommissioned yet. Use " - "gluster volume detach-tier " - " " - " command instead"); + snprintf (msg, sizeof (msg), "Bricks in Hot " + "tier are not decommissioned yet. Use " + "gluster volume tier " + "detach start to start the decommission process"); *errstr = gf_strdup (msg); ret = -1; goto out; } + } else { + if (cmd == GF_OP_CMD_DETACH_COMMIT && + (volinfo->rebal.defrag_status == GF_DEFRAG_STATUS_STARTED)) { + snprintf (msg, sizeof (msg), "Bricks in Hot " + "tier are not decommissioned yet. Wait for " + "the detach to complete using gluster volume " + "tier status."); + *errstr = gf_strdup (msg); + ret = -1; + goto out; + } } if (glusterd_is_local_brick (THIS, volinfo, brickinfo)) { @@ -2237,15 +2247,6 @@ glusterd_op_stage_remove_brick (dict_t *dict, char **op_errstr) ret = -1; goto out; } - - if (volinfo->rebal.defrag_status == GF_DEFRAG_STATUS_STARTED) { - ret = -1; - errstr = gf_strdup("Detach is in progress. Please " - "retry after completion"); - gf_msg (this->name, GF_LOG_ERROR, 0, - GD_MSG_OIP_RETRY_LATER, "%s", errstr); - goto out; - } break; case GF_OP_CMD_COMMIT: -- cgit