All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Dake <sdake@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] cluster/cman/daemon ais.c barrier.c cmanccs.c ...
Date: Mon, 17 Sep 2007 13:05:16 -0700	[thread overview]
Message-ID: <1190059518.3862.14.camel@balance> (raw)
In-Reply-To: <20070917080338.17248.qmail@sourceware.org>

Patrick,

I think the usage of this isnt quite right.

You should be suing DECLARE_LOGSYS_SUBSYS in your plugin C files to
declare the CMAN logging system.  Also the use of the config API is a
bit tricky since the executive also uses this same API.  It is designed
to be called by only one subsystem.

Regards
-steve

On Mon, 2007-09-17 at 08:03 +0000, pcaulfield at sourceware.org wrote:
> 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)
> 



  reply	other threads:[~2007-09-17 20:05 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-17  8:03 [Cluster-devel] cluster/cman/daemon ais.c barrier.c cmanccs.c pcaulfield
2007-09-17 20:05 ` Steven Dake [this message]
  -- strict thread matches above, loose matches on Subject: below --
2008-01-02 16:35 pcaulfield
2007-10-03 10:06 pcaulfield
2007-05-21 10:48 pcaulfield

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1190059518.3862.14.camel@balance \
    --to=sdake@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.