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>
This commit is contained in:
Michael Adam 2017-06-13 14:44:39 +02:00 committed by Atin Mukherjee
parent ed0a3acfcc
commit 3023c4bd76

View File

@ -99,17 +99,19 @@ glusterd_validate_quorum (xlator_t *this, glusterd_op_t op,
goto out;
}
if (!glusterd_is_volume_in_server_quorum (volinfo)) {
ret = 0;
goto out;
}
if (does_gd_meet_server_quorum (this)) {
ret = 0;
goto out;
}
if (glusterd_is_volume_in_server_quorum (volinfo)) {
ret = -1;
*op_errstr = gf_strdup (errstr);
goto out;
}
ret = 0;
ret = -1;
*op_errstr = gf_strdup (errstr);
out:
return ret;
}