From: pcaulfield@sourceware.org <pcaulfield@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] cluster/cman/daemon barrier.c commands.c
Date: 13 Jun 2007 09:13:37 -0000 [thread overview]
Message-ID: <20070613091337.8974.qmail@sourceware.org> (raw)
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;
}
next reply other threads:[~2007-06-13 9:13 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-13 9:13 pcaulfield [this message]
-- strict thread matches above, loose matches on Subject: below --
2007-06-26 9:09 [Cluster-devel] cluster/cman/daemon barrier.c commands.c 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=20070613091337.8974.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).