From: pcaulfield@sourceware.org <pcaulfield@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] cluster/cman/daemon ais.c barrier.c cmanccs.c ...
Date: 17 Sep 2007 08:03:38 -0000 [thread overview]
Message-ID: <20070917080338.17248.qmail@sourceware.org> (raw)
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)
next reply other threads:[~2007-09-17 8:03 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-17 8:03 pcaulfield [this message]
2007-09-17 20:05 ` [Cluster-devel] cluster/cman/daemon ais.c barrier.c cmanccs.c Steven Dake
-- 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=20070917080338.17248.qmail@sourceware.org \
--to=pcaulfield@sourceware.org \
/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.