Răsfoiți Sursa

votequorum: fix node check based on reconfig parameter

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
Reviewed-by: Christine Caulfield <ccaulfie@redhat.com>
Fabio M. Di Nitto 14 ani în urmă
părinte
comite
33ea03f426
1 a modificat fișierele cu 5 adăugiri și 6 ștergeri
  1. 5 6
      exec/votequorum.c

+ 5 - 6
exec/votequorum.c

@@ -1625,12 +1625,6 @@ static void message_handler_req_exec_votequorum_reconfigure (
 	log_printf(LOGSYS_LEVEL_DEBUG, "got reconfigure message from cluster node %u for %u",
 	log_printf(LOGSYS_LEVEL_DEBUG, "got reconfigure message from cluster node %u for %u",
 					nodeid, req_exec_quorum_reconfigure->nodeid);
 					nodeid, req_exec_quorum_reconfigure->nodeid);
 
 
-	node = find_node_by_nodeid(req_exec_quorum_reconfigure->nodeid);
-	if (!node) {
-		LEAVE();
-		return;
-	}
-
 	switch(req_exec_quorum_reconfigure->param)
 	switch(req_exec_quorum_reconfigure->param)
 	{
 	{
 	case VOTEQUORUM_RECONFIG_PARAM_EXPECTED_VOTES:
 	case VOTEQUORUM_RECONFIG_PARAM_EXPECTED_VOTES:
@@ -1646,6 +1640,11 @@ static void message_handler_req_exec_votequorum_reconfigure (
 		break;
 		break;
 
 
 	case VOTEQUORUM_RECONFIG_PARAM_NODE_VOTES:
 	case VOTEQUORUM_RECONFIG_PARAM_NODE_VOTES:
+		node = find_node_by_nodeid(req_exec_quorum_reconfigure->nodeid);
+		if (!node) {
+			LEAVE();
+			return;
+		}
 		node->votes = req_exec_quorum_reconfigure->value;
 		node->votes = req_exec_quorum_reconfigure->value;
 		recalculate_quorum(1, 0);  /* Allow decrease */
 		recalculate_quorum(1, 0);  /* Allow decrease */
 		break;
 		break;