Commit Graph

561 Commits

Author SHA1 Message Date
Steven Dake
3d05244ca0 Allow finalize routines to occur inside dispatch routines.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2394 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-08-24 17:50:12 +00:00
Steven Dake
ee7ce5e328 Use unnamed shared posix semaphores on platforms which support them.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2379 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-08-04 00:22:41 +00:00
Steven Dake
69928e301a Add notification when totem has completed initialization.
This triggers the initialization of the service engines which may need totem
for initialization.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2372 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-27 02:00:05 +00:00
Andrew Beekhof
21407aa76b Use the preferred prefix for the Pacemaker service
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2362 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-14 12:34:18 +00:00
Steven Dake
c6efbddcf9 Add poll destroy to coroipcs.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2348 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-08 05:23:33 +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
23ce53be4d Set ERR_SECURITY to 100 to give plenty of room for other people's error codes.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2337 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-01 20:03:07 +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
130d9c9908 Add context get and set operations to evs handles and man pages.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2329 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-01 06:27:00 +00:00
Steven Dake
15d2c48963 Export poll handle via coroapi.h.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2318 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-29 23:24:24 +00:00
Steven Dake
e1b054ae0a Change sync_init api call to pass information relevant for making
synchronization decisions.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2305 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-27 01:59:59 +00:00
Steven Dake
9bf201420c Add AMF_V2_SERVICE defintion
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2301 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-26 02:50:38 +00:00
Steven Dake
f540be9060 Add compatability option in config file. Defaults to whitetank.
Add sync_mode to coroapi to indicate to corosync the service engine's
desired compatibility mode.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2298 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-26 00:25:52 +00:00
Steven Dake
e35059f57d definition error in corodefs.h
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2297 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-25 23:20:38 +00:00
Steven Dake
da53358394 Define CMAN and CRM service ids.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2295 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-25 20:55:16 +00:00
Jan Friesse
f7ed512a1d Add database lock init to hdb_* functions
Without this, lock can be called to unitialized and locking unitialized
lock isn't good idea.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2291 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-25 10:22:23 +00:00
Jan Friesse
53bf62fd04 Add locking of database in hdb_handle_refcount_get
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2290 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-25 10:21:54 +00:00
Ryan O'Hara
518237712b Add hdb_handle_refcount_get call.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2287 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-23 22:28:31 +00:00
Steven Dake
76bc62a5d9 Rename request_shutdown to shutdown_request in coroapi.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2282 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-22 18:29:43 +00:00
Steven Dake
71d2a32512 Add dump_state to coroapi.h. Need to remove logging output from signal
handlers.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2281 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-22 18:18:15 +00:00
Steven Dake
32ff97b87b Remove hdb constructor usage.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2275 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-21 04:49:33 +00:00
Steven Dake
66eff93187 Remove shadow warnings.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2271 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-20 17:33:38 +00:00
Jim Meyering
74a2fa1194 maint: remove trailing blanks
By running this command from a git-cloned directory:
git grep -z -l -E '[[:blank:]]+$' | xargs -0 perl -pi -e 's/[ \t]+$//'

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2266 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-19 11:34:50 +00:00
Fabio M. Di Nitto
9a94d633cf flight recorder: switch from int to bytes for requested allocation
The flight recoder buffer size as specified in LOGSYS_DECLARE_SYSTEM
or _logsys_rec_init was expressed in number of ints. A developer asking
to allocate 512K would get a 2M allocation on a machine with sizeof(int) = 4.

This is confusing and the patch addresses it:

- rename rec_size to fltsize for external API (no type change),
  because rec_size is used many times internally for other reasons
  and it can be confusing.

- rename size to fltsize in _logsys_rec_init.

- document what we allocate and why.

- swap comments around to match the code.

- introduce a simple macro to perform rounding (stolen from linux-2.6.git).

- start shaping fdata header to better handle dynamic values:
  * write the flt_data_size as first unsigned int the header.
  * change corosync-fplay to read the value and alloc the right amount
    of memory instead of hardcoding it again.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2255 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 17:40:41 +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
924b967ac4 logsys: add macros to pack/unpack rec_ident
rec_ident should contain 3 info: log level, subsystem id and
message type.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2249 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 05:29:51 +00:00
Fabio M. Di Nitto
7595cd31e7 logsys: allow to use header files for #define's
most of the values in logsys.h are very useful for non logsys library
API users.

Allow to import them without sucking the whole lib.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2248 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 05:17:43 +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
Fabio M. Di Nitto
5facfffb66 logsys: drop LOGSYS_LEVEL_SECURITY
LOGSYS_LEVEL_SECURITY is specific to corosync/openais and it
is used only in the totem configuration.

Drop the special case from logsys that's meant to be a generic
logging library and specify the correct equivalent for totem config.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2245 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 05:11:08 +00:00
Andrew Beekhof
e2c5b834f0 Decouple the decouples shutdown/startup order of lcrso's from the internal objdb order.
This is needed as the objdb order will change as modules are loaded/unloaded and is 
also set up to unload non-default services last (which is the opposite of what 
something like Pacemaker needs).

In the worst case, the current behavior leads to cluster services (dlm, ocfs2, etc) 
failing during shutdown.  This patch also ensures that if, for example, cpg is unloaded 
then anything that depends on it is unloaded first.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2224 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-09 16:07:11 +00:00
Steven Dake
27b88fd1e4 Include string.h in sq.h for memset() calls.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2216 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 07:24:37 +00:00
Steven Dake
ff8283f0b1 Rename queue datastructure to cs_queue data structure because some fail
operating system struct queue in the globally scoped headers.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2211 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 00:47:56 +00:00
Andrew Beekhof
446eb5946c Forward port the clear_node_high_bit from whitetank
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2205 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-03 09:54:22 +00:00
Christine Caulfield
5d8178f485 Add broadcast option to corosync
This is a forward port of the openais, whitetank, code.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2202 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-01 07:20:17 +00:00
Fabio M. Di Nitto
ec00294e6e Public headers should not include private config.h
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2200 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-30 04:47:01 +00:00
Christine Caulfield
b8efcc007e This patch adds the definition VOTEQUORUM_NODEID_US to the library,
which is already implicitly zero.

