From mboxrd@z Thu Jan 1 00:00:00 1970 From: pcaulfield@sourceware.org Date: 13 Jun 2007 09:13:37 -0000 Subject: [Cluster-devel] cluster/cman/daemon barrier.c commands.c Message-ID: <20070613091337.8974.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-06-13 09:13:36 Modified files: cman/daemon : barrier.c commands.c Log message: Use new openais timers Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/daemon/barrier.c.diff?cvsroot=cluster&r1=1.9&r2=1.10 http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/daemon/commands.c.diff?cvsroot=cluster&r1=1.63&r2=1.64 --- cluster/cman/daemon/barrier.c 2007/05/21 10:48:40 1.9 +++ cluster/cman/daemon/barrier.c 2007/06/13 09:13:36 1.10 @@ -33,6 +33,7 @@ #include #include #include +#include #include "list.h" #include "cnxman-socket.h" #include "cnxman-private.h" @@ -43,7 +44,6 @@ #include "ais.h" extern int we_are_a_cluster_member; -extern poll_handle ais_poll_handle; /* A barrier */ struct cl_barrier { @@ -62,7 +62,7 @@ unsigned long timeout; /* In seconds */ struct connection *con; - poll_timer_handle timer; + openais_timer_handle timer; }; /* A list of all current barriers */ @@ -71,7 +71,7 @@ static void send_barrier_complete_msg(struct cl_barrier *barrier) { if (barrier->timeout) { - poll_timer_delete(ais_poll_handle, barrier->timer); + openais_timer_delete(barrier->timer); barrier->timeout = 0; } @@ -285,8 +285,8 @@ /* Start the timer if one was wanted */ if (barrier->timeout) { - poll_timer_add(ais_poll_handle, barrier->timeout, barrier, - barrier_timer_fn, &barrier->timer); + openais_timer_add_duration(barrier->timeout*1000000, barrier, + barrier_timer_fn, &barrier->timer); } P_BARRIER("Sending WAIT for %s\n", barrier->name); --- cluster/cman/daemon/commands.c 2007/05/21 10:48:40 1.63 +++ cluster/cman/daemon/commands.c 2007/06/13 09:13:36 1.64 @@ -35,6 +35,7 @@ #include #include #include +#include #include #include "list.h" #include "cnxman-socket.h" @@ -70,19 +71,18 @@ char cluster_name[MAX_CLUSTER_NAME_LEN+1]; static char nodename[MAX_CLUSTER_MEMBER_NAME_LEN+1]; static int wanted_nodeid; -extern poll_handle ais_poll_handle; static struct cluster_node *quorum_device; static uint16_t cluster_id; static int ais_running; static time_t join_time; -static poll_timer_handle quorum_device_timer; +static openais_timer_handle quorum_device_timer; /* If CCS gets out of sync, we poll it until it isn't */ -static poll_timer_handle ccsd_timer; +static openais_timer_handle ccsd_timer; static unsigned int wanted_config_version; static int config_error; -static poll_timer_handle shutdown_timer; +static openais_timer_handle shutdown_timer; static struct connection *shutdown_con; static uint32_t shutdown_flags; static int shutdown_yes; @@ -859,7 +859,7 @@ /* All replies safely gathered in ? */ if (shutdown_yes + shutdown_no >= shutdown_expected) { - poll_timer_delete(ais_poll_handle, shutdown_timer); + openais_timer_delete(shutdown_timer); if (shutdown_yes >= shutdown_expected || shutdown_flags & SHUTDOWN_ANYWAY) { @@ -944,8 +944,8 @@ /* Start the timer. If we don't get a full set of replies before this goes off we'll cancel the shutdown */ - poll_timer_add(ais_poll_handle, shutdown_timeout, NULL, - shutdown_timer_fn, &shutdown_timer); + openais_timer_add_duration(shutdown_timeout*1000, NULL, + shutdown_timer_fn, &shutdown_timer); notify_listeners(NULL, EVENT_REASON_TRY_SHUTDOWN, flags); @@ -1024,10 +1024,10 @@ 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); + wanted_config_version); - poll_timer_add(ais_poll_handle, ccsd_poll_interval, NULL, - ccsd_timer_fn, &ccsd_timer); + openais_timer_add_duration(ccsd_poll_interval*1000, NULL, + ccsd_timer_fn, &ccsd_timer); } else { log_msg(LOG_ERR, "Now got CCS information version %d, continuing\n", config_version); @@ -1050,8 +1050,8 @@ recalculate_quorum(0); } else { - poll_timer_add(ais_poll_handle, quorumdev_poll, quorum_device, - quorum_device_timer_fn, &quorum_device_timer); + openais_timer_add_duration(quorumdev_poll*1000, quorum_device, + quorum_device_timer_fn, &quorum_device_timer); } } @@ -1070,15 +1070,15 @@ quorum_device->state = NODESTATE_MEMBER; recalculate_quorum(0); - poll_timer_add(ais_poll_handle, quorumdev_poll, quorum_device, - quorum_device_timer_fn, &quorum_device_timer); + openais_timer_add_duration(quorumdev_poll*1000, quorum_device, + quorum_device_timer_fn, &quorum_device_timer); } } else { if (quorum_device->state == NODESTATE_MEMBER) { quorum_device->state = NODESTATE_DEAD; recalculate_quorum(0); - poll_timer_delete(ais_poll_handle, quorum_device_timer); + openais_timer_delete(quorum_device_timer); } } @@ -1493,8 +1493,8 @@ msg->config_version); wanted_config_version = msg->config_version; - poll_timer_add(ais_poll_handle, ccsd_poll_interval, NULL, - ccsd_timer_fn, &ccsd_timer); + openais_timer_add_duration(ccsd_poll_interval*1000, NULL, + ccsd_timer_fn, &ccsd_timer); } if (config_version > msg->config_version) { // TODO tell everyone else to update... @@ -1653,8 +1653,8 @@ recalculate_quorum(0); wanted_config_version = config_version; - poll_timer_add(ais_poll_handle, ccsd_poll_interval, NULL, - ccsd_timer_fn, &ccsd_timer); + openais_timer_add_duration(ccsd_poll_interval*1000, NULL, + ccsd_timer_fn, &ccsd_timer); } break; }