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 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.