[Openais] [PATCH] logsys.c: avoid an unnecessary strlen call

2009-04-20 Thread Jim Meyering
Steve mentioned that strlen is appearing a little too high in profiling, so this removes one redundant use from what is probably a hot code path. I will do the same to the else block next. From 51eaaa809ac94ec20ddcbe62c651735106128a31 Mon Sep 17 00:00:00 2001 From: Jim Meyering

Re: [Openais] sync_in_process always return 1

2009-04-20 Thread jay_chen
Dear Steve: I had used something like your patch to test for awhile and it worked. So, I think this patch will work and I will try it later. During the investigation, I found something strange. For example, 1. throw away active, assembly-last_frag_num == Y 2. mcast-fragmented == 1 or 0,

Re: [Openais] cpg log example tarball

2009-04-20 Thread Dietmar Maurer
Here is an example CPG application which shows how to replicate state between multiple processes on multiple machines. It is just a start, but have a look. If you have interest in CPG, it may help you understand the basics of the API. Interesting, especially the use of 2 process groups.

[Openais] [PATCH] corosync/trunk: rename corosync.conf to corosync.conf.example

2009-04-20 Thread Fabio M. Di Nitto
Hi, several times it's been reported that make install will override the installed configuration. This is wrong. Instead of shipping/installing corosync.conf (that in 99.9% of the case it needs to be customized), ship it as corosync.conf.example and let the user merge what they need. The patch

[Openais] [PATCH] corosync/trunk: logsys handles more error handling

2009-04-20 Thread Fabio M. Di Nitto
This patch fixes one exit path error handling in logsys_format_set and add 2 error checks when returning from logsys_config_file_set_unlocked. Fabio Index: exec/logsys.c === --- exec/logsys.c (revision 2093) +++ exec/logsys.c

Re: [Openais] [PATCH] corosync/trunk: rename corosync.conf to corosync.conf.example

2009-04-20 Thread Fabio M. Di Nitto
On Mon, 2009-04-20 at 11:18 +0200, Jim Meyering wrote: Fabio M. Di Nitto wrote: several times it's been reported that make install will override the installed configuration. This is wrong. Instead of shipping/installing corosync.conf (that in 99.9% of the case it needs to be

Re: [Openais] [PATCH] corosync/trunk: rename corosync.conf to corosync.conf.example

2009-04-20 Thread Chrissie Caulfield
Fabio M. Di Nitto wrote: Hi, several times it's been reported that make install will override the installed configuration. This is wrong. Instead of shipping/installing corosync.conf (that in 99.9% of the case it needs to be customized), ship it as corosync.conf.example and let the

Re: [Openais] [PATCH] corosync/trunk: logsys handles more error handling

2009-04-20 Thread Jim Meyering
Fabio M. Di Nitto wrote: This patch fixes one exit path error handling in logsys_format_set and add 2 error checks when returning from logsys_config_file_set_unlocked. Fabio Index: exec/logsys.c === ... @@ -1248,13 +1253,14

Re: [Openais] [PATCH] corosync/trunk: rename corosync.conf to corosync.conf.example

2009-04-20 Thread Fabio M. Di Nitto
On Mon, 2009-04-20 at 11:13 +0100, Chrissie Caulfield wrote: Fabio M. Di Nitto wrote: Hi, several times it's been reported that make install will override the installed configuration. This is wrong. Instead of shipping/installing corosync.conf (that in 99.9% of the case it

[Openais] [PATCH] schedwrk.c: avoid two int-pointer cast conversion warnings

2009-04-20 Thread Jim Meyering
Here are two warnings: schedwrk.c:52: warning: cast from pointer to integer of different size schedwrk.c:110: warning: cast to pointer from integer of different size Here's how to avoid them. These days, the only safe way is via a union. The two accessor functions are just so that the code

[Openais] Questions about openais checkpoints

2009-04-20 Thread Ludovic Lemarchand
Hello! I have some questions about using openais checkpoints I have two nodes with openais. One node is active and one is passive. I have enabled amf and ckpt service. The node active write data in checkpoints. When it crashes, the passive becomes active and reads the good data. It works

[Openais] [PATCH] services/confdb.c: avoid four warnings

2009-04-20 Thread Jim Meyering
Starting from this warning (1 of 4 identical): confdb.c:559: warning: passing argument 4 of 'api-object_find_create' from incompatible pointer type confdb.c:559: note: expected 'hdb_handle_t *' but argument is of type 'mar_uint64_t *' Here's the offending code in

Re: [Openais] [PATCH] corosync/trunk: rename corosync.conf to corosync.conf.example

2009-04-20 Thread Steven Dake
looks good for merge On Mon, 2009-04-20 at 10:23 +0200, Fabio M. Di Nitto wrote: Hi, several times it's been reported that make install will override the installed configuration. This is wrong. Instead of shipping/installing corosync.conf (that in 99.9% of the case it needs to be

Re: [Openais] Questions about openais checkpoints

2009-04-20 Thread Steven Dake
That bug is fixed in current whitetank tip. Which version are you using? regards -steve On Mon, 2009-04-20 at 13:50 +0200, Ludovic Lemarchand wrote: Hello! I have some questions about using openais checkpoints I have two nodes with openais. One node is active and one is passive. I have

Re: [Openais] [PATCH] schedwrk.c: avoid two int-pointer cast conversion warnings

2009-04-20 Thread Steven Dake
good for merge. Regards -steve On Mon, 2009-04-20 at 12:29 +0200, Jim Meyering wrote: Here are two warnings: schedwrk.c:52: warning: cast from pointer to integer of different size schedwrk.c:110: warning: cast to pointer from integer of different size Here's how to avoid them. These

[Openais] [PATCH: corosync] remove useless if-before-free tests

2009-04-20 Thread Jim Meyering
This change removes some useless if-before-free tests. FYI, it was all done mechanically. For rationale, portability discussion, etc, see these: http://thread.gmane.org/gmane.comp.version-control.git/74187 http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/12712

[Openais] [Pacemaker] recent stabilization changes to corosync and openais API/ABIs

2009-04-20 Thread Juha Heinanen
Steven Dake writes: Some people on these lists may be interested to know what is happening with Corosync and OpenAIS ABIs as well as our schedules for 1.0. what is corosync and how is it related to openais? the figure on page http://www.clusterlabs.org/wiki/Main_Page does not contain a

Re: [Openais] howto distribute data accross all nodes? Reply-To:

2009-04-20 Thread David Teigland
On Fri, Apr 17, 2009 at 10:56:47PM -0700, Steven Dake wrote: On Sat, 2009-04-18 at 07:49 +0200, Dietmar Maurer wrote: like a 'merge' function? Seems the algorithm for checkpoint recovery always uses the state from the node with the lowest processor id? Yes that is right. So if

Re: [Openais] howto distribute data accross all nodes?

2009-04-20 Thread David Teigland
On Sat, Apr 18, 2009 at 07:49:12AM +0200, Dietmar Maurer wrote: like a 'merge' function? Seems the algorithm for checkpoint recovery always uses the state from the node with the lowest processor id? Yes that is right. So if I have the following cluster: Part1: node2 node3 node4

Re: [Openais] [PATCH] schedwrk.c: avoid two int-pointer cast conversion warnings

2009-04-20 Thread Jim Meyering
Steven Dake wrote: good for merge. On Mon, 2009-04-20 at 12:29 +0200, Jim Meyering wrote: Here are two warnings: schedwrk.c:52: warning: cast from pointer to integer of different size schedwrk.c:110: warning: cast to pointer from integer of different size Thanks. committed

Re: [Openais] Partition Recovery and CPG

2009-04-20 Thread David Teigland
On Sat, Apr 18, 2009 at 09:37:26AM +0200, Dietmar Maurer wrote: Yes, forcing the losers to reset and start from scratch is a must, but we end up doing that a layer above corosync. That means the losers often reappear again through corosync/cpg prior to being forced out. Are you talking

[Openais] [PATCH] corosync-cfgtool.c: handle strdup failure gracefully

2009-04-20 Thread Jim Meyering
This fixes the last of the unchecked-strdup problems: From 143bf3681c180c0dd8c14596fde240808827615a Mon Sep 17 00:00:00 2001 From: Jim Meyering meyer...@redhat.com Date: Mon, 20 Apr 2009 18:51:46 +0200 Subject: [PATCH] corosync-cfgtool.c: handle strdup failure gracefully *

Re: [Openais] howto distribute data accross all nodes?

2009-04-20 Thread David Teigland
On Sat, Apr 18, 2009 at 03:55:57AM -0700, Steven Dake wrote: On Sat, 2009-04-18 at 12:47 +0200, Dietmar Maurer wrote: At least the SA Forum does not mention such strange behavior. Isn't that a serious bug? Yes, I'd consider it a serious bug. Consider 2 Partitions with one checkpoint:

[Openais] [corosync/openais trunk] use spinlocks in saHandle* friends and use declare macro

2009-04-20 Thread Steven Dake
see subject. Index: configure.ac === --- configure.ac (revision 1831) +++ configure.ac (working copy) @@ -101,7 +101,8 @@ AC_CHECK_FUNCS([alarm alphasort atexit bzero dup2 endgrent endpwent fcntl \ getcwd getpeerucred gettimeofday

Re: [Openais] [PATCH: openais] remove useless if-before-free tests

2009-04-20 Thread Steven Dake
Those checks are there for a reason. Did you test your patch? Often those data sets are NULL. Regards -steve On Mon, 2009-04-20 at 16:49 +0200, Jim Meyering wrote: Same thing, but for openais: From 41a09aa652374e5dc89729517d031303f90b1990 Mon Sep 17 00:00:00 2001 From: Jim Meyering

Re: [Openais] [PATCH: corosync] remove useless if-before-free tests

2009-04-20 Thread Steven Dake
no these are not useless. Regards -steve On Mon, 2009-04-20 at 16:48 +0200, Jim Meyering wrote: This change removes some useless if-before-free tests. FYI, it was all done mechanically. For rationale, portability discussion, etc, see these:

Re: [Openais] [PATCH] corosync/trunk: fix logsys filter check when debug is enabled

2009-04-20 Thread Steven Dake
looks good On Tue, 2009-04-21 at 05:45 +0200, Fabio M. Di Nitto wrote: Hi Steven, the patch in attachment fixes the problem reported by Ryan of logfiles not having newlines and skip an unnecessary if ... the problem was a misplaced set of () in the output filter check on all 3

[Openais] [PATCH] corosync/trunk: add logging backward compatibility config layer

2009-04-20 Thread Fabio M. Di Nitto
Hi guys, in order to match the new logging config spec, 2 logging config keywords had to be changed. The following patch adds the old keywords as compatibility layer and also add a warning that the config keyword has been obsoleted. If both old and new keyword are present, the new one is

[Openais] [PATCH] corosync/trunk: add logsys_flush feature to external API

2009-04-20 Thread Fabio M. Di Nitto
Hi, Andrew requested an API interface to be able to flush logs on demand. Add logsys_flush call to signal the logging thread to do its job. Fabio --- include/corosync/engine/logsys.h (revision 2100) +++ include/corosync/engine/logsys.h (working copy) @@ -150,6 +150,8 @@ /* * External API -

[Openais] [PATCH] corosync/trunk: better handling of logging on exit path

2009-04-20 Thread Fabio M. Di Nitto
Hi Steven, this patch makes sure that logs are flushed when we are about to die. In most cases logsys is not fully initialized yet and all the error logs are just queued in the buffers. We want to guarantee that the user can see them. Fabio --- exec/util.c (revision 2100) +++ exec/util.c

Re: [Openais] [PATCH] corosync/trunk: add logsys_flush feature to external API

2009-04-20 Thread Steven Dake
looks good for merge On Tue, 2009-04-21 at 06:15 +0200, Fabio M. Di Nitto wrote: Hi, Andrew requested an API interface to be able to flush logs on demand. Add logsys_flush call to signal the logging thread to do its job. Fabio ___ Openais

Re: [Openais] [PATCH] corosync/trunk: better handling of logging on exit path

2009-04-20 Thread Steven Dake
looks good does logsys_fork_completed() have a check to make sure it hasn't already been run? Regards -steve On Tue, 2009-04-21 at 06:24 +0200, Fabio M. Di Nitto wrote: Hi Steven, this patch makes sure that logs are flushed when we are about to die. In most cases logsys is not fully

Re: [Openais] [PATCH] corosync/trunk: add logging backward compatibility config layer

2009-04-20 Thread Fabio M. Di Nitto
Committed revision 2102. Fabio On Mon, 2009-04-20 at 21:27 -0700, Steven Dake wrote: looks good On Tue, 2009-04-21 at 06:06 +0200, Fabio M. Di Nitto wrote: Hi guys, in order to match the new logging config spec, 2 logging config keywords had to be changed. The following patch

Re: [Openais] [PATCH] corosync/trunk: better handling of logging on exit path

2009-04-20 Thread Fabio M. Di Nitto
Committed revision 2104. Fabio On Mon, 2009-04-20 at 21:28 -0700, Steven Dake wrote: looks good does logsys_fork_completed() have a check to make sure it hasn't already been run? Regards -steve On Tue, 2009-04-21 at 06:24 +0200, Fabio M. Di Nitto wrote: Hi Steven, this patch

Re: [Openais] Partition Recovery and CPG

2009-04-20 Thread Dietmar Maurer
Merging/reconciling a partition is *fundamentally* not possible for any application that requires virtual synchrony. You cannot rewrite history, But I can re-sync the state. and VS is all about event history. It has nothing to do with mechanism or design, it has everything to do with the

Re: [Openais] Partition Recovery and CPG

2009-04-20 Thread Dietmar Maurer
The key point is that two cpg members (A and B) with different event histories will have inconsistent state, assuming that the state is derived from the history. So, after they are partitioned and merged, A needs to replace its own state/history with B's or v.v. Right. That is the idea of