It also adds VOTEQUORUM_NODEID_QDEVICE and makes the code that checks
for them more generic. This now allows you to change the number of votes
assigned to a quorum disk (for example)



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2199 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-22 08:02:10 +00:00
Jim Meyering
d1c1e78fd0 remove trailing blanks
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2188 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-18 16:41:04 +00:00
Fabio M. Di Nitto
8076fb3883 Logsys header clean (comments and whitespaces)
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2182 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-13 07:01:51 +00:00
Fabio M. Di Nitto
f96d62d0f2 Fix totem logging after logsys changes
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2181 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-13 04:27:54 +00:00
Fabio M. Di Nitto
75c9085204 Fix logsys TAG handling
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2180 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-13 03:59:47 +00:00
Steven Dake
20d1d5faf7 Remove most iovector-ized functionality from totem and only make one malloc
and memory copy call in totemsrp_mcast.  The rest of the stack minus totempg
then uses zero copies.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2172 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-09 17:23:17 +00:00
Jim Meyering
29c015615d votequorum.c: avoid a new warning and add a comment in cpg.h
* votequorum.c: Avoid declaration of unused: ‘votequorum_instance_destructor’
* include/corosync/cpg.h (cpg_deliver_fn_t) [msg]: Add a comment explaining
why this member is not const.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2169 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-04 12:45:45 +00:00
Angus Salkeld
24797e6623 add NTF_SERVICE to the service list
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2167 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-04 08:56:24 +00:00
Steven Dake
19a49ecdce Do checking of handle code after we verify that handle could actually be
in the handle database.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2166 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-30 00:14:08 +00:00
Steven Dake
bf624c727d Implement thread saftey in corosync trunk.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2165 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-29 07:21:21 +00:00
Steven Dake
73cb3ae590 Fix leak caused by invalid put in hdb_handle_destroy.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2164 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-29 07:14:36 +00:00
Steven Dake
0d5a6e83b4 Add mechanism to use logsysrec from inside totem stack.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2157 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-27 05:17:40 +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
bba93f5402 remove "AIS" from cfg.h header file.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2149 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-26 02:24:43 +00:00
Steven Dake
380b7e8b7b Allow CPP linkage by adding extern "C" {} to external header files.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2148 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-26 02:08:18 +00:00
Steven Dake
d18ff2aeef remove config.h from public header file.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2147 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-26 01:58:49 +00:00
Steven Dake
0986c30320 Remove useless APIs from coroipcs.c related to handling of overload
conditions.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2146 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-26 01:20:09 +00:00
Christine Caulfield
e9660ee62f Add libnss security support to corosync.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2145 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-25 14:05:27 +00:00
Steven Dake
bc636acac7 add request_shutdown call to coroapi.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2140 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-23 19:34:26 +00:00
Steven Dake
2505b53703 Add logsys yield counter for the logsys thread.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2139 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-23 19:21:35 +00:00
Steven Dake
e5c721e381 remove rmd.h header file.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2135 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-23 17:32:57 +00:00
Steven Dake
51ef3b5c00 Include file cleanups.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2134 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-23 17:03:21 +00:00
Steven Dake
97f49b8557 Cleanup coroipcc.h header file to remove saHandleXXX and friends.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2133 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-23 16:19:49 +00:00
Steven Dake
589d2ae1af coroipcs.h cleanup.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2132 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-23 16:13:24 +00:00
Steven Dake
ed7d054e55 Remove priority inversion in logsys.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2130 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-23 15:24:29 +00:00
Jan Friesse
0dc4aed441 Make ipc_log_printf function working by adding _logsys_log_vprintf, which
is mostly same as _logsys_log_printf but takes va_list as argument.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2127 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-23 12:29:26 +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
Steven Dake
1beb0c1fbd Remove saHandleXXX and friends and use hdb instead.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2125 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-22 17:43:54 +00:00
Jan Friesse
058f50314c Rewrite of CPG. It solves problems with double delete.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2124 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-22 13:39:28 +00:00
Jan Friesse
37dee7eea1 Remove MESSAGE_REQ_CPG_GROUPS_GET call and all function using that.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2122 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-22 09:45:47 +00:00
Fabio M. Di Nitto
230b85044f Kill all asserts from logsys and handle proper error return
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2121 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-22 09:14:23 +00:00
Steven Dake
92a77fcf9a Add missing header from last commit.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2120 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-22 09:03:59 +00:00
Steven Dake
8126cf7458 Reworking of include file dependencies.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2119 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-22 09:01:30 +00:00
Jim Meyering
d86737ac9c remove empty lines at end-of-file
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2118 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-22 08:04:06 +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
cee464489f Change shared memory to use mmap() system calls.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2115 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-22 05:41:30 +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
Jim Meyering
de3175bc69 remove useless if-before-free tests
* exec/coropoll.c (poll_destroy): Remove useless if.
* exec/main.c (main): Likewise.
* include/corosync/hdb.h (hdb_destroy): Likewise.
* lcr/lcr_ifact.c (scandir): Likewise.
* lib/sa-confdb.c (load_config): Likewise.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2106 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-21 07:28:18 +00:00
Fabio M. Di Nitto
c6a31d6145 Add logsys_flush logsys API call to signal the logging thread
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2103 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-21 04:38:49 +00:00
Steven Dake
cd154d63e6 Use spinlocks in library handle references.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2099 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-20 18:03:10 +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
221dddd0dd add schedwrk_create and schedwrk_destroy coroapi functions.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2089 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-18 14:39:57 +00:00
Steven Dake
f70605bec2 Remove warnings about typedefs in apidef.c.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2080 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-18 07:18:08 +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
Jim Meyering
70ef539c8d list.h: avoid shadowing warning
* include/corosync/list.h: Don't use "remove" as param name.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2066 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-15 19:12:02 +00:00
Jim Meyering
d45965ecae totemrrp.h, totemsrp.h, totemnet.h: const+size_t
* exec/totemrrp.c (totemrrp_initialize):
* exec/totemrrp.h (totemrrp_initialize):
* exec/totemsrp.c (handler_functions, main_deliver_fn):
(main_iface_change_fn):
* exec/totemnet.c (totemnet_deliver_fn, totemnet_iface_change_fn):
(encrypt_and_sign_worker, ucast_sendmsg, mcast_sendmsg):
(totemnet_mcast_worker_fn, totemnet_initialize):
(totemnet_token_send, totemnet_mcast_flush_send):
(totemnet_mcast_noflush_send, totemnet_token_target_set):
* exec/totemnet.h (TOTEMNET_FLUSH):
* exec/totemrrp.c (totemrrp_deliver_fn, totemrrp_iface_change_fn):
(totemrrp_token_seqid_get, rrp_deliver_fn, rrp_iface_change_fn):
* exec/totemsrp.c (handler_functions, main_token_seqid_get):
(srp_addr_copy_endian_convert, message_handler_orf_token):
(message_handler_mcast, message_handler_memb_merge_detect):
(memb_join_endian_convert, memb_commit_token_endian_convert):
(orf_token_endian_convert, mcast_endian_convert):
(memb_merge_detect_endian_convert, message_handler_memb_join):
(message_handler_memb_commit_token):
(message_handler_token_hold_cancel, main_deliver_fn):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2062 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-15 07:48:39 +00:00
Steven Dake
8426195e70 Remove admin_state_set and admin_state_get.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2053 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-10 02:56:48 +00:00
Steven Dake
9141188ee8 Add spin locks for critical sections in hdb api.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2050 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-10 02:24:01 +00:00
Jim Meyering
e26aedf84f coroapi.h: Make totem_mcast's *iovec param const.
* include/corosync/engine/coroapi.h (struct corosync_api_v1):
[totem_mcast]: Make *iovec param const.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2049 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-09 20:53:13 +00:00
Jim Meyering
8ef14f11eb cpg.h, objdb.h, coroaph.h: more const/size_t
* include/corosync/cpg.h (cpg_callbacks_t):
* include/corosync/mar_cpg.h (marshall_to_mar_cpg_name_t):
* lib/cpg.c (cpg_join, cpg_leave):
* lib/cpg.c (cpg_mcast_joined): make iovec const.
* include/corosync/cpg.h (cpg_mcast_joined): update prototype
...

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2048 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-09 20:53:03 +00:00
Jim Meyering
e002172704 coroapi.h: change lib_handler_fn's *msg to be const
Make a tiny type change and watch it propagate.
* include/corosync/engine/coroapi.h
(struct corosync_lib_handler) [lib_handler_fn]: Change type
of 2nd parameter: s/void *msg/const void *msg/.
Propagate the above into cfg.c and votequorum.c:
* services/cfg.c (message_handler_req_lib_cfg_get_node_addrs):
Constification exposed a bug in this function whereby it mistakenly
modified storage through its now-const *msg parameter.  Since it
did that solely to store a temporary result, we've changed it
to use a local variable instead.
* services/votequorum.c (message_handler_req_lib_votequorum_setvotes):
Likewise.
* exec/vsf_quorum.c: add const to msg param.
* services/evs.c: Likewise.
* services/pload.c: Likewise.
* services/cpg.c: Likewise.
* services/confdb.c: Likewise.
* exec/coroipcs.h: signature of coroipcs_handler_fn_lvalue must match
that of lib_handler_fn; noted via main.c.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2047 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-09 12:32:59 +00:00
Jim Meyering
a44f4e70e6 coroipcc.h (coroipcc_msg_send_reply_receive): Make res_len size_t.
* include/corosync/coroipcc.h (coroipcc_msg_send_reply_receive):
change type of res_len parameter.
* lib/coroipcc.c (coroipcc_reply_receive): Likewise.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2045 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 17:30:02 +00:00
Jim Meyering
3df307a36d sync the rest of the code with previous header changes
* exec/coroipcs.c (coroipcs_response_send)
(coroipcs_dispatch_send):
* exec/coroipcs.h (handler_fn_get):
* include/corosync/cpg.h (cpg_deliver_fn_t, cpg_confchg_fn_t):
* test/cpgbench.c (cpg_bm_confchg_fn, cpg_bm_deliver_fn):
* test/testcpg.c (print_cpgname, DeliverCallback)
(ConfchgCallback):
* test/testcpg2.c (deliver, confch):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2044 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 17:29:53 +00:00
Jim Meyering
1eabb733c6 cpg.h, coroapi.h: more size_t and const changes
* include/corosync/cpg.h (cpg_deliver_fn_t, cpg_confchg_fn_t)
(cpg_groups_get_fn_t):
* include/corosync/engine/coroapi.h (ipc_response_send)
(ipc_dispatch_send, tpg_join, tpg_leave, tpg_groups_mcast)
(tpg_groups_reserve):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2043 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 17:29:45 +00:00
Jim Meyering
00db317b82 sync the rest of the code with previous header changes
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2042 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 17:29:37 +00:00
Jim Meyering
b4c6217894 make all priv_data_pt pointers non-"const"
I'd suspected this would be necessary, but until now hadn't
found a case in which it actually was.  That case:
totemconfig.c's totem_key_change_notify.
It has a priv_data_pt parameter that is used like this:

  struct totem_config *totem_config = priv_data_pt;

