|
corosync 3.1.9
|
#include <corosync/corotypes.h>

Go to the source code of this file.
Data Structures | |
| struct | votequorum_info |
| The votequorum_info struct. More... | |
| struct | votequorum_node_t |
| The votequorum_node_t struct. More... | |
| struct | votequorum_ring_id_t |
| The votequorum_ring_id_t struct. More... | |
| struct | votequorum_callbacks_t |
| The votequorum_callbacks_t struct. More... | |
Typedefs | |
| typedef uint64_t | votequorum_handle_t |
| votequorum_handle_t | |
| typedef void(* | votequorum_quorum_notification_fn_t) (votequorum_handle_t handle, uint64_t context, uint32_t quorate, uint32_t node_list_entries, votequorum_node_t node_list[]) |
| The votequorum_quorum_notification_fn_t callback. | |
| typedef void(* | votequorum_nodelist_notification_fn_t) (votequorum_handle_t handle, uint64_t context, votequorum_ring_id_t ring_id, uint32_t node_list_entries, uint32_t node_list[]) |
| typedef void(* | votequorum_expectedvotes_notification_fn_t) (votequorum_handle_t handle, uint64_t context, uint32_t expected_votes) |
| The votequorum_expectedvotes_notification_fn_t callback. | |
| #define VOTEQUORUM_INFO_ALLOW_DOWNSCALE 32 |
Definition at line 55 of file include/corosync/votequorum.h.
| #define VOTEQUORUM_INFO_AUTO_TIE_BREAKER 16 |
Definition at line 54 of file include/corosync/votequorum.h.
| #define VOTEQUORUM_INFO_LAST_MAN_STANDING 8 |
Definition at line 53 of file include/corosync/votequorum.h.
| #define VOTEQUORUM_INFO_QDEVICE_ALIVE 128 |
Definition at line 57 of file include/corosync/votequorum.h.
| #define VOTEQUORUM_INFO_QDEVICE_CAST_VOTE 256 |
Definition at line 58 of file include/corosync/votequorum.h.
| #define VOTEQUORUM_INFO_QDEVICE_MASTER_WINS 512 |
Definition at line 59 of file include/corosync/votequorum.h.
| #define VOTEQUORUM_INFO_QDEVICE_REGISTERED 64 |
Definition at line 56 of file include/corosync/votequorum.h.
| #define VOTEQUORUM_INFO_QUORATE 2 |
Definition at line 51 of file include/corosync/votequorum.h.
| #define VOTEQUORUM_INFO_TWONODE 1 |
Definition at line 50 of file include/corosync/votequorum.h.
| #define VOTEQUORUM_INFO_WAIT_FOR_ALL 4 |
Definition at line 52 of file include/corosync/votequorum.h.
| #define VOTEQUORUM_NODESTATE_DEAD 2 |
Definition at line 67 of file include/corosync/votequorum.h.
| #define VOTEQUORUM_NODESTATE_LEAVING 3 |
Definition at line 68 of file include/corosync/votequorum.h.
| #define VOTEQUORUM_NODESTATE_MEMBER 1 |
Definition at line 66 of file include/corosync/votequorum.h.
| #define VOTEQUORUM_QDEVICE_DEFAULT_SYNC_TIMEOUT 30000 |
Definition at line 64 of file include/corosync/votequorum.h.
| #define VOTEQUORUM_QDEVICE_DEFAULT_TIMEOUT 10000 |
Definition at line 63 of file include/corosync/votequorum.h.
| #define VOTEQUORUM_QDEVICE_MAX_NAME_LEN 255 |
Definition at line 62 of file include/corosync/votequorum.h.
| #define VOTEQUORUM_QDEVICE_NODEID 0 |
Definition at line 61 of file include/corosync/votequorum.h.
| typedef void(* votequorum_expectedvotes_notification_fn_t) (votequorum_handle_t handle, uint64_t context, uint32_t expected_votes) |
The votequorum_expectedvotes_notification_fn_t callback.
Definition at line 124 of file include/corosync/votequorum.h.
votequorum_handle_t
Definition at line 48 of file include/corosync/votequorum.h.
| typedef void(* votequorum_nodelist_notification_fn_t) (votequorum_handle_t handle, uint64_t context, votequorum_ring_id_t ring_id, uint32_t node_list_entries, uint32_t node_list[]) |
Definition at line 114 of file include/corosync/votequorum.h.
| typedef void(* votequorum_quorum_notification_fn_t) (votequorum_handle_t handle, uint64_t context, uint32_t quorate, uint32_t node_list_entries, votequorum_node_t node_list[]) |
The votequorum_quorum_notification_fn_t callback.
Definition at line 107 of file include/corosync/votequorum.h.
| cs_error_t votequorum_context_get | ( | votequorum_handle_t | handle, |
| void ** | context | ||
| ) |
Save and retrieve private data/context.
| handle | |
| context |
Definition at line 370 of file lib/votequorum.c.
References votequorum_inst::context, CS_OK, hdb_error_to_cs(), and nodeid.
| cs_error_t votequorum_context_set | ( | votequorum_handle_t | handle, |
| void * | context | ||
| ) |
votequorum_context_set
| handle | |
| context |
Definition at line 389 of file lib/votequorum.c.
References votequorum_inst::context, CS_OK, hdb_error_to_cs(), and nodeid.
| cs_error_t votequorum_dispatch | ( | votequorum_handle_t | handle, |
| cs_dispatch_flags_t | dispatch_types | ||
| ) |
Dispatch messages and configuration changes.
| handle | |
| dispatch_types |
Definition at line 428 of file lib/votequorum.c.
References votequorum_inst::c, votequorum_inst::callbacks, CS_DISPATCH_ALL, CS_DISPATCH_BLOCKING, CS_DISPATCH_ONE, CS_DISPATCH_ONE_NONBLOCKING, CS_ERR_BAD_HANDLE, CS_ERR_INVALID_PARAM, CS_ERR_LIBRARY, CS_ERR_TRY_AGAIN, CS_OK, votequorum_inst::finalize, hdb_error_to_cs(), IPC_DISPATCH_SIZE, MESSAGE_RES_VOTEQUORUM_EXPECTEDVOTES_NOTIFICATION, MESSAGE_RES_VOTEQUORUM_NODELIST_NOTIFICATION, MESSAGE_RES_VOTEQUORUM_QUORUM_NOTIFICATION, nodeid, qb_to_cs_error(), ring_id, votequorum_callbacks_t::votequorum_expectedvotes_notify_fn, votequorum_callbacks_t::votequorum_nodelist_notify_fn, and votequorum_callbacks_t::votequorum_quorum_notify_fn.
| cs_error_t votequorum_fd_get | ( | votequorum_handle_t | handle, |
| int * | fd | ||
| ) |
Get a file descriptor on which to poll.
| handle | |
| fd |
Definition at line 409 of file lib/votequorum.c.
References votequorum_inst::c, CS_OK, hdb_error_to_cs(), nodeid, and qb_to_cs_error().
| cs_error_t votequorum_finalize | ( | votequorum_handle_t | handle | ) |
Close the quorum handle.
| handle |
Definition at line 119 of file lib/votequorum.c.
References CS_ERR_BAD_HANDLE, CS_OK, votequorum_inst::finalize, hdb_error_to_cs(), and nodeid.
| cs_error_t votequorum_getinfo | ( | votequorum_handle_t | handle, |
| unsigned int | nodeid, | ||
| struct votequorum_info * | info | ||
| ) |
Get quorum information.
| handle | |
| nodeid | |
| info |
Definition at line 148 of file lib/votequorum.c.
References votequorum_inst::c, CS_IPC_TIMEOUT_MS, CS_OK, res_lib_votequorum_getinfo::expected_votes, res_lib_votequorum_getinfo::flags, hdb_error_to_cs(), res_lib_votequorum_getinfo::highest_expected, MESSAGE_REQ_VOTEQUORUM_GETINFO, nodeid, req_lib_votequorum_getinfo::nodeid, res_lib_votequorum_getinfo::nodeid, qb_to_cs_error(), res_lib_votequorum_getinfo::qdevice_name, res_lib_votequorum_getinfo::qdevice_votes, res_lib_votequorum_getinfo::quorum, res_lib_votequorum_getinfo::state, res_lib_votequorum_getinfo::total_votes, VOTEQUORUM_QDEVICE_MAX_NAME_LEN, and res_lib_votequorum_getinfo::votes.
| cs_error_t votequorum_initialize | ( | votequorum_handle_t * | handle, |
| votequorum_callbacks_t * | callbacks | ||
| ) |
Create a new quorum connection.
| handle | |
| callbacks |
Definition at line 72 of file lib/votequorum.c.
References votequorum_inst::c, votequorum_inst::callbacks, CS_OK, votequorum_inst::finalize, hdb_error_to_cs(), IPC_REQUEST_SIZE, nodeid, and qb_to_cs_error().
| cs_error_t votequorum_qdevice_master_wins | ( | votequorum_handle_t | handle, |
| const char * | name, | ||
| unsigned int | allow | ||
| ) |
Allow qdevice to tell votequorum if master_wins can be enabled or not.
| handle | |
| name | |
| allow |
Definition at line 669 of file lib/votequorum.c.
References req_lib_votequorum_qdevice_master_wins::allow, votequorum_inst::c, CS_ERR_INVALID_PARAM, CS_IPC_TIMEOUT_MS, CS_OK, hdb_error_to_cs(), MESSAGE_REQ_VOTEQUORUM_QDEVICE_MASTER_WINS, req_lib_votequorum_qdevice_master_wins::name, nodeid, qb_to_cs_error(), and VOTEQUORUM_QDEVICE_MAX_NAME_LEN.
| cs_error_t votequorum_qdevice_poll | ( | votequorum_handle_t | handle, |
| const char * | name, | ||
| unsigned int | cast_vote, | ||
| votequorum_ring_id_t | ring_id | ||
| ) |
Poll a quorum device.
| handle | |
| name | |
| cast_vote | |
| ring_id |
Definition at line 619 of file lib/votequorum.c.
References votequorum_inst::c, req_lib_votequorum_qdevice_poll::cast_vote, CS_ERR_INVALID_PARAM, CS_IPC_TIMEOUT_MS, CS_OK, hdb_error_to_cs(), MESSAGE_REQ_VOTEQUORUM_QDEVICE_POLL, req_lib_votequorum_qdevice_poll::name, nodeid, qb_to_cs_error(), ring_id, and VOTEQUORUM_QDEVICE_MAX_NAME_LEN.
| cs_error_t votequorum_qdevice_register | ( | votequorum_handle_t | handle, |
| const char * | name | ||
| ) |
Register a quorum device.
it will be DEAD until polled
| handle | |
| name |
Definition at line 572 of file lib/votequorum.c.
References votequorum_inst::c, CS_ERR_INVALID_PARAM, CS_IPC_TIMEOUT_MS, CS_OK, hdb_error_to_cs(), MESSAGE_REQ_VOTEQUORUM_QDEVICE_REGISTER, req_lib_votequorum_qdevice_register::name, nodeid, qb_to_cs_error(), and VOTEQUORUM_QDEVICE_MAX_NAME_LEN.
| cs_error_t votequorum_qdevice_unregister | ( | votequorum_handle_t | handle, |
| const char * | name | ||
| ) |
Unregister a quorum device.
| handle | |
| name |
Definition at line 767 of file lib/votequorum.c.
References votequorum_inst::c, CS_ERR_INVALID_PARAM, CS_IPC_TIMEOUT_MS, CS_OK, hdb_error_to_cs(), MESSAGE_REQ_VOTEQUORUM_QDEVICE_UNREGISTER, req_lib_votequorum_qdevice_unregister::name, nodeid, qb_to_cs_error(), and VOTEQUORUM_QDEVICE_MAX_NAME_LEN.
| cs_error_t votequorum_qdevice_update | ( | votequorum_handle_t | handle, |
| const char * | oldname, | ||
| const char * | newname | ||
| ) |
Update registered name of a quorum device.
| handle | |
| oldname | |
| newname |
Definition at line 717 of file lib/votequorum.c.
References votequorum_inst::c, CS_ERR_INVALID_PARAM, CS_IPC_TIMEOUT_MS, CS_OK, hdb_error_to_cs(), MESSAGE_REQ_VOTEQUORUM_QDEVICE_UPDATE, newname, req_lib_votequorum_qdevice_update::newname, nodeid, oldname, req_lib_votequorum_qdevice_update::oldname, qb_to_cs_error(), and VOTEQUORUM_QDEVICE_MAX_NAME_LEN.
| cs_error_t votequorum_setexpected | ( | votequorum_handle_t | handle, |
| unsigned int | expected_votes | ||
| ) |
set expected_votes
| handle | |
| expected_votes |
Definition at line 202 of file lib/votequorum.c.
References votequorum_inst::c, CS_IPC_TIMEOUT_MS, CS_OK, expected_votes, req_lib_votequorum_setexpected::expected_votes, hdb_error_to_cs(), MESSAGE_REQ_VOTEQUORUM_SETEXPECTED, nodeid, and qb_to_cs_error().
| cs_error_t votequorum_setvotes | ( | votequorum_handle_t | handle, |
| unsigned int | nodeid, | ||
| unsigned int | votes | ||
| ) |
set votes for a node
| handle | |
| nodeid | |
| votes |
Definition at line 244 of file lib/votequorum.c.
References votequorum_inst::c, CS_IPC_TIMEOUT_MS, CS_OK, hdb_error_to_cs(), MESSAGE_REQ_VOTEQUORUM_SETVOTES, nodeid, req_lib_votequorum_setvotes::nodeid, qb_to_cs_error(), votes, and req_lib_votequorum_setvotes::votes.
| cs_error_t votequorum_trackstart | ( | votequorum_handle_t | handle, |
| uint64_t | context, | ||
| unsigned int | flags | ||
| ) |
Track node and quorum changes.
| handle | |
| context | |
| flags |
Definition at line 287 of file lib/votequorum.c.
References votequorum_inst::c, req_lib_votequorum_trackstart::context, CS_IPC_TIMEOUT_MS, CS_OK, flags, hdb_error_to_cs(), MESSAGE_REQ_VOTEQUORUM_TRACKSTART, nodeid, qb_to_cs_error(), and req_lib_votequorum_trackstart::track_flags.
| cs_error_t votequorum_trackstop | ( | votequorum_handle_t | handle | ) |
votequorum_trackstop
| handle |
Definition at line 330 of file lib/votequorum.c.
References votequorum_inst::c, CS_IPC_TIMEOUT_MS, CS_OK, hdb_error_to_cs(), MESSAGE_REQ_VOTEQUORUM_TRACKSTOP, nodeid, and qb_to_cs_error().