[Cluster-devel] cluster/cman/daemon ais.c barrier.c cmanccs.c ...

pcaulfield at sourceware.org pcaulfield at sourceware.org
Mon Sep 17 08:03:38 UTC 2007


CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	pcaulfield at sourceware.org	2007-09-17 08:03:37

Modified files:
	cman/daemon    : ais.c barrier.c cmanccs.c commands.c daemon.c 
	                 logging.c logging.h 

Log message:
	Use openais logsys functions.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/daemon/ais.c.diff?cvsroot=cluster&r1=1.49&r2=1.50
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/daemon/barrier.c.diff?cvsroot=cluster&r1=1.11&r2=1.12
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/daemon/cmanccs.c.diff?cvsroot=cluster&r1=1.29&r2=1.30
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/daemon/commands.c.diff?cvsroot=cluster&r1=1.70&r2=1.71
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/daemon/daemon.c.diff?cvsroot=cluster&r1=1.36&r2=1.37
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/daemon/logging.c.diff?cvsroot=cluster&r1=1.14&r2=1.15
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/daemon/logging.h.diff?cvsroot=cluster&r1=1.7&r2=1.8

--- cluster/cman/daemon/ais.c	2007/05/21 10:48:40	1.49
+++ cluster/cman/daemon/ais.c	2007/09/17 08:03:36	1.50
@@ -36,7 +36,7 @@
 #include <openais/service/config.h>
 #include <openais/lcr/lcr_comp.h>
 #include <openais/service/swab.h>
-#include <openais/service/print.h>
+#include <openais/service/logsys.h>
 
 #include "cnxman-socket.h"
 #include "commands.h"
@@ -204,9 +204,7 @@
 
 	/* Initialise early logging */
 	if (getenv("CMAN_DEBUGLOG"))
-	{
 		debug_mask = atoi(getenv("CMAN_DEBUGLOG"));
-	}
 
 	if (getenv("CMAN_PIPE"))
 		startup_pipe = atoi(getenv("CMAN_PIPE"));