and totem_config is in turn passed as arg #2 to
totem_volatile_config_read, where it is decidedly non-const.

git grep -l 'const void \*priv' \
  |xargs perl -pi -e 's,const (void \*priv_data_pt),$1,'

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2041 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 17:29:27 +00:00
Jim Meyering
62e71c31d6 coroapi.h, confdb.h, objdb.h: big s/int/size_t/ change
* exec/mainconfig.c (objdb_get_string, objdb_get_int):
* exec/totemconfig.c (objdb_get_string, objdb_get_int)
(totem_config_keyread, totem_key_change_notify):
* include/corosync/confdb.h (confdb_callbacks_t):
* include/corosync/engine/coroapi.h (group_len, object_len)
(key_len, validate_callback, object_key_change_notify_fn_t)
(object_create_notify_fn_t, object_destroy_notify_fn_t)
(object_notify_callback_fn_t, object_reload_notify_fn_t)
(object_create, object_key_create, object_find_create)
(object_key_get, object_key_replace, object_key_delete)
(object_iter, object_key_iter, object_name_get)
(object_key_iter_from, object_key_increment)
(object_key_decrement):
* include/corosync/engine/objdb.h (object_key_change_notify_fn_t)
(object_create_notify_fn_t, object_destroy_notify_fn_t)
(object_len, key_len, validate_callback, object_create)
(object_key_create, object_find_create, object_key_get)
(object_key_replace, object_key_delete, object_iter)
(object_key_iter, object_name_get, object_key_iter_from)
(object_key_increment, object_key_decrement):
* lib/confdb.c (confdb_object_create, confdb_key_create)
(confdb_key_delete, confdb_key_get, confdb_key_increment)
(confdb_key_decrement, confdb_key_replace, confdb_object_find)
(confdb_object_iter, confdb_key_iter):
* lib/sa-confdb.c (confdb_sa_object_create, confdb_sa_key_create)
(confdb_sa_key_delete, confdb_sa_key_get)
(confdb_sa_key_increment, confdb_sa_key_decrement)
(confdb_sa_key_replace, confdb_sa_object_find)
(confdb_sa_object_iter, confdb_sa_key_iter):
* lib/sa-confdb.h:
* services/confdb.c (message_handler_req_lib_confdb_key_replace):
* services/votequorum.c (objdb_get_string, objdb_get_int)
(quorum_key_change_notify, votequorum_objdb_reload_notify):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2040 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 17:29:16 +00:00
Jim Meyering
fdf9b231f6 totem.h: use symbolic array dimensions in public struct members
* include/corosync/totem/totem.h:
(TOTEM_PRIVATE_KEY_LEN, TOTEM_RRP_MODE_BYTES): Define.
(struct totem_config): Use the new names, rather than literals.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2037 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 17:28:48 +00:00
Jim Meyering
3f5ef99781 totempg.h: change type of totempg_group.group_len from int to size_t
* include/corosync/totem/totempg.h (struct totempg_group) [group_len]:
Change member type from int to size_t.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2036 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 17:28:40 +00:00
Jim Meyering
f930dbef8b rmd.h: adjust types (const+size_t) of prototype
* include/corosync/rmd.h: ...even though there are no definitions
for these functions.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2035 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 17:28:31 +00:00
Jim Meyering
29eb77a9fb convert each "size_t iov_len" declaration to "unsigned int iov_len"
Via this command:
git grep -l -E 'size_t[[:blank:]]+iov_len' \
  | xargs perl -pi -e 's/((?:^|,)\s*)size_t\s+(iov_len)/${1}unsigned int $2/'

Affected files and (functions/macros):
* exec/totempg.c (totempg_groups_mcast_groups)
(totempg_groups_send_ok_groups):
* include/corosync/evs.h (evs_callbacks_t):
* include/corosync/totem/totempg.h (TOTEMPG_SAFE):
* lib/evs.c (evs_mcast_joined, evs_mcast_groups):
* man/cpg_mcast_joined.3:
* man/evs_mcast_groups.3:
* man/evs_mcast_joined.3:

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2032 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 07:56:54 +00:00
Jim Meyering
36eefbadef Convert all "int iov_len" decls to "unsigned int iov_len".
Used this command:
git grep -l 'int iov_len' \
  | xargs perl -pi -e 's/((?:^|,)\s*)(int iov_len)/${1}unsigned $2/'

