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

pcaulfield at sourceware.org pcaulfield at sourceware.org
Wed Jun 13 09:13:37 UTC 2007


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 <openais/service/swab.h>
 #include <openais/totem/totemip.h>
 #include <openais/totem/aispoll.h>
+#include <openais/service/timer.h>
 #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 <openais/totem/totempg.h>
 #include <openais/service/swab.h>
 #include <openais/service/print.h>
+#include <openais/service/timer.h>
 #include <openais/totem/aispoll.h>
 #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;
 	}




More information about the Cluster-devel mailing list