Change all occurances of openais to corosync.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1633 fd59a12c-fef9-0310-b244-a6a79926bd2f
This commit is contained in:
Steven Dake 2008-08-14 16:04:01 +00:00
parent 0c92a5e564
commit c4a1c7eb96
125 changed files with 768 additions and 925 deletions

View File

@ -3,7 +3,7 @@
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = openais
PROJECT_NAME = corosync
PROJECT_NUMBER = 0.75
OUTPUT_DIRECTORY = doc/api
OUTPUT_LANGUAGE = English

View File

@ -44,7 +44,7 @@ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
-----------------------------------------------------------------------------
The openais project uses software from the LibTomCrypt project
The corosync project uses software from the LibTomCrypt project
www.libtomcrypt.org. This software is contained the files exec/crypto.c and
exec/crypto.h. The following license applies to the files exec/crypto.c and
exec/crytpo.h:

View File

@ -175,28 +175,29 @@ install: all
install -m 755 $(builddir)exec/corosync $(DESTDIR)$(SBINDIR)
install -m 755 $(builddir)tools/corosync-objctl $(DESTDIR)$(SBINDIR)
install -m 755 $(builddir)tools/corosync-cfgtool $(DESTDIR)$(SBINDIR)
install -m 700 $(builddir)tools/corosync-keygen $(DESTDIR)$(SBINDIR)
install -m 700 $(builddir)tools/keygen $(DESTDIR)$(SBINDIR)/corosync-keygen
if [ ! -f $(DESTDIR)$(ETCDIR)/penais.conf ] ; then \
install -m 644 $(srcdir)conf/corosync.conf $(DESTDIR)$(ETCDIR) ; \
fi
for aHeader in $(AIS_HEADERS); do \
install -m 644 $(srcdir)include/corosync/$$aHeader $(DESTDIR)$(INCLUDEDIR); \
install -m 644 $(srcdir)include/$$aHeader $(DESTDIR)$(INCLUDEDIR); \
done
install -m 644 $(srcdir)include/corosync/hdb.h $(DESTDIR)$(INCLUDEDIR)
install -m 644 $(srcdir)include/corosync/totem/coropoll.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
install -m 644 $(srcdir)include/corosync/totem/totempg.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
install -m 644 $(srcdir)include/corosync/totem/totem.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
install -m 644 $(srcdir)include/corosync/totem/totemip.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
install -m 644 $(srcdir)include/corosync/lcr/lcr_ckpt.h $(DESTDIR)$(INCLUDEDIR_LCR)
install -m 644 $(srcdir)include/corosync/lcr/lcr_comp.h $(DESTDIR)$(INCLUDEDIR_LCR)
install -m 644 $(srcdir)include/corosync/lcr/lcr_ifact.h $(DESTDIR)$(INCLUDEDIR_LCR)
install -m 644 $(srcdir)include/corosync/engine/coroapi.h $(DESTDIR)$(INCLUDEDIR_ENGINE)
install -m 644 $(srcdir)include/corosync/engine/objdb.h $(DESTDIR)$(INCLUDEDIR_ENGINE)
install -m 644 $(srcdir)include/corosync/engine/logsys.h $(DESTDIR)$(INCLUDEDIR_ENGINE)
install -m 644 $(srcdir)include/corosync/engine/config.h $(DESTDIR)$(INCLUDEDIR_ENGINE)
install -m 644 $(srcdir)include/hdb.h $(DESTDIR)$(INCLUDEDIR)
install -m 644 $(srcdir)exec/coropoll.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
install -m 644 $(srcdir)exec/totempg.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
install -m 644 $(srcdir)exec/totem.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
install -m 644 $(srcdir)exec/totemip.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
install -m 644 $(srcdir)lcr/lcr_ckpt.h $(DESTDIR)$(INCLUDEDIR_LCR)
install -m 644 $(srcdir)lcr/lcr_comp.h $(DESTDIR)$(INCLUDEDIR_LCR)
install -m 644 $(srcdir)lcr/lcr_ifact.h $(DESTDIR)$(INCLUDEDIR_LCR)
install -m 644 $(srcdir)include/coroapi.h $(DESTDIR)$(INCLUDEDIR_ENGINE)
install -m 644 $(srcdir)exec/objdb.h $(DESTDIR)$(INCLUDEDIR_ENGINE)
install -m 644 $(srcdir)exec/logsys.h $(DESTDIR)$(INCLUDEDIR_ENGINE)
install -m 644 $(srcdir)exec/config.h $(DESTDIR)$(INCLUDEDIR_ENGINE)
install -m 644 $(srcdir)include/swab.h $(DESTDIR)$(INCLUDEDIR_ENGINE)
install -m 644 $(srcdir)man/*.3 $(DESTDIR)$(MANDIR)/man3
install -m 644 $(srcdir)man/*.5 $(DESTDIR)$(MANDIR)/man5
install -m 644 $(srcdir)man/*.8 $(DESTDIR)$(MANDIR)/man8

View File

@ -45,7 +45,7 @@ endif
# default CFLAGS, LDFLAGS
#
CFLAGS = -DLCRSODIR='"$(LCRSODIR)"'
CFLAGS =
LDFLAGS =
DYFLAGS =

View File

@ -31,14 +31,14 @@ THE POSSIBILITY OF SUCH DAMAGE.
-------------------------------------------------------------------------------
This file provides a map for developers to understand how to contribute
to the openais project. The purpose of this document is to prepare a
developer to write a service for openais, or understand the architecture
of openais.
to the corosync project. The purpose of this document is to prepare a
developer to write a service for corosync, or understand the architecture
of corosync.
The following is described in this document:
* all files, purpose, and dependencies
* architecture of openais
* architecture of corosync
* taking advantage of virtual synchrony
* adding libraries
* adding services
@ -238,7 +238,7 @@ exec/cpg.c
Server side implementation of closed procss groups (CPG API).
exec/crypto.{c|h}
Cryptography functions used by openais.
Cryptography functions used by corosync.
exec/evs.c
Server side implementation of extended virtual synchrony passthrough
@ -248,13 +248,13 @@ exec/evt.c
Server side implementation of Event Service (EVT API).
exec/ipc.{c|h}
All IPC operations used by openais.
All IPC operations used by corosync.
exec/jhash.h
A hash routine.
exec/keygen.c
Secret key generator used by openais encryption tools.
Secret key generator used by corosync encryption tools.
exec/lck.c
Server side implementation of the distributed lock service (LCK API).
@ -274,7 +274,7 @@ exec/msg.c
exec/objdb.{c|h}
Object database used to configure services.
exec/openais-instantiate.c
exec/corosync-instantiate.c
instantiates a component by forking and exec'ing it and writing its
pid to a pid file.
@ -319,7 +319,7 @@ exec/totemrrp.{c.h}
Redundant ring functions for totem - between totemnet and totemsrp.
exec/util.{c|h}
Utility functions used by openais executive.
Utility functions used by corosync executive.
exec/version.h
Defines build version.
@ -338,10 +338,10 @@ loc
Counts the lines of code in the AIS implementation.
-------------------------------------------------------------------------------
architecture of openais
architecture of corosync
-------------------------------------------------------------------------------
The openais standards based cluster framework is a generic cluster plugin
The corosync standards based cluster framework is a generic cluster plugin
architecture used to create cluster APIs and services. Usually there are
libraries which implement APIs and are linked into the end user application.
The libraries request services from the aisexec process, called the AIS
@ -355,7 +355,7 @@ response of the API is delivered once the operation has completed.
--------------------------------------------------
| IPC API |
--------------------------------------------------
| openais Executive |
| corosync Executive |
| |
| +---------+ +--------+ +---------+ |
| | Object | | AIS | | Service | |
@ -385,9 +385,9 @@ response of the API is delivered once the operation has completed.
| |
-------------------------------------------------
Figure 1: openais Architecture
Figure 1: corosync Architecture
Every application that intends to use openais links with the libais library.
Every application that intends to use corosync links with the libais library.
This library uses IPC, or more specifically BSD unix sockets, to communicate
with the executive. The library is a small program responsible only for
packaging the request into a message. This message is sent, using IPC, to
@ -449,7 +449,7 @@ group messaging: sending a message from one sender to many receivers
Virtual synchrony is a model for group messaging. This is often confused
with particular implementations of virtual synchrony. Try to focus on
what virtual syncrhony provides, not how it provides it, unless interested
in working on the group messaging interface of openais.
in working on the group messaging interface of corosync.
Virtual synchrony provides several advantages:
@ -468,7 +468,7 @@ to the cluster membership service (and its respective API0, but is helpful
to other services as described later.
Strong membership guarantees allow a distributed application to make decisions
based upon the configuration (membership). Every service in openais registers
based upon the configuration (membership). Every service in corosync registers
a configuration change function. This function is called whenever a
configuration change occurs. The information passed is the current processors,
the processors that have left the configuration, and the processors that have
@ -510,7 +510,7 @@ it must be delivered by every processor unless that processor fails. If a
particular processor fails, a configuration change occurs creating a new
configuration under which a new set of decisions may be made. This implies
that even unreliable networks must reliably deliver messages. The
mplementation in openais works on unreliable as well as reliable networks.
mplementation in corosync works on unreliable as well as reliable networks.
Every message sent must be delivered, unless a configuration change occurs.
In the case of a configuration change, every message that can be recovered
@ -522,7 +522,7 @@ of a configuration.
Finally virtual syncrhony takes advantage of hardware multicast to avoid
duplicated packets and scale to large transmit rates. On 100mbit network,
openais can approach wire speeds depending on the number of messages queued
corosync can approach wire speeds depending on the number of messages queued
for a particular processor.
What does all of this mean for the developer?
@ -540,8 +540,8 @@ The first stage in adding a library to the system is to develop the library.
Library code should follow these guidelines:
* use SA Forum coding style for SA Forum APIs to aid in debugging
* use openais coding guidelines for APIs that are not SA Forum that
are to be merged into the openais tree.
* use corosync coding guidelines for APIs that are not SA Forum that
are to be merged into the corosync tree.
* implement all library code within one file named after the api.
examples are ckpt.c, clm.c, amf.c.
* use parallel structure as much as possible between different APIs
@ -881,7 +881,7 @@ struct libais_handler {
int (*libais_handler_fn) (void *conn, void *msg);
int response_size;
int response_id;
enum openais_flow_control flow_control;
enum corosync_flow_control flow_control;
};
The response_size, response_id, and flow_control for a library handler are
@ -894,7 +894,7 @@ OPENAIS_FLOW_CONTROL_NOT_REQUIREDin the flow control field.
The libais_handler_fn is a function to be called when the library handler is
requested to be executed.
struct openais_exec_handler {
struct corosync_exec_handler {
void (*exec_handler_fn) (void *msg, unsigned int nodeid);
void (*exec_endian_convert_fn) (void *msg);
};
@ -908,15 +908,15 @@ format before transmit. Instead they are transmitted in either big endian or
little endian depending on the byte order of the transmitter and converted to
the host machine order on receipt of the message.
struct openais_service_handler {
struct corosync_service_handler {
unsigned char *name;
unsigned short id;
unsigned int private_data_size;
int (*lib_init_fn) (void *conn);
int (*lib_exit_fn) (void *conn);
struct openais_lib_handler *lib_service;
struct corosync_lib_handler *lib_service;
int lib_service_count;
struct openais_exec_handler *exec_service;
struct corosync_exec_handler *exec_service;
int (*exec_init_fn) (struct objdb_iface_ver0 *);
int (*config_init_fn) (struct objdb_iface_ver0 *);
void (*exec_dump_fn) (void);
@ -947,12 +947,12 @@ lib_exit_fn is the function executed when a library connection is exited
either because the application closed the file descriptor, or the OS
closed the file descriptor.
lib_service is an array of openais_lib_handler data structures which define
lib_service is an array of corosync_lib_handler data structures which define
the library service handler.
lib_service_count is the number of elements in lib_service.
exec_service is an array of openais_exec_handler data structures which define
exec_service is an array of corosync_exec_handler data structures which define
the executive service handler.
exec_init_fn is a function used to initialize the executive service. This
@ -998,20 +998,20 @@ used in the handler function.
------------------------------------------------
The service handler needs some special magic to dynamically be linked into
openais.
corosync.
/*
* Dynamic loader definition
*/
static struct openais_service_handler *clm_get_service_handler_ver0 (void);
static struct corosync_service_handler *clm_get_service_handler_ver0 (void);
static struct openais_service_handler_iface_ver0 clm_service_handler_iface = {
.openais_get_service_handler_ver0 = clm_get_service_handler_ver0
static struct corosync_service_handler_iface_ver0 clm_service_handler_iface = {
.corosync_get_service_handler_ver0 = clm_get_service_handler_ver0
};
static struct lcr_iface openais_clm_ver0[1] = {
static struct lcr_iface corosync_clm_ver0[1] = {
{
.name = "openais_clm",
.name = "corosync_clm",
.version = 0,
.versions_replace = 0,
.versions_replace_count = 0,
@ -1025,16 +1025,16 @@ static struct lcr_iface openais_clm_ver0[1] = {
static struct lcr_comp clm_comp_ver0 = {
.iface_count = 1,
.ifaces = openais_clm_ver0
.ifaces = corosync_clm_ver0
};
static struct openais_service_handler *clm_get_service_handler_ver0 (void)
static struct corosync_service_handler *clm_get_service_handler_ver0 (void)
{
return (&clm_service_handler);
}
__attribute__ ((constructor)) static void clm_comp_register (void) {
lcr_interfaces_set (&openais_clm_ver0[0], &clm_service_handler_iface);
lcr_interfaces_set (&corosync_clm_ver0[0], &clm_service_handler_iface);
lcr_component_register (&clm_comp_ver0);
}
@ -1044,7 +1044,7 @@ the service will be loaded if its in the default services list.
The default service list is specified in service.c:default_services. If
creating an external plugin, there are configuration parameters which may
be used to add your plugin into the openais scanning of plugins.
be used to add your plugin into the corosync scanning of plugins.
---------------------------------
Connection specific information
@ -1053,7 +1053,7 @@ Every connection may have specific connection information if private data
is greater then zero for the service handler. This is used to allow each
library connection to maintain private state to that connection. The private
data for a connection can be retrieved with:
struct service_pd service_pd = (struct service_pd *)openais_conn_private_data_get (conn);
struct service_pd service_pd = (struct service_pd *)corosync_conn_private_data_get (conn);
where service is the name of the service implemented and conn is the connection
information likely passed into the library handler or stored in a
@ -1066,7 +1066,7 @@ message_source structure for later use by an executive handler.
A message is sent to the library from the executive message handler using
the function:
extern int openais_conn_send_response (void *conn_info, void *msg,
extern int corosync_conn_send_response (void *conn_info, void *msg,
int mlen);
conn_info is passed into the library message handler or stored in the
@ -1076,7 +1076,7 @@ msg is the message to send
mlen is the length of the message to send
Keep in mind that struct res_message should be at the beginning of the response
message so that it follows the style used in the rest of openais.
message so that it follows the style used in the rest of corosync.
--------------------------------------------
deferring response to an executive message
@ -1095,7 +1095,7 @@ Then the executive message handler determines if this processor is responsible
for responding:
if (message_source_is_local (conn)) {
openais_conn_send_response ();
corosync_conn_send_response ();
}
@ -1108,9 +1108,9 @@ delivery according to virtual synchrony semantics use:
The totempg interface supports multiple users at one time and if you need
to use a full totempg interface (defined in totempg.h) please ask for
assistance on the mailing list. If you simply want to use multicast
transmissions in openais, do the following:
transmissions in corosync, do the following:
assert (totempg_groups_mcast_joined (openais_group_handle, &req_exec_clm_iovec, 1, TOTEMPG_AGREED) == 0);
assert (totempg_groups_mcast_joined (corosync_group_handle, &req_exec_clm_iovec, 1, TOTEMPG_AGREED) == 0);
-----------------
library handler
@ -1209,13 +1209,13 @@ case GDB may become your enemy.
printf is your friend when GDB is your enemy.
If stuck, ask on the mailing list, send your patches. Alot of time has been
spent designing openais, and even more time debugging it. There are people
spent designing corosync, and even more time debugging it. There are people
that can help you debug problems, especially around things like message
delivery.
Submit patches early to get feedback, especially around things like parallel
style. Parallel style is very important to ensure maintainability by the
openais community.
corosync community.
If this document is wrong or incomplete, complain so we can get it fixed
for other people.

View File

@ -1,6 +1,6 @@
SYNCHRONIZATION ALGORITHM:
-------------------------
The synchronization algorithm is used for every service in openais to
The synchronization algorithm is used for every service in corosync to
synchronize state of he system.
There are 4 events of the synchronization algorithm. These events are in fact

View File

@ -6,32 +6,32 @@ together with object code resulting from the compiling of publicly
available source code, may be exported from the United States under License
Exception TSU prsuant to 15 C.F.R Section 740.13(e).
***
Security Design of openais
Security Design of corosync
The openais project intends to mitigate the following threats:
The corosync project intends to mitigate the following threats:
1. forged group messaging messages which are intended to fault the openais
1. forged group messaging messages which are intended to fault the corosync
executive
2. forged group messaging messages which are intended to fault applications
using openais apis
using corosync apis
3. monitoring of network data to capture sensitive information
The openais project does not intend to mitigate the following threats:
The corosync project does not intend to mitigate the following threats:
1. physical access to the hardware which could expose the private key
2. privledged access to the operating system which could expose the private key
or be used to inject errors into the ais executive.
3. library user creates requests which are intended to fault the openais
3. library user creates requests which are intended to fault the corosync
executive
The openais project mitigates the threats using two mechanisms:
The corosync project mitigates the threats using two mechanisms:
1. Authentication
2. Secrecy
Library Interface
-----------------
The openais executive authenticates every library user. The library is only
The corosync executive authenticates every library user. The library is only
allowed to access services if it's GID is ais or 0. Unauthorized library
users are rejected.
@ -42,9 +42,9 @@ fault.
Group Messaging Interface
-------------------------
Group messaging uses UDP/IP to communicate with other openais executives using
Group messaging uses UDP/IP to communicate with other corosync executives using
messages. It is possible without authentication of every packet that an
attacker could forge messages. These forged messages could fault the openais
attacker could forge messages. These forged messages could fault the corosync
executive distributed state machines. It would also be possible to corrupt
end applications by forging changes.
@ -123,4 +123,4 @@ is randomly unique (within the 2^128 search space of the input to sober) to
ensure that keys are never reused, nonce's are never reused, and hmac's are
never reused.
Comments welcome mailto:openais@lists.osdl.org
Comments welcome mailto:corosync@lists.osdl.org

2
TODO
View File

@ -1,4 +1,4 @@
The openais standards based cluster framework TODO list
The corosync standards based cluster framework TODO list
Last Updated: May 26, 2006
P1 items are to be implemented before Wilson release. P2 items may be

View File

@ -1,4 +1,4 @@
# Please read the openais.conf.5 manual page
# Please read the corosync.conf.5 manual page
totem {
version: 2
secauth: off
@ -16,7 +16,7 @@ logging {
to_stderr: yes
to_file: yes
to_syslog: yes
logfile: /tmp/openais.log
logfile: /tmp/corosync.log
debug: off
timestamp: on
logger {

View File

@ -10,7 +10,7 @@ available source code, may be exported from the United States under License
Exception TSU prsuant to 15 C.F.R Section 740.13(e).
***
This openais package is broken into four parts. The exec directory contains
This corosync package is broken into four parts. The exec directory contains
all of the code responsible for serving the APIs. The lib directory contains
APIs the to which the user may link. The test directory contains some simple
test programs which exercise the APIs. The directory conf contains example
@ -22,12 +22,12 @@ Management Framework (AMF), Checkpointing (CKPT), and Eventing (EVT).
The API also contains an extended virtual synchrony API which can be used
in distributed applications.
Configuring the openais executive:
Configuring the corosync executive:
---------------------------------
The openais executive will automatically determine cluster membership by
The corosync executive will automatically determine cluster membership by
communicating on a specified multicast address and port.
The directory conf contains the file openais.conf
The directory conf contains the file corosync.conf
totem {
bindnetaddr: 192.168.1.0
@ -57,9 +57,9 @@ timeout {
}
The totem section contains three values. All three values must be set
or the openais executive wll exit with an error.
or the corosync executive wll exit with an error.
bindnetaddr specifies the address which the openais Executive should bind to.
bindnetaddr specifies the address which the corosync Executive should bind to.
This address should always end in zero. If the local interface taffic
should routed over is 192.168.5.92, set bindnetaddr to 192.168.5.0.
@ -68,7 +68,7 @@ a different network configuration. Avoid 224.x.x.x because this is a "config"
multicast address.
mcastport specifies the UDP port number. It is possible to use the same
multicast address on a network with the openais services configured for different
multicast address on a network with the corosync services configured for different
UDP ports.
The logging section contains values. These values do not have to be set in which
@ -76,7 +76,7 @@ case the system defaults to logging to syslog and stderr with timestamping and d
It is possible to select 3 destinations for logs: files, stderr, and syslog. One or
more may be selected at the same time. If file is selected as a destination, the file
name must be specified via the logfile option or the openais executive will exit.
name must be specified via the logfile option or the corosync executive will exit.
The debug option prints out internal debugging information during runtime which may
be helpful for developers.
@ -107,20 +107,20 @@ A few notes about the config files:
file parser. We are working on fixing these bugs, but for the moment, it is
easy to simply avoid them.
Building openais
Building corosync
----------------
openais requires GCC, LD, and a Linux 2.4/2.6 kernel. openais has been tested on
corosync requires GCC, LD, and a Linux 2.4/2.6 kernel. corosync has been tested on
Debian Sarge(i386), Redhat 9(i386), Fedora Core 2(i386), Fedora Core
4(i386,x86_64) and MontaVista Carrier Grade Edition 3.1(i386, x86_64,
classic ppc, ppc970, xscale).
Compile openais by running make in the root directory. Make can also be run
Compile corosync by running make in the root directory. Make can also be run
in the individual directories. Nothing is installed by make. If install
is desired, the files must be copied manually.
Configure Host
--------------
For security reasons, the openais only allows a process that had the EGID/GID
For security reasons, the corosync only allows a process that had the EGID/GID
of "ais" to connect to it. To make development easier, it is recommended to
create an "ais" user with the "ais" group.
@ -136,16 +136,16 @@ passwd: all authentication tokens updated successfully.
Generate a private key
----------------------
openais uses cryptographic techniques to ensure authenticity and privacy of
corosync uses cryptographic techniques to ensure authenticity and privacy of
messages. A private key must be generated and shared by all processors for
correct operation.
First generate the key on one of the nodes:
unix# exec/keygen
Openopenais Authentication key generator.
Opencorosync Authentication key generator.
Gathering 1024 bits for key from /dev/random.
Writing openais key to /etc/ais/authkey.
Writing corosync key to /etc/ais/authkey.
After this is complete, a private key will be in the file /etc/ais/authkey.
@ -160,14 +160,14 @@ unix# install -D --group=0 --owner=0 --mode=0400 /path_to_authkey/authkey /etc/a
If the message invalid digest appears, the keys are not the same on each node.
Run the openais executive
Run the corosync executive
-------------------------
Get one or more nodes and run the openais executive on each node. A list of
Get one or more nodes and run the corosync executive on each node. A list of
node IPs should be logged when the nodes join a configuration. Run the
aisexec program after following the previous directions.
A final note on permissions:
It is not absolutely required that openais executive runs as root. If
It is not absolutely required that corosync executive runs as root. If
it runs as root, it schedules at the highest round robin realtime
priority and locks all of it's pages into ram in case a swap would cause a
delay in the real-time nature of the protocol. The warning "not
@ -178,12 +178,12 @@ The ais user/group is required because applications are authenticated
against the ais user and group. If an application(/library) is not root
or ais, then the application cannot connect to the ais executive.
please read SECURITY to understand the threat model assumed by openais
and the techniques openais use to overcome these threats.
please read SECURITY to understand the threat model assumed by corosync
and the techniques corosync use to overcome these threats.
Before running any of the test programs
---------------------------------------
The openais executive will ensure security by only allowing the ais group (or
The corosync executive will ensure security by only allowing the ais group (or
uid root) to connect to the service. Switch to the ais group before
running any applications linked to the ais apis, or the applications will
not be authenticated and won't be able to access services.
@ -193,7 +193,7 @@ Password:
[ais@slickdeal sdake]$ id
uid=501(ais) gid=502(ais) groups=502(ais)
Try out the openais CLM functionality
Try out the corosync CLM functionality
-------------------------------------
After aisexec is running
@ -209,7 +209,7 @@ aisexec on other nodes.
Killing aisexec on the node the testclm is connected will cause the
API to return error codes indicating the system has failed.
Try out the openais AMF functionality
Try out the corosync AMF functionality
-------------------------------------
After aisexec is running
@ -221,14 +221,14 @@ SU #3 consists of testamf5, testamf6. The active and backup directives
in amf.conf define how many SU's become active and how many
become standby in the service group (SG).
To test the openais AMF, run testamf3 and testamf4 on one node. Both
To test the corosync AMF, run testamf3 and testamf4 on one node. Both
components become in service and active. Then run testamf1. Nothing
appears to happen, because testamf1 is not placed in service (and made
standby) until testamf2 is registered. Running testamf2 will show
a variety of state changes. testamf1 will match these state changes.
testamf2 is special because is reports an error, and later cancels
the error, causing the entire SU to go out of service, then back in
service. This behavior is expected by the openais specification and the
service. This behavior is expected by the corosync specification and the
code in testamf2.c can be read for a clearer understanding of what
is happening.
@ -238,7 +238,7 @@ out of service. If ctrl-z is pressed on the active SU, the standby
SU will become active. CTRL-C on these tests behaves the same way.
A crash behaves the same way.
Try out the openais CKPT functionality
Try out the corosync CKPT functionality
--------------------------------------
su to ais user
@ -256,13 +256,13 @@ Two node clusters should approach 8.5 MB/sec on 100 mbit networks for
larger checkpoint sizes with encryption and authentication. If you are not
seeing these results, please report to the mailing list.
Try out the openais EVT functionality
Try out the corosync EVT functionality
-------------------------------------
su to ais user
run testevt. This will execute various eventing API operations.
Try out the openais EVS functionality
Try out the corosync EVS functionality
-------------------------------------
su to ais user
run testevs. This will generate multicast messages and self deliver them

View File

@ -36,7 +36,7 @@ subdir ?= exec/
include $(srcdir)Makefile.inc
override LDFLAGS += -L./ ${DYFLAGS}
LDFLAGS += -L./
ifeq (${BUILD_DYNAMIC}, 1)
override LDFLAGS += ${DYFLAGS}
@ -60,7 +60,7 @@ EXEC_LIBS = libtotem_pg.a liblogsys.a
# LCR objects
LCR_SRC = vsf_ykd.c objdb.c coroparse.c
LCR_OBJS = vsf_ykd.o objdb.o coroparse.o
LCR_OBJS =aisparser.o vsf_ykd.o objdb.o coroparse.o
# main executive objects
MAIN_SRC = main.c mempool.c util.c sync.c apidef.c service.c ipc.c flow.c \
@ -74,7 +74,7 @@ EXEC_OBJS = $(MAIN_OBJS)
override CFLAGS += -fPIC
all:libtotem_pg.a libtotem_pg.so.2.0.0 liblogsys.a liblogsys.so.2.0.0 \
../lcr/lcr_ifact.o corosync_ \
../lcr/lcr_ifact.o corosync \
objdb.lcrso vsf_ykd.lcrso coroparse.lcrso
else
EXEC_OBJS = $(MAIN_OBJS) $(LCR_OBJS)
@ -105,7 +105,7 @@ coroparse.lcrso: coroparse.o
$(CC) -shared -Wl,-soname,coroparse.lcrso coroparse.o -o $@
endif
corosync_: $(EXEC_OBJS) $(EXEC_LIBS)
corosync: $(EXEC_OBJS) $(EXEC_LIBS)
$(CC) $(EXEC_OBJS) $(EXEC_LIBS) -o corosync $(LDFLAGS)
libtotem_pg.a: $(TOTEM_OBJS)
@ -140,7 +140,7 @@ depend:
# - fPIC rules required for service handler shared objects
../lcr/lcr_ifact.o: $(srcdir)lcr/lcr_ifact.c
$(CC) $(CFLAGS) $(CPPFLAGS) -DPREFIX='"$(PREFIX)"' -c -o $@ $<
$(CC) $(CFLAGS) $(CPPFLAGS) -DPREFIX='"$(PREFIX)"' -DLCRSODIR='"$(LCRSODIR)"' -I../lcr -c -o $@ $<
vsf_ykd.o: vsf_ykd.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<

View File

@ -36,46 +36,37 @@
#include <string.h>
#include <assert.h>
#include <corosync/swab.h>
#include <corosync/totem/totem.h>
#include "swab.h"
#include "totem.h"
#include "util.h"
#include <corosync/engine/logsys.h>
#include "logsys.h"
#include "timer.h"
#include <corosync/totem/totempg.h>
#include <corosync/totem/totemip.h>
#include "totempg.h"
#include "totemip.h"
#include "main.h"
#include "ipc.h"
#include <corosync/engine/coroapi.h>
#include "../include/coroapi.h"
#include "service.h"
#include <corosync/lcr/lcr_ifact.h>
#include "../lcr/lcr_ifact.h"
LOGSYS_DECLARE_SUBSYS ("APIDEF", LOG_INFO);
/*
* Remove compile warnings about type name changes
*/
typedef int (*typedef_tpg_join) (corosync_tpg_handle, struct corosync_tpg_group *, int);
typedef int (*typedef_tpg_leave) (corosync_tpg_handle, struct corosync_tpg_group *, int);
typedef int (*typedef_tpg_groups_mcast) (corosync_tpg_handle, int, struct corosync_tpg_group *, int groups_cnt, struct iovec *, int);
typedef int (*typedef_tpg_groups_send_ok) (corosync_tpg_handle, struct corosync_tpg_group *, int groups_cnt, struct iovec *, int);
static struct corosync_api_v1 apidef_corosync_api_v1 = {
.timer_add_duration = openais_timer_add_duration,
.timer_add_absolute = openais_timer_add_absolute,
.timer_delete = openais_timer_delete,
.timer_add_duration = corosync_timer_add_duration,
.timer_add_absolute = corosync_timer_add_absolute,
.timer_delete = corosync_timer_delete,
.timer_time_get = NULL,
.ipc_source_set = message_source_set,
.ipc_source_is_local = message_source_is_local,
.ipc_private_data_get = openais_conn_private_data_get,
.ipc_private_data_get = corosync_conn_private_data_get,
.ipc_response_send = NULL,
.ipc_dispatch_send = NULL,
.ipc_conn_send_response = openais_conn_send_response,
.ipc_conn_partner_get = openais_conn_partner_get,
.ipc_refcnt_inc = openais_ipc_flow_control_local_increment,
.ipc_refcnt_dec = openais_ipc_flow_control_local_decrement,
.ipc_fc_create = openais_ipc_flow_control_create,
.ipc_fc_destroy = openais_ipc_flow_control_destroy,
.ipc_conn_send_response = corosync_conn_send_response,
.ipc_conn_partner_get = corosync_conn_partner_get,
.ipc_refcnt_inc = corosync_ipc_flow_control_local_increment,
.ipc_refcnt_dec = corosync_ipc_flow_control_local_decrement,
.ipc_fc_create = corosync_ipc_flow_control_create,
.ipc_fc_destroy = corosync_ipc_flow_control_destroy,
.totem_nodeid_get = totempg_my_nodeid_get,
.totem_family_get = totempg_my_family_get,
.totem_ring_reenable = totempg_ring_reenable,
@ -84,16 +75,8 @@ static struct corosync_api_v1 apidef_corosync_api_v1 = {
.totem_ifaces_get = totempg_ifaces_get,
.totem_ifaces_print = totempg_ifaces_print,
.totem_ip_print = totemip_print,
.tpg_init = totempg_groups_initialize,
.tpg_exit = NULL, /* missing from totempg api */
.tpg_join = (typedef_tpg_join)totempg_groups_join,
.tpg_leave = (typedef_tpg_leave)totempg_groups_leave,
.tpg_joined_mcast = totempg_groups_mcast_joined,
.tpg_joined_send_ok = totempg_groups_send_ok_joined,
.tpg_groups_mcast = (typedef_tpg_groups_mcast)totempg_groups_mcast_groups,
.tpg_groups_send_ok = (typedef_tpg_groups_send_ok)totempg_groups_send_ok_groups,
.service_link_and_init = openais_service_link_and_init,
.service_unlink_and_exit = openais_service_unlink_and_exit,
.service_link_and_init = corosync_service_link_and_init,
.service_unlink_and_exit = corosync_service_unlink_and_exit,
.plugin_interface_reference = lcr_ifact_reference,
.plugin_interface_release = lcr_ifact_release,
.error_memory_failure = NULL
@ -124,7 +107,6 @@ void apidef_init (struct objdb_iface_ver0 *objdb) {
apidef_corosync_api_v1.object_track_start = objdb->object_track_start;
apidef_corosync_api_v1.object_track_stop = objdb->object_track_stop;
apidef_corosync_api_v1.object_write_config = objdb->object_write_config;
apidef_corosync_api_v1.object_reload_config = objdb->object_reload_config;
}
struct corosync_api_v1 *apidef_get (void)

View File

@ -35,8 +35,8 @@
#ifndef APIDEF_H_DEFINED
#define APIDEF_H_DEFINED
#include <corosync/engine/objdb.h>
#include <corosync/engine/coroapi.h>
#include "objdb.h"
#include "../include/coroapi.h"
void apidef_init (struct objdb_iface_ver0 *objdb);

View File

@ -45,10 +45,9 @@
#include <signal.h>
#include <string.h>
#include <corosync/lcr/lcr_comp.h>
#include <corosync/engine/objdb.h>
#include <corosync/engine/config.h>
#include "../lcr/lcr_comp.h"
#include "objdb.h"
#include "config.h"
#include "mempool.h"
#include "util.h"
@ -190,7 +189,7 @@ struct config_iface_ver0 aisparser_iface_ver0 = {
.config_readconfig = aisparser_readconfig
};
struct lcr_iface openais_aisparser_ver0[1] = {
struct lcr_iface corosync_aisparser_ver0[1] = {
{
.name = "corosync_parser",
.version = 0,
@ -204,16 +203,16 @@ struct lcr_iface openais_aisparser_ver0[1] = {
}
};
struct openais_service_handler *aisparser_get_handler_ver0 (void);
struct corosync_service_handler *aisparser_get_handler_ver0 (void);
struct lcr_comp aisparser_comp_ver0 = {
.iface_count = 1,
.ifaces = openais_aisparser_ver0
.ifaces = corosync_aisparser_ver0
};
__attribute__ ((constructor)) static void aisparser_comp_register (void) {
lcr_interfaces_set (&openais_aisparser_ver0[0], &aisparser_iface_ver0);
lcr_interfaces_set (&corosync_aisparser_ver0[0], &aisparser_iface_ver0);
lcr_component_register (&aisparser_comp_ver0);
}

View File

@ -39,9 +39,9 @@
#include <string.h>
#include <stdio.h>
#include <corosync/totem/coropoll.h>
#include <corosync/list.h>
#include <corosync/hdb.h>
#include "coropoll.h"
#include "../include/list.h"
#include "../include/hdb.h"
#include "tlist.h"
typedef int (*dispatch_fn_t) (poll_handle poll_handle, int fd, int revents, void *data);

View File

@ -46,14 +46,13 @@
#include <assert.h>
#include <pthread.h>
#include <corosync/swab.h>
#include <corosync/list.h>
#include <corosync/hdb.h>
#include <corosync/totem/totem.h>
#include <corosync/totem/totempg.h>
#include <corosync/engine/logsys.h>
#include "swab.h"
#include "flow.h"
#include "totem.h"
#include "totempg.h"
#include "logsys.h"
#include "hdb.h"
#include "../include/list.h"
LOGSYS_DECLARE_SUBSYS ("FLOW", LOG_INFO);
@ -244,7 +243,7 @@ static void flow_control_confchg_fn (
/*
* External API
*/
unsigned int openais_flow_control_initialize (void)
unsigned int corosync_flow_control_initialize (void)
{
unsigned int res;
@ -271,7 +270,7 @@ unsigned int openais_flow_control_initialize (void)
return (0);
}
unsigned int openais_flow_control_ipc_init (
unsigned int corosync_flow_control_ipc_init (
unsigned int *flow_control_handle,
unsigned int service)
{
@ -301,14 +300,14 @@ error_exit:
}
unsigned int openais_flow_control_ipc_exit (
unsigned int corosync_flow_control_ipc_exit (
unsigned int flow_control_handle)
{
hdb_handle_destroy (&flow_control_hdb, flow_control_handle);
return (0);
}
unsigned int openais_flow_control_create (
unsigned int corosync_flow_control_create (
unsigned int flow_control_handle,
unsigned int service,
void *id,
@ -363,7 +362,7 @@ error_exit:
return (res);
}
unsigned int openais_flow_control_destroy (
unsigned int corosync_flow_control_destroy (
unsigned int flow_control_identifier,
unsigned int service,
unsigned char *id,
@ -406,7 +405,7 @@ error_exit:
* Disable the ability for new messages to be sent for this service
* with the handle id of length id_len
*/
unsigned int openais_flow_control_disable (
unsigned int corosync_flow_control_disable (
unsigned int flow_control_handle)
{
struct flow_control_instance *instance;
@ -438,7 +437,7 @@ error_exit:
* Enable the ability for new messagess to be sent for this service
* with the handle id of length id_len
*/
unsigned int openais_flow_control_enable (
unsigned int corosync_flow_control_enable (
unsigned int flow_control_handle)
{
struct flow_control_instance *instance;

View File

@ -42,16 +42,16 @@ enum corosync_flow_control_state {
COROSYNC_FLOW_CONTROL_STATE_ENABLED
};
unsigned int openais_flow_control_initialize (void);
unsigned int corosync_flow_control_initialize (void);
unsigned int openais_flow_control_ipc_init (
unsigned int corosync_flow_control_ipc_init (
unsigned int *flow_control_identifier,
unsigned int service);
unsigned int openais_flow_control_ipc_exit (
unsigned int corosync_flow_control_ipc_exit (
unsigned int flow_control_identifier);
unsigned int openais_flow_control_create (
unsigned int corosync_flow_control_create (
unsigned int flow_control_handle,
unsigned int service,
void *id,
@ -59,16 +59,16 @@ unsigned int openais_flow_control_create (
void (*flow_control_state_set_fn) (void *context, enum corosync_flow_control_state flow_control_state),
void *context);
unsigned int openais_flow_control_destroy (
unsigned int corosync_flow_control_destroy (
unsigned int flow_control_identifier,
unsigned int service,
unsigned char *id,
unsigned int id_len);
unsigned int openais_flow_control_disable (
unsigned int corosync_flow_control_disable (
unsigned int flow_control_identifier);
unsigned int openais_flow_control_enable (
unsigned int corosync_flow_control_enable (
unsigned int flow_control_identifier);
#endif /* FLOW_H_DEFINED */

View File

@ -61,18 +61,13 @@
#include <ucred.h>
#endif
#include <corosync/swab.h>
#include <corosync/saAis.h>
#include <corosync/list.h>
#include <corosync/queue.h>
#include <corosync/lcr/lcr_ifact.h>
#include <corosync/totem/coropoll.h>
#include <corosync/totem/totempg.h>
#include <corosync/engine/objdb.h>
#include <corosync/engine/config.h>
#include <corosync/engine/logsys.h>
#include "swab.h"
#include "../include/saAis.h"
#include "../include/list.h"
#include "../include/queue.h"
#include "../lcr/lcr_ifact.h"
#include "poll.h"
#include "totempg.h"
#include "totemsrp.h"
#include "mempool.h"
#include "mainconfig.h"
@ -83,7 +78,12 @@
#include "ipc.h"
#include "flow.h"
#include "sync.h"
#include <corosync/engine/coroapi.h>
#include "swab.h"
#include "objdb.h"
#include "config.h"
#include "tlist.h"
#include "logsys.h"
#include "coroapi.h"
#include "service.h"
#include "util.h"
@ -203,7 +203,7 @@ static int response_init_send_response (
res_lib_response_init.header.error = error;
res_lib_response_init.conn_info = (mar_uint64_t)cinfo;
openais_conn_send_response (
corosync_conn_send_response (
conn_info,
&res_lib_response_init,
sizeof (res_lib_response_init));
@ -272,7 +272,7 @@ static int dispatch_init_send_response (
res_lib_dispatch_init.header.id = MESSAGE_RES_INIT;
res_lib_dispatch_init.header.error = error;
openais_conn_send_response (
corosync_conn_send_response (
conn_info,
&res_lib_dispatch_init,
sizeof (res_lib_dispatch_init));
@ -293,7 +293,7 @@ static int dispatch_init_send_response (
conn_info->flow_control = ais_service[conn_info->service]->flow_control;
conn_info->conn_info_partner->flow_control = ais_service[conn_info->service]->flow_control;
if (ais_service[conn_info->service]->flow_control == COROSYNC_LIB_FLOW_CONTROL_REQUIRED) {
openais_flow_control_ipc_init (
corosync_flow_control_ipc_init (
&conn_info->flow_control_handle,
conn_info->service);
@ -444,7 +444,7 @@ static int libais_disconnect (struct conn_info *conn_info)
conn_info->state = CONN_STATE_DISCONNECTED;
conn_info->conn_info_partner->state = CONN_STATE_DISCONNECTED;
if (conn_info->flow_control_enabled == 1) {
openais_flow_control_disable (conn_info->flow_control_handle);
corosync_flow_control_disable (conn_info->flow_control_handle);
}
return (0);
}
@ -636,7 +636,7 @@ static void ipc_flow_control (struct conn_info *conn_info)
log_printf (LOG_LEVEL_NOTICE, "Enabling flow control [%d/%d] - [%d].\n",
entries_usedhw, SIZEQUEUE,
flow_control_local_count);
openais_flow_control_enable (conn_info->flow_control_handle);
corosync_flow_control_enable (conn_info->flow_control_handle);
conn_info->flow_control_enabled = 1;
conn_info->conn_info_partner->flow_control_enabled = 1;
}
@ -647,7 +647,7 @@ static void ipc_flow_control (struct conn_info *conn_info)
log_printf (LOG_LEVEL_NOTICE, "Disabling flow control [%d/%d] - [%d].\n",
entries_usedhw, SIZEQUEUE,
flow_control_local_count);
openais_flow_control_disable (conn_info->flow_control_handle);
corosync_flow_control_disable (conn_info->flow_control_handle);
conn_info->flow_control_enabled = 0;
conn_info->conn_info_partner->flow_control_enabled = 0;
}
@ -883,13 +883,13 @@ retry_recv:
/*
* If flow control is required of the library handle, determine that
* openais is not in synchronization and that totempg has room available
* corosync is not in synchronization and that totempg has room available
* to queue a message, otherwise tell the library we are busy and to
* try again later
*/
send_ok_joined_iovec.iov_base = (char *)header;
send_ok_joined_iovec.iov_len = header->size;
send_ok_joined = totempg_groups_send_ok_joined (openais_group_handle,
send_ok_joined = totempg_groups_send_ok_joined (corosync_group_handle,
&send_ok_joined_iovec, 1);
send_ok =
@ -911,7 +911,7 @@ retry_recv:
res_overlay.header.id =
ais_service[service]->lib_engine[header->id].response_id;
res_overlay.header.error = SA_AIS_ERR_TRY_AGAIN;
openais_conn_send_response (
corosync_conn_send_response (
conn_info,
&res_overlay,
res_overlay.header.size);
@ -1026,7 +1026,7 @@ static void ipc_confchg_fn (
{
}
void openais_ipc_init (
void corosync_ipc_init (
void (*serialize_lock_fn) (void),
void (*serialize_unlock_fn) (void),
unsigned int gid_valid)
@ -1045,14 +1045,14 @@ void openais_ipc_init (
libais_server_fd = socket (PF_UNIX, SOCK_STREAM, 0);
if (libais_server_fd == -1) {
log_printf (LOG_LEVEL_ERROR ,"Cannot create libais client connections socket.\n");
openais_exit_error (AIS_DONE_LIBAIS_SOCKET);
corosync_exit_error (AIS_DONE_LIBAIS_SOCKET);
};
totemip_nosigpipe(libais_server_fd);
res = fcntl (libais_server_fd, F_SETFL, O_NONBLOCK);
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, "Could not set non-blocking operation on server socket: %s\n", strerror (errno));
openais_exit_error (AIS_DONE_LIBAIS_SOCKET);
corosync_exit_error (AIS_DONE_LIBAIS_SOCKET);
}
#if !defined(OPENAIS_LINUX)
@ -1072,7 +1072,7 @@ void openais_ipc_init (
res = bind (libais_server_fd, (struct sockaddr *)&un_addr, AIS_SUN_LEN(&un_addr));
if (res) {
log_printf (LOG_LEVEL_ERROR, "ERROR: Could not bind AF_UNIX: %s.\n", strerror (errno));
openais_exit_error (AIS_DONE_LIBAIS_BIND);
corosync_exit_error (AIS_DONE_LIBAIS_BIND);
}
listen (libais_server_fd, SERVER_BACKLOG);
@ -1098,7 +1098,7 @@ void openais_ipc_init (
/*
* Get the conn info private data
*/
void *openais_conn_private_data_get (void *conn)
void *corosync_conn_private_data_get (void *conn)
{
struct conn_info *conn_info = (struct conn_info *)conn;
@ -1112,7 +1112,7 @@ void *openais_conn_private_data_get (void *conn)
/*
* Get the conn info partner connection
*/
void *openais_conn_partner_get (void *conn)
void *corosync_conn_partner_get (void *conn)
{
struct conn_info *conn_info = (struct conn_info *)conn;
@ -1123,7 +1123,7 @@ void *openais_conn_partner_get (void *conn)
}
}
int openais_conn_send_response (
int corosync_conn_send_response (
void *conn,
void *msg,
int mlen)
@ -1265,7 +1265,7 @@ retry_sendmsg_two:
return (0);
}
void openais_ipc_flow_control_create (
void corosync_ipc_flow_control_create (
void *conn,
unsigned int service,
char *id,
@ -1275,7 +1275,7 @@ void openais_ipc_flow_control_create (
{
struct conn_info *conn_info = (struct conn_info *)conn;
openais_flow_control_create (
corosync_flow_control_create (
conn_info->flow_control_handle,
service,
id,
@ -1285,7 +1285,7 @@ void openais_ipc_flow_control_create (
conn_info->conn_info_partner->flow_control_handle = conn_info->flow_control_handle;
}
void openais_ipc_flow_control_destroy (
void corosync_ipc_flow_control_destroy (
void *conn,
unsigned int service,
unsigned char *id,
@ -1293,14 +1293,14 @@ void openais_ipc_flow_control_destroy (
{
struct conn_info *conn_info = (struct conn_info *)conn;
openais_flow_control_destroy (
corosync_flow_control_destroy (
conn_info->flow_control_handle,
service,
id,
id_len);
}
void openais_ipc_flow_control_local_increment (
void corosync_ipc_flow_control_local_increment (
void *conn)
{
struct conn_info *conn_info = (struct conn_info *)conn;
@ -1312,7 +1312,7 @@ void openais_ipc_flow_control_local_increment (
pthread_mutex_unlock (&conn_info->flow_control_mutex);
}
void openais_ipc_flow_control_local_decrement (
void corosync_ipc_flow_control_local_decrement (
void *conn)
{
struct conn_info *conn_info = (struct conn_info *)conn;

View File

@ -46,33 +46,33 @@ extern void message_source_set (mar_message_source_t *source, void *conn);
extern int message_source_is_local (mar_message_source_t *source);
extern void *openais_conn_partner_get (void *conn);
extern void *corosync_conn_partner_get (void *conn);
extern void *openais_conn_private_data_get (void *conn);
extern void *corosync_conn_private_data_get (void *conn);
extern int openais_conn_send_response (void *conn, void *msg, int mlen);
extern int corosync_conn_send_response (void *conn, void *msg, int mlen);
extern void openais_ipc_init (
extern void corosync_ipc_init (
void (*serialize_lock_fn) (void),
void (*serialize_unlock_fn) (void),
unsigned int gid_valid);
extern int openais_ipc_timer_add (
extern int corosync_ipc_timer_add (
void *conn,
void (*timer_fn) (void *data),
void *data,
unsigned int msec_in_future,
timer_handle *handle);
extern void openais_ipc_timer_del (
extern void corosync_ipc_timer_del (
void *conn,
timer_handle timer_handle);
extern void openais_ipc_timer_del_data (
extern void corosync_ipc_timer_del_data (
void *conn,
timer_handle timer_handle);
extern void openais_ipc_flow_control_create (
extern void corosync_ipc_flow_control_create (
void *conn,
unsigned int service,
char *id,
@ -80,16 +80,16 @@ extern void openais_ipc_flow_control_create (
void (*flow_control_state_set_fn) (void *context, enum corosync_flow_control_state flow_control_state_set),
void *context);
extern void openais_ipc_flow_control_destroy (
extern void corosync_ipc_flow_control_destroy (
void *conn,
unsigned int service,
unsigned char *id,
int id_len);
extern void openais_ipc_flow_control_local_increment (
extern void corosync_ipc_flow_control_local_increment (
void *conn);
extern void openais_ipc_flow_control_local_decrement (
extern void corosync_ipc_flow_control_local_decrement (
void *conn);
#endif /* IPC_H_DEFINED */

View File

@ -53,7 +53,7 @@
#include <stdlib.h>
#include <pthread.h>
#include <corosync/engine/logsys.h>
#include "logsys.h"
#include "wthread.h"
/*
@ -136,7 +136,7 @@ int logsys_facility_id_get (const char *name)
return (-1);
}
const char *logsys_facility_name_get (unsigned int facility)
char *logsys_facility_name_get (unsigned int facility)
{
unsigned int i;
@ -160,7 +160,7 @@ int logsys_priority_id_get (const char *name)
return (-1);
}
const char *logsys_priority_name_get (unsigned int priority)
char *logsys_priority_name_get (unsigned int priority)
{
unsigned int i;
@ -326,7 +326,7 @@ static void _log_printf (
(logsys_mode & LOG_MODE_DISPLAY_TIMESTAMP)) {
gettimeofday (&tv, NULL);
strftime (char_time, sizeof (char_time), "%b %e %k:%M:%S",
localtime ((time_t *)&tv.tv_sec));
localtime (&tv.tv_sec));
i = sprintf (newstring, "%s.%06ld ", char_time, (long)tv.tv_usec);
}
@ -352,7 +352,7 @@ static void _log_printf (
newstring[strlen (newstring) - 1] = '\0';
}
len = sprintf (log_string,
"%s - prior to this log entry, openais logger dropped '%d' messages because of overflow.", newstring, dropped_log_entries + 1);
"%s - prior to this log entry, corosync logger dropped '%d' messages because of overflow.", newstring, dropped_log_entries + 1);
} else {
len = vsprintf (log_string, newstring, ap);
}

View File

@ -55,29 +55,30 @@
#include <sched.h>
#include <time.h>
#include <corosync/swab.h>
#include <corosync/saAis.h>
#include <corosync/list.h>
#include <corosync/queue.h>
#include <corosync/lcr/lcr_ifact.h>
#include <corosync/totem/coropoll.h>
#include <corosync/totem/totempg.h>
#include <corosync/engine/objdb.h>
#include <corosync/engine/config.h>
#include <corosync/engine/logsys.h>
#include "swab.h"
#include "../include/saAis.h"
#include "../include/list.h"
#include "../include/queue.h"
#include "../lcr/lcr_ifact.h"
#include "coropoll.h"
#include "totempg.h"
#include "totemsrp.h"
#include "mempool.h"
#include "mainconfig.h"
#include "totemconfig.h"
#include "main.h"
#include "sync.h"
#include "swab.h"
#include "objdb.h"
#include "config.h"
#include "tlist.h"
#include "flow.h"
#include "ipc.h"
#include "timer.h"
#include "logsys.h"
#include "util.h"
#include "flow.h"
#include "coroapi.h"
#include "apidef.h"
#include "service.h"
#include "version.h"
@ -127,7 +128,7 @@ static void sigusr2_handler (int num)
static void *aisexec_exit (void *arg)
{
if (api) {
openais_service_unlink_all (api);
corosync_service_unlink_all (api);
}
#ifdef DEBUG_MEMPOOL
@ -147,7 +148,7 @@ static void *aisexec_exit (void *arg)
totempg_finalize ();
logsys_flush ();
openais_exit_error (AIS_DONE_EXIT);
corosync_exit_error (AIS_DONE_EXIT);
/* never reached */
return NULL;
@ -184,9 +185,9 @@ static void sigabrt_handler (int num)
#define LOCALHOST_IP inet_addr("127.0.0.1")
totempg_groups_handle openais_group_handle;
totempg_groups_handle corosync_group_handle;
struct totempg_group openais_group = {
struct totempg_group corosync_group = {
.group = "a",
.group_len = 1
};
@ -212,11 +213,11 @@ void serialize_mutex_unlock (void)
}
static void openais_sync_completed (void)
static void corosync_sync_completed (void)
{
}
static int openais_sync_callbacks_retrieve (int sync_id,
static int corosync_sync_callbacks_retrieve (int sync_id,
struct sync_callbacks *callbacks)
{
unsigned int ais_service_index;
@ -278,7 +279,7 @@ static void aisexec_uid_determine (struct main_config *main_config)
passwd = getpwnam(main_config->user);
if (passwd == 0) {
log_printf (LOG_LEVEL_ERROR, "ERROR: The '%s' user is not found in /etc/passwd, please read the documentation.\n", main_config->user);
openais_exit_error (AIS_DONE_UID_DETERMINE);
corosync_exit_error (AIS_DONE_UID_DETERMINE);
}
ais_uid = passwd->pw_uid;
endpwent ();
@ -290,7 +291,7 @@ static void aisexec_gid_determine (struct main_config *main_config)
group = getgrnam (main_config->group);
if (group == 0) {
log_printf (LOG_LEVEL_ERROR, "ERROR: The '%s' group is not found in /etc/group, please read the documentation.\n", group->gr_name);
openais_exit_error (AIS_DONE_GID_DETERMINE);
corosync_exit_error (AIS_DONE_GID_DETERMINE);
}
gid_valid = group->gr_gid;
endgrent ();
@ -310,7 +311,7 @@ static void aisexec_mempool_init (void)
res = mempool_init (pool_sizes);
if (res == ENOMEM) {
log_printf (LOG_LEVEL_ERROR, "Couldn't allocate memory pools, not enough memory");
openais_exit_error (AIS_DONE_MEMPOOL_INIT);
corosync_exit_error (AIS_DONE_MEMPOOL_INIT);
}
}
@ -324,7 +325,7 @@ static void aisexec_tty_detach (void)
switch (fork ()) {
case -1:
openais_exit_error (AIS_DONE_FORK);
corosync_exit_error (AIS_DONE_FORK);
break;
case 0:
/*
@ -469,14 +470,14 @@ int main_mcast (
int iov_len,
unsigned int guarantee)
{
return (totempg_groups_mcast_joined (openais_group_handle, iovec, iov_len, guarantee));
return (totempg_groups_mcast_joined (corosync_group_handle, iovec, iov_len, guarantee));
}
extern int main_send_ok (
struct iovec *iovec,
int iov_len)
{
return (totempg_groups_send_ok_joined (openais_group_handle, iovec, iov_len));
return (totempg_groups_send_ok_joined (corosync_group_handle, iovec, iov_len));
}
int main (int argc, char **argv)
@ -533,7 +534,7 @@ int main (int argc, char **argv)
signal (SIGABRT, sigabrt_handler);
signal (SIGQUIT, sigquit_handler);
openais_timer_init (
corosync_timer_init (
serialize_mutex_lock,
serialize_mutex_unlock);
@ -554,7 +555,7 @@ int main (int argc, char **argv)
0);
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, "Corosync Executive couldn't open configuration object database component.\n");
openais_exit_error (AIS_DONE_OBJDB);
corosync_exit_error (AIS_DONE_OBJDB);
}
objdb = (struct objdb_iface_ver0 *)objdb_p;
@ -571,7 +572,7 @@ int main (int argc, char **argv)
/*
* Bootstrap in the default configuration parser or use
* the openais default built in parser if the configuration parser
* the corosync default built in parser if the configuration parser
* isn't overridden
*/
config_iface = getenv("COROSYNC_DEFAULT_CONFIG_IFACE");
@ -595,13 +596,13 @@ int main (int argc, char **argv)
config = (struct config_iface_ver0 *)config_p;
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, "Corosync Executive couldn't open configuration component '%s'\n", iface);
openais_exit_error (AIS_DONE_MAINCONFIGREAD);
corosync_exit_error (AIS_DONE_MAINCONFIGREAD);
}
res = config->config_readconfig(objdb, &error_string);
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, error_string);
openais_exit_error (AIS_DONE_MAINCONFIGREAD);
corosync_exit_error (AIS_DONE_MAINCONFIGREAD);
}
log_printf (LOG_LEVEL_NOTICE, error_string);
config_modules[num_config_modules++] = config;
@ -611,31 +612,31 @@ int main (int argc, char **argv)
if (config_iface)
free(config_iface);
res = openais_main_config_read (objdb, &error_string, &main_config);
res = corosync_main_config_read (objdb, &error_string, &main_config);
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, error_string);
openais_exit_error (AIS_DONE_MAINCONFIGREAD);
corosync_exit_error (AIS_DONE_MAINCONFIGREAD);
}
res = totem_config_read (objdb, &totem_config, &error_string);
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, error_string);
openais_exit_error (AIS_DONE_MAINCONFIGREAD);
corosync_exit_error (AIS_DONE_MAINCONFIGREAD);
}
res = totem_config_keyread (objdb, &totem_config, &error_string);
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, error_string);
openais_exit_error (AIS_DONE_MAINCONFIGREAD);
corosync_exit_error (AIS_DONE_MAINCONFIGREAD);
}
res = totem_config_validate (&totem_config, &error_string);
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, error_string);
openais_exit_error (AIS_DONE_MAINCONFIGREAD);
corosync_exit_error (AIS_DONE_MAINCONFIGREAD);
}
logsys_config_facility_set ("openais", main_config.syslog_facility);
logsys_config_facility_set ("corosync", main_config.syslog_facility);
logsys_config_mode_set (main_config.logmode);
logsys_config_file_set (&error_string, main_config.logfile);
@ -685,30 +686,30 @@ int main (int argc, char **argv)
&totem_config);
totempg_groups_initialize (
&openais_group_handle,
&corosync_group_handle,
deliver_fn,
confchg_fn);
totempg_groups_join (
openais_group_handle,
&openais_group,
corosync_group_handle,
&corosync_group,
1);
/*
* This must occur after totempg is initialized because "this_ip" must be set
*/
res = openais_service_defaults_link_and_init (api);
res = corosync_service_defaults_link_and_init (api);
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, "Could not initialize default services\n");
openais_exit_error (AIS_DONE_INIT_SERVICES);
corosync_exit_error (AIS_DONE_INIT_SERVICES);
}
sync_register (openais_sync_callbacks_retrieve, openais_sync_completed,
sync_register (corosync_sync_callbacks_retrieve, corosync_sync_completed,
totem_config.vsf_type);
res = openais_flow_control_initialize ();
res = corosync_flow_control_initialize ();
/*
* Drop root privleges to user 'ais'
@ -722,7 +723,7 @@ int main (int argc, char **argv)
aisexec_mempool_init ();
openais_ipc_init (
corosync_ipc_init (
serialize_mutex_lock,
serialize_mutex_unlock,
gid_valid);

View File

@ -32,17 +32,18 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef AIS_EXEC_H_DEFINED
#define AIS_EXEC_H_DEFINED
#define TRUE 1
#define FALSE 0
#include <corosync/saAis.h>
#include <corosync/ipc_gen.h>
#include <corosync/totem/coropoll.h>
#include <corosync/totem/totempg.h>
#include <corosync/engine/objdb.h>
#include <corosync/engine/config.h>
#include "../include/saAis.h"
#include "../include/ipc_gen.h"
#include "coropoll.h"
#include "objdb.h"
#include "config.h"
#include "totempg.h"
#ifndef AIS_EXEC_H_DEFINED
#define AIS_EXEC_H_DEFINED
/*
* Size of the queue (entries) for I/O's to the API over socket IPC.
@ -54,9 +55,9 @@
#define SIZEINB MESSAGE_SIZE_MAX
extern struct totempg_group openais_group;
extern struct totempg_group corosync_group;
extern totempg_groups_handle openais_group_handle;
extern totempg_groups_handle corosync_group_handle;
poll_handle aisexec_poll_handle;

View File

@ -41,14 +41,13 @@
#include <netinet/in.h>
#include <arpa/inet.h>
#include <corosync/saAis.h>
#include <corosync/list.h>
#include <corosync/totem/totem.h>
#include <corosync/engine/logsys.h>
#include "../include/saAis.h"
#include "../include/list.h"
#include "util.h"
#include "mainconfig.h"
#include "mempool.h"
#include "logsys.h"
#include "totem.h"
static char error_string_response[512];
@ -98,7 +97,7 @@ static struct logsys_config_struct {
unsigned int tags;
} logsys_logger;
int openais_main_config_read (
int corosync_main_config_read (
struct objdb_iface_ver0 *objdb,
char **error_string,
struct main_config *main_config)

View File

@ -32,12 +32,12 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "objdb.h"
#include "logsys.h"
#ifndef MAINCONFIG_H_DEFINED
#define MAINCONFIG_H_DEFINED
#include <corosync/engine/objdb.h>
#include <corosync/engine/logsys.h>
/*
* All service handlers in the AIS
*/
@ -65,7 +65,7 @@ struct main_config {
char *group;
};
extern int openais_main_config_read (
extern int corosync_main_config_read (
struct objdb_iface_ver0 *objdb,
char **error_string,
struct main_config *main_config);

View File

@ -36,7 +36,7 @@
#include <string.h>
#include <errno.h>
#include <corosync/list.h>
#include "../include/list.h"
#include "mempool.h"
int mempool_bytes = 0;

View File

@ -32,7 +32,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <corosync/list.h>
#include "../include/list.h"
#ifndef MEMPOOL_H_DEFINED
#define MEMPOOL_H_DEFINED

View File

@ -35,14 +35,12 @@
#include <stdio.h>
#include <errno.h>
#include <corosync/list.h>
#include <corosync/hdb.h>
#include <corosync/lcr/lcr_comp.h>
#include <corosync/engine/objdb.h>
#include <corosync/engine/config.h>
#include "objdb.h"
#include "config.h"
#include "main.h"
#include "../lcr/lcr_comp.h"
#include "../include/hdb.h"
#include "../include/list.h"
struct object_key {
void *key_name;
@ -362,7 +360,7 @@ static int object_create (
object_instance->object_name_len = object_name_len;
list_add_tail (&object_instance->child_list, &parent_instance->child_head);
list_add (&object_instance->child_list, &parent_instance->child_head);
object_instance->object_handle = *object_handle;
object_instance->find_child_list = &object_instance->child_head;
@ -490,7 +488,7 @@ static int object_key_create (
object_key->value_len = value_len;
list_init (&object_key->list);
list_add_tail (&object_key->list, &instance->key_head);
list_add (&object_key->list, &instance->key_head);
object_key_changed_notification(object_handle, key_name, key_len,
value, value_len, OBJECT_KEY_CREATED);
@ -1417,25 +1415,6 @@ static int object_write_config(char **error_string)
return 0;
}
static int object_reload_config(int flush, char **error_string)
{
struct config_iface_ver0 **modules;
int num_modules;
int i;
int res;
main_get_config_modules(&modules, &num_modules);
for (i=0; i<num_modules; i++) {
if (modules[i]->config_reloadconfig) {
res = modules[i]->config_reloadconfig(&objdb_iface, flush, error_string);
if (res)
return res;
}
}
return 0;
}
struct objdb_iface_ver0 objdb_iface = {
.objdb_init = objdb_init,
.object_create = object_create,
@ -1463,7 +1442,6 @@ struct objdb_iface_ver0 objdb_iface = {
.object_track_stop = object_track_stop,
.object_dump = object_dump,
.object_write_config = object_write_config,
.object_reload_config = object_reload_config,
};
struct lcr_iface objdb_iface_ver0[1] = {

View File

@ -37,20 +37,19 @@
#include <string.h>
#include <assert.h>
#include <corosync/lcr/lcr_ifact.h>
#include <corosync/swab.h>
#include <corosync/totem/totem.h>
#include "../lcr/lcr_ifact.h"
#include "swab.h"
#include "totem.h"
#include "mainconfig.h"
#include "util.h"
#include <corosync/engine/logsys.h>
#include "logsys.h"
#include "timer.h"
#include <corosync/totem/totempg.h>
#include <corosync/totem/totemip.h>
#include "totempg.h"
#include "totemip.h"
#include "main.h"
#include "ipc.h"
#include <corosync/engine/coroapi.h>
#include "../include/coroapi.h"
#include "service.h"
@ -121,7 +120,7 @@ static unsigned int default_services_requested (struct corosync_api_v1 *corosync
return (-1);
}
unsigned int openais_service_link_and_init (
unsigned int corosync_service_link_and_init (
struct corosync_api_v1 *corosync_api,
char *service_name,
unsigned int service_ver)
@ -202,7 +201,7 @@ unsigned int openais_service_link_and_init (
return (res);
}
static int openais_service_unlink_common (
static int corosync_service_unlink_common (
struct corosync_api_v1 *corosync_api,
unsigned int object_service_handle,
const char *service_name,
@ -224,7 +223,7 @@ static int openais_service_unlink_common (
(void *)&service_id,
NULL);
log_printf(LOG_LEVEL_NOTICE, "Unloading openais component: %s v%u\n",
log_printf(LOG_LEVEL_NOTICE, "Unloading corosync component: %s v%u\n",
service_name, service_version);
if (ais_service[*service_id]->exec_exit_fn) {
@ -235,7 +234,7 @@ static int openais_service_unlink_common (
return lcr_ifact_release (*found_service_handle);
}
extern unsigned int openais_service_unlink_and_exit (
extern unsigned int corosync_service_unlink_and_exit (
struct corosync_api_v1 *corosync_api,
char *service_name,
unsigned int service_ver)
@ -267,14 +266,14 @@ extern unsigned int openais_service_unlink_and_exit (
strlen ("ver"),
(void *)&found_service_ver,
NULL);
/*
* If service found and linked exit it
*/
if ((strcmp (service_name, found_service_name) == 0) &&
(service_ver == *found_service_ver)) {
res = openais_service_unlink_common (
res = corosync_service_unlink_common (
corosync_api, object_service_handle,
service_name, service_ver);
@ -288,39 +287,41 @@ extern unsigned int openais_service_unlink_and_exit (
return (-1);
}
extern unsigned int openais_service_unlink_all (
extern unsigned int corosync_service_unlink_all (
struct corosync_api_v1 *corosync_api)
{
char *service_name;
unsigned int *service_ver;
unsigned int object_service_handle;
unsigned int object_find_handle;
int found;
log_printf(LOG_LEVEL_NOTICE, "Unloading all openais components\n");
unsigned int res;
log_printf(LOG_LEVEL_NOTICE, "Unloading all corosync components\n");
res = 0;
/*
* TODO
* Deleting of keys not supported during iteration at this time
* hence this ugly hack
*/
while(corosync_api->object_find_create (
for (;;) {
corosync_api->object_find_create (
object_internal_configuration_handle,
"service",
strlen ("service"),
&object_find_handle) == 0)
{
&object_find_handle);
found = 0;
while(corosync_api->object_find_next (
res = corosync_api->object_find_next (
object_find_handle,
&object_service_handle) == 0)
found = 1;
&object_service_handle);
if(!found)
/*
* Exit from unloading
*/
if (res == -1) {
break;
}
corosync_api->object_key_get (
object_service_handle,
"name",
@ -334,8 +335,8 @@ extern unsigned int openais_service_unlink_all (
strlen ("ver"),
(void *)&service_ver,
NULL);
openais_service_unlink_common (
corosync_service_unlink_common (
corosync_api, object_service_handle,
service_name, *service_ver);
@ -351,7 +352,7 @@ extern unsigned int openais_service_unlink_all (
/*
* Links default services into the executive
*/
unsigned int openais_service_defaults_link_and_init (struct corosync_api_v1 *corosync_api)
unsigned int corosync_service_defaults_link_and_init (struct corosync_api_v1 *corosync_api)
{
unsigned int i;
@ -390,7 +391,7 @@ unsigned int openais_service_defaults_link_and_init (struct corosync_api_v1 *cor
found_service_ver_atoi = atoi (found_service_ver);
openais_service_link_and_init (
corosync_service_link_and_init (
corosync_api,
found_service_name,
found_service_ver_atoi);
@ -405,7 +406,7 @@ unsigned int openais_service_defaults_link_and_init (struct corosync_api_v1 *cor
for (i = 0;
i < sizeof (default_services) / sizeof (struct default_service); i++) {
openais_service_link_and_init (
corosync_service_link_and_init (
corosync_api,
default_services[i].name,
default_services[i].ver);

View File

@ -38,7 +38,7 @@
/*
* Link and initialize a service
*/
extern unsigned int openais_service_link_and_init (
extern unsigned int corosync_service_link_and_init (
struct corosync_api_v1 *objdb,
char *service_name,
unsigned int service_ver);
@ -46,21 +46,21 @@ extern unsigned int openais_service_link_and_init (
/*
* Unlink and exit a service
*/
extern unsigned int openais_service_unlink_and_exit (
extern unsigned int corosync_service_unlink_and_exit (
struct corosync_api_v1 *objdb,
char *service_name,
unsigned int service_ver);
/*
* Unlink and exit all openais services
* Unlink and exit all corosync services
*/
extern unsigned int openais_service_unlink_all (
extern unsigned int corosync_service_unlink_all (
struct corosync_api_v1 *objdb);
/*
* Load all of the default services
*/
extern unsigned int openais_service_defaults_link_and_init (
extern unsigned int corosync_service_defaults_link_and_init (
struct corosync_api_v1 *objdb);
extern struct corosync_service_engine *ais_service[];

View File

@ -49,16 +49,15 @@
#include <netinet/in.h>
#include <arpa/inet.h>
#include <corosync/saAis.h>
#include <corosync/swab.h>
#include <corosync/totem/totempg.h>
#include <corosync/totem/totem.h>
#include <corosync/lcr/lcr_ifact.h>
#include <corosync/engine/logsys.h>
#include "../include/saAis.h"
#include "main.h"
#include "sync.h"
#include "totempg.h"
#include "totem.h"
#include "vsf.h"
#include "swab.h"
#include "../lcr/lcr_ifact.h"
#include "logsys.h"
LOGSYS_DECLARE_SUBSYS ("SYNC", LOG_INFO);
@ -91,7 +90,7 @@ static int barrier_data_confchg_entries;
static struct barrier_data barrier_data_process[PROCESSOR_COUNT_MAX];
static struct openais_vsf_iface_ver0 *vsf_iface;
static struct corosync_vsf_iface_ver0 *vsf_iface;
static int sync_barrier_send (struct memb_ring_id *ring_id);
@ -255,7 +254,7 @@ int sync_register (
unsigned int res;
unsigned int vsf_handle;
void *vsf_iface_p;
char openais_vsf_type[1024];
char corosync_vsf_type[1024];
res = totempg_groups_initialize (
&sync_group_handle,
@ -283,10 +282,10 @@ int sync_register (
} else {
vsf_none = 0;
sprintf (openais_vsf_type, "openais_vsf_%s", vsf_type);
sprintf (corosync_vsf_type, "corosync_vsf_%s", vsf_type);
res = lcr_ifact_reference (
&vsf_handle,
openais_vsf_type,
corosync_vsf_type,
0,
&vsf_iface_p,
0);
@ -299,9 +298,9 @@ int sync_register (
}
log_printf (LOG_LEVEL_NOTICE,
"Using virtual synchrony filter %s\n", openais_vsf_type);
"Using virtual synchrony filter %s\n", corosync_vsf_type);
vsf_iface = (struct openais_vsf_iface_ver0 *)vsf_iface_p;
vsf_iface = (struct corosync_vsf_iface_ver0 *)vsf_iface_p;
vsf_iface->init (sync_primary_callback_fn);
}

View File

@ -36,7 +36,7 @@
#define SYNC_H_DEFINED
#include <netinet/in.h>
#include <corosync/totem/totempg.h>
#include "totempg.h"
#include "totemsrp.h"
struct sync_callbacks {

View File

@ -55,26 +55,26 @@
#include <sched.h>
#include <time.h>
#include <corosync/swab.h>
#include <corosync/saAis.h>
#include <corosync/list.h>
#include <corosync/queue.h>
#include <corosync/lcr/lcr_ifact.h>
#include <corosync/totem/coropoll.h>
#include <corosync/totem/totempg.h>
#include <corosync/engine/objdb.h>
#include <corosync/engine/config.h>
#define LOG_SERVICE LOG_SERVICE_IPC
#include <corosync/engine/logsys.h>
#include "swab.h"
#include "../include/saAis.h"
#include "../include/list.h"
#include "../include/queue.h"
#include "../lcr/lcr_ifact.h"
#include "poll.h"
#include "totempg.h"
#include "totemsrp.h"
#include "mempool.h"
#include "mainconfig.h"
#include "totemconfig.h"
#include "main.h"
#include "sync.h"
#include "swab.h"
#include "objdb.h"
#include "config.h"
#include "tlist.h"
#define LOG_SERVICE LOG_SERVICE_IPC
#include "logsys.h"
#include "util.h"
#define SERVER_BACKLOG 5
@ -143,7 +143,7 @@ static void sigusr1_handler (int num) {
#endif
}
int openais_timer_init (
int corosync_timer_init (
void (*serialize_lock_fn) (void),
void (*serialize_unlock_fn) (void))
{
@ -166,7 +166,7 @@ int openais_timer_init (
return (res);
}
int openais_timer_add_absolute (
int corosync_timer_add_absolute (
unsigned long long nanosec_from_epoch,
void *data,
void (*timer_fn) (void *data),
@ -198,7 +198,7 @@ int openais_timer_add_absolute (
return (res);
}
int openais_timer_add_duration (
int corosync_timer_add_duration (
unsigned long long nanosec_duration,
void *data,
void (*timer_fn) (void *data),
@ -230,7 +230,7 @@ int openais_timer_add_duration (
return (res);
}
void openais_timer_delete (
void corosync_timer_delete (
timer_handle timer_handle)
{
int unlock;
@ -253,12 +253,12 @@ void openais_timer_delete (
}
}
void openais_timer_lock (void)
void corosync_timer_lock (void)
{
pthread_mutex_lock (&timer_mutex);
}
void openais_timer_unlock (void)
void corosync_timer_unlock (void)
{
pthread_mutex_unlock (&timer_mutex);
}

View File

@ -35,30 +35,30 @@
#ifndef TIMER_H_DEFINED
#define TIMER_H_DEFINED
typedef void * openais_timer_handle;
typedef void * corosync_timer_handle;
extern void openais_timer_init (
extern void corosync_timer_init (
void (*serialize_lock) (void),
void (*serialize_unlock) (void));
extern int openais_timer_add_duration (
extern int corosync_timer_add_duration (
unsigned long long nanoseconds_in_future,
void *data,
void (*timer_fn) (void *data),
openais_timer_handle *handle);
corosync_timer_handle *handle);
extern int openais_timer_add_absolute (
extern int corosync_timer_add_absolute (
unsigned long long nanoseconds_from_epoch,
void *data,
void (*timer_fn) (void *data),
openais_timer_handle *handle);
corosync_timer_handle *handle);
extern void openais_timer_delete (openais_timer_handle timer_handle);
extern void corosync_timer_delete (corosync_timer_handle timer_handle);
extern void openais_timer_delete_data (openais_timer_handle timer_handle);
extern void corosync_timer_delete_data (corosync_timer_handle timer_handle);
extern void openais_timer_lock (void);
extern void corosync_timer_lock (void);
extern void openais_timer_unlock (void);
extern void corosync_timer_unlock (void);
#endif /* TIMER_H_DEFINED */

View File

@ -43,7 +43,7 @@
#include <string.h>
#include <sys/param.h>
#include <corosync/list.h>
#include "../include/list.h"
#ifndef HZ
#define HZ 100 /* 10ms */

View File

@ -46,15 +46,13 @@
#include <arpa/inet.h>
#include <sys/param.h>
#include <corosync/swab.h>
#include <corosync/list.h>
#include <corosync/totem/totem.h>
#include <corosync/engine/objdb.h>
#include <corosync/engine/config.h>
#include <corosync/engine/logsys.h>
#include "swab.h"
#include "list.h"
#include "util.h"
#include "totem.h"
#include "totemconfig.h"
#include "logsys.h"
#include "objdb.h"
#include "tlist.h" /* for HZ */
#define TOKEN_RETRANSMITS_BEFORE_LOSS_CONST 4

View File

@ -32,18 +32,17 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <netinet/in.h>
#include "../include/saAis.h"
#include "../include/list.h"
#include "coropoll.h"
#include "totemsrp.h"
#include "totempg.h"
#include "objdb.h"
#ifndef TOTEMCONFIG_H_DEFINED
#define TOTEMCONFIG_H_DEFINED
#include <netinet/in.h>
#include <corosync/saAis.h>
#include <corosync/list.h>
#include <corosync/totem/coropoll.h>
#include <corosync/totem/totempg.h>
#include <corosync/engine/objdb.h>
#include "totemsrp.h"
extern int totem_config_read (
struct objdb_iface_ver0 *objdb,
struct totem_config *totem_config,

View File

@ -66,8 +66,8 @@
#define s6_addr16 __u6_addr.__u6_addr16
#endif
#include <corosync/totem/totemip.h>
#include <corosync/swab.h>
#include "totemip.h"
#include "swab.h"
#define LOCALHOST_IPV4 "127.0.0.1"
#define LOCALHOST_IPV6 "::1"
@ -167,7 +167,6 @@ int totemip_compare(const void *a, const void *b)
*/
assert (0);
}
return 0;
}
/* Build a localhost totem_ip_address */

View File

@ -54,10 +54,9 @@
#include <sys/time.h>
#include <sys/poll.h>
#include <corosync/totem/totem.h>
#include <corosync/totem/coropoll.h>
#include "totem.h"
#include "totemsrp.h"
#include "coropoll.h"
totemsrp_handle totemsrp_handle_in;

View File

@ -35,7 +35,7 @@
#ifndef TOTEMMRP_H_DEFINED
#define TOTEMMRP_H_DEFINED
#include <corosync/totem/totem.h>
#include "totem.h"
/*
* Totem Single Ring Protocol

View File

@ -56,14 +56,14 @@
#include <sys/time.h>
#include <sys/poll.h>
#include <corosync/queue.h>
#include <corosync/sq.h>
#include <corosync/list.h>
#include <corosync/hdb.h>
#include <corosync/swab.h>
#include <corosync/totem/coropoll.h>
#include "coropoll.h"
#include "totemnet.h"
#include "wthread.h"
#include "../include/queue.h"
#include "../include/sq.h"
#include "../include/list.h"
#include "../include/hdb.h"
#include "swab.h"
#include "crypto.h"

View File

@ -38,7 +38,7 @@
#include <sys/types.h>
#include <sys/socket.h>
#include <corosync/totem/totem.h>
#include "totem.h"
typedef unsigned int totemnet_handle;

View File

@ -91,14 +91,13 @@
#include <pthread.h>
#include <errno.h>
#include <corosync/swab.h>
#include <corosync/hdb.h>
#include <corosync/list.h>
#include <corosync/totem/coropoll.h>
#include <corosync/totem/totempg.h>
#include "../include/hdb.h"
#include "../include/list.h"
#include "coropoll.h"
#include "totempg.h"
#include "totemmrp.h"
#include "totemsrp.h"
#include "swab.h"
#define min(a,b) ((a) < (b)) ? a : b

View File

@ -56,13 +56,12 @@
#include <sys/time.h>
#include <sys/poll.h>
#include <corosync/queue.h>
#include <corosync/sq.h>
#include <corosync/list.h>
#include <corosync/hdb.h>
#include <corosync/swab.h>
#include <corosync/totem/coropoll.h>
#include "../include/queue.h"
#include "../include/sq.h"
#include "../include/list.h"
#include "../include/hdb.h"
#include "swab.h"
#include "coropoll.h"
#include "totemnet.h"
#include "totemrrp.h"

View File

@ -38,7 +38,7 @@
#include <sys/types.h>
#include <sys/socket.h>
#include <corosync/totem/totem.h>
#include "totem.h"
typedef unsigned int totemrrp_handle;

View File

@ -69,15 +69,15 @@
#include <sys/time.h>
#include <sys/poll.h>
#include <corosync/swab.h>
#include <corosync/queue.h>
#include <corosync/sq.h>
#include <corosync/list.h>
#include <corosync/hdb.h>
#include <corosync/totem/coropoll.h>
#include "coropoll.h"
#include "totemsrp.h"
#include "totemrrp.h"
#include "wthread.h"
#include "../include/queue.h"
#include "../include/sq.h"
#include "../include/list.h"
#include "../include/hdb.h"
#include "swab.h"
#include "crypto.h"
@ -691,7 +691,7 @@ int totemsrp_initialize (
rundir = getenv ("OPENAIS_RUN_DIR");
if (rundir == NULL) {
rundir = "/var/lib/openais";
rundir = "/var/lib/corosync";
}
res = mkdir (rundir, 0700);

View File

@ -35,8 +35,8 @@
#ifndef TOTEMSRP_H_DEFINED
#define TOTEMSRP_H_DEFINED
#include <corosync/totem/totem.h>
#include <corosync/totem/coropoll.h>
#include "totem.h"
#include "coropoll.h"
typedef unsigned int totemsrp_handle;

View File

@ -39,10 +39,10 @@
#include <errno.h>
#include <sys/time.h>
#include <corosync/saAis.h>
#include <corosync/list.h>
#include <corosync/engine/logsys.h>
#include "../include/saAis.h"
#include "../include/list.h"
#include "util.h"
#include "logsys.h"
LOGSYS_DECLARE_SUBSYS ("MAIN", LOG_INFO);
@ -77,7 +77,7 @@ SaTimeT clust_time_now(void)
}
void _openais_exit_error (
void _corosync_exit_error (
enum e_ais_done err, const char *file, unsigned int line)
{
log_printf (LOG_LEVEL_ERROR, "AIS Executive exiting "

View File

@ -34,10 +34,9 @@
*/
#ifndef UTIL_H_DEFINED
#define UTIL_H_DEFINED
#include <sys/time.h>
#include <corosync/mar_gen.h>
#include <corosync/saAis.h>
#include "../include/mar_gen.h"
#include "../include/saAis.h"
/*
* Get the time of day and convert to nanoseconds
@ -68,8 +67,8 @@ enum e_ais_done {
*/
extern int name_match(SaNameT *name1, SaNameT *name2);
extern int mar_name_match(mar_name_t *name1, mar_name_t *name2);
#define openais_exit_error(err) _openais_exit_error ((err), __FILE__, __LINE__)
extern void _openais_exit_error (
#define corosync_exit_error(err) _corosync_exit_error ((err), __FILE__, __LINE__)
extern void _corosync_exit_error (
enum e_ais_done err, const char *file, unsigned int line);
extern char *getSaNameT (SaNameT *name);
extern char *strstr_rs (const char *haystack, const char *needle);

View File

@ -34,7 +34,7 @@
#ifndef VSF_H_DEFINED
#define VSF_H_DEFINED
struct openais_vsf_iface_ver0 {
struct corosync_vsf_iface_ver0 {
/*
* Executes a callback whenever component changes

View File

@ -55,12 +55,11 @@
#include <sched.h>
#include <time.h>
#include <corosync/engine/logsys.h>
#include <corosync/swab.h>
#include <corosync/lcr/lcr_comp.h>
#include "main.h"
#include "logsys.h"
#include "swab.h"
#include "vsf.h"
#include "../lcr/lcr_comp.h"
LOGSYS_DECLARE_SUBSYS ("YKD", LOG_INFO);
@ -532,14 +531,14 @@ static int ykd_primary (void) {
/*
* lcrso object definition
*/
static struct openais_vsf_iface_ver0 vsf_ykd_iface_ver0 = {
static struct corosync_vsf_iface_ver0 vsf_ykd_iface_ver0 = {
.init = ykd_init,
.primary = ykd_primary
};
static struct lcr_iface openais_vsf_ykd_ver0[1] = {
static struct lcr_iface corosync_vsf_ykd_ver0[1] = {
{
.name = "openais_vsf_ykd",
.name = "corosync_vsf_ykd",
.version = 0,
.versions_replace = 0,
.versions_replace_count = 0,
@ -553,7 +552,7 @@ static struct lcr_iface openais_vsf_ykd_ver0[1] = {
static struct lcr_comp vsf_ykd_comp_ver0 = {
.iface_count = 1,
.ifaces = openais_vsf_ykd_ver0
.ifaces = corosync_vsf_ykd_ver0
};
__attribute__ ((constructor)) static void vsf_ykd_comp_register (void) {

View File

@ -40,9 +40,8 @@
#include <stdlib.h>
#include <pthread.h>
#include <errno.h>
#include <corosync/queue.h>
#include "wthread.h"
#include "../include/queue.h"
struct thread_data {
void *thread_state;

View File

@ -1,6 +1,6 @@
#!/bin/sh
#
# openais Start the openais cluster service
# corosync Start the corosync cluster service
#
# Author: Andrew Beekhof <abeekhof@suse.de>
# License: Revised BSD
@ -10,10 +10,10 @@
# description: OpenAIS daemon
#
### BEGIN INIT INFO
# Description: openais....
# Description: corosync....
#
# Short-Description: openais cluster services.
# Provides: openais
# Short-Description: corosync cluster services.
# Provides: corosync
# Required-Start: $network
# Should-Start: $syslog
# Required-Stop: $network

View File

@ -26,6 +26,7 @@
#
include ../Makefile.inc
override CFLAGS += -I../include -DLCRSODIR='"$(LCRSODIR)"'
override LDFLAGS += -L./ ${DYFLAGS}
ifeq (${OPENAIS_COMPAT}, LINUX)

View File

@ -4,7 +4,7 @@ All software is composed of components, which contain multiple software classes.
Components generally depend upon other components and sometimes classes from
other components.
Some components of openais are the evt service, the ckpt service, the clm
Some components of corosync are the evt service, the ckpt service, the clm
service, the totem protocol, and others. If a defect is found in any of
these components, the entire ais executive must be stopped, replaced, and
restarted.

View File

@ -38,9 +38,9 @@
#ifdef OPENAIS_SOLARIS
#include <iso/limits_iso.h>
#endif
#include <corosync/lcr/lcr_comp.h>
#include <corosync/lcr/lcr_ifact.h>
#include <corosync/hdb.h>
#include "lcr_comp.h"
#include "lcr_ifact.h"
#include "../include/hdb.h"
#include <stdlib.h>
struct lcr_component_instance {

View File

@ -28,7 +28,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <stdio.h>
#include <corosync/lcr/lcr_comp.h>
#include "lcr_comp.h"
/*
* Version 0 of the interface

View File

@ -28,7 +28,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <stdio.h>
#include <corosync/lcr/lcr_comp.h>
#include "lcr_comp.h"
/*
* Version 0 of the interface

View File

@ -29,7 +29,7 @@
*/
#include <assert.h>
#include <unistd.h>
#include <corosync/lcr/lcr_ifact.h>
#include "lcr_ifact.h"
struct iface {
void (*func1) (void);

View File

@ -35,6 +35,7 @@ subdir ?= lib/
include $(srcdir)Makefile.inc
override LDFLAGS += -L./
all: libcpg.a libcpg.so.2.0.0 \
@ -58,7 +59,7 @@ libevs.so.2.0.0: util.o evs.o
libcpg.so.2.0.0: util.o cpg.o
$(CC) $(DARWIN_OPTS) util.o cpg.o -o $@
libconfdb.so.2.0.0: util.o confdb.o sa-confdb.o
libconfdb.so.2.0.0: util.o confdb.o sa-confdb.o ../lcr/lcr_ifact.o
$(CC) $(LDFLAGS) $(DARWIN_OPTS) util.o confdb.o sa-confdb.o ../lcr/lcr_ifact.o -o $@
libcfg.so.2.0.0: util.o cfg.o
@ -78,7 +79,7 @@ libevs.so.2.0.0: util.o evs.o
libcpg.so.2.0.0: util.o cpg.o
$(CC) -shared -Wl,-soname,libcpg.so.2,-version-script=$(srcdir)$(subdir)libcpg.versions util.o cpg.o -o $@
libconfdb.so.2.0.0: util.o confdb.o sa-confdb.o
libconfdb.so.2.0.0: util.o confdb.o sa-confdb.o ../lcr/lcr_ifact.o
$(CC) $(LDFLAGS) -shared -Wl,-soname,libconfdb.so.2,-version-script=$(srcdir)$(subdir)libconfdb.versions util.o confdb.o sa-confdb.o ../lcr/lcr_ifact.o -o $@
libcfg.so.2.0.0: util.o cfg.o

View File

@ -45,12 +45,12 @@
#include <sys/select.h>
#include <sys/un.h>
#include <corosync/saAis.h>
#include <corosync/cfg.h>
#include <corosync/mar_gen.h>
#include <corosync/ipc_gen.h>
#include <corosync/ipc_cfg.h>
#include <corosync/ais_util.h>
#include <saAis.h>
#include <cfg.h>
#include <mar_gen.h>
#include <ipc_gen.h>
#include <ipc_cfg.h>
#include <ais_util.h>
struct res_overlay {
mar_res_header_t header;
@ -95,8 +95,8 @@ void cfg_handleInstanceDestructor (void *instance)
}
SaAisErrorT
openais_cfg_initialize (
openais_cfg_handle_t *cfg_handle,
corosync_cfg_initialize (
corosync_cfg_handle_t *cfg_handle,
const OpenaisCfgCallbacksT *cfgCallbacks)
{
struct cfg_instance *cfg_instance;
@ -143,8 +143,8 @@ error_no_destroy:
}
SaAisErrorT
openais_cfg_fd_get (
openais_cfg_handle_t cfg_handle,
corosync_cfg_fd_get (
corosync_cfg_handle_t cfg_handle,
SaSelectionObjectT *selectionObject)
{
struct cfg_instance *cfg_instance;
@ -162,8 +162,8 @@ openais_cfg_fd_get (
}
SaAisErrorT
openais_cfg_dispatch (
openais_cfg_handle_t cfg_handle,
corosync_cfg_dispatch (
corosync_cfg_handle_t cfg_handle,
SaDispatchFlagsT dispatchFlags)
{
struct pollfd ufds;
@ -173,10 +173,10 @@ openais_cfg_dispatch (
int dispatch_avail;
struct cfg_instance *cfg_instance;
#ifdef COMPILE_OUT
struct res_lib_openais_healthcheckcallback *res_lib_openais_healthcheckcallback;
struct res_lib_openais_readinessstatesetcallback *res_lib_openais_readinessstatesetcallback;
struct res_lib_openais_csisetcallback *res_lib_openais_csisetcallback;
struct res_lib_openais_csiremovecallback *res_lib_openais_csiremovecallback;
struct res_lib_corosync_healthcheckcallback *res_lib_corosync_healthcheckcallback;
struct res_lib_corosync_readinessstatesetcallback *res_lib_corosync_readinessstatesetcallback;
struct res_lib_corosync_csisetcallback *res_lib_corosync_csisetcallback;
struct res_lib_corosync_csiremovecallback *res_lib_corosync_csiremovecallback;
struct res_lib_cfg_statetrackcallback *res_lib_cfg_statetrackcallback;
#endif
OpenaisCfgCallbacksT callbacks;
@ -295,8 +295,8 @@ error_nounlock:
}
SaAisErrorT
openais_cfg_finalize (
openais_cfg_handle_t cfg_handle)
corosync_cfg_finalize (
corosync_cfg_handle_t cfg_handle)
{
struct cfg_instance *cfg_instance;
SaAisErrorT error;
@ -347,8 +347,8 @@ openais_cfg_finalize (
}
SaAisErrorT
openais_cfg_ring_status_get (
openais_cfg_handle_t cfg_handle,
corosync_cfg_ring_status_get (
corosync_cfg_handle_t cfg_handle,
char ***interface_names,
char ***status,
unsigned int *interface_count)
@ -427,8 +427,8 @@ no_error:
}
SaAisErrorT
openais_cfg_ring_reenable (
openais_cfg_handle_t cfg_handle)
corosync_cfg_ring_reenable (
corosync_cfg_handle_t cfg_handle)
{
struct cfg_instance *cfg_instance;
struct req_lib_cfg_ringreenable req_lib_cfg_ringreenable;
@ -458,8 +458,8 @@ openais_cfg_ring_reenable (
}
SaAisErrorT
openais_cfg_service_load (
openais_cfg_handle_t cfg_handle,
corosync_cfg_service_load (
corosync_cfg_handle_t cfg_handle,
char *service_name,
unsigned int service_ver)
{
@ -496,8 +496,8 @@ openais_cfg_service_load (
}
SaAisErrorT
openais_cfg_service_unload (
openais_cfg_handle_t cfg_handle,
corosync_cfg_service_unload (
corosync_cfg_handle_t cfg_handle,
char *service_name,
unsigned int service_ver)
{
@ -533,8 +533,8 @@ openais_cfg_service_unload (
return (error);
}
SaAisErrorT
openais_cfg_state_track (
openais_cfg_handle_t cfg_handle,
corosync_cfg_state_track (
corosync_cfg_handle_t cfg_handle,
SaUint8T trackFlags,
const OpenaisCfgStateNotificationT *notificationBuffer)
{
@ -570,8 +570,8 @@ openais_cfg_state_track (
}
SaAisErrorT
openais_cfg_state_track_stop (
openais_cfg_handle_t cfg_handle)
corosync_cfg_state_track_stop (
corosync_cfg_handle_t cfg_handle)
{
struct cfg_instance *cfg_instance;
struct req_lib_cfg_statetrackstop req_lib_cfg_statetrackstop;
@ -603,8 +603,8 @@ openais_cfg_state_track_stop (
}
SaAisErrorT
openais_cfg_admin_state_get (
openais_cfg_handle_t cfg_handle,
corosync_cfg_admin_state_get (
corosync_cfg_handle_t cfg_handle,
OpenaisCfgAdministrativeTargetT administrativeTarget,
OpenaisCfgAdministrativeStateT *administrativeState)
{
@ -639,8 +639,8 @@ openais_cfg_admin_state_get (
}
SaAisErrorT
openais_cfg_admin_state_set (
openais_cfg_handle_t cfg_handle,
corosync_cfg_admin_state_set (
corosync_cfg_handle_t cfg_handle,
OpenaisCfgAdministrativeTargetT administrativeTarget,
OpenaisCfgAdministrativeStateT administrativeState)
{

View File

@ -32,7 +32,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Provides access to data in the openais object database
* Provides access to data in the corosync object database
*/
#include <stdlib.h>
@ -42,12 +42,12 @@
#include <sys/types.h>
#include <errno.h>
#include <corosync/saAis.h>
#include <corosync/confdb.h>
#include <corosync/ipc_confdb.h>
#include <corosync/mar_gen.h>
#include <corosync/ais_util.h>
#include <corosync/list.h>
#include <saAis.h>
#include <confdb.h>
#include <ipc_confdb.h>
#include <mar_gen.h>
#include <ais_util.h>
#include <list.h>
#include "sa-confdb.h"
@ -125,8 +125,8 @@ static struct iter_context *find_iter_context(struct list_head *list, unsigned i
}
/**
* @defgroup confdb_openais
* @ingroup openais
* @defgroup confdb_corosync
* @ingroup corosync
*
* @{
*/
@ -1219,58 +1219,6 @@ error_exit:
return (error);
}
confdb_error_t confdb_reload (
confdb_handle_t handle,
int flush,
char *error_text)
{
confdb_error_t error;
struct confdb_inst *confdb_inst;
struct iovec iov[2];
struct res_lib_confdb_reload res_lib_confdb_reload;
struct req_lib_confdb_reload req_lib_confdb_reload;
error = saHandleInstanceGet (&confdb_handle_t_db, handle, (void *)&confdb_inst);
if (error != SA_AIS_OK) {
return (error);
}
if (confdb_inst->standalone) {
error = SA_AIS_OK;
if (confdb_sa_reload(flush, error_text))
error = SA_AIS_ERR_ACCESS;
goto error_exit;
}
req_lib_confdb_reload.header.size = sizeof (req_lib_confdb_reload);
req_lib_confdb_reload.header.id = MESSAGE_REQ_CONFDB_RELOAD;
req_lib_confdb_reload.flush = flush;
iov[0].iov_base = (char *)&req_lib_confdb_reload;
iov[0].iov_len = sizeof (req_lib_confdb_reload);
pthread_mutex_lock (&confdb_inst->response_mutex);
error = saSendMsgReceiveReply (confdb_inst->response_fd, iov, 1,
&res_lib_confdb_reload, sizeof (struct res_lib_confdb_reload));
pthread_mutex_unlock (&confdb_inst->response_mutex);
if (error != SA_AIS_OK) {
goto error_exit;
}
error = res_lib_confdb_reload.header.error;
if(res_lib_confdb_reload.error.length)
memcpy(error_text, res_lib_confdb_reload.error.value, res_lib_confdb_reload.error.length);
error_exit:
saHandleInstancePut (&confdb_handle_t_db, handle);
return (error);
}
confdb_error_t confdb_track_changes (
confdb_handle_t handle,
unsigned int object_handle,

View File

@ -34,7 +34,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Provides a closed process group API using the openais executive
* Provides a closed process group API using the corosync executive
*/
#include <stdlib.h>
@ -45,11 +45,11 @@
#include <sys/socket.h>
#include <errno.h>
#include <corosync/saAis.h>
#include <corosync/cpg.h>
#include <corosync/ipc_cpg.h>
#include <corosync/mar_cpg.h>
#include <corosync/ais_util.h>
#include <saAis.h>
#include <cpg.h>
#include <ipc_cpg.h>
#include <mar_cpg.h>
#include <ais_util.h>
struct cpg_inst {
int response_fd;
@ -84,8 +84,8 @@ static void cpg_instance_destructor (void *instance)
/**
* @defgroup cpg_openais The closed process group API
* @ingroup openais
* @defgroup cpg_corosync The closed process group API
* @ingroup corosync
*
* @{
*/

View File

@ -35,7 +35,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Provides an extended virtual synchrony API using the openais executive
* Provides an extended virtual synchrony API using the corosync executive
*/
#include <stdlib.h>
@ -46,12 +46,12 @@
#include <sys/socket.h>
#include <errno.h>
#include <corosync/swab.h>
#include <corosync/totem/totem.h>
#include <corosync/saAis.h>
#include <corosync/evs.h>
#include <corosync/ipc_evs.h>
#include <corosync/ais_util.h>
#include <swab.h>
#include "../exec/totem.h"
#include <saAis.h>
#include <evs.h>
#include <ipc_evs.h>
#include <ais_util.h>
struct evs_inst {
int response_fd;
@ -89,8 +89,8 @@ static void evs_instance_destructor (void *instance)
/**
* @defgroup evs_openais The extended virtual synchrony passthrough API
* @ingroup openais
* @defgroup evs_corosync The extended virtual synchrony passthrough API
* @ingroup corosync
*
* @{
*/

View File

@ -2,18 +2,18 @@
OPENAIS_CFG_0.82 {
global:
openais_cfg_initialize;
openais_cfg_fd_get;
openais_cfg_dispatch;
openais_cfg_finalize;
openais_cfg_administrative_state_get;
openais_cfg_administrative_state_set;
openais_cfg_track;
openais_cfg_track_stop;
openais_cfg_ring_status_get;
openais_cfg_ring_reenable;
openais_cfg_service_load;
openais_cfg_service_unload;
corosync_cfg_initialize;
corosync_cfg_fd_get;
corosync_cfg_dispatch;
corosync_cfg_finalize;
corosync_cfg_administrative_state_get;
corosync_cfg_administrative_state_set;
corosync_cfg_track;
corosync_cfg_track_stop;
corosync_cfg_ring_status_get;
corosync_cfg_ring_reenable;
corosync_cfg_service_load;
corosync_cfg_service_unload;
local:

View File

@ -32,7 +32,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Provides stand-alone access to data in the openais object database
* Provides stand-alone access to data in the corosync object database
* when aisexec is not running.
*/
@ -43,13 +43,13 @@
#include <sys/types.h>
#include <errno.h>
#include <corosync/saAis.h>
#include <corosync/ais_util.h>
#include <corosync/engine/objdb.h>
#include <corosync/engine/config.h>
#include <corosync/engine/logsys.h>
#include <corosync/lcr/lcr_comp.h>
#include <corosync/lcr/lcr_ifact.h>
#include <saAis.h>
#include <ais_util.h>
#include "../exec/objdb.h"
#include "../exec/config.h"
#include "../lcr/lcr_comp.h"
#include "../lcr/lcr_ifact.h"
#include "../exec/logsys.h"
static struct objdb_iface_ver0 *objdb;
@ -95,9 +95,9 @@ static int load_config()
char *error_string;
/* User's bootstrap config service */
config_iface = getenv("COROSYNC_DEFAULT_CONFIG_IFACE");
config_iface = getenv("OPENAIS_DEFAULT_CONFIG_IFACE");
if (!config_iface) {
config_iface = "corosync_parser";
config_iface = "aisparser";
}
/* Make a copy so we can deface it with strtok */
@ -296,20 +296,6 @@ int confdb_sa_write (
return ret;
}
int confdb_sa_reload (
unsigned int parent_object_handle,
int flush,
char *error_text)
{
char *errtext;
int ret;
ret = objdb->object_reload_config(flush, &errtext);
if (!ret)
strcpy(error_text, errtext);
return ret;
}
int confdb_sa_object_iter (
unsigned int parent_object_handle,

View File

@ -44,4 +44,3 @@ extern int confdb_sa_object_find(unsigned int parent_object_handle, unsigned int
extern int confdb_sa_object_iter(unsigned int parent_object_handle, unsigned int start_pos, unsigned int *object_handle, void *object_name, int *object_name_len);
extern int confdb_sa_key_iter(unsigned int parent_object_handle, unsigned int start_pos, void *key_name, int *key_name_len, void *value, int *value_len);
extern int confdb_sa_write(char *error_text);
extern int confdb_sa_reload(int flush, char *error_text);

View File

@ -53,9 +53,9 @@
#include <netinet/in.h>
#include <assert.h>
#include <corosync/saAis.h>
#include <corosync/ipc_gen.h>
#include <corosync/ais_util.h>
#include <saAis.h>
#include <ipc_gen.h>
#include <ais_util.h>
enum SA_HANDLE_STATE {
SA_HANDLE_STATE_EMPTY,

View File

@ -33,8 +33,8 @@ all: html
html:
mkdir html
groff -mandoc -Thtml openais_overview.8 > html/openais_overview.html
groff -mandoc -Thtml openais.conf.5 > html/openais.conf.html
groff -mandoc -Thtml corosync_overview.8 > html/corosync_overview.html
groff -mandoc -Thtml corosync.conf.5 > html/corosync.conf.html
groff -mandoc -Thtml evs_overview.8 > html/evs_overview.html
groff -mandoc -Thtml evs_initialize.3 > html/evs_initialize.html
groff -mandoc -Thtml evs_finalize.3 > html/evs_finalize.html

View File

@ -32,15 +32,15 @@
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH AMF.CONF 5 2006-08-29 "openais Man Page"
.TH AMF.CONF 5 2006-08-29 "corosync Man Page"
.SH NAME
amf.conf - openais AMF configuration file
amf.conf - corosync AMF configuration file
.SH DESCRIPTION
.B amf.conf
is the configuration file that determines the behaviour of the AIS Availability
Management Framework service, AMF in the openais implementation.
Management Framework service, AMF in the corosync implementation.
Entries in this file will for example determine what applications AMF will start
and how to supervise them.
@ -106,7 +106,7 @@ The value of the attribute 'saAmfNodeClmNode' should be the hostname (without
domain name) as given to the host at boot time. This name is returned by the
shell command 'hostname'.
Currently, AMF is enabled/disabled by an entry in the openais.conf file, see [1].
Currently, AMF is enabled/disabled by an entry in the corosync.conf file, see [1].
It is default disabled.
@ -246,7 +246,7 @@ Multivalue
Hans.Feldt at ericsson.com
.SH EXAMPLE
For an AMF configuration file example, see the amf.conf file under the openais
For an AMF configuration file example, see the amf.conf file under the corosync
.B conf
directory.
@ -254,12 +254,12 @@ directory.
.TP
/etc/ais/amf.conf
.TP
/etc/ais/openais.conf
/etc/ais/corosync.conf
.SH "SEE ALSO"
[1] openais_conf (5)
[1] corosync_conf (5)
.TP
[2] openais_overview (8)
[2] corosync_overview (8)
.TP
[3] README.amf
.TP

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_DISPATCH 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_DISPATCH 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_dispatch \- Dispatches callbacks from the CONFDB service
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "int confdb_dispatch(confdb_handle_t " handle ", confdb_dispatch_t *" dispatch_types ");"
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_FD_GET 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_FD_GET 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_fd_get \- Dispatches callbacks from the CONFDB service
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "int confdb_fd_get(confdb_handle_t " handle ", int *" fd ");"
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_FINALIZE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_FINALIZE 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_finalize \- Terminate a connection to the CONFDB service
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "int confdb_finalize(confdb_handle_t " handle ");"
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_INITIALIZE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_INITIALIZE 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_initialize \- Create a new connection to the ConfDb service
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "int confdb_initialize(confdb_handle_t *" handle ", confdb_callbacks_t *" callbacks ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_KEY_CREATE 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_KEY_CREATE 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_key_create \- Add a new key/value pair to the Configuration Database
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_key_create(confdb_handle_t " handle ",
.BI unsigned int " parent_object_handle ",

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_KEY_DELETE 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_KEY_DELETE 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_key_delete \- Delete a key/value pair from the Configuration Database
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_key_delete(confdb_handle_t " handle ",
.BI unsigned int " parent_object_handle ",

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_KEY_ITER 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_KEY_ITER 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_key_iter \- Iterate through key/value pairs in the Configuration Database
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_key_iter_start(confdb_handle_t " handle ", unsigned int " parent_object_handle " ); "
.sp

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_KEY_REPLACE 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_KEY_REPLACE 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_key_replace \- Replace a key/value pair from the Configuration Database
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_key_replace(confdb_handle_t " handle ", unsigned int " parent_object_handle ", void " *key_name ",
.BI int " key_name_len ",

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_OBJECT_CREATE 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_OBJECT_CREATE 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_object_create \- Create a new object in the Configuration Database
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_object_create(confdb_handle_t " handle ", unsigned int " parent_object_handle ",
.BI void " *object_name ",

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_* 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_* 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_object_destroy \- Remove an object from the Configuration Database
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_destroy(confdb_handle_t " handle ", unsigned int " object_handle ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_OBJECT_FIND 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_OBJECT_FIND 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_object_find \- Find a named object in the Configuration Database
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_object_find_start(confdb_handle_t " handle ", unsigned int " parent_object_handle " ); "
.sp

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_OBJECT_ITER 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_OBJECT_ITER 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_object_iter \- Iterate through objects in the Configuration Database
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_object_iter_start(confdb_handle_t " handle ", unsigned int " parent_object_handle " ); "
.sp

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_OBJECT_PARENT_GET 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_OBJECT_PARENT_GET 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_parent_get \- Configuration Database Object Parent
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_object_parent_get(confdb_handle_t " handle ", unsigned int " object_handle ", unsigned int " *parent_object_handle ");"
.SH DESCRIPTION

View File

@ -31,10 +31,10 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_OVERVIEW 8 2006-03-06 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_OVERVIEW 8 2006-03-06 "corosync Man Page" "Openais Programmer's Manual"
.SH OVERVIEW
The CONFDB library is delivered with the openais project. This library is used
to examine manipulate the configuratin databser used by openais.
The CONFDB library is delivered with the corosync project. This library is used
to examine manipulate the configuratin databser used by corosync.
.PP
The library provides a mechanism to:
* Create new objects

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_CONTEXT_GET 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_CONTEXT_GET 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_context_get \- Gets the context variable for a CPG instance
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_context_get(cpg_handle_t " handle ", void **" context ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_CONTEXT_SET 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_CONTEXT_SET 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_context_set \- Sets the context variable for a CPG instance
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_context_set(cpg_handle_t " handle ", void *" context ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_DISPATCH 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_DISPATCH 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_dispatch \- Dispatches callbacks from the CPG service
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_dispatch(cpg_handle_t " handle ", cpg_dispatch_t *" dispatch_types ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_FD_GET 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_FD_GET 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_fd_get \- Dispatches callbacks from the CPG service
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_fd_get(cpg_handle_t " handle ", int *" fd ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_FINALIZE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_FINALIZE 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_finalize \- Terminate a connection to the CPG service
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_finalize(cpg_handle_t " handle ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_INITIALIZE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_INITIALIZE 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_initialize \- Create a new connection to the CPG service
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_initialize(cpg_handle_t *" handle ", cpg_callbacks_t *" callbacks ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_JOIN 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_JOIN 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_join \- Joins one or more groups in the CPG library
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_join(cpg_handle_t " handle ", struct cpg_name *" group ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_LEAVE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_LEAVE 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_leave \- Leave a group in the CPG library
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_leave(cpg_handle_t " handle ", struct cpg_name *" group ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_LOCAL_GET 3 2007-06-12 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_LOCAL_GET 3 2007-06-12 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_local_get \- Returns the local processor id
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_local_get(cpg_handle_t " handle ", unsigned int *" local_nodeid ");
.SH DESCRIPTION

View File

@ -31,12 +31,12 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_MCAST_JOINED 3 3004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_MCAST_JOINED 3 3004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_mcast_joined \- Multicasts to all groups joined to a handle
.SH SYNOPSIS
.B #include <sys/uio.h>
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_mcast_joined(cpg_handle_t " handle ", cpg_gurantee_t " guarantee ", struct iovec *" iovec ", int " iov_len ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_MEMBERSHIP_GET 3 2006-02-06 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_MEMBERSHIP_GET 3 2006-02-06 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_membership_get \- Returns a list of members of a CPG library group
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_membership_get(cpg_handle_t " handle ", struct cpg_name *" groupName ", struct cpg_address *" member_list ", int *" member_list_entries ");
.SH DESCRIPTION

View File

@ -31,9 +31,9 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_OVERVIEW 8 2006-03-06 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_OVERVIEW 8 2006-03-06 "corosync Man Page" "Openais Programmer's Manual"
.SH OVERVIEW
The CPG library is delivered with the openais project. This library is used
The CPG library is delivered with the corosync project. This library is used
to create distributed applications that operate properly during partitions, merges,
and faults.
.PP

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH EVS_DISPATCH 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH EVS_DISPATCH 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
evs_dispatch \- Dispatches callbacks from the EVS service
.SH SYNOPSIS
.B #include <openais/evs.h>
.B #include <corosync/evs.h>
.sp
.BI "int evs_dispatch(evs_handle_t " handle ", evs_dispatch_t *" dispatch_types ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH EVS_FD_GET 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH EVS_FD_GET 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
evs_fd_get \- Dispatches callbacks from the EVS service
.SH SYNOPSIS
.B #include <openais/evs.h>
.B #include <corosync/evs.h>
.sp
.BI "int evs_fd_get(evs_handle_t " handle ", int *" fd ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH EVS_FINALIZE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH EVS_FINALIZE 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
evs_finalize \- Terminate a connection to the EVS service
.SH SYNOPSIS
.B #include <openais/evs.h>
.B #include <corosync/evs.h>
.sp
.BI "int evs_finalize(evs_handle_t " handle ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH EVS_INITIALIZE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH EVS_INITIALIZE 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
evs_initialize \- Create a new connection to the EVS service
.SH SYNOPSIS
.B #include <openais/evs.h>
.B #include <corosync/evs.h>
.sp
.BI "int evs_initialize(evs_handle_t *" handle ", evs_callbacks_t *" callbacks ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH EVS_JOIN 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH EVS_JOIN 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
evs_join \- Joins one or more groups in the EVS library
.SH SYNOPSIS
.B #include <openais/evs.h>
.B #include <corosync/evs.h>
.sp
.BI "int evs_join(evs_handle_t " handle ", evs_group_t *" groups ", int " group_entries ");
.SH DESCRIPTION

Some files were not shown because too many files have changed in this diff Show More