Here's an approximate (autogenerated by vc-chlog) list of affected
file names and functions/macros:
* README.devmap:
* exec/coroipcs.c (sending_allowed_private_data)
(coroipcs_response_iov_send, msg_send, msg_send_or_queue)
(coroipcs_dispatch_iov_send):
* exec/coroipcs.h (handler_fn_get):
* exec/main.c (deliver_fn, main_mcast):
* exec/main.h (FALSE):
* exec/sync.c (vsf_iface, sync_deliver_fn):
* exec/totemmrp.c (totemsrp_handle_in, pg_deliver_fn)
(totemmrp_deliver_fn, totemmrp_initialize, totemmrp_mcast):
* exec/totemmrp.h (TOTEMMRP_H_DEFINED):
* exec/totemnet.c (iov_len, encrypt_and_sign_worker)
(ucast_sendmsg, mcast_sendmsg, totemnet_token_send):
* exec/totemnet.h (TOTEMNET_FLUSH):
* exec/totempg.c (deliver_fn, totempg_deliver_fn, mcast_msg)
(totempg_groups_initialize, totempg_groups_mcast_joined)
(totempg_groups_joined_reserve):
* exec/totemsrp.c (iov_len, totemsrp_recv, totemsrp_deliver_fn)
(totemsrp_initialize, totemsrp_mcast, token_send):
* exec/totemsrp.h (TOTEMSRP_H_DEFINED):
* exec/vsf_ykd.c (ykd_deliver_fn):
* include/corosync/coroipcc.h (handleInstanceDestructor):
* include/corosync/cpg.h (cpg_callbacks_t):
* include/corosync/engine/coroapi.h (ipc_response_iov_send)
(ipc_dispatch_iov_send, totem_mcast, tpg_init, tpg_joined_mcast)
(tpg_joined_reserve, tpg_groups_mcast, tpg_groups_reserve):
* include/corosync/totem/totempg.h (TOTEMPG_SAFE):
* lib/coroipcc.c (coroipcc_msg_send)
(coroipcc_msg_send_reply_receive)
(coroipcc_msg_send_reply_receive_in_buf):
* lib/cpg.c (cpg_mcast_joined):
* lib/util.h (versionsSupported):
* services/pload.c (send_message):
* services/votequorum.c (conn, quorum_deliver_fn):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2031 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 07:56:45 +00:00
Jim Meyering
2eba2a6cb8 continue pulling previous thread: mostly constification
* exec/apidef.c (typedef_tpg_join, typedef_tpg_leave)
(typedef_tpg_groups_mcast, typedef_tpg_groups_send_ok):
* exec/sync.c (barrier_data_process, sync_barrier_send)
(sync_start_init, sync_service_init, sync_start_process)
(sync_service_process, sync_deliver_fn, sync_request_send)
(sync_request):
* exec/sync.h (name):
* exec/totemmrp.c (totemmrp_callback_token_create):
* exec/totemmrp.h (TOTEMMRP_H_DEFINED):
* exec/totempg.c (list, app_confchg_fn)
(callback_token_received_fn, totempg_callback_token_create)
(totempg_groups_mcast_joined, totempg_groups_joined_release)
(totempg_groups_mcast_groups):
* exec/totemsrp.c (callback_fn, totemsrp_confchg_fn)
(totemsrp_initialize, totemsrp_callback_token_create):
* exec/totemsrp.h (TOTEMSRP_H_DEFINED):
* exec/vsf_ykd.c (ykd_state_send_msg, ykd_attempt_send_msg)
(ykd_confchg_fn):
* include/corosync/engine/coroapi.h (timer_add_absolute)
(totem_ifaces_print, totem_ip_print, totem_callback_token_create)
(sync_request, plugin_interface_reference):
* include/corosync/totem/totempg.h (TOTEMPG_SAFE):
* services/cpg.c (cpg_confchg_fn):
* services/pload.c (msgs_sent, pload_service_engine)
(send_message, start_mcasting):
* services/votequorum.c (conn, quorum_confchg_fn):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2030 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 06:44:59 +00:00
Jim Meyering
3a32139cfc *_confchg_fn: make pointer params const, change *_entries to be size_t
* exec/main.c (confchg_fn):
* exec/quorum.h (sync_callback_fn_t):
* exec/sync.c (sync_ring_id, barrier_data_process)
(sync_start_init, sync_service_process, sync_primary_callback_fn)
(sync_deliver_fn, sync_confchg_fn):
* exec/sync.h (name):
* exec/totemmrp.c (totemsrp_handle_in, pg_confchg_fn)
(totemmrp_confchg_fn, totemmrp_initialize):
* exec/totemmrp.h (TOTEMMRP_H_DEFINED):
* exec/totempg.c (confchg_fn, totempg_confchg_fn)
(totempg_groups_initialize):
* include/corosync/engine/coroapi.h (tpg_init, confchg_fn)
(sync_abort):
* include/corosync/totem/totempg.h (TOTEMPG_SAFE):
* services/cfg.c (shutdown_reply, cfg_confchg_fn)
(message_handler_req_exec_cfg_ringreenable):
* services/cpg.c (api, cpg_confchg_fn):
* services/evs.c (MESSAGE_REQ_EXEC_EVS_MCAST, evs_confchg_fn):
* services/pload.c (MESSAGE_REQ_EXEC_PLOAD_MCAST)
(pload_confchg_fn):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2029 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 06:44:50 +00:00
Jim Meyering
3b35d8a99c no-op change: s/gruop/group/ in prototypes and documentation
* include/corosync/engine/coroapi.h (tpg_join, tpg_leave):
* man/evs_mcast_groups.3:

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2028 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 06:44:41 +00:00
Jim Meyering
e7fa045d5a totem: const+unsigned+size_t
* exec/totempg.c (totempg_groups_mcast_groups):
(totempg_groups_send_ok_groups):
* include/corosync/totem/totem.h (interface_count):
(private_key_len, threads, heartbeat_failures_allowed):
* include/corosync/totem/totempg.h:

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2027 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 06:44:20 +00:00
Jim Meyering
0106be7668 rmd.h: s/int/size_t; const-correctness changes...
* include/corosync/rmd.h: in spite of these being unused interfaces

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2026 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 06:44:12 +00:00
Jim Meyering
23c1e2598c lcr_ckpt.h: unused file: const/size_t
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2025 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 06:43:54 +00:00
Jim Meyering
c2ce9d00bb ipc_evs.h: s/int/size_t
* include/corosync/ipc_evs.h (msglen, member_list_entries):
(left_list_entries, joined_list_entries, group_entries, msg_len):
(group_entries, msg_len, member_list_entries):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2024 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 06:43:36 +00:00
Jim Meyering
cf2c12a988 evs.h: s/int/size_t; const-correctness changes
* exec/sync.c (barrier_data_confchg_entries):
* include/corosync/evs.h (evs_deliver_fn_t, evs_confchg_fn_t):
(evs_callbacks_t):
* lib/evs.c (MIN, evs_join, evs_leave, evs_mcast_joined):
(evs_mcast_groups, evs_membership_get):
* test/evsbench.c (evs_deliver_fn, evs_confchg_fn):
* test/evsverify.c (evs_deliver_fn, evs_confchg_fn, main):
* test/testevs.c (evs_deliver_fn, evs_confchg_fn, main):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2023 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 06:43:17 +00:00
Jim Meyering
db4838bc35 quorum.h (quorum_set_quorate_fn_t): make first param const
* exec/quorum.h (sync_callback_fn_t):
* exec/sync.c (current_members_cnt, sync_primary_callback_fn):
* exec/sync.h (name):
* exec/vsf_quorum.c (sync_primary_callback_fn):
(quorum_api_set_quorum):
* exec/vsf_ykd.c (ykd_primary_callback_fn):
* include/corosync/engine/coroapi.h (sync_callback_fn_t):
* include/corosync/engine/quorum.h (quorum_set_quorate_fn_t):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2022 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 06:43:03 +00:00
Jim Meyering
4cb431fc54 quorum.h (quorum_set_quorate_fn_t): s/int/size_t/
propagate the change:
* include/corosync/engine/quorum.h (quorum_set_quorate_fn_t):
* exec/vsf_quorum.c (quorum_view_list_entries):
(quorum_api_set_quorum, quorum_exec_init_fn):
* exec/vsf_ykd.c (ykd_primary_callback_fn):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2021 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 06:42:29 +00:00
Steven Dake
12754324f9 Forward port of sync v1 engine from whitetank and rework of quorum
engine to not break syncing.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2019 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-07 21:41:25 +00:00
Jim Meyering
f571a12d9b jhash.h (jhash2): make first parameter const
* include/corosync/jhash.h (jhash2): const.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2017 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-07 13:04:19 +00:00
Jim Meyering
622bbd8299 lcr_comp.h: size_t
* include/corosync/lcr/lcr_comp.h (struct lcr_comp, struct lcr_iface):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2016 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-07 13:04:11 +00:00
Jim Meyering
8f9fafedbf list.h (list_empty): Make param const.
* include/corosync/list.h (list_empty): Make param const.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2015 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-07 13:04:04 +00:00
Jim Meyering
af316a11b2 mar_cpg.h: make "src" params const.
* include/corosync/mar_cpg.h:

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2014 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-07 13:03:51 +00:00
Jim Meyering
8defaf0c3f mar_gen.h: make params const
* include/corosync/mar_gen.h (get_mar_name_t, mar_name_match): const
* exec/util.h (get_mar_name_t, mar_name_match): Remove unneeded decls.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2013 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-07 13:03:30 +00:00
Jim Meyering
eb5919f0cc totemip.h: const'ify
* include/corosync/totem/totemip.h: Add const to prototypes.
* exec/totemip.c (totemip_equal, totemip_copy): Adjust.
(totemip_copy_endian_convert, totemip_localhost_check): Likewise.
(totemip_sockaddr_to_totemip_convert): Likewise.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2012 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-07 13:03:07 +00:00
Jim Meyering
ba9f2d8347 sq.h: const'ify, and avoid NULL-deref
* include/corosync/sq.h (sq_init): Avoid NULL-deref on malloc failure.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2011 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-07 13:02:43 +00:00
Jim Meyering
2331454b2b queue.h: Replace #ifdef COROSYNC_SOLARIS...
* include/corosync/queue.h: Remove #ifdef COROSYNC_SOLARIS
in favor of agnostic "#ifdef queue".

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2010 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-07 13:02:13 +00:00
Jim Meyering
a549daedca logsys.h (logsys_format_set): Change return type, adjust param type.
* include/corosync/engine/logsys.h:
* exec/logsys.c (logsys_format_set): Return -1 upon strdup failure.
Change type of param to "const char *".
* exec/logsys.c (logsys_init): Adjust use.
* exec/mainconfig.c (corosync_main_config_read_logging): Adjust uses.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2009 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-07 13:01:55 +00:00
Steven Dake
1eb7b648f1 Revert constructor priority in logsys.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2008 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-03 21:11:55 +00:00
Jim Meyering
6b9505992f confdb.h (confdb_reload) Add errbuf_len parameter and propagate.
* include/corosync/confdb.h (confdb_callbacks_t):
* lib/confdb.c (confdb_reload):
* lib/sa-confdb.c (confdb_sa_reload):
* lib/sa-confdb.h:
* test/testconfdb.c (main):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2004 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-03 20:31:38 +00:00
Jim Meyering
1308223dab confdb.h: error_text vs. buflen
* lib/confdb.c (MIN): Define.
(confdb_write): Use new errbuf_len parameter.
Also note bugs (Chrissie confirms) that error_text is not
set in two error-return cases.
* test/testconfdb.c (do_write_tests): Update use of confdb_write.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2002 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-03 20:31:12 +00:00
Jim Meyering
781d3454c2 confdb.h: continue API changes: const+size_t
* include/corosync/confdb.h (confdb_object_create_notify_fn_t):
(confdb_object_delete_notify_fn_t):
* tools/corosync-objctl.c (tail_object_created, tail_object_deleted):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2001 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-03 20:30:54 +00:00
Jim Meyering
41cc0e06b4 print "?" in place of non-printing bytes of obj/key/val values
* tools/corosync-objctl.c: Include <ctype.h>
(print_name): New function.
(tail_key_changed): Use it to avoid printing garbage to screen.
* include/corosync/confdb.h (confdb_key_change_notify_fn_t): Convert
type of "int" length params to "size_t".

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2000 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-03 20:30:41 +00:00
Jim Meyering
1701b32f1d confdb.h (confdb_key_change_notify_fn_t): Make 3 params "const"
* include/corosync/confdb.h (confdb_key_change_notify_fn_t):
Make 3 params const.
* tools/corosync-objctl.c (find_object_of_type_t, callbacks):
(tail_key_changed): Don't write into would-be-const members.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1999 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-03 20:30:33 +00:00
Jim Meyering
6008fa430b cfg.h: mark "address_length" as an unused member
* include/corosync/cfg.h: Add a FIXME comment.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1998 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-03 20:30:11 +00:00
Jim Meyering
3c4b5fbddc cfg.h: adjust parameter types: const+s/int/size_t/
* lib/cfg.c (corosync_cfg_get_node_addrs): Make "max_addrs" size_t.
(corosync_cfg_kill_node): Make "reason" const.
* include/corosync/cfg.h: Update prototypes.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1997 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-03 20:29:50 +00:00
Jim Meyering
cd6105face cfg.h: add const
* lib/cfg.c (corosync_cfg_service_load): Make service_name "const".
(corosync_cfg_service_unload): Likewise.
* include/corosync/cfg.h: Update prototypes.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1996 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-03 20:29:32 +00:00
Jim Meyering
514159407f coroipcc. h (coroipcc_dispatch_recv): Add a buflen parameter.
* lib/coroipcc.c (coroipcc_dispatch_recv): Update definition, and...
(memcpy_swrap): ... add a parameter here, too.
* include/corosync/coroipcc.h (coroipcc_dispatch_recv):
* lib/cfg.c (corosync_cfg_dispatch):
* lib/confdb.c (confdb_dispatch):
* lib/cpg.c (cpg_dispatch, cpg_flow_control_state_get):
* lib/evs.c (evs_dispatch):
* lib/quorum.c (quorum_dispatch):
* lib/votequorum.c (votequorum_dispatch):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1995 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-03 18:35:04 +00:00
Jim Meyering
9023d045cc coroipcc.h: add "const" to msg_send_reply_* "iov" parameters
* include/corosync/coroipcc.h (coroipcc_msg_send_reply_receive_in_buf):
Make "iov" const.
* lib/coroipcc.c (coroipcc_msg_send): Make iov const.
(coroipcc_msg_send_reply_receive): Likewise.
(coroipcc_msg_send_reply_receive_in_buf): Likewise.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1994 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-03 16:25:43 +00:00
Fabio M. Di Nitto
6f25475b02 Fix logsys construct execution priority
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1991 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-03 05:45:36 +00:00
Jim Meyering
a660341656 totemip.c: avoid 1 warning
* exec/totemip.c (totemip_print): Add const.
* include/corosync/totem/totemip.h: Ditto.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1974 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:18:29 +00:00
Jim Meyering
4e8e8deafb mar_gen.h, cfg.c: avoid 1 warning
* services/cfg.c (message_handler_req_exec_cfg_killnode):
* include/corosync/mar_gen.h (marshall_to_mar_name_t):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1963 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:17:00 +00:00
Jim Meyering
f218098c4a totempg.h: avoid a warning
* include/corosync/totem/totempg.h (struct totempg_group):
Make "group" const.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1960 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:16:37 +00:00
Jim Meyering
6ccdd8a4f2 confdb.c, objdb.h, coroapi.h: add a few const, remove one: 4 fewer warnings
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1950 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:14:57 +00:00
Jim Meyering
eab6389be3 object_write_config: add const to remove one more
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1946 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:14:16 +00:00
Jim Meyering
0edd682c7d merge with "in progress" -- down 6 to 73 warnings
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1944 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:14:00 +00:00
Jim Meyering
cc6eed7042 in progress: avoid warnings
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1943 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:13:47 +00:00
Jim Meyering
7e6affcbf3 votequorum.c (votequorum_qdisk_register): add "const" to avoid 1 more warnings
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1942 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:13:39 +00:00
Jim Meyering
3baa7fa9ce avoid 7 warnings
(struct sync_callbacks), (struct corosync_service_engine) [name]:
Make member const.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1939 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:13:02 +00:00
Jim Meyering
aa71d749e1 votequorum.c: add "const" to avoid 2 more warnings
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1938 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:12:54 +00:00
Jim Meyering
f7152d349a totem*: add "const" to avoid 1 more warning
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1935 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:12:11 +00:00
Jim Meyering
bad0fbf809 vsf_type: add "const" to avoid warning
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1934 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:12:03 +00:00
Jim Meyering
39001fd1f6 objdb.c (object_reload_config): add const
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1931 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:11:38 +00:00
Jim Meyering
067d0a8468 add const to 3 params
* include/corosync/engine/objdb.h (object_key_change_notify_fn_t):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1929 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:11:17 +00:00
Jim Meyering
b107445d5a objdb.c, etc: add "const" to avoid warnings
* exec/objdb.c:
* include/corosync/engine/coroapi.h:
* include/corosync/engine/objdb.h:

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1928 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:11:09 +00:00
Jim Meyering
921a5a8417 totempg.c: remove one const-related warning
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1923 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:10:30 +00:00
Jim Meyering
f18c5fdea4 objdb.h: sync const-related from coroapi.h
* include/corosync/engine/objdb.h: mirror const-related changes
to coroapi.h.  FIXME: all of these identical API's should not
be separately modifiable.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1922 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:10:21 +00:00
Jim Meyering
b94d4f6ae4 totempg.c: remove one const-related warning
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1921 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:10:13 +00:00
Jim Meyering
e487affc01 logsys_config_facility_set: make "name" parameter const
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1919 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:09:56 +00:00
Jim Meyering
2344e2f1b8 cfg.c: nearly warning-free
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1918 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:09:47 +00:00
Jim Meyering
1919ff31c7 cpg.c: resolve almost all warnings
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1917 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-30 21:09:38 +00:00
Steven Dake
c5fc824d7f Abstracted Shared Memory IPC library
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1885 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-22 15:28:54 +00:00
Fabio M. Di Nitto
031c02f589 - Every .c file should include "config.h" to get the right defines...
- services/Makefile.am: add include search paths for config.h

