]> git.proxmox.com Git - mirror_corosync.git/commitdiff
votequorum: fix handling of expected_votes/votes changes from cmapctl
authorFabio M. Di Nitto <fdinitto@redhat.com>
Tue, 20 Nov 2012 14:38:09 +0000 (15:38 +0100)
committerFabio M. Di Nitto <fdinitto@redhat.com>
Tue, 20 Nov 2012 14:45:57 +0000 (15:45 +0100)
and allow natural selection to take place....

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
Reviewed-by: Jan Friesse <jfriesse@redhat.com>
exec/votequorum.c

index 253f649a1f41d2b827dabec239aeca433949f609..b2b8d5891f37f1ff6b24b67ea9a7bccd9df96e58 100644 (file)
@@ -1174,8 +1174,13 @@ static void votequorum_refresh_config(
        struct icmap_notify_value old_val,
        void *user_data)
 {
+       int old_votes, old_expected_votes;
+
        ENTER();
 
+       old_votes = us->votes;
+       old_expected_votes = us->expected_votes;
+
        /*
         * Reload the configuration
         */
@@ -1186,6 +1191,14 @@ static void votequorum_refresh_config(
         */
        votequorum_exec_send_nodeinfo(us->node_id);
        votequorum_exec_send_nodeinfo(VOTEQUORUM_QDEVICE_NODEID);
+       if (us->votes != old_votes) {
+               votequorum_exec_send_reconfigure(VOTEQUORUM_RECONFIG_PARAM_NODE_VOTES,
+                                                us->node_id, us->votes);
+       }
+       if (us->expected_votes != old_expected_votes) {
+               votequorum_exec_send_reconfigure(VOTEQUORUM_RECONFIG_PARAM_EXPECTED_VOTES,
+                                                us->node_id, us->expected_votes);
+       }
 
        LEAVE();
 }