From 7c0c184be28e0cba08645c7106c6901b444651c9 Mon Sep 17 00:00:00 2001 From: Mohammed Rafi KC Date: Thu, 23 Apr 2015 16:24:43 +0530 Subject: tiering: Do not allow some operations on tiered volume Some operations like add-brick,remove-brick,rebalance, replace-brick are not supported on tiered volume. But there is no code level check for this. This patch will allow to do the same Change-Id: I12689f4e902cf0cceaf6f7f29c71057305024977 BUG: 1205624 Signed-off-by: Mohammed Rafi KC Reviewed-on: http://review.gluster.org/10349 Tested-by: Gluster Build System Tested-by: NetBSD Build System Reviewed-by: Krishnan Parthasarathi Tested-by: Krishnan Parthasarathi --- xlators/mgmt/glusterd/src/glusterd-replace-brick.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'xlators/mgmt/glusterd/src/glusterd-replace-brick.c') diff --git a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c index 818b58a724f..cb9c67cc7dc 100644 --- a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c +++ b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c @@ -243,6 +243,14 @@ glusterd_op_stage_replace_brick (dict_t *dict, char **op_errstr, goto out; } + ret = glusterd_disallow_op_for_tier (volinfo, GD_OP_REPLACE_BRICK, -1); + if (ret) { + snprintf (msg, sizeof (msg), "Replace brick commands are not " + "supported on tiered volume %s", volname); + *op_errstr = gf_strdup (msg); + goto out; + } + if (!glusterd_store_is_valid_brickpath (volname, dst_brick) || !glusterd_is_valid_volfpath (volname, dst_brick)) { snprintf (msg, sizeof (msg), "brick path %s is too " -- cgit