- include/corosync/cs_config.h.in exports LCRSODIR and SOCKETDIR

- tools/Makefile.am: drop -D defines for dirs that are now in
cs_config.h or config.h

- configure.ac: sanitize prefix and exec_prefix paths. Export DIRS in
*config.h

- lib/Makefile.am: : drop -D defines for dirs that are now in
cs_config.h or config.h. Add rule to build lcr_ifact.o or building from
lib/ fails miserably



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1877 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-19 12:58:53 +00:00
Steven Dake
9e9fe9d3e5 Fix coroapi.h header errors.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1867 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-18 21:28:50 +00:00
Fabio M. Di Nitto
cadfe03dd6 Fix more soname= at linking
Start fixing distcheck

White space cleanups


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1862 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-18 07:52:48 +00:00
Steven Dake
2db2ef76a8 Set correct OBJECT_PARENT_HANDLE define in coroapi.h
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1843 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-11 23:48:05 +00:00
Steven Dake
2b84d1075b Add handle checking to the hdb system.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1842 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-11 23:28:01 +00:00
Fabio M. Di Nitto
0e4f5a04c7 Fix more build/install glitches
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1837 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-11 11:33:19 +00:00
Fabio M. Di Nitto
90c2df58b9 Add entries to maintainer-clean target
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1831 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-11 05:52:48 +00:00
Christine Caulfield
2924b84b60 Fix some const warnings
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1828 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-10 17:13:37 +00:00
Steven Dake
dabaa6463b change some char * to const char * to match usage in system in lcr.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1823 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-10 11:57:21 +00:00
Steven Dake
6895160788 Remove const warnings from main.c.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1812 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-10 10:35:14 +00:00
Steven Dake
38ae1929f5 Remove type casting to (char *) in logsys.h.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1811 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-10 10:32:09 +00:00
Steven Dake
3b9f70d235 Remove const warnings in totemip code.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1808 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-10 10:05:40 +00:00
Steven Dake
64aab2e950 Remove const warnings relating to logsys global definitions.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1806 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-10 09:48:34 +00:00
Steven Dake
7f3f9496b3 Remove const warnings in totempg.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1804 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-10 09:34:20 +00:00
Steven Dake
3c3c11426e Remove const/nonconst assignment warnings in totemnet.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1801 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-10 09:22:08 +00:00
Steven Dake
0bc9cd90f6 Automake. The journey begins.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1798 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-10 08:35:41 +00:00
Fabio M. Di Nitto
8c4bcde5c2 Add logsys_format_get to logsys API.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1797 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-10 08:03:50 +00:00
Christine Caulfield
9ff50d8e38 The IPC patch broke CFG shutdown in several places, this patches fixes
all of them.

