summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/basic/tier/tierd_check.t6
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-brick-ops.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/tests/basic/tier/tierd_check.t b/tests/basic/tier/tierd_check.t
index 6edd2f3b795..9ef12d50211 100644
--- a/tests/basic/tier/tierd_check.t
+++ b/tests/basic/tier/tierd_check.t
@@ -53,4 +53,10 @@ TEST $CLI volume tier $V0 start force
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "0" tier_daemon_check
+# To test fordetach start fail while the brick is down
+
+TEST pkill -f "$B0/hot/$V0"
+
+TEST ! $CLI volume tier $V0 detach start
+
cleanup
diff --git a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c
index 3c2218079f9..d77626d3457 100644
--- a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c
+++ b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c
@@ -1801,7 +1801,8 @@ glusterd_remove_brick_validate_bricks (gf1_op_commands cmd, int32_t brick_count,
}
if (glusterd_is_local_brick (THIS, volinfo, brickinfo)) {
- if (cmd == GF_OP_CMD_START &&
+ if (((cmd == GF_OP_CMD_START) ||
+ (cmd == GF_OP_CMD_DETACH_START)) &&
brickinfo->status != GF_BRICK_STARTED) {
snprintf (msg, sizeof (msg), "Found stopped "
"brick %s", brick);