@@ -242,7 +240,7 @@
 {
 	unsigned int object_handle;
 
-	/* We can only work if our config inerface was run first */
+	/* We can only work if our config interface was run first */
 	if (!config_run)
 		return 0;
 
@@ -269,6 +267,8 @@
 	close(startup_pipe);
 	startup_pipe = 0;
 
+	cman_flush_debuglog();
+
 	/* Start totem */
 	totempg_groups_initialize(&group_handle, cman_deliver_fn, cman_confchg_fn);
 	totempg_groups_join(group_handle, cman_group, 1);
--- cluster/cman/daemon/barrier.c	2007/06/26 09:09:13	1.11
+++ cluster/cman/daemon/barrier.c	2007/09/17 08:03:36	1.12
@@ -240,7 +240,7 @@
 	/* See if it already exists */
 	if ((barrier = find_barrier(name))) {
 		if (nodes != barrier->expected_nodes) {
-			log_msg(LOG_ERR, "Barrier registration failed for '%s', expected nodes=%d, requested=%d\n",
+			log_printf(LOG_ERR, "Barrier registration failed for '%s', expected nodes=%d, requested=%d\n",
 			       name, barrier->expected_nodes, nodes);
 			return -EINVAL;
 		}
--- cluster/cman/daemon/cmanccs.c	2007/08/03 07:35:06	1.29
+++ cluster/cman/daemon/cmanccs.c	2007/09/17 08:03:36	1.30
@@ -102,7 +102,7 @@
     /* Open the config file */
     ctree = ccs_force_connect(NULL, 1);
     if (ctree < 0) {
-	    log_msg(LOG_ERR, "Error connecting to CCS");
+	    log_printf(LOG_ERR, "Error connecting to CCS");
 	    write_cman_pipe("Cannot connect to CCS");
 	    return -1;
     }
@@ -156,7 +156,7 @@
 		char message[132];
 
 		sprintf(message, "No node ID for %s, run 'ccs_tool addnodeids' to fix", nodename);
-		log_msg(LOG_ERR, message);
+		log_printf(LOG_ERR, message);
 		write_cman_pipe(message);
 		return -1;
 	}
@@ -190,7 +190,7 @@
 	   default a multicast address */
         ret = getaddrinfo(nodenames[0], NULL, &ahints, &ainfo);
 	if (ret) {
-		log_msg(LOG_ERR, "Can't determine address family of nodename %s\n", nodenames[0]);
+		log_printf(LOG_ERR, "Can't determine address family of nodename %s\n", nodenames[0]);
 		write_cman_pipe("Can't determine address family of nodename");
 		return NULL;
 	}
@@ -402,12 +402,12 @@
 	/* Connect to ccsd */
 	if (getenv("CMAN_CLUSTER_NAME")) {
 		cname = getenv("CMAN_CLUSTER_NAME");
-		log_msg(LOG_INFO, "Using override cluster name %s\n", cname);
+		log_printf(LOG_INFO, "Using override cluster name %s\n", cname);
 	}
 
 	cd = ccs_force_connect(cname, 1);
 	if (cd < 0) {
-		log_msg(LOG_ERR, "Error connecting to CCS");
+		log_printf(LOG_ERR, "Error connecting to CCS");
 		write_cman_pipe("Can't connect to CCSD");
 		return -ENOTCONN;
 	}
@@ -415,14 +415,14 @@
 	/* Cluster name */
 	error = ccs_get(cd, CLUSTER_NAME_PATH, &str);
 	if (error) {
-		log_msg(LOG_ERR, "cannot find cluster name in config file");
+		log_printf(LOG_ERR, "cannot find cluster name in config file");
 		write_cman_pipe("Can't find cluster name in CCS");
 		return -ENOENT;
 	}
 
 	if (cname) {
 		if (strcmp(cname, str)) {
-			log_msg(LOG_ERR, "cluster names not equal %s %s", cname, str);
+			log_printf(LOG_ERR, "cluster names not equal %s %s", cname, str);
 			write_cman_pipe("Cluster name in CCS does not match that passed to cman_tool");
 			return -ENOENT;
 		}
@@ -445,7 +445,7 @@
 
 	if (getenv("CMAN_NODENAME")) {
 		strcpy(nodename, getenv("CMAN_NODENAME"));
-		log_msg(LOG_INFO, "Using override node name %s\n", nodename);
+		log_printf(LOG_INFO, "Using override node name %s\n", nodename);
 
 		sprintf(path, NODE_NAME_PATH_BYNAME, nodename);
 
@@ -454,7 +454,7 @@
 			free(str);
 		}
 		else {
-			log_msg(LOG_ERR, "Overridden node name %s is not in CCS", nodename);
+			log_printf(LOG_ERR, "Overridden node name %s is not in CCS", nodename);
 			write_cman_pipe("Overridden node name is not in CCS");
 			return -ENOENT;
 		}
@@ -463,7 +463,7 @@
 		struct utsname utsname;
 		error = uname(&utsname);
 		if (error) {
-			log_msg(LOG_ERR, "cannot get node name, uname failed");
+			log_printf(LOG_ERR, "cannot get node name, uname failed");
 			write_cman_pipe("Can't determine local node name");
 			return -ENOENT;
 		}
@@ -474,7 +474,7 @@
 	/* Find our nodename in cluster.conf */
 	error = verify_nodename(cd, nodename);
 	if (error) {
-		log_msg(LOG_ERR, "local node name \"%s\" not found in cluster.conf",
+		log_printf(LOG_ERR, "local node name \"%s\" not found in cluster.conf",
 			nodename);
 		write_cman_pipe("Can't find local node name in cluster.conf");
 		return -ENOENT;
@@ -485,11 +485,11 @@
 	if (getenv("CMAN_EXPECTEDVOTES")) {
 		expected_votes = atoi(getenv("CMAN_EXPECTEDVOTES"));
 		if (expected_votes < 1) {
-			log_msg(LOG_ERR, "CMAN_EXPECTEDVOTES environment variable is invalid, ignoring");
+			log_printf(LOG_ERR, "CMAN_EXPECTEDVOTES environment variable is invalid, ignoring");
 			expected_votes = 0;
 		}
 		else {
-			log_msg(LOG_INFO, "Using override expected votes %d\n", expected_votes);
+			log_printf(LOG_INFO, "Using override expected votes %d\n", expected_votes);
 		}
 	}
 
@@ -515,7 +515,7 @@
 				vote_sum++;
 			else {
 				if (atoi(str) < 0) {
-					log_msg(LOG_ERR, "negative votes not allowed");
+					log_printf(LOG_ERR, "negative votes not allowed");
 					write_cman_pipe("Found negative votes for this node in CCS");
 					return -EINVAL;
 				}
@@ -537,7 +537,7 @@
 	/* optional port */
 	if (getenv("CMAN_IP_PORT")) {
 		port = atoi(getenv("CMAN_IP_PORT"));
-		log_msg(LOG_INFO, "Using override IP port %d\n", port);
+		log_printf(LOG_INFO, "Using override IP port %d\n", port);
 	}
 
 	if (!port) {
@@ -565,7 +565,7 @@
 	/* find our own number of votes */
 	if (getenv("CMAN_VOTES")) {
 		votes = atoi(getenv("CMAN_VOTES"));
-		log_msg(LOG_INFO, "Using override votes %d\n", votes);
+		log_printf(LOG_INFO, "Using override votes %d\n", votes);
 	}
 
 	if (!votes) {
@@ -576,7 +576,7 @@
 		if (!error) {
 			int votestmp = atoi(str);
 			if (votestmp < 0 || votestmp > 255) {
-				log_msg(LOG_ERR, "invalid votes value %d", votes);
+				log_printf(LOG_ERR, "invalid votes value %d", votes);
 				write_cman_pipe("Found invalid votes for node in CCS");
 				return -EINVAL;
 			}
@@ -592,7 +592,7 @@
 	/* nodeid */
 	if (getenv("CMAN_NODEID")) {
 		nodeid = atoi(getenv("CMAN_NODEID"));
-		log_msg(LOG_INFO, "Using override nodeid %d\n", nodeid);
+		log_printf(LOG_INFO, "Using override nodeid %d\n", nodeid);
 	}
 
 	if (!nodeid) {
@@ -607,14 +607,14 @@
 	}
 
 	if (!nodeid) {
-		log_msg(LOG_ERR, "No nodeid specified in cluster.conf");
+		log_printf(LOG_ERR, "No nodeid specified in cluster.conf");
 		write_cman_pipe("CCS does not have a nodeid for this node, run 'ccs_tool addnodeids' to fix");
 		return -EINVAL;
 	}
 
 	if (getenv("CMAN_MCAST_ADDR")) {
 		mcast_name = getenv("CMAN_MCAST_ADDR");
-		log_msg(LOG_INFO, "Using override multicast address %s\n", mcast_name);
+		log_printf(LOG_INFO, "Using override multicast address %s\n", mcast_name);
 	}
 
 	/* Optional multicast name */
@@ -627,7 +627,7 @@
 
 	if (!mcast_name) {
 		mcast_name = default_mcast(cluster_id);
-		log_msg(LOG_INFO, "Using default multicast address of %s\n", mcast_name);
+		log_printf(LOG_INFO, "Using default multicast address of %s\n", mcast_name);
 	}
 
 	mcast[0] = mcast_name;
@@ -678,7 +678,7 @@
 		free(str);
 		if (two_node) {
 			if (node_count != 2 || vote_sum != 2) {
-				log_msg(LOG_ERR, "the two-node option requires exactly two "
+				log_printf(LOG_ERR, "the two-node option requires exactly two "
 					"nodes with one vote each and expected "
 					"votes of 1 (node_count=%d vote_sum=%d)",
 					node_count, vote_sum);
@@ -687,7 +687,7 @@
 			}
 
 			if (votes != 1) {
-				log_msg(LOG_ERR, "the two-node option requires exactly two "
+				log_printf(LOG_ERR, "the two-node option requires exactly two "
 					"nodes with one vote each and expected "
 					"votes of 1 (votes=%d)", votes);
 				write_cman_pipe("two_node set but votes not set to 1");
@@ -710,7 +710,7 @@
 
 	error = get_ccs_join_info();
 	if (error) {
-		log_msg(LOG_ERR, "Error reading CCS info, cannot start");
+		log_printf(LOG_ERR, "Error reading CCS info, cannot start");
 		return error;
 	}
 
--- cluster/cman/daemon/commands.c	2007/09/07 12:17:45	1.70
+++ cluster/cman/daemon/commands.c	2007/09/17 08:03:36	1.71
@@ -34,7 +34,7 @@
 #include <openais/totem/totemip.h>
 #include <openais/totem/totempg.h>
 #include <openais/service/swab.h>
-#include <openais/service/print.h>
+#include <openais/service/logsys.h>
 #include <openais/service/timer.h>
 #include <openais/totem/aispoll.h>
 #include "list.h"
@@ -159,9 +159,9 @@
 	}
 
 	if (cluster_is_quorate && !quorate)
-		log_msg(LOG_INFO, "quorum lost, blocking activity\n");
+		log_printf(LOG_INFO, "quorum lost, blocking activity\n");
 	if (!cluster_is_quorate && quorate)
-		log_msg(LOG_INFO, "quorum regained, resuming activity\n");
+		log_printf(LOG_INFO, "quorum regained, resuming activity\n");
 
 	/* If we are newly quorate, then kill any AISONLY nodes */
 	if (!cluster_is_quorate && quorate) {
@@ -404,7 +404,7 @@
 	ais_running = 1;
 
 	if (read_ccs_nodes(&config_version, 1)) {
-		log_msg(LOG_ERR, "Can't initialise list of nodes from CCS\n");
+		log_printf(LOG_ERR, "Can't initialise list of nodes from CCS\n");
 		return -EINVAL;
 	}
 
@@ -997,7 +997,7 @@
         /* Keep this list valid so it doesn't confuse other code */
         list_init(&quorum_device->addr_list);
 
-	log_msg(LOG_INFO, "quorum device registered\n");
+	log_printf(LOG_INFO, "quorum device registered\n");
         return 0;
 }
 
@@ -1014,7 +1014,7 @@
 
         quorum_device = NULL;
 
-	log_msg(LOG_INFO, "quorum device unregistered\n");
+	log_printf(LOG_INFO, "quorum device unregistered\n");
         return 0;
 }
 
@@ -1022,17 +1022,17 @@
 {
 	int ccs_err;
 
-	log_msg(LOG_DEBUG, "Polling ccsd for updated information\n");
+	log_printf(LOG_DEBUG, "Polling ccsd for updated information\n");
 	ccs_err = read_ccs_nodes(&config_version, 0);
 	if (ccs_err || config_version < wanted_config_version) {
-		log_msg(LOG_ERR, "Can't read CCS to get updated config version %d. Activity suspended on this node\n",
-			wanted_config_version);
+		log_printf(LOG_ERR, "Can't read CCS to get updated config version %d. Activity suspended on this node\n",
+				wanted_config_version);
 
 		openais_timer_add_duration((unsigned long long)ccsd_poll_interval*1000000, NULL,
 					   ccsd_timer_fn, &ccsd_timer);
 	}
 	else {
-		log_msg(LOG_ERR, "Now got CCS information version %d, continuing\n", config_version);
+		log_printf(LOG_ERR, "Now got CCS information version %d, continuing\n", config_version);
 		config_error = 0;
 		recalculate_quorum(0, 0);
 	}
@@ -1048,7 +1048,7 @@
 	gettimeofday(&now, NULL);
 	if (quorum_device->last_hello.tv_sec + quorumdev_poll/1000 < now.tv_sec) {
 		quorum_device->state = NODESTATE_DEAD;
-		log_msg(LOG_INFO, "lost contact with quorum device\n");
+		log_printf(LOG_INFO, "lost contact with quorum device\n");
 		recalculate_quorum(0, 0);
 	}
 	else {
@@ -1478,20 +1478,20 @@
 static int valid_transition_msg(int nodeid, struct cl_transmsg *msg)
 {
 	if (strcmp(msg->clustername, cluster_name) != 0) {
-		log_msg(LOG_ERR, "Node %d conflict, remote cluster name='%s', local='%s'\n",
+		log_printf(LOG_ERR, "Node %d conflict, remote cluster name='%s', local='%s'\n",
 			nodeid, msg->clustername, cluster_name);
 		return -1;
 	}
 
 	if (msg->cluster_id != cluster_id) {
-		log_msg(LOG_ERR, "Node %d conflict, remote cluster id=%d, local=%d\n",
+		log_printf(LOG_ERR, "Node %d conflict, remote cluster id=%d, local=%d\n",
 			nodeid, msg->cluster_id, cluster_id);
 		return -1;
 	}
 
 	if (msg->major_version != CNXMAN_MAJOR_VERSION) {
 
-		log_msg(LOG_ERR, "Node %d conflict, remote version id=%d, local=%d\n",
+		log_printf(LOG_ERR, "Node %d conflict, remote version id=%d, local=%d\n",
 			nodeid, msg->major_version, CNXMAN_MAJOR_VERSION);
 		return -1;
 	}
@@ -1503,7 +1503,7 @@
 		ccs_err = read_ccs_nodes(&config_version, 0);
 		if (ccs_err || config_version < msg->config_version) {
 			config_error = 1;
-			log_msg(LOG_ERR, "Can't read CCS to get updated config version %d. Activity suspended on this node\n",
+			log_printf(LOG_ERR, "Can't read CCS to get updated config version %d. Activity suspended on this node\n",
 				msg->config_version);
 
 			wanted_config_version = msg->config_version;
@@ -1518,7 +1518,7 @@
 
 
 	if (msg->config_version != config_version) {
-		log_msg(LOG_ERR, "Node %d conflict, remote config version id=%d, local=%d\n",
+		log_printf(LOG_ERR, "Node %d conflict, remote config version id=%d, local=%d\n",
 			nodeid, msg->config_version, config_version);
 		return -1;
 	}
@@ -1660,7 +1660,7 @@
 
 	case RECONFIG_PARAM_CONFIG_VERSION:
 		if (read_ccs_nodes(&config_version, 0)) {
-			log_msg(LOG_ERR, "Can't read CCS to get updated config version %d. Activity suspended on this node\n",
+			log_printf(LOG_ERR, "Can't read CCS to get updated config version %d. Activity suspended on this node\n",
 				msg->value);
 
 			config_error = 1;
@@ -1839,7 +1839,7 @@
 
 	case CLUSTER_MSG_PORTSTATUS:
 		if (nodeid != us->node_id) {
-			P_MEMB("got PORTRESULT from %d, low bytes = %x %x\n", data[1], data[2]);
+			P_MEMB("got PORTRESULT from %d, low bytes = %x %x\n", nodeid, data[1], data[2]);
 			if (node)
 				memcpy(node->port_bits, data+1, PORT_BITS_SIZE);
 		}
@@ -1854,7 +1854,7 @@
 		killmsg = (struct cl_killmsg *)data;
 		P_MEMB("got KILL for node %d\n", killmsg->nodeid);
 		if (killmsg->nodeid == wanted_nodeid) {
-			log_msg(LOG_INFO, "cman killed by node %d because %s\n", nodeid,
+			log_printf(LOG_INFO, "cman killed by node %d because %s\n", nodeid,
 				killmsg_reason(killmsg->reason));
 			exit(1);
 		}
@@ -1896,7 +1896,7 @@
 		break;
 
 	default:
-		log_msg(LOG_WARNING, "Unknown protocol message %d received\n", msg->cmd);
+		log_printf(LOG_WARNING, "Unknown protocol message %d received\n", msg->cmd);
 		break;
 
 	}
@@ -1926,11 +1926,11 @@
 	if (totemip_parse(&ipaddr, nodename, 0))
 	{
 		if (!nodeid) {
-			log_msg(LOG_ERR, "Error, can't find IP address and no nodeid for node %s - ignoring it\n", nodename);
+			log_printf(LOG_ERR, "Error, can't find IP address and no nodeid for node %s - ignoring it\n", nodename);
 			return;
 		}
 		else {
-			log_msg(LOG_WARNING, "Warning, can't resolve IP address for node %s\n", nodename);
+			log_printf(LOG_WARNING, "Warning, can't resolve IP address for node %s\n", nodename);
 			memset(&ipaddr, 0, sizeof(ipaddr));
 		}
 	}
@@ -1943,7 +1943,7 @@
 {
 	struct cluster_node *node;
 
-	P_MEMB("add_ais_node ID=%d, incarnation = %d\n",nodeid, incarnation);
+	P_MEMB("add_ais_node ID=%d, incarnation = %lld\n",nodeid, incarnation);
 
 	node = find_node_by_nodeid(nodeid);
 	if (!node && total_members == 1) {
@@ -1956,11 +1956,11 @@
 		char tempname[256];
 		node = malloc(sizeof(struct cluster_node));
 		if (!node) {
-			log_msg(LOG_ERR, "error allocating node struct for id %d, but CCS doesn't know about it anyway\n",
+			log_printf(LOG_ERR, "error allocating node struct for id %d, but CCS doesn't know about it anyway\n",
 				nodeid);
 			return;
 		}
-		log_msg(LOG_ERR, "Got node from AIS id %d with no CCS entry\n", nodeid);
+		log_printf(LOG_ERR, "Got node from AIS id %d with no CCS entry\n", nodeid);
 
 		memset(node, 0, sizeof(struct cluster_node));
 		node_add_ordered(node);
--- cluster/cman/daemon/daemon.c	2007/08/22 08:58:37	1.36
+++ cluster/cman/daemon/daemon.c	2007/09/17 08:03:36	1.37
@@ -337,7 +337,7 @@
 		unlink(name);
 	local_socket = socket(PF_UNIX, SOCK_STREAM, 0);
 	if (local_socket < 0) {
-		log_msg(LOG_ERR, "Can't create local socket %s: %s\n", name, strerror(errno));
+		log_printf(LOG_ERR, "Can't create local socket %s: %s\n", name, strerror(errno));
 		write_cman_pipe("Can't create local cman socket");
 		return -1;
 	}
@@ -349,13 +349,13 @@
 	memcpy(sockaddr.sun_path, name, name_len);
 	sockaddr.sun_family = AF_UNIX;
 	if (bind(local_socket, (struct sockaddr *) &sockaddr, sizeof(sockaddr))) {
-		log_msg(LOG_ERR, "can't bind local socket to %s: %s\n", name, strerror(errno));
+		log_printf(LOG_ERR, "can't bind local socket to %s: %s\n", name, strerror(errno));
 		write_cman_pipe("Can't bind to local cman socket");
 		close(local_socket);
 		return -1;
 	}
 	if (listen(local_socket, 1) != 0) {
-		log_msg(LOG_ERR, "listen on %s failed: %s\n", name, strerror(errno));
+		log_printf(LOG_ERR, "listen on %s failed: %s\n", name, strerror(errno));
 		write_cman_pipe("listen failed on local cman socket");
 		close(local_socket);
 		return -1;
@@ -366,7 +366,7 @@
 
 	con = malloc(sizeof(struct connection));
 	if (!con) {
-		log_msg(LOG_ERR, "Can't allocate space for local connection: %s\n", strerror(errno));
+		log_printf(LOG_ERR, "Can't allocate space for local connection: %s\n", strerror(errno));
 		write_cman_pipe("malloc failed for connection info");
 		close(local_socket);
 		return -1;
@@ -481,8 +481,8 @@
 	ais_poll_handle = aisexec_poll_handle;
 	barrier_init();
 
-	log_msg(LOG_INFO, "CMAN %s (built %s %s) started\n",
-		RELEASE_VERSION, __DATE__, __TIME__);
+	log_printf(LOG_INFO, "CMAN %s (built %s %s) started\n",
+		   RELEASE_VERSION, __DATE__, __TIME__);
 
 	fd = open_local_sock(CLIENT_SOCKNAME, sizeof(CLIENT_SOCKNAME), 0660, ais_poll_handle, CON_CLIENT);
 	if (fd < 0)
--- cluster/cman/daemon/logging.c	2007/08/28 13:14:10	1.14
+++ cluster/cman/daemon/logging.c	2007/09/17 08:03:36	1.15
@@ -21,32 +21,17 @@
 #include <sys/socket.h>
 #include <netinet/in.h>
 
-/* openais header */
-#include <openais/service/print.h>
-
+#include <openais/service/logsys.h>
 #include "logging.h"
 
-/* All logging comes through here so it can be stamped [CMAN] */
-
-static int use_stderr = 0;
+/* Make this global so that all of cman can use the same subsys name */
+unsigned int logsys_subsys_id;
 int subsys_mask = 0;
 
-void log_msg(int priority, char *fmt, ...)
-{
-	va_list va;
-	char log_buf[1024];
-
-	va_start(va, fmt);
-	vsprintf(log_buf, fmt, va);
-	va_end(va);
-	log_printf(priority, log_buf);
-}
-
 void init_debug(int subsystems)
 {
-	log_init("CMAN");
-
-	use_stderr = (subsystems != 0);
+	logsys_subsys_id = _logsys_subsys_create("CMAN", (subsystems?LOG_LEVEL_DEBUG:LOG_LEVEL_WARNING) );
+	logsys_config_mode_set(LOG_MODE_BUFFER_BEFORE_CONFIG | ((subsystems)?LOG_MODE_OUTPUT_STDERR:0));
 	subsys_mask = subsystems;
 }
 
@@ -55,43 +40,8 @@
 	subsys_mask = subsystems;
 }
 
-void log_debug(int subsys, int stamp, const char *fmt, ...)
+
+void cman_flush_debuglog()
 {
-	va_list va;
-	char newfmt[strlen(fmt)+10];
-	char log_buf[1024];
-
-	if (!(subsys_mask & subsys))
-		return;
-
-	if (stamp)
-	{
-		switch(subsys)
-		{
-		case CMAN_DEBUG_MEMB:
-			strcpy(newfmt, "memb: ");
-			break;
-		case CMAN_DEBUG_DAEMON:
-			strcpy(newfmt, "daemon: ");
-			break;
-		case CMAN_DEBUG_BARRIER:
-			strcpy(newfmt, "barrier: ");
-			break;
-		case CMAN_DEBUG_AIS:
-			strcpy(newfmt, "ais: ");
-			break;
-		default:
-			break;
-		}
-	}
-	else
-	{
-		newfmt[0] = '\0';
-	}
-	strcat(newfmt, fmt);
-
-	va_start(va, fmt);
-	vsprintf(log_buf, newfmt, va);
-	log_printf(LOG_LEVEL_DEBUG, log_buf);
-	va_end(va);
+	logsys_config_mode_set(LOG_MODE_FLUSH_AFTER_CONFIG | ((subsys_mask)?LOG_MODE_OUTPUT_STDERR:0));
 }
--- cluster/cman/daemon/logging.h	2007/08/28 13:14:10	1.7
+++ cluster/cman/daemon/logging.h	2007/09/17 08:03:36	1.8
@@ -9,9 +9,9 @@
 **
 *******************************************************************************
 ******************************************************************************/
-
-extern void log_msg(int priority, char *fmt, ...);
+#include <openais/service/logsys.h>
 extern void init_debug(int subsystems);
+extern void cman_flush_debuglog(void);
 extern void set_debuglog(int subsystems);
 
 /* Debug macros */
@@ -21,9 +21,10 @@
 #define CMAN_DEBUG_DAEMON  8
 #define CMAN_DEBUG_AIS    16
 
-extern void log_debug(int subsys, int stamp, const char *fmt, ...);
+extern unsigned int logsys_subsys_id;
+extern int subsys_mask;
 
-#define P_BARRIER(fmt, args...) log_debug(CMAN_DEBUG_BARRIER, 1, fmt, ## args)
-#define P_MEMB(fmt, args...)    log_debug(CMAN_DEBUG_MEMB, 1, fmt, ## args)
-#define P_DAEMON(fmt, args...)  log_debug(CMAN_DEBUG_DAEMON, 1, fmt, ## args)
-#define P_AIS(fmt, args...)     log_debug(CMAN_DEBUG_AIS, 1, fmt, ## args)
+#define P_BARRIER(fmt, args...) if (subsys_mask & CMAN_DEBUG_BARRIER) log_printf(logsys_mkpri(LOG_LEVEL_DEBUG, logsys_subsys_id), "barrier: " fmt, ## args)
+#define P_MEMB(fmt, args...)    if (subsys_mask & CMAN_DEBUG_MEMB) log_printf(LOG_LEVEL_DEBUG , "memb: " fmt, ## args)
+#define P_DAEMON(fmt, args...)  if (subsys_mask & CMAN_DEBUG_DAEMON) log_printf(LOG_LEVEL_DEBUG , "daemon: " fmt, ## args)
+#define P_AIS(fmt, args...)     if (subsys_mask & CMAN_DEBUG_AIS) log_printf(LOG_LEVEL_DEBUG, "ais " fmt, ## args)




More information about the Cluster-devel mailing list