In particular, cfg_try_shutdown asks all applications that are
registered for callbacks if they approve the shutdown. This caused a bit
of a re-entrancy problem because it also asked the process that called
for the shutdown! The patch causes cfg to only ask OTHER applications in
the assumption that any application that calls
corosync_cfg_tryshutdown() will approve of the action :-)

In addition it adds the response to cfg_replyto_shutdown which was
missing (it couldn't be used with the old system but is mandatory now),
and removes a double-free in the library finalise code.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1794 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-06 10:07:35 +00:00
Steven Dake
1f05ffd27d Add reserve/release functionality to totem to reserve message queue
space.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1793 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-06 07:38:34 +00:00
Christine Caulfield
f5a64b8d64 This patch fixes some minor bugs in the expected_votes behaviour and
adds a couple of new features:

- When total_votes exceeds the expected_votes value then expected_votes
is increased to that value.

- A callback can be sent to a client whenever expected_votes is changed



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1784 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-02-26 14:51:18 +00:00
Christine Caulfield
d604803280 The current object database allows duplicate key names per object. This
is a bit of a nightmare to manage and provides no useful functionality
that I can see. Making keys unique has been discussed on IRC several
times and there seem to be no objections...so here is the patch:

Note that I have removed some now-useless parameters from the objdb API
too.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1783 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-02-26 14:49:41 +00:00
Steven Dake
58ab8d4a65 Unification around hdb_handle_t data type.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1782 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-02-25 11:14:47 +00:00
Christine Caulfield
ffddfb562b Move VOTEQUORUM_SERVICE to ipc_gen.h where it belongs.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1775 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-02-23 15:26:21 +00:00
Steven Dake
c077255702 Whitetank IPC Forward Port.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1766 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-02-19 02:23:58 +00:00
Ryan O'Hara
4e189328ed Add timer_expire_time_get
Add timer_expire_time_get corosync API call.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1761 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-02-18 01:28:35 +00:00
Christine Caulfield
7e5a3e4c87 Add corosync_cfg_local_get() call to get the local NodeID in libcfg
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1759 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-02-13 09:21:57 +00:00
Ryan O'Hara
e1239b96f4 Add TMR_SERVICE to the list of service_types.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1758 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-02-12 00:45:19 +00:00
Christine Caulfield
9a438085e2 Add quorum_fd_get and votequorum_fd_get prototypes
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1754 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-01-30 13:31:40 +00:00
Christine Caulfield
86ac23229e Remove the last bicapitalised name from cfg
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1751 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-01-29 09:17:43 +00:00
Christine Caulfield
a8256ad5fc Add the votequorum service
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1745 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-01-26 10:46:08 +00:00
Steven Dake
63fa74305b Fix message rejection problem.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1743 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-01-25 21:15:25 +00:00
Christine Caulfield
af69a229b6 Add OBJDB_RELOAD_NOTIFY_FAILED which was missing from coroapi
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1733 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-01-20 13:19:05 +00:00
Christine Caulfield
9884749683 Make all the bicapitalised names in cfg more sensible.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1732 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-01-19 08:31:21 +00:00
Fabio M. Di Nitto
02f9b8e19a Clean up tag handling and provide functions to match name with values and
viceversa.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1731 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-01-16 08:59:09 +00:00
Christine Caulfield
bcbc007ecd add corosync_cfg_get_node_addrs() call.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1726 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-01-14 09:27:40 +00:00
Steven Dake
db71709ada Patch to allow cpg_membership_get to work properly.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1721 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-01-08 06:29:16 +00:00
Angus Salkeld
4fb0ae71d1 Fix coverity bug ID 9: OVERRUN_STATIC
CID: 9
Checker: OVERRUN_STATIC (help)
File: lib/cfg.c
Function: corosync_cfg_service_unload
Description: Overrun of static array
"&(req_lib_cfg_serviceunload).service_name" of size 1024 bytes by
passing it to a function which indexes it with argument "1023" at byte
position 4088

The main problem here is the way the service_name is defined:
-       char *service_name[256] __attribute__((aligned(8)));
+       char service_name[256] __attribute__((aligned(8)));



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1718 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-01-06 04:06:51 +00:00
Christine Caulfield
dc8fbb4f7a Add another missing file
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1707 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-12-09 13:51:23 +00:00
Christine Caulfield
cfc7da3573 quorum is now an optional loadable module (though I've put it into the
defaults in services.c) and can load another module to do the quorum
work (eg YKD which I've made more compliant too). All the quorum code
has been removed from sync.c. quorum.c is simply a shim later for the
coroapi, the main module is in vsf_quorum.c

There are coroapi calls to query quorate status and also to get
notifications when it changes.

I've included the testquorum.lcrso module in this patch because I think
it's really helpful for testing. It sets the quorum state based on an 
objdb variable, this can be set or cleared using corosync-cfgtool



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1704 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-12-08 15:55:41 +00:00
Angus Salkeld
f2f20533fd change get node_id() to return an unsigned int
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1701 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-12-01 18:44:55 +00:00
Angus Salkeld
8ef26f93d1 Add corotype.h and delete saAis.h
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1690 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-11-07 01:34:43 +00:00
Angus Salkeld
56eaee9561 cleanup the last of the SAF headers and types
This includes the rename of identifiers from corosync to cs.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1689 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-11-06 21:49:07 +00:00
Christine Caulfield
39b505682d This patch adds two extra features to the CFG service in corosync, these
are taken (conceptually at least) from cman.

1. corosync_cfg_killnode()    this will tell a remote node to exit.
2. corosync_cfg_tryshutdown() this will do a semi-controlled shutdown in
that it will consult any interested attached daemons if they are willing
to let corosync be shut down. If they all agree then the rest of the
cluster will be informed before the node dies.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1683 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-10-31 13:20:29 +00:00
Steven Dake
6198080084 performance loading service engine first implementation.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1682 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-10-30 22:41:34 +00:00
Steven Dake
0c631e24fc Logsys flight recorder.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1681 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-10-30 22:25:56 +00:00
Christine Caulfield
44eaef35e0 Currently if a reload operation fails, any subsystems listening for
notifications will get a RELOAD_NOTIFY_START callback but not a
RELOAD_NOTIFY_END callback.

This patch adds a RELOAD_NOTIFY_FAILED callback so that interested
parties will know when the reload has finished and that it failed.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1678 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-10-27 08:25:53 +00:00
Angus Salkeld
301a730dd1 remove some new warnings from corosync
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1677 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-10-21 21:44:29 +00:00
Steven Dake
655d6b2f46 Remove unneeded totem_timeout_types global define.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1675 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-10-20 21:52:25 +00:00
Christine Caulfield
5bb7ca5da5 This is an initial pass at a top-level quorum system. As it stands, this
module doesn't provide quorum itself, merely a framework for setting and
querying it. I envisage YKD plugging into this rather than straight into
sync() eventually.

I've plugged this into the sync() routines rather than replacing them so
that quorum is itself a VSF, rather than a replacement - I'm not sure if
that is best or not. Opinions are welcome.

I've added an extra enum member to the service_handler so that we can
send IPC messages when the cluster isn't quorate. This will default to
NO (as now) but allows us to query and set quorum when we don't have it
.. a useful feature !



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1674 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-10-13 14:27:41 +00:00
Christine Caulfield
f1764d1f56 Add locking around objdb calls so that reloads and writes are atomic.
Also add a notification callback for reload. Both the start and the stop
are notified so that the user can decide what to do with the flurry of 
updates that occur.

Note than the reload callback notification MUST be registered against
OBJECT_PARENT_HANDLE. Registering it lower down the hierarchy makes no sense.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1673 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-10-06 12:14:40 +00:00
Angus Salkeld
f9609f3217 Propagate the flow control state between AIS exec and library
This patch causes the flow control state in the library to be set
properly when the flow control is turned off (disabled).  Then it can be
read properly by the flow control apis.
This also fixes the case where the application is no longer sending
messages and it has already dispatched all its received messages
before flow control is disabled.

Also, CPG response messages with a TRY_AGAIN error did NOT contain
a valid flow control state value. This meant the library could get
stuck with flow control enabled (flow control was never enabled
for the EXEC, so no disable event occurred).
This case was hit when a new node was joining - sync_in_process()
resulted in a TRY_AGAIN for error cpg_mcast_joined).

Also, in message_handler_req_exec_cpg_mcast() the state passed
back to the library defaulted to disabled for messages received
from another node (even if flow control was still enabled)
- this meant if multiple nodes were sending CPG messages,
  then the library flow control state flip-flopped between
  enabled and disabled.

Author: Steven Dake <sdake@redhat.com> &
        Tim Beale <tim.beale@alliedtelesis.co.nz>




git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1667 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-09-17 19:15:00 +00:00
Angus Salkeld
531bd3adec Add support for AMF (sync_request)
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1666 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-09-17 19:04:19 +00:00
Christine Caulfield
1d2d771f99 This patch adds key_increment and key_decrement calls to the objdb and
confdb subsystems.

This is useful to provide atomic counters (ag handle numbers) for
long-running (though not persistent) connections. It's not currently
possible via confdb to atomically get a new number from objdb due to the
lack of locking. Doing it via increment operations in the IPC thread
provides enough atomicity to make it useful. Fabio has already
identified a use for these calls.

It could also provide some form of basic co-operative locking mechanism
for IPC-using processes (not direct objdb calls).



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1662 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-09-03 07:58:08 +00:00
Christine Caulfield
2bab5b36cc Remove the disliked *_from calls from the objdb and recast
the confdb library to use the new find_create/find_next/find_destroy API
calls instead.

I've kept the libcondfb API the same as before with the single change of
adding a confdb_object_find_destroy to tidy up the find handle after
use. If you don't call this then libcondfb will do it for you when
confdb_finalize is called.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1660 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-26 07:34:22 +00:00
Angus Salkeld
31aa88aefb Provide a way to configure (at compile time) message and queue sizes.
This patch makes it possible to override the following #defines:
MESSAGE_SIZE_MAX
MESSAGE_QUEUE_MAX
SIZEQUEUE
FLOW_CONTROL_ENTRIES_ENABLE

If MESSAGE_SIZE_MAX is defined as 1024*64 (64K) and
MESSAGE_QUEUE_MAX defined as 512 you can change corosync's
memory footprint from ~48M to ~8M

So if you define MESSAGE_QUEUE_MAX, the queue size will
not be based on the message size any more.

To use this define the defines on the command line:
make CFLAGS="-DMESSAGE_SIZE_MAX=1024*64 -DMESSAGE_QUEUE_MAX=512"



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1656 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-20 00:57:40 +00:00
Angus Salkeld
94a523702f Fix an assert caused by faulty sort-queue management.
sq.h
  - sq_items_release(): When clearing the items_inuse array, ensure that
    all of the memory is cleared. items_inuse is a uint array, not a
    byte array.

Author: Mark Wutzke <markw@alliedtelesis.co.nz>



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1655 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-20 00:53:38 +00:00
Steven Dake
01b8bc6ab2 Finish the renaming of openais to corosync in the tree.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1646 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-15 06:15:26 +00:00
Steven Dake
dd3991c0bb Proper rename of openais usage to corosync throughout tree.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1637 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-14 16:54:46 +00:00
Fabien Thomas
0c92a5e564 reorganize include file to match installed tree to build openais without installing corosync; correct some warnings and error under FreeBSD and Darwin
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1632 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-14 14:59:50 +00:00
Fabio M. Di Nitto
010198fac4 Add support for reload operations within objdb and plugins.
Use a 2 phase "commit" operation:
1) Invoke verifyconfig that should catch the errors before the reload operation
2) Invoke reloadconfig that performs the operation and should _never_ fail

Implementation note: if step 2 fails, there is no fall back at the moment.

Fix the IPC table for confdb:
MESSAGE_REQ_CONFDB_XPATH_EVAL_EXPRESSION = 12 was added to include/ipc_confdb.h
without an associated call. Thanks Chrissie for spotting this.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1629 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-13 03:58:03 +00:00
Steven Dake
cd2f61adfd Add some totem process group interfaces to the API.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1628 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-12 09:06:46 +00:00
Steven Dake
50c25e7609 Add module load and unload to the exported coroapi.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1626 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-06 15:00:47 +00:00
Steven Dake
225b183bcb Add callback notification about changes to the object db and confdb apis.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1625 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-05 16:34:14 +00:00
Steven Dake
617dbdf2f0 Split openais and corosync tree into two seperate repositories.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1622 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-05 13:23:46 +00:00
Steven Dake
46babc95ad Initial move of corosync and openais trees into seperate directories.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1582 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-07-21 07:59:08 +00:00
Steven Dake
ece8efaec9 Add ability to track changes to queue groups in the messaqge service.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1580 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-07-21 07:34:08 +00:00
Patrick Caulfield
a53b222341 Add cpg_groups_get call to libcpg.
This call causes a complete list of active groups and their
membership lists to be sent to a callback function.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1571 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-07-02 07:19:50 +00:00
Steven Dake
f323f47343 Message service implemntation - more apis now supported.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1552 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-06-13 18:36:21 +00:00
Steven Dake
46b0163813 Change all email addresses that were sdake@mvista.com to sdake@redhat.com.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1541 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-05-12 13:48:06 +00:00
Patrick Caulfield
fef53eb2c4 Expose confdb write to the library.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1536 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-05-07 07:27:37 +00:00
Steven Dake
4ad44b9c86 load and unload service engines at runtime.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1528 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-04-28 16:25:47 +00:00
Patrick Caulfield
9ab240e478 Add confdb, a library to access the configuration object database.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1516 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-04-16 12:07:05 +00:00
Steven Dake
3e788da191 Add missing files from the ais utils exporting patch.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1445 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-09-11 19:27:13 +00:00
Steven Dake
adb37f5d49 Now that -l is set correclt yuse #include <header.h> instead of using quotes.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1441 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-09-09 06:57:41 +00:00
Steven Dake
73d4db719d Add extra brackets to clarify scope.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1437 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-09-09 06:49:43 +00:00
Steven Dake
39b3f0d5a6 Add cpg_local_get api to cpg service
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1391 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-06-25 03:04:35 +00:00
Steven Dake
6377455cd7 Add passive monitoring support to AMF.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1386 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-06-23 09:14:15 +00:00
Patrick Caulfield
d147700e95 Currently saLckResourceUnlockAsync leaves the lockid in the handle database even
when the lock has been unlocked. This can cause exec crashes if the lock is
unlocked twice.

This patch adds an extra field to the res_lib_lck_resourceunlockasync structure
so that the library can remove the lock from the handle database when the lock
is unlocked successfully, as well as code to do it, obviously.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1383 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-06-13 09:01:30 +00:00
Patrick Caulfield
7c4ee5b91d Add get/set context API calls to the cpg service.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1377 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-05-31 09:41:37 +00:00
Steven Dake
cb154572a2 Patch from Renaud to report some broken Solaris porting from past.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1353 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-03-06 16:18:44 +00:00
Steven Dake
49c06ba23b Fixes from Zoltan regarding AMF mispellings and type errors.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1348 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-01-23 17:07:50 +00:00
Steven Dake
cae628987f Fix typo in pthread_mutex_destroy.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1342 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-12-18 15:21:28 +00:00
Steven Dake
b2a537a90c Execute pthread destroy in queue_free in trunk.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1341 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-12-18 15:09:31 +00:00
Steven Dake
3ce56d3f8f Remove leak when pthread mutex isn't released
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1335 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-12-12 18:40:01 +00:00
Fabien Thomas
b07e2dee27 remove invalid code / warnings detected by Intel compiler
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1308 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-11-16 17:34:44 +00:00
Steven Dake
336dc17daa Forward port of flow control work from whitetank branch.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1289 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-11-04 22:29:14 +00:00
Steven Dake
a2eedfed0f Fix checkpoint header file error
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1178 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-07 22:49:36 +00:00
Steven Dake
90ccff6bbc Solaris port for openais
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1175 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-05 02:22:12 +00:00
Steven Dake
6a00f63ff9 Patch so realloc reverts to old buffer if reallocation fails.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1170 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-28 23:34:28 +00:00
Steven Dake
8f4a055b5a Fix lock marshalling.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1169 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-28 23:33:57 +00:00
Steven Dake
8cb23508df Clean up endian swabbing for cpg service.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1162 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-26 07:07:22 +00:00
Steven Dake
edecf224c4 Remove bunch of unused includes from swab.h.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1158 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-26 06:53:50 +00:00
Steven Dake
2228f8b4ff Endian cleanup for the clm service.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1156 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-26 06:50:22 +00:00
Steven Dake
1f5928e54e Remove TODO for swabbing conn data structure
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1148 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-21 03:30:40 +00:00
Steven Dake
19ad21f536 Correct malloc of checkpoint iteration size from 500 bytes to max section id
size bytes for the created checkpoint


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1145 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-21 03:07:14 +00:00
Steven Dake
24777c184f Make checkpoint service work according to specifications with regards to the
unlink operation.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1139 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-20 04:50:15 +00:00
Steven Dake
640cfba2ab Add support for reenabling a failed redundant ring and printing ring status
through the test/opeanis-cfgtool application.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1137 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-19 19:31:01 +00:00
Steven Dake
a0c8b0c9d9 Event marshalling patch for 32/64/endian support.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1131 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-17 20:16:14 +00:00