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