#include <crm_internal.h>
#include <inttypes.h>
#include <stdbool.h>
#include <stdio.h>
#include <string.h>
#include <sys/param.h>
#include <sys/types.h>
#include <unistd.h>
#include <glib.h>
#include <crm/common/ipc.h>
#include <crm/common/xml_internal.h>
#include <crm/cluster/internal.h>
#include <crm/common/xml.h>
#include <crm/stonith-ng.h>
#include "crmcluster_private.h"
#include <crm/cluster/compat.h>
Go to the source code of this file.
|
bool | pcmk__cluster_has_quorum (void) |
|
void | pcmk__cluster_set_quorum (bool quorate) |
|
unsigned int | pcmk__cluster_num_remote_nodes (void) |
|
pcmk__node_status_t * | pcmk__cluster_lookup_remote_node (const char *node_name) |
|
void | pcmk__cluster_forget_remote_node (const char *node_name) |
|
bool | pcmk__cluster_is_node_active (const pcmk__node_status_t *node) |
|
void | pcmk__cluster_forget_cluster_node (uint32_t id, const char *node_name) |
|
unsigned int | pcmk__cluster_num_active_nodes (void) |
|
void | pcmk__cluster_init_node_caches (void) |
|
void | pcmk__cluster_destroy_node_caches (void) |
|
void | pcmk__cluster_set_status_callback (void(*dispatch)(enum pcmk__node_update, pcmk__node_status_t *, const void *)) |
|
void | pcmk__cluster_set_autoreap (bool enable) |
|
pcmk__node_status_t * | pcmk__search_node_caches (unsigned int id, const char *uname, const char *xml_id, uint32_t flags) |
|
void | pcmk__purge_node_from_cache (const char *node_name, uint32_t node_id) |
|
pcmk__node_status_t * | pcmk__get_node (unsigned int id, const char *uname, const char *xml_id, uint32_t flags) |
|
pcmk__node_status_t * | crm_update_peer_proc (const char *source, pcmk__node_status_t *node, uint32_t flag, const char *status) |
|
void | pcmk__update_peer_expected (const char *source, pcmk__node_status_t *node, const char *expected) |
|
pcmk__node_status_t * | pcmk__update_peer_state (const char *source, pcmk__node_status_t *node, const char *state, uint64_t membership) |
| Update a node's state and membership information.
|
|
void | pcmk__reap_unseen_nodes (uint64_t membership) |
|
void | pcmk__refresh_node_caches_from_cib (xmlNode *cib) |
|
void | crm_peer_init (void) |
|
◆ clear_peer_flags
#define clear_peer_flags |
( |
| peer, |
|
|
| flags_to_clear ) |
Value: do { \
(peer)->
flags = pcmk__clear_flags_as(__func__, __LINE__, \
(peer)->
flags, (flags_to_clear), \
#flags_to_clear); \
} while (0)
Definition at line 77 of file membership.c.
◆ set_peer_flags
#define set_peer_flags |
( |
| peer, |
|
|
| flags_to_set ) |
Value: do { \
(peer)->
flags, (flags_to_set), \
#flags_to_set); \
} while (0)
Definition at line 70 of file membership.c.
◆ crm_peer_init()
void crm_peer_init |
( |
void | | ) |
|
◆ crm_update_peer_proc()
◆ pcmk__cluster_destroy_node_caches()
void pcmk__cluster_destroy_node_caches |
( |
void | | ) |
|
◆ pcmk__cluster_forget_cluster_node()
void pcmk__cluster_forget_cluster_node |
( |
uint32_t | id, |
|
|
const char * | node_name ) |
◆ pcmk__cluster_forget_remote_node()
void pcmk__cluster_forget_remote_node |
( |
const char * | node_name | ) |
|
◆ pcmk__cluster_has_quorum()
bool pcmk__cluster_has_quorum |
( |
void | | ) |
|
◆ pcmk__cluster_init_node_caches()
void pcmk__cluster_init_node_caches |
( |
void | | ) |
|
◆ pcmk__cluster_is_node_active()
◆ pcmk__cluster_lookup_remote_node()
◆ pcmk__cluster_num_active_nodes()
unsigned int pcmk__cluster_num_active_nodes |
( |
void | | ) |
|
◆ pcmk__cluster_num_remote_nodes()
unsigned int pcmk__cluster_num_remote_nodes |
( |
void | | ) |
|
◆ pcmk__cluster_set_autoreap()
void pcmk__cluster_set_autoreap |
( |
bool | enable | ) |
|
◆ pcmk__cluster_set_quorum()
void pcmk__cluster_set_quorum |
( |
bool | quorate | ) |
|
◆ pcmk__cluster_set_status_callback()
◆ pcmk__get_node()
pcmk__node_status_t * pcmk__get_node |
( |
unsigned int | id, |
|
|
const char * | uname, |
|
|
const char * | xml_id, |
|
|
uint32_t | flags ) |
◆ pcmk__purge_node_from_cache()
void pcmk__purge_node_from_cache |
( |
const char * | node_name, |
|
|
uint32_t | node_id ) |
◆ pcmk__reap_unseen_nodes()
void pcmk__reap_unseen_nodes |
( |
uint64_t | membership | ) |
|
◆ pcmk__refresh_node_caches_from_cib()
void pcmk__refresh_node_caches_from_cib |
( |
xmlNode * | cib | ) |
|
◆ pcmk__search_node_caches()
pcmk__node_status_t * pcmk__search_node_caches |
( |
unsigned int | id, |
|
|
const char * | uname, |
|
|
const char * | xml_id, |
|
|
uint32_t | flags ) |
◆ pcmk__update_peer_expected()
void pcmk__update_peer_expected |
( |
const char * | source, |
|
|
pcmk__node_status_t * | node, |
|
|
const char * | expected ) |
◆ pcmk__update_peer_state()
Update a node's state and membership information.
- Parameters
-
[in] | source | Caller's function name (for log messages) |
[in,out] | node | Node object to update |
[in] | state | Node's new state |
[in] | membership | Node's new membership ID |
- Returns
- NULL if any node was reaped, value of node otherwise
- Note
- If this function returns NULL, the supplied node object was likely freed and should not be used again. This function should not be called within a cache iteration if reaping is possible, otherwise reaping could invalidate the iterator.
Definition at line 1341 of file membership.c.
◆ pcmk__peer_cache
GHashTable* pcmk__peer_cache = NULL |
◆ pcmk__remote_peer_cache
GHashTable* pcmk__remote_peer_cache = NULL |