From 807b9a135d697f175fc9933f1d23fb67b0cc6c7d Mon Sep 17 00:00:00 2001 From: Samikshan Bairagya Date: Tue, 14 Jun 2016 10:52:27 +0530 Subject: glusterd: Don't start bricks if server quorum is not met Upon glusterd restart if it is observered that the server quorum isn't met anymore due to changes to the "server-quorum-ratio" global option, the bricks should be stopped if they are running. Also if glusterd has been restarted, and if server quorum is not applicable for a volume, do not restart the bricks corresponding to the volume to make sure that bricks that have been brought down purposely, say for maintenance, are not brought up. This commit moves this check that was previously inside "glusterd_spawn_daemons" to "glusterd_restart_bricks" instead. Change-Id: I0a44a2e7cad0739ed7d56d2d67ab58058716de6b BUG: 1345727 Signed-off-by: Samikshan Bairagya Reviewed-on: http://review.gluster.org/14758 Smoke: Gluster Build System NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Reviewed-by: Jeff Darcy --- xlators/mgmt/glusterd/src/glusterd-server-quorum.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'xlators/mgmt/glusterd/src/glusterd-server-quorum.c') diff --git a/xlators/mgmt/glusterd/src/glusterd-server-quorum.c b/xlators/mgmt/glusterd/src/glusterd-server-quorum.c index 7b3f0b79921..ecf9d53b71e 100644 --- a/xlators/mgmt/glusterd/src/glusterd-server-quorum.c +++ b/xlators/mgmt/glusterd/src/glusterd-server-quorum.c @@ -397,9 +397,11 @@ out: return ret; } -/* ret = 1 represents quorum is met or quorum not applicable, - ret = 0 represents quorum is not met -*/ +/* ret = 0 represents quorum is not met + * ret = 1 represents quorum is met + * ret = 2 represents quorum not applicable + */ + int check_quorum_for_brick_start (glusterd_volinfo_t *volinfo, gf_boolean_t node_quorum) @@ -412,7 +414,7 @@ check_quorum_for_brick_start (glusterd_volinfo_t *volinfo, if (node_quorum) ret = 1; } else { - ret = 1; + ret = 2; } return ret; } -- cgit