Explorar o código

Make local_node ring0 address read-only

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Steven Dake <sdake@redhat.com>
Jan Friesse %!s(int64=14) %!d(string=hai) anos
pai
achega
0c2e3c8408
Modificáronse 1 ficheiros con 9 adicións e 0 borrados
  1. 9 0
      exec/totemconfig.c

+ 9 - 0
exec/totemconfig.c

@@ -542,6 +542,15 @@ extern int totem_config_read (
 
 
 			snprintf(tmp_key, ICMAP_KEYNAME_MAXLEN, "nodelist.node.%u.nodeid", 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);
 			icmap_get_uint32(tmp_key, &totem_config->node_id);
+
+			/*
+			 * Make localnode ring0_addr read only, so we can be sure that local
+			 * node never changes. If rebinding to other IP would be in future
+			 * supported, this must be changed and handled properly!
+			 */
+			snprintf(tmp_key, ICMAP_KEYNAME_MAXLEN, "nodelist.node.%u.ring0_addr", local_node_pos);
+			icmap_set_ro_access(tmp_key, 0, 1);
+			icmap_set_ro_access("nodelist.local_node_pos", 0, 1);
 		}
 		}
 
 
 		put_nodelist_members_to_config(totem_config);
 		put_nodelist_members_to_config(totem_config);