![]()  | 
  
    pacemaker
    1.1.18-7fdfbbe
    
   Scalable High-Availability cluster resource manager 
   | 
 
#include <crm_internal.h>#include <sys/param.h>#include <sys/types.h>#include <stdio.h>#include <unistd.h>#include <string.h>#include <glib.h>#include <crm/common/ipc.h>#include <crm/cluster/internal.h>#include <crm/msg_xml.h>#include <crm/stonith-ng.h>
Go to the source code of this file.
Macros | |
| #define | _GNU_SOURCE | 
| #define | s_if_plural(i) (((i) == 1)? "" : "s") | 
| #define | XPATH_GUEST_NODE_CONFIG | 
| #define | XPATH_REMOTE_NODE_CONFIG | 
| #define | XPATH_REMOTE_NODE_STATUS | 
Functions | |
| int | crm_remote_peer_cache_size (void) | 
| crm_node_t * | crm_remote_peer_get (const char *node_name) | 
| Get a remote node peer cache entry, creating it if necessary.  More... | |
| void | crm_remote_peer_cache_add (const char *node_name) | 
| Add a node to the remote peer cache.  More... | |
| void | crm_remote_peer_cache_remove (const char *node_name) | 
| void | crm_remote_peer_cache_refresh (xmlNode *cib) | 
| Repopulate the remote peer cache based on CIB XML.  More... | |
| gboolean | crm_is_peer_active (const crm_node_t *node) | 
| guint | reap_crm_member (uint32_t id, const char *name) | 
| Remove all peer cache entries matching a node ID and/or uname.  More... | |
| guint | crm_active_peers (void) | 
| void | crm_peer_init (void) | 
| void | crm_peer_destroy (void) | 
| void | crm_set_status_callback (void(*dispatch)(enum crm_status_type, crm_node_t *, const void *)) | 
| Set a client function that will be called after peer status changes.  More... | |
| void | crm_set_autoreap (gboolean autoreap) | 
| Tell the library whether to automatically reap lost nodes.  More... | |
| crm_node_t * | crm_find_peer_full (unsigned int id, const char *uname, int flags) | 
| crm_node_t * | crm_get_peer_full (unsigned int id, const char *uname, int flags) | 
| crm_node_t * | crm_find_peer (unsigned int id, const char *uname) | 
| crm_node_t * | crm_get_peer (unsigned int id, const char *uname) | 
| crm_node_t * | crm_update_peer (const char *source, unsigned int id, uint64_t born, uint64_t seen, int32_t votes, uint32_t children, const char *uuid, const char *uname, const char *addr, const char *state) | 
| void | crm_update_peer_uname (crm_node_t *node, const char *uname) | 
| crm_node_t * | crm_update_peer_proc (const char *source, crm_node_t *node, uint32_t flag, const char *status) | 
| void | crm_update_peer_expected (const char *source, crm_node_t *node, const char *expected) | 
| crm_node_t * | crm_update_peer_state (const char *source, crm_node_t *node, const char *state, int membership) | 
| Update a node's state and membership information.  More... | |
| void | crm_reap_unseen_nodes (uint64_t membership) | 
| int | crm_terminate_member (int nodeid, const char *uname, void *unused) | 
| int | crm_terminate_member_no_mainloop (int nodeid, const char *uname, int *connection) | 
Variables | |
| GHashTable * | crm_peer_cache = NULL | 
| GHashTable * | crm_remote_peer_cache = NULL | 
| unsigned long long | crm_peer_seq = 0 | 
| gboolean | crm_have_quorum = FALSE | 
| void(* | crm_status_callback )(enum crm_status_type, crm_node_t *, const void *) = NULL | 
| #define _GNU_SOURCE | 
Definition at line 21 of file membership.c.
| #define s_if_plural | ( | i | ) | (((i) == 1)? "" : "s") | 
Definition at line 35 of file membership.c.
| #define XPATH_GUEST_NODE_CONFIG | 
Definition at line 236 of file membership.c.
| #define XPATH_REMOTE_NODE_CONFIG | 
Definition at line 242 of file membership.c.
| #define XPATH_REMOTE_NODE_STATUS | 
Definition at line 247 of file membership.c.
| guint crm_active_peers | ( | void | ) | 
Definition at line 393 of file membership.c.
| crm_node_t* crm_find_peer | ( | unsigned int | id, | 
| const char * | uname | ||
| ) | 
Definition at line 540 of file membership.c.
| crm_node_t* crm_find_peer_full | ( | unsigned int | id, | 
| const char * | uname, | ||
| int | flags | ||
| ) | 
Definition at line 502 of file membership.c.
| crm_node_t* crm_get_peer | ( | unsigned int | id, | 
| const char * | uname | ||
| ) | 
Definition at line 676 of file membership.c.
| crm_node_t* crm_get_peer_full | ( | unsigned int | id, | 
| const char * | uname, | ||
| int | flags | ||
| ) | 
Definition at line 521 of file membership.c.
| gboolean crm_is_peer_active | ( | const crm_node_t * | node | ) | 
Definition at line 295 of file membership.c.
| void crm_peer_destroy | ( | void | ) | 
Definition at line 431 of file membership.c.
| void crm_peer_init | ( | void | ) | 
Definition at line 419 of file membership.c.
| void crm_reap_unseen_nodes | ( | uint64_t | membership | ) | 
Definition at line 1089 of file membership.c.
| void crm_remote_peer_cache_add | ( | const char * | node_name | ) | 
Add a node to the remote peer cache.
| [in] | node_name | Name of remote node | 
Definition at line 137 of file membership.c.
| void crm_remote_peer_cache_refresh | ( | xmlNode * | cib | ) | 
Repopulate the remote peer cache based on CIB XML.
| [in] | xmlNode | CIB XML to parse | 
Definition at line 257 of file membership.c.
| void crm_remote_peer_cache_remove | ( | const char * | node_name | ) | 
Definition at line 143 of file membership.c.
| int crm_remote_peer_cache_size | ( | void | ) | 
Definition at line 69 of file membership.c.
| crm_node_t* crm_remote_peer_get | ( | const char * | node_name | ) | 
Get a remote node peer cache entry, creating it if necessary.
| [in] | node_name | Name of remote node | 
Definition at line 89 of file membership.c.
| void crm_set_autoreap | ( | gboolean | autoreap | ) | 
Tell the library whether to automatically reap lost nodes.
If TRUE (the default), calling crm_update_peer_proc() will also update the peer state to CRM_NODE_MEMBER or CRM_NODE_LOST, and crm_update_peer_state() will reap peers whose state changes to anything other than CRM_NODE_MEMBER. Callers should leave this enabled unless they plan to manage the cache separately on their own.
| [in] | autoreap | TRUE to enable automatic reaping, FALSE to disable | 
Definition at line 476 of file membership.c.
| void crm_set_status_callback | ( | void(*)(enum crm_status_type, crm_node_t *, const void *) | dispatch | ) | 
Set a client function that will be called after peer status changes.
| [in] | dispatch | Pointer to function to use as callback | 
Definition at line 459 of file membership.c.
| int crm_terminate_member | ( | int | nodeid, | 
| const char * | uname, | ||
| void * | unused | ||
| ) | 
Definition at line 1115 of file membership.c.
| int crm_terminate_member_no_mainloop | ( | int | nodeid, | 
| const char * | uname, | ||
| int * | connection | ||
| ) | 
Definition at line 1122 of file membership.c.
| crm_node_t* crm_update_peer | ( | const char * | source, | 
| unsigned int | id, | ||
| uint64_t | born, | ||
| uint64_t | seen, | ||
| int32_t | votes, | ||
| uint32_t | children, | ||
| const char * | uuid, | ||
| const char * | uname, | ||
| const char * | addr, | ||
| const char * | state | ||
| ) | 
Definition at line 755 of file membership.c.
| void crm_update_peer_expected | ( | const char * | source, | 
| crm_node_t * | node, | ||
| const char * | expected | ||
| ) | 
Definition at line 965 of file membership.c.
| crm_node_t* crm_update_peer_proc | ( | const char * | source, | 
| crm_node_t * | node, | ||
| uint32_t | flag, | ||
| const char * | status | ||
| ) | 
Definition at line 891 of file membership.c.
| crm_node_t* crm_update_peer_state | ( | const char * | source, | 
| crm_node_t * | node, | ||
| const char * | state, | ||
| int | membership | ||
| ) | 
Update a node's state and membership information.
| [in] | source | Caller's function name (for log messages) | 
| [in] | node | Node object to update | 
| [in] | state | Node's new state | 
| [in] | membership | Node's new membership ID | 
Definition at line 1077 of file membership.c.
| void crm_update_peer_uname | ( | crm_node_t * | node, | 
| const char * | uname | ||
| ) | 
Definition at line 838 of file membership.c.
| guint reap_crm_member | ( | uint32_t | id, | 
| const char * | name | ||
| ) | 
Remove all peer cache entries matching a node ID and/or uname.
| [in] | id | ID of node to remove (or 0 to ignore) | 
| [in] | name | Uname of node to remove (or NULL to ignore) | 
Definition at line 352 of file membership.c.
| gboolean crm_have_quorum = FALSE | 
Definition at line 65 of file membership.c.
| GHashTable* crm_peer_cache = NULL | 
Definition at line 44 of file membership.c.
| unsigned long long crm_peer_seq = 0 | 
Definition at line 64 of file membership.c.
| GHashTable* crm_remote_peer_cache = NULL | 
Definition at line 62 of file membership.c.
| void(* crm_status_callback)(enum crm_status_type, crm_node_t *, const void *) = NULL | 
Definition at line 446 of file membership.c.
 1.8.5