]> git.proxmox.com Git - pve-cluster.git/commit
ensure quorum is set false when corosync fails
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 30 Jun 2016 14:35:36 +0000 (16:35 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Thu, 30 Jun 2016 15:11:05 +0000 (17:11 +0200)
commitc37716dd741861cdfda5d007dc0052b441c59ccb
tree2f59b200f42383fb81d7908e5a7e47767959954b
parente5a5a3ea0f6c04145d037633f8ce3006a5035ddc
ensure quorum is set false when corosync fails

If corosync directly fails (i.e. `killall corosync`) the local node
acted like it had still quorum, which is not ideal.

Ensure that we set quorate to false before we finalize the quorum.

Do this in:

* service_quorum_dispatch, if it fails it is important that we set
it to false, as there is a good possibility that the
quorum_notification_fn won't get called anymore, reproducible with
$ killall corosync && sleep 0.1 && ls -l /etc/pve/ \
  && systemctl start corosync
Expected behavior: corosync is dead, the ls should show that
everything in /etc/pve is read only
Shown: behavior: /etc/pve still has read/write access and
PVE::Cluster::check_cfs_quorum() still returns true

* service_quorum_initialize: just to be sure as we successfully
  registered the quorum notification function already

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
data/src/quorum.c