Commit Graph

2298 Commits

Author SHA1 Message Date
Steven Dake
4620ca4e0b Ensure Linux, BSD, Solaris, Darwin function with security authentication in
IPC system.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2259 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 21:32:45 +00:00
Fabio M. Di Nitto
67416f310c Fix rec_ident encoding for IPC
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2258 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 19:52:37 +00:00
Fabio M. Di Nitto
421d6fbc03 use $(INSTALL) instead of install for portability to other OS'es
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2257 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 19:16:14 +00:00
Fabio M. Di Nitto
951a416532 flight recorder: enable temporary 0 buffer size protection
The flight recoder doesn't handle a 0 byte allocation properly
and it would fail miserably by allocating a single PAGE_SIZE
to handle the logging. That means an enormous performance hit
because of the constant wrapping around the buffer.

If any requested buffer is < 64000 bytes, then force to at least
64000.

In future we will be able to handle small buffers properly, but
for now enable a simple workaround to protect us and the user.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2256 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 18:14:00 +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
Steven Dake
f7772e0c3f Add Jerome to AUTHORS file
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2254 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 05:58:24 +00:00
Steven Dake
a49937b029 add madvise nosync calls for bsd platform.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2253 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 05:53:16 +00:00
Fabio M. Di Nitto
b31f150b5f logsys: remove leftover files from running tests
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2252 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 05:39:28 +00:00
Fabio M. Di Nitto
ad4a6c63ea flight recorder: don't hardcode max arguments everywhere
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2251 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 05:33:48 +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
493aaf239b logsys: update man page to reflect new changes
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2247 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 05:16:10 +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
Jim Meyering
d5a1f73714 build: silence automake portability warnings
* configure.ac: Enable automake's -Wno-portability option.
We depend on GNU make.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2244 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-17 10:13:57 +00:00
Jim Meyering
749183bcc5 autogen.sh: simply to a one-liner: autoreconf -i
* autogen.sh: Don't use "which" or uname, or...

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2243 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-17 10:13:49 +00:00
Fabio M. Di Nitto
def7372626 Add missing prototype and fix white spaces
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2242 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-16 07:12:40 +00:00
Steven Dake
4c4b980d6b Fix build error from recent solaris porting.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2241 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-15 18:39:50 +00:00
Steven Dake
a6feabf880 Use PF_UNIX on Solaris platforms instead of PF_LOCAL.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2240 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-14 11:37:53 +00:00
Steven Dake
83fbff6237 Use rsync -a instead of cp -a to install on Solaris.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2239 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-14 11:37:11 +00:00
Steven Dake
0389b65725 Port of coroipc system to Solaris.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2238 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-14 11:36:18 +00:00
Steven Dake
13f3f6214d Patch from Jerome Flesch to correctly reference count on bsd and solaris
platforms in the IPC system to avoid cpu spinning.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2237 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-14 10:40:50 +00:00
Steven Dake
7c6911a3b1 Add iface checking for Solaris platform.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2236 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-14 10:13:48 +00:00
Jan Friesse
c54e74e3f6 Make /etc/corosync/corosync.conf default configuration file
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2235 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-12 10:22:32 +00:00
Jan Friesse
8b9812de8f Handle LCR problem with unloading "unneeded" components
In LCR, global variable g_component_handle is used to keep handle of loaded
component. If this variable has magic value (0xFFFFFFFF) it means, 
"we loaded library, but that library doesn't have any component_register 
call -> don't try to destroy interfaces list).

If this variable has other value, it means "we loaded library, it registers,
but it exports some interface, what we currently don't need, so we can delete
that handle from libraries/interfaces list" and variable is set to magic value,
or "we loaded library, it registers and exports what we need -> great return some
nice value", but nobody resets variable to it's magic value.

Sadly, if you have loaded some component (needed), then try to load component,
which don't have component_register function, previously loaded component handle
is destroyed. 

This problem happened to clm and quorum services, and cause, that loaded
clm handle was destroyed, so EVT (which need clm) just falls.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2234 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-12 10:20:53 +00:00
Fabio M. Di Nitto
eda973e857 Fix library linking fallout.. again
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2233 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-11 14:18:26 +00:00
Steven Dake
ff7b157742 Modify totemnet to work properly on Solaris by setting variables in sendmsg
data structure.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2232 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-10 17:57:22 +00:00
Fabio M. Di Nitto
2dad767cfa Shared libs should not call exit but return error
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2231 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-10 17:00:15 +00:00
Steven Dake
f7328b7930 Remove unused variable on platforms other then Solaris.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2230 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-10 14:36:38 +00:00
Steven Dake
c4fde87acf Fix compile on BSD platforms.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2229 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-10 14:28:46 +00:00
Steven Dake
ae8fd0a6e0 Fix semun definitions for various platforms.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2228 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-10 14:28:16 +00:00
Christine Caulfield
94e4234c99 Fix corosync-cfgtool -a so that it actaully produces some output!
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2227 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-10 07:33:19 +00:00
Steven Dake
0d98fca548 Use PF_LOCAL to match BSD semantics of api calls.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2226 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-09 21:40:44 +00:00
Steven Dake
9c69184ce1 Resolve bug where config changes are delivered in the wrong order on nodes that
join and then open a cpg.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2225 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-09 20:31:51 +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
6a72079e3b Remove quorum.c from lcrso build list since its linked into main binary.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2223 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 18:56:36 +00:00
Steven Dake
3d7f87779a Add support for buildling on Solaris platforms.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2222 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 07:53:56 +00:00
Steven Dake
ae5895c3f7 Call initializer directly for broken platforms which don't honor ctors in the shared object on dlopen.
This could probably be more tidy to detect those OS platforms which don't do this instead of hardcoding
to a specific platform we intend to port to.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2221 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 07:47:10 +00:00
Steven Dake
6fd822c485 Include limits.h in coroparse.c to properly define PATH_MAX.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2220 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 07:36:44 +00:00
Steven Dake
1bd8aba6bb Change NAME_MAX to FILENAME_MAX to compile properly on Posix OS.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2219 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 07:36:11 +00:00
Steven Dake
71f21b95c5 Define MSG_NOSIGNAL if it is undefined by the base OS such as Solaris.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2218 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 07:31:40 +00:00
Steven Dake
d847720b0d Conditionally compile on Solaris platforms msg_* flags in sendmsg header.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2217 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 07:31:14 +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
1e0d40cdeb Make readdir operation portable by removing BSDism from coroparse.c.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2215 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 02:30:13 +00:00
Steven Dake
0140854704 Add strsep_cs to replace strsep.
-This line, and those below, will be ignored--

M    exec/mainconfig.c


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2214 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 02:04:32 +00:00
Steven Dake
1e0e9a5633 First run at adding support for corosync totemip determination.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2213 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 01:46:31 +00:00
Steven Dake
e94bcd506e Make coroipcs compile on Solaris.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2212 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 00:55:00 +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
Steven Dake
e8225b667e Port of totemip to Solaris.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2210 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 00:43:18 +00:00