diff options
author | Susant Palai <spalai@redhat.com> | 2014-02-27 06:50:15 +0000 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2014-03-22 05:28:35 -0700 |
commit | 53194718bb2aed6b88084cafd9e84a4350663ac6 (patch) | |
tree | 4d6a60776d34551996cb0a4df4a40c66b0a02594 /xlators | |
parent | 16151032862af8ee70f14eff57162d829d8d75f9 (diff) |
Glusterd/Remove-brick: Reconfigure the nfs server volfile upon remove-brick start
Problem : For remove-brick start operation all client volfiles are reconfigured
except nfs server volfile. Hence, even after layout is fixed by the rebalance
process, the nfs clients dont see the change and go on creating directories and
files in the decommissioned brick which leads to data loss after remove-brick
commit.
Solution : Reconfigure the nfs server volfile for remove-brick start
credit: kaushal@redhat.com
spalai@redhat.com
Change-Id: Ib8cd8b45a9e1f888d5e00dff65cdf77c1613a2af
BUG: 1070734
Signed-off-by: Susant Palai <spalai@redhat.com>
Reviewed-on: http://review.gluster.org/7162
Reviewed-by: Kaushal M <kaushal@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-brick-ops.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c index ced916ea122..5ab23f2d9cd 100644 --- a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c @@ -1931,6 +1931,16 @@ glusterd_op_remove_brick (dict_t *dict, char **op_errstr) goto out; } + if (GF_OP_CMD_START == cmd && + volinfo->status == GLUSTERD_STATUS_STARTED) { + ret = glusterd_nodesvcs_handle_reconfigure (volinfo); + if (ret) { + gf_log (this->name, GF_LOG_WARNING, + "Unable to reconfigure NFS-Server"); + goto out; + } + } + /* Need to reset the defrag/rebalance status accordingly */ switch (volinfo->rebal.defrag_status) { case GF_DEFRAG_STATUS_FAILED: |