summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-op-sm.c
diff options
context:
space:
mode:
authorAtin Mukherjee <amukherj@redhat.com>2014-12-26 12:18:31 +0530
committerKaushal M <kaushal@redhat.com>2015-01-06 05:44:38 -0800
commit6e2318f0821d7c58eddc837b2d218247243a5c8d (patch)
treeedb45148107c26164aaa55a04e98fdd18a783845 /xlators/mgmt/glusterd/src/glusterd-op-sm.c
parent64954eb3c58f4ef077e54e8a3726fd2d27419b12 (diff)
glusterd: cluster quorum count check correction
Due to the recent change introduced by commit da9deb54df91dedc51ebe165f3a0be646455cb5b cluster quorum count calucation now depends on whether the peer list is either all peers or global transaction peer list or the local transaction peer list. Change-Id: I9f63af9a0cb3cfd6369b050247d0ef3ac93d760f BUG: 1173414 Signed-off-by: Atin Mukherjee <amukherj@redhat.com> Reviewed-on: http://review.gluster.org/9350 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com> Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com> Reviewed-by: Avra Sengupta <asengupt@redhat.com> Reviewed-by: Kaushal M <kaushal@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-op-sm.c')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-op-sm.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c
index 3f8de08a577..a0cf87598fa 100644
--- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c
+++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c
@@ -3462,8 +3462,11 @@ glusterd_op_validate_quorum (xlator_t *this, glusterd_op_t op,
int ret = 0;
char *volname = NULL;
glusterd_volinfo_t *volinfo = NULL;
+ glusterd_conf_t *conf = NULL;
char *errstr = NULL;
+ conf = this->private;
+ GF_ASSERT (conf);
errstr = "Quorum not met. Volume operation not allowed.";
if (!glusterd_is_op_quorum_validation_required (this, op, dict))
@@ -3481,7 +3484,8 @@ glusterd_op_validate_quorum (xlator_t *this, glusterd_op_t op,
goto out;
}
- if (does_gd_meet_server_quorum (this, _gf_false)) {
+ if (does_gd_meet_server_quorum (this, &conf->xaction_peers,
+ _gf_false)) {
ret = 0;
goto out;
}