diff options
| author | Sakshi <sabansal@redhat.com> | 2015-05-28 10:49:36 +0530 | 
|---|---|---|
| committer | Atin Mukherjee <amukherj@redhat.com> | 2016-02-22 02:25:54 -0800 | 
| commit | 4d3b3d3f8a26b65e6a235d937baff40eefd577fd (patch) | |
| tree | 24dec7ecb8e8b048aa058778337f95e254adf85b /xlators | |
| parent | 605ff4691cc265c5459d77305ef6df777a94ee8f (diff) | |
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 <sabansal@redhat.com>
> Reviewed-on: http://review.gluster.org/10954
> Tested-by: NetBSD Build System <jenkins@build.gluster.org>
> Tested-by: Gluster Build System <jenkins@build.gluster.com>
> Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Change-Id: Ifc6088949f3891c28c4941b3377c72b68b68cb29
BUG: 1302528
Signed-off-by: Sakshi <sabansal@redhat.com>
Reviewed-on: http://review.gluster.org/13306
Reviewed-by: Gaurav Kumar Garg <ggarg@redhat.com>
Smoke: Gluster Build System <jenkins@build.gluster.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Diffstat (limited to 'xlators')
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-brick-ops.c | 11 | 
1 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 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  | 
