[PATCH 5/6] Use nodeid provided in nodelist

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Jan Friesse <jfriesse@xxxxxxxxxx>
---
 exec/main.c        |   12 ++++++++++--
 exec/totemconfig.c |   11 +++++++++--
 exec/totemconfig.h |    1 +
 3 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/exec/main.c b/exec/main.c
index 7eaddff..2c0c716 100644
--- a/exec/main.c
+++ b/exec/main.c
@@ -1150,11 +1150,19 @@ int main (int argc, char **argv, char **envp)
 	}
 
 	if (totem_config_warnings & TOTEM_CONFIG_WARNING_MEMBERS_IGNORED) {
-		log_printf (LOGSYS_LEVEL_WARNING, "member section is used together with nodelist. members ignored");
+		log_printf (LOGSYS_LEVEL_WARNING, "member section is used together with nodelist. Members ignored.");
 	}
 
 	if (totem_config_warnings & TOTEM_CONFIG_WARNING_MEMBERS_DEPRECATED) {
-		log_printf (LOGSYS_LEVEL_WARNING, "member section is deprecated. Please migrate config file to nodelist");
+		log_printf (LOGSYS_LEVEL_WARNING, "member section is deprecated.");
+	}
+
+	if (totem_config_warnings & TOTEM_CONFIG_WARNING_NODEID_IGNORED) {
+		log_printf (LOGSYS_LEVEL_WARNING, "nodeid in totem section is deprecated and ignored.");
+	}
+
+	if (totem_config_warnings != 0) {
+		log_printf (LOGSYS_LEVEL_WARNING, "Please migrate config file to nodelist.");
 	}
 
 	res = totem_config_keyread (&totem_config, &error_string);
diff --git a/exec/totemconfig.c b/exec/totemconfig.c
index 6aa7de9..c6df738 100644
--- a/exec/totemconfig.c
+++ b/exec/totemconfig.c
@@ -324,6 +324,7 @@ extern int totem_config_read (
 	char tmp_key[ICMAP_KEYNAME_MAXLEN];
 	uint8_t u8;
 	uint16_t u16;
+	uint32_t u32;
 	char *cluster_name = NULL;
 	int i;
 	int local_node_pos;
@@ -366,9 +367,12 @@ extern int totem_config_read (
 	}
 
 	/*
-	 * Get interface node id
+	 * Get interface node id. This is now deprecated, so set warning
+	 * flag if item exists.
 	 */
-	icmap_get_uint32("totem.nodeid", &totem_config->node_id);
+	if (icmap_get_uint32("totem.nodeid", &u32) == CS_OK) {
+		*warnings |= TOTEM_CONFIG_WARNING_NODEID_IGNORED;
+	}
 
 	totem_config->clear_node_high_bit = 0;
 	if (icmap_get_string("totem.clear_node_high_bit", &str) == CS_OK) {
@@ -528,6 +532,9 @@ extern int totem_config_read (
 		local_node_pos = find_local_node_in_nodelist(totem_config);
 		if (local_node_pos != -1) {
 			icmap_set_uint32("nodelist.local_node_pos", local_node_pos);
+
+			snprintf(tmp_key, ICMAP_KEYNAME_MAXLEN, "nodelist.node.%u.nodeid", local_node_pos);
+			icmap_get_uint32(tmp_key, &totem_config->node_id);
 		}
 
 		put_nodelist_members_to_config(totem_config);
diff --git a/exec/totemconfig.h b/exec/totemconfig.h
index 8f41092..324495d 100644
--- a/exec/totemconfig.h
+++ b/exec/totemconfig.h
@@ -45,6 +45,7 @@
 
 #define TOTEM_CONFIG_WARNING_MEMBERS_IGNORED		(1<<1)
 #define TOTEM_CONFIG_WARNING_MEMBERS_DEPRECATED		(1<<2)
+#define TOTEM_CONFIG_WARNING_NODEID_IGNORED		(1<<3)
 
 extern int totem_config_read (
 	struct totem_config *totem_config,
-- 
1.7.1

_______________________________________________
discuss mailing list
discuss@xxxxxxxxxxxx
http://lists.corosync.org/mailman/listinfo/discuss


[Index of Archives]     [Linux Clusters]     [Corosync Project]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Linux Kernel]     [Linux SCSI]     [X.Org]

  Powered by Linux