73 lines
2.4 KiB
Diff
73 lines
2.4 KiB
Diff
|
From 622a4a629346f3b52ecac140ab99fb3023dca8f9 Mon Sep 17 00:00:00 2001
|
||
|
From: Bin Liu <bliu@suse.com>
|
||
|
Date: Tue, 11 Apr 2017 16:57:55 +0800
|
||
|
Subject: [PATCH] totemconfig.c: Fixed Evicted from CPG membership
|
||
|
|
||
|
---
|
||
|
exec/main.c | 4 ++++
|
||
|
exec/totemconfig.c | 13 ++++++++++++-
|
||
|
exec/totemconfig.h | 1 +
|
||
|
3 files changed, 17 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/exec/main.c b/exec/main.c
|
||
|
index 0ca5634a..f09b73cf 100644
|
||
|
--- a/exec/main.c
|
||
|
+++ b/exec/main.c
|
||
|
@@ -1261,6 +1261,10 @@ int main (int argc, char **argv, char **envp)
|
||
|
if (totem_config_warnings & TOTEM_CONFIG_WARNING_TOTEM_NODEID_IGNORED) {
|
||
|
log_printf (LOGSYS_LEVEL_WARNING, "nodeid appears both in totem section and nodelist. Nodelist one is used.");
|
||
|
}
|
||
|
+ if (totem_config_warnings & TOTEM_CONFIG_BINDNETADDR_NODELIST_SET) {
|
||
|
+ log_printf (LOGSYS_LEVEL_WARNING, "%s", "interface section bindnetaddr is used together with nodelist. "
|
||
|
+ "Nodelist one is going to be used.");
|
||
|
+ }
|
||
|
|
||
|
if (totem_config_warnings != 0) {
|
||
|
log_printf (LOGSYS_LEVEL_WARNING, "Please migrate config file to nodelist.");
|
||
|
diff --git a/exec/totemconfig.c b/exec/totemconfig.c
|
||
|
index f232ea8f..305a7fe4 100644
|
||
|
--- a/exec/totemconfig.c
|
||
|
+++ b/exec/totemconfig.c
|
||
|
@@ -975,7 +975,7 @@ extern int totem_config_read (
|
||
|
uint64_t *warnings)
|
||
|
{
|
||
|
int res = 0;
|
||
|
- char *str;
|
||
|
+ char *str, *ring0_addr_str;
|
||
|
unsigned int ringnumber = 0;
|
||
|
int member_count = 0;
|
||
|
icmap_iter_t iter, member_iter;
|
||
|
@@ -1048,6 +1048,17 @@ extern int totem_config_read (
|
||
|
*/
|
||
|
config_convert_nodelist_to_interface(totem_config);
|
||
|
} else {
|
||
|
+ if (icmap_get_string("nodelist.node.0.ring0_addr", &ring0_addr_str) == CS_OK) {
|
||
|
+ /*
|
||
|
+ * Both bindnetaddr and ring0_addr are set.
|
||
|
+ * Log warning information, and use nodelist instead
|
||
|
+ */
|
||
|
+ *warnings |= TOTEM_CONFIG_BINDNETADDR_NODELIST_SET;
|
||
|
+
|
||
|
+ config_convert_nodelist_to_interface(totem_config);
|
||
|
+
|
||
|
+ free(ring0_addr_str);
|
||
|
+ }
|
||
|
free(str);
|
||
|
}
|
||
|
|
||
|
diff --git a/exec/totemconfig.h b/exec/totemconfig.h
|
||
|
index 10607cc2..368ecabf 100644
|
||
|
--- a/exec/totemconfig.h
|
||
|
+++ b/exec/totemconfig.h
|
||
|
@@ -46,6 +46,7 @@
|
||
|
#define TOTEM_CONFIG_WARNING_MEMBERS_IGNORED (1<<1)
|
||
|
#define TOTEM_CONFIG_WARNING_MEMBERS_DEPRECATED (1<<2)
|
||
|
#define TOTEM_CONFIG_WARNING_TOTEM_NODEID_IGNORED (1<<3)
|
||
|
+#define TOTEM_CONFIG_BINDNETADDR_NODELIST_SET (1<<4)
|
||
|
|
||
|
extern int totem_config_read (
|
||
|
struct totem_config *totem_config,
|
||
|
--
|
||
|
2.12.0
|
||
|
|