pacemaker 3.0.1-16e74fc4da
Scalable High-Availability cluster resource manager
Loading...
Searching...
No Matches
resources.c
Go to the documentation of this file.
1/*
2 * Copyright 2024 the Pacemaker project contributors
3 *
4 * The version control history for this file may have further details.
5 *
6 * This source code is licensed under the GNU Lesser General Public License
7 * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
8 */
9
10#include <crm_internal.h>
11
12#include <stdio.h> // NULL
13#include <stdbool.h> // bool, false
14
17
24void
25pcmk__free_resource(gpointer user_data)
26{
27 pcmk_resource_t *rsc = user_data;
28
29 if (rsc != NULL) {
30 rsc->priv->fns->free(rsc);
31 }
32}
33
42const char *
44{
45 return (rsc == NULL)? NULL : rsc->id;
46}
47
56bool
58{
59 return (rsc == NULL)? false : pcmk_is_set(rsc->flags, pcmk__rsc_managed);
60}
61
69const char *
71{
72 switch (rsc->priv->multiply_active_policy) {
74 return "shutting it down";
76 return "attempting recovery";
78 return "waiting for an administrator";
80 return "stopping unexpected instances";
81 }
82 return "Unknown";
83}
#define pcmk_is_set(g, f)
Convenience alias for pcmk_all_flags_set(), to check single flag.
Definition util.h:80
const char * pcmk__multiply_active_text(const pcmk_resource_t *rsc)
Get readable description of a multiply-active recovery type.
Definition resources.c:70
void pcmk__free_resource(gpointer user_data)
Definition resources.c:25
bool pcmk_resource_is_managed(const pcmk_resource_t *rsc)
Definition resources.c:57
const char * pcmk_resource_id(const pcmk_resource_t *rsc)
Definition resources.c:43
@ pcmk__rsc_managed
@ pcmk__multiply_active_restart
Stop on all, start on desired.
@ pcmk__multiply_active_block
Do nothing to resource.
@ pcmk__multiply_active_stop
Stop on all and leave stopped.
@ pcmk__multiply_active_unexpected
Stop unexpected instances.
Scheduler API.
enum pcmk__multiply_active multiply_active_policy
const pcmk__rsc_methods_t * fns
unsigned long long flags
Definition resources.h:69
pcmk__resource_private_t * priv
Definition resources.h:61
void(* free)(pcmk_resource_t *rsc)