Commit Graph

963 Commits

Author SHA1 Message Date
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
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
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
Jim Meyering
5ac04efe9b perf: avoid writing 1MB of zero bytes
Don't initialize the entire just-allocated buffer to all zeroes.
The very next lines initialize all members except "data".
* exec/totempg.c (assembly_ref): Initialize the first byte of
assembly->data to 0, just in case someone uses it as a string.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2116 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-22 07:28:25 +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
Steven Dake
6951637ea5 Remove memory leak from new dispatch circular buffer mapped system.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2113 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-21 20:26:12 +00:00
Jim Meyering
283011c669 rename function: s/strstr_rs/strchr_rs/ to reflect new semantics
* exec/coroparse.c (parse_section):
* exec/util.c (strchr_rs, strstr_rs):
* exec/util.h (corosync_exit_error):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2112 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-21 11:56:55 +00:00
Jim Meyering
89c6d6a1a1 rewrite strstr_rs not to use strdup
strstr_rs used strdup and didn't handle failure.  This change removes
the use of strdup as well as the uses of strstr, since all callers
passed a string of length 1 as the second argument.  This also changes
the prototype so that the 2nd parameter is a byte, not a string.

* util.h (strstr_rs): Adjust prototype.
* util.c (strstr_rs): Rewrite/simplify.
* sa-confdb.c (strstr_rs): Remove duplicate definition.
* coroparse.c (parse_section): Update callers.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2111 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-21 11:56:47 +00:00
Fabio M. Di Nitto
9579fa667f Fix uid and gid determination
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2109 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-21 07:53:06 +00:00
Fabio M. Di Nitto
0112b685e7 Move include config.h at the top as it's supposed to be
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2108 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-21 07:34:05 +00:00
Jim Meyering
a5f7997f23 exce/main.c: handle strdup failure
* exec/main.c (main): Upon strdup failure, log the error and exit.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2107 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-21 07:28:26 +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
58ea3f928e Guarantee that all logging buffers are flushed before we die
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2104 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-21 04:40:01 +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
Fabio M. Di Nitto
c07b3bdc70 Add logging configuration backward compatibility layer
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2102 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-21 04:37:28 +00:00
Fabio M. Di Nitto
1ecaa01b80 Fix output filtering when debug is enabled
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2101 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-21 04:02:19 +00:00
Jim Meyering
7c312c6f62 schedwrk.c: avoid two int-pointer cast conversion warnings
* exec/schedwrk.c (void2handle, handle2void): New functions.
(schedwrk_do): Use void2handle rather than an unportable cast.
(schedwrk_create): Use handle2void rather than an unportable cast.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2098 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-20 15:50:23 +00:00
Fabio M. Di Nitto
0f942b2ed9 Improve logsys error handling in logsys_format_set
and logsys_config_file_set_unlocked.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2096 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-20 10:43:37 +00:00
Fabio M. Di Nitto
9b2dd8a43e readd early log level check for performance reasons.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2093 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-20 07:08:42 +00:00
Steven Dake
74f6309dcb throw away mode in totempg was operating as a global variable, when it
is possible for different nodes to be in different configurations of 
throw away.  This patch makes the variable instanced.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2092 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-20 04:45:46 +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
35b073a7f2 Add missing schedwrk files.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2090 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-18 14:42:09 +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
b71418f5e1 Add fatal error call to ipc initializations.y
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2083 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-18 07:37:15 +00:00
Steven Dake
ac597689df Remove warnings about objdb that casts a const char * to a char *.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2081 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-18 07:21:35 +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
afd8b7154c vsf_ykd.c: Rename param to avoid shadowing global "ydk_state"
* exec/vsf_ykd.c (ykd_state_endian_convert): Rename param:
s/ydk_state/state/

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2076 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-15 19:13:20 +00:00
Jim Meyering
bf926d30f0 coroipcs.c: don't shadow functions read and write
* exec/coroipcs.c (req_setup_recv): rename locals:
s/read/n_read/; s/write/n_write.
Also declare param to be const.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2071 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-15 19:12:40 +00:00
Jim Meyering
15b59a1603 totemnet.c: don't shadow crypto.h type, "hmac_state"
* exec/totemnet.c (encrypt_and_sign_worker): Rename a local var:
s/hmac_state/hmac_st/

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2070 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-15 19:12:33 +00:00
Jim Meyering
abff1fc785 wthread.c: Rename file-scoped type to avoid shadows.
* exec/wthread.c (struct worker_thread_t): Rename from
struct worker_thread.
(start_worker_thread): Rename from function "worker_thread".
* exec/wthread.h (struct worker_thread_group) [threads]: Update
member type: s/struct worker_thread/struct worker_thread_t/

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2068 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-15 19:12:17 +00:00
Jim Meyering
88ee2815da don't shadow the global type name, "timer_handle"
* exec/coropoll.c (poll_timer_delete): Rename locals and/or params.
* exec/timer.c (corosync_timer_delete): Likewise.
(corosync_timer_expire_time_get): Likewise.
* exec/tlist.h (timerlist_del, timerlist_expire_time): Likewise.
(timerlist_pre_dispatch, timerlist_post_dispatch): Likewise.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2067 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-15 19:12:10 +00:00
Jim Meyering
229cc5707b totemsrp.c: more "const" propagation
* exec/totemsrp.c (message_handler_memb_commit_token): Don't cast away
const on "memb_commit_token".  This exposed a const violation.
Fix that with minor rearrangement and an added memcpy.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2064 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-15 19:11:46 +00:00
Jim Meyering
0200fc95e9 totemsrp.c: avoid a const-correctness problem
* exec/totemsrp.c (message_handler_memb_merge_detect): Don't modify
the now-const "msg" parameter.  Instead, use a local copy.
Patch by Steven Dake.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2063 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-15 07:48:47 +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
31e850ca71 Fix compile warning in main.c.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2057 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-10 03:17:17 +00:00
Steven Dake
0135d41ea1 Cast a const away in an iovector.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2056 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-10 03:10:24 +00:00
Steven Dake
7070e8ab6c Remove warnings from wthread.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2055 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-10 03:08:17 +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
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
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
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
66c168efee totemconfig.c: don't hard-code "128"...
* exec/totemconfig.c (read_keyfile): Don't hard-code "128".
Use sizeof(...) instead.
Avoid duplicate "close(fd)" calls.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2039 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 17:29:07 +00:00
Jim Meyering
4995054ca2 totemconfig.c: don't let a key of length > 128 clobber memory
* exec/totemconfig.c (totem_config_keyread): Reject a key with length
greater than that of our private_key buffer.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2038 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 17:28:56 +00:00