summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-rebalance.c
diff options
context:
space:
mode:
authorKaushal M <kaushal@gluster.com>2011-09-26 11:19:24 +0530
committerVijay Bellur <vijay@gluster.com>2011-09-27 05:37:36 -0700
commit0286dd866a89c035073294c348a43beca3109c38 (patch)
tree14de88eaa7580a029f12bba509b3facf66a2bd0a /xlators/mgmt/glusterd/src/glusterd-rebalance.c
parent68ff38bd2f77c62cd0c5729b047003694a7d63af (diff)
glusterd: more checks before starting rebalance
Checks if specified volume is of a distribute type and has more than one brick before attempting to start rebalance. Change-Id: I9a3405019e7af4a7d7e162b0dc054bf9a99364e7 BUG: 3561 Reviewed-on: http://review.gluster.com/501 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-rebalance.c')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-rebalance.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-rebalance.c b/xlators/mgmt/glusterd/src/glusterd-rebalance.c
index d2ad2ce..ed87a5b 100644
--- a/xlators/mgmt/glusterd/src/glusterd-rebalance.c
+++ b/xlators/mgmt/glusterd/src/glusterd-rebalance.c
@@ -608,6 +608,14 @@ glusterd_rebalance_cmd_validate (int cmd, char *volname,
volname);
goto out;
}
+ if ((*volinfo)->brick_count <= (*volinfo)->dist_leaf_count) {
+ gf_log ("glusterd", GF_LOG_ERROR, "Volume %s is not a "
+ "distribute type or contains only 1 brick", volname);
+ snprintf (op_errstr, len, "Volume %s is not a distribute "
+ "volume or contains only 1 brick.\n"
+ "Not performing rebalance", volname);
+ goto out;
+ }
if ((*volinfo)->status != GLUSTERD_STATUS_STARTED) {
gf_log ("glusterd", GF_LOG_ERROR, "Received rebalance on stopped"