Commit Graph

290 Commits

Author SHA1 Message Date
Russell Bryant
a609f79f1f Ensure that strings are null terminated after strncpy().
From the strcpy(3) man page, the following warning is given:
  The strncpy() function is similar, except that at most n bytes of src
  are  copied.  Warning: If there is no null byte among the first n bytes
  of src, the string placed in dest will not be null-terminated.

The current corosync code base does not take this warning into account
when using strncpy, potentially resulting in non-null terminated strings.

Signed-off-by: Russell Bryant <russell@russellbryant.net>
Reviewed-by: Steven Dake <sdake@redhat.com>
2011-03-07 08:30:03 -06:00
Angus Salkeld
29755d4526 Add missing entries into .gitignore
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
Reviewed-by: Steven Dake <sdake@redhat.com>
2011-01-12 09:42:24 +11:00
Angus Salkeld
6f098bba1d fix timersub warning on freebsd
Make them all protected by #ifndef timersub

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
Reviewed-by: Steven Dake <sdake@redhat.com>
2011-01-12 09:42:24 +11:00
Angus Salkeld
5e43f750e1 Add -i <num-iterations> to cpgverify
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
Reviewed-by: Steven Dake <sdake@redhat.com>
2010-10-21 17:27:40 -07:00
Angus Salkeld
f0104b6d31 Add .gitignore files.
Otherwise "git status" is a pain.

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
Reviewed-by: Steven Dake <sdake@edhat.com>
2010-10-21 07:43:46 -07:00
Angus Salkeld
83b24b660b WD/SAM integration.
- timestamps -> uint64_t and in nanosecs
- use clock_gettime
- common object naming
- common state names
- timeouts in milliseconds



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@3054 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-09-27 21:13:15 +00:00
Jan Friesse
1a32fc4a6c SAM Confdb integration
Patch add support for Confdb integration with SAM. It's now possible to
use SAM_RECOVERY_POLICY_CONFDB as flag to previous policies.
    
Also new function sam_mark_failed is added for ability to use RECOVERY
policy together with confdb and get expected results (specially with
integration with corosync watchdog)

Patch also makes SAM thread safe.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@3050 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-09-27 07:34:21 +00:00
Angus Salkeld
a5d6c5f151 makefile: add -lquorum -lcoroipcc to sam test programs
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2905 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-05-21 08:53:52 +00:00
Steven Dake
0e9f0bfeb4 Make cpg_membership_get() functional.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2855 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-05-19 05:03:52 +00:00
Angus Salkeld
4ff33854ad add __attribute__((noreturn)) to functions that always exit.
we had some __attribute__((__noreturn__))
and some    __attribute__((noreturn))

I made them all: __attribute__((noreturn))



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2853 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-05-19 04:34:53 +00:00
Jan Friesse
d5884cd714 SAM integration of quorum
Patch adds integration of SAM and quorum, so it's now possible to use
SAM_RECOVERY_POLICY_QUORUM_QUIT or SAM_RECOVERY_POLICY_QUORUM_RESTART
recovery policy. With these policies, sam_start will block until
corosync is quorate. If quorum is lost during health checking, recovery
action is taken.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2822 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-05-13 11:20:49 +00:00
Jan Friesse
088a2a0f17 Allow call sam_warn_signal_set after sam_register
Patch fixes situation, when user want to change warn signal after
call of sam_register function. This was not possible, because parent
process never got new value from child.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2821 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-05-13 11:19:52 +00:00
Steven Dake
5e8f1a730f logsys rework to deal with memory corruption around debug:on configurations.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2816 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-05-13 04:36:42 +00:00
Angus Salkeld
1df8675995 testcpg: fix a format string compile warning.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2805 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-05-05 04:37:43 +00:00
Jan Friesse
e8b143595c CPG model_initialize and ringid + members callback
Patch adds new function to initialize cpg, cpg_model_initialize. Model
is set of callbacks. With this function, future addions of models
should  be possible without changing the ABI.

Patch also contains callback in CPG_MODEL_V1 for notification about
Totem membership changes.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2770 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-04-20 12:40:48 +00:00
Jan Friesse
da6fce352b Support for store user data in SAM
Ability to in-memory storing of user data which survives between
instances of process.

Also ability needed ability for bi-directional communication between
child and parent is added.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2769 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-04-20 10:32:07 +00:00
Angus Salkeld
ec09a97867 Fix some "make lint" problems
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2674 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-03-03 21:52:08 +00:00
Angus Salkeld
9b5b7872b6 Correct testcpg's groupname.length
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2661 fd59a12c-fef9-0310-b244-a6a79926bd2f
2010-02-18 20:10:36 +00:00
Jan Friesse
0ed4d53083 SAM implementation merge
The SAM library provide a tool to check the health
of an application. The main purpose of SAM is to restart
a local process when it fails to respond to a healthcheck
request in a configured time interval.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2570 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-12-07 17:06:53 +00:00
Steven Dake
692b723ae1 Remove unused variable in stress_cpgfdget.c.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2479 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-09-25 06:03:50 +00:00
Steven Dake
b130f5e434 Add test program that finds limits of cpg message size.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2389 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-08-17 18:22:51 +00:00
Steven Dake
4e3e77eb13 Always keep autogenerated node ids in totem as LE even on BE arches.
Have testcpg print out autogenerated nodeid properly on BE arch.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2377 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-08-04 00:04:13 +00:00
Jan Friesse
49136748b0 Add lcoroipcc as build requirement for stress_cpgcontext
This is needed for build without errors on system, where
lcoroipcc is not installed on system yet.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2363 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-16 12:16:06 +00:00
Steven Dake
55ac5ee8e9 add stress_cpgcontext.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2359 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-10 12:54:56 +00:00
Steven Dake
cdea22993f Add stress_cpgfdget test case.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2358 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-10 12:29:50 +00:00
Steven Dake
c9de702374 Add stress test case for cpg and coroipcc zero copy buffer alloc and free
operations.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2357 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-10 12:05:48 +00:00
Steven Dake
2a31caedd3 Add ring id field to evs.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2341 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-01 20:57:37 +00:00
Steven Dake
453ef211c1 Pass handle is evs callback functions.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2339 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-01 20:21:48 +00:00
Steven Dake
3e0ab804cb Code cleanup for evs service from Wojtek.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2333 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-01 19:19:06 +00:00
Steven Dake
1402dac1ee Remove timersub redefine.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2274 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-20 17:36:04 +00:00
Steven Dake
b8e3951ca1 Add (void *) casts for iovector assignments to remove compile warnings.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2270 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-19 20:43:12 +00:00
Steven Dake
2d7937de26 Warn user of missing dirs and exit gracefully.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2262 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-19 01:53:24 +00:00
Fabio M. Di Nitto
b31f150b5f logsys: remove leftover files from running tests
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2252 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 05:39:28 +00:00
Fabio M. Di Nitto
6d5ce092a1 logsys: port to new packed rec_ident version
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2250 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 05:32:56 +00:00
Fabio M. Di Nitto
5597a2381f logsys: merge tags into rec_ident
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2246 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 05:15:10 +00:00
Jan Friesse
8605bbc7b2 Fix coroipcc linking
Fixes rhbz#499918
	
Functions from ckpt library (like aCkptCheckpointOpen,
saCkptSectionIterationInitialize, ...) internally uses corosync functions
reply_receive, reply_receive_in_buf, ... This functions are included in
coroipcc.c source file and uses global static variable ipc_hdb.

Without patch, coroipcc is linked to shared library (libcoroipcc.so) AND linked
with every corosync libraries (like cpg, ....), so global variable ipc_hdb is
included not only in libcoroipcc.so, but also in libcpg.so, ...

dlm_controld has function retrieve_plocks, and whole binary is linked with
libcoroipcc and libcpg. So ipc_hdb is included TWICE (so has TWO addresses).

Main problem causing the bug was, that reply_receive uses address from one
library, and reply_receive_in_buf uses other. This confuses check of hdb_get
function.

After removing linking of coroipcc.o to cpg, and rather use of dynamic version,
 (this means, there is only one instance of ipc_hdb) problem disappeared.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2203 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-01 08:46:10 +00:00
Jim Meyering
1f40a10983 don't include <signal.h> when it's not used
* exec/coroparse.c: Likewise.
* exec/quorum.c: Likewise.
* exec/sync.c: Likewise.
* exec/totemmrp.c: Likewise.
* exec/totemnet.c: Likewise.
* exec/totemrrp.c: Likewise.
* exec/totemsrp.c: Likewise.
* exec/vsf_quorum.c: Likewise.
* exec/vsf_ykd.c: Likewise.
* lcr/uic.c: Likewise.
* lcr/uis.c: Likewise.
* lib/cfg.c: Likewise.
* services/cfg.c: Likewise.
* services/cpg.c: Likewise.
* services/evs.c: Likewise.
* services/pload.c: Likewise.
* services/testquorum.c: Likewise.
* services/votequorum.c: Likewise.
* test/testconfdb.c: Likewise.
* test/testcpg.c: Likewise.
* test/testcpgzc.c: Likewise.
* test/testzcgc.c: Likewise.
* tools/corosync-cfgtool.c: Likewise.
* tools/corosync-objctl.c: Likewise.
* tools/corosync-pload.c: Likewise.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2193 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-18 16:41:46 +00:00
Jim Meyering
d44aad2eea don't include <assert.h> when it's not used
* exec/apidef.c: Likewise.
* exec/mainconfig.c: Likewise.
* exec/service.c: Likewise.
* exec/timer.c: Likewise.
* exec/totemconfig.c: Likewise.
* exec/totemmrp.c: Likewise.
* exec/vsf_quorum.c: Likewise.
* services/testquorum.c: Likewise.
* test/cpgbench.c: Likewise.
* test/cpgbenchzc.c: Likewise.
* tools/corosync-fplay.c: Likewise.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2192 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-18 16:41:37 +00:00
Jim Meyering
84f1fbb53f always include <config.h> before any other file
* test/cpgbench.c: Include <config.h> before any other file.
* test/cpgbenchzc.c: Ditto.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2191 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-18 16:41:28 +00:00
Jim Meyering
621d734e7c avoid 'incompatible pointer type' compiler warning
* test/cpgverify.c (cpg_deliver_fn): Remove const.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2168 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-04 12:37:27 +00:00
Steven Dake
2274c6c961 Add cpgverify program to test directory.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2162 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-28 06:45:26 +00:00
Steven Dake
d72f0cc03c Remove const from delivery callback to allow inplace endian changes of
message contents.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2150 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-26 02:38:46 +00:00
Steven Dake
65f8490350 use uint64_t for hdb_handle_t type and also specify some formatting
strings for printing handles out of the handle database.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2126 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-23 10:03:01 +00:00
Jim Meyering
904a10ed38 remove all trailing blanks
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2117 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-22 08:03:55 +00:00
Steven Dake
75c4bc0d71 Zero copy feature for IPC transmits. Also integrated into CPG library
service.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2114 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-21 23:37:49 +00:00
Fabio M. Di Nitto
c3c75acfd2 Add logsys v3
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2091 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-20 04:28:33 +00:00
Steven Dake
d830a52db5 Remove declaration of data struct inside code.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2085 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-18 07:43:33 +00:00
Steven Dake
832b6cb7e6 Remove warning in evsbench.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2084 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-18 07:42:25 +00:00
Steven Dake
043de4d80a check result of fgets in testcpg.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2082 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-18 07:25:04 +00:00
Steven Dake
0969721db3 Rework how dispatch functions so service engines work properly.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2079 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-18 07:06:14 +00:00