From mboxrd@z Thu Jan 1 00:00:00 1970 From: pcaulfield@sourceware.org Date: 17 Sep 2007 08:03:38 -0000 Subject: [Cluster-devel] cluster/cman/daemon ais.c barrier.c cmanccs.c ... Message-ID: <20070917080338.17248.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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 #include #include -#include +#include #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 #include #include -#include +#include #include #include #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 #include -/* openais header */ -#include - +#include #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 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)