diff options
author | Michael Adam <obnox@samba.org> | 2017-06-13 14:44:39 +0200 |
---|---|---|
committer | Atin Mukherjee <amukherj@redhat.com> | 2017-08-01 10:11:37 +0000 |
commit | 3023c4bd7651d4503830c36676cd08864e315cdf (patch) | |
tree | 580263598e745bd55b83bc37d08e3a45a4a799a4 | |
parent | ed0a3acfccbbfc96f417d8dba880e3d070bb0043 (diff) |
glusterd: streamline logic flow in glusterd_validate_quorum()
Make an earlier exit when the volume is not of server quorum.
Thereby it spares the actual quorum calculation in this case.
This also increases the overall readability of the function.
The patch is best seen with the --patience diff option to
understand what it does (e.g. "git show --patience").
Change-Id: Ifce50bc3f73d79d3d6226473661a83696d65149a
BUG: 1476719
Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-on: https://review.gluster.org/17924
Smoke: Gluster Build System <jenkins@build.gluster.org>
Tested-by: Atin Mukherjee <amukherj@redhat.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-server-quorum.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-server-quorum.c b/xlators/mgmt/glusterd/src/glusterd-server-quorum.c index 37dec3d2d6b..468191cd27f 100644 --- a/xlators/mgmt/glusterd/src/glusterd-server-quorum.c +++ b/xlators/mgmt/glusterd/src/glusterd-server-quorum.c @@ -99,17 +99,19 @@ glusterd_validate_quorum (xlator_t *this, glusterd_op_t op, goto out; } - if (does_gd_meet_server_quorum (this)) { + if (!glusterd_is_volume_in_server_quorum (volinfo)) { ret = 0; goto out; } - if (glusterd_is_volume_in_server_quorum (volinfo)) { - ret = -1; - *op_errstr = gf_strdup (errstr); + if (does_gd_meet_server_quorum (this)) { + ret = 0; goto out; } - ret = 0; + + ret = -1; + *op_errstr = gf_strdup (errstr); + out: return ret; } |