فهرست منبع

quorum: revert patch that adds qdevice (node 0) to quorum callback

Revert patch 9f54f0a1fad7dad42c55562a50dfb9d773e6a660 as it causes
more troubles than it solves. Code that uses the quorum nodelist
to get a list of actual nodes in the cluster for communication
break using this as well as the display from corosync-quorumtool

Signed-off-by: Christine Caulfield <ccaulfie@redhat.com>
Christine Caulfield 9 سال پیش
والد
کامیت
0665aca9e1
2فایلهای تغییر یافته به همراه6 افزوده شده و 16 حذف شده
  1. 5 15
      exec/votequorum.c
  2. 1 1
      exec/vsf_quorum.c

+ 5 - 15
exec/votequorum.c

@@ -202,7 +202,7 @@ static uint8_t cluster_is_quorate;
 
 
 static struct cluster_node *us;
 static struct cluster_node *us;
 static struct list_head cluster_members_list;
 static struct list_head cluster_members_list;
-static unsigned int quorum_members[PROCESSOR_COUNT_MAX+1];
+static unsigned int quorum_members[PROCESSOR_COUNT_MAX];
 static unsigned int previous_quorum_members[PROCESSOR_COUNT_MAX];
 static unsigned int previous_quorum_members[PROCESSOR_COUNT_MAX];
 static unsigned int atb_nodelist[PROCESSOR_COUNT_MAX];
 static unsigned int atb_nodelist[PROCESSOR_COUNT_MAX];
 static int quorum_members_entries = 0;
 static int quorum_members_entries = 0;
@@ -984,18 +984,6 @@ static int calculate_quorum(int allow_decrease, unsigned int max_expected, unsig
 	return newquorum;
 	return newquorum;
 }
 }
 
 
-static void do_quorum_callback(void)
-{
-	int real_num_entries = quorum_members_entries;
-
-	if (us->flags & NODE_FLAGS_QDEVICE_ALIVE) {
-		quorum_members[quorum_members_entries] = VOTEQUORUM_QDEVICE_NODEID;
-		real_num_entries += 1;
-	}
-	quorum_callback(quorum_members, real_num_entries,
-			cluster_is_quorate, &quorum_ringid);
-}
-
 static void are_we_quorate(unsigned int total_votes)
 static void are_we_quorate(unsigned int total_votes)
 {
 {
 	int quorate;
 	int quorate;
@@ -1069,7 +1057,8 @@ static void are_we_quorate(unsigned int total_votes)
 
 
 	if ((quorum_change) &&
 	if ((quorum_change) &&
 	    (sync_in_progress == 0)) {
 	    (sync_in_progress == 0)) {
-		do_quorum_callback();
+		quorum_callback(quorum_members, quorum_members_entries,
+				cluster_is_quorate, &quorum_ringid);
 		votequorum_exec_send_quorum_notification(NULL, 0L);
 		votequorum_exec_send_quorum_notification(NULL, 0L);
 	}
 	}
 
 
@@ -2428,7 +2417,8 @@ static int votequorum_sync_process (void)
 static void votequorum_sync_activate (void)
 static void votequorum_sync_activate (void)
 {
 {
 	recalculate_quorum(0, 0);
 	recalculate_quorum(0, 0);
-	do_quorum_callback();
+	quorum_callback(quorum_members, quorum_members_entries,
+			cluster_is_quorate, &quorum_ringid);
 	votequorum_exec_send_quorum_notification(NULL, 0L);
 	votequorum_exec_send_quorum_notification(NULL, 0L);
 
 
 	sync_in_progress = 0;
 	sync_in_progress = 0;

+ 1 - 1
exec/vsf_quorum.c

@@ -107,7 +107,7 @@ static struct list_head lib_trackers_list;
 static struct list_head internal_trackers_list;
 static struct list_head internal_trackers_list;
 static struct memb_ring_id quorum_ring_id;
 static struct memb_ring_id quorum_ring_id;
 static size_t quorum_view_list_entries = 0;
 static size_t quorum_view_list_entries = 0;
-static int quorum_view_list[PROCESSOR_COUNT_MAX+1];
+static int quorum_view_list[PROCESSOR_COUNT_MAX];
 struct quorum_services_api_ver1 *quorum_iface = NULL;
 struct quorum_services_api_ver1 *quorum_iface = NULL;
 static char view_buf[64];
 static char view_buf[64];