From 4d3b3d3f8a26b65e6a235d937baff40eefd577fd Mon Sep 17 00:00:00 2001 From: Sakshi Date: Thu, 28 May 2015 10:49:36 +0530 Subject: glusterd: check if all bricks are started before performing remove-brick Due to low severity the patch was not immediately backported. > Backport of http://review.gluster.org/#/c/10954/ > Change-Id: Ie9e24e037b7a39b239a7badb983504963d664324 > BUG: 1225716 > Signed-off-by: Sakshi > Reviewed-on: http://review.gluster.org/10954 > Tested-by: NetBSD Build System > Tested-by: Gluster Build System > Reviewed-by: Atin Mukherjee Change-Id: Ifc6088949f3891c28c4941b3377c72b68b68cb29 BUG: 1302528 Signed-off-by: Sakshi Reviewed-on: http://review.gluster.org/13306 Reviewed-by: Gaurav Kumar Garg 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 | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'xlators') diff --git a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c index f90d3d6584c..7801d059a3a 100644 --- a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c @@ -1805,8 +1805,17 @@ glusterd_remove_brick_validate_bricks (gf1_op_commands cmd, int32_t brick_count, } } - if (glusterd_is_local_brick (THIS, volinfo, brickinfo)) + if (glusterd_is_local_brick (THIS, volinfo, brickinfo)) { + if (cmd == GF_OP_CMD_START && + brickinfo->status != GF_BRICK_STARTED) { + snprintf (msg, sizeof (msg), "Found stopped " + "brick %s", brick); + *errstr = gf_strdup (msg); + ret = -1; + goto out; + } continue; + } rcu_read_lock (); peerinfo = glusterd_peerinfo_find_by_uuid -- cgit