rsc               436 daemons/attrd/attrd_corosync.c     const char *rsc = crm_element_value(xml, PCMK__XA_ATTR_RESOURCE);
rsc               452 daemons/attrd/attrd_corosync.c     if (attrd_failure_regex(&regex, rsc, op, interval_ms) != pcmk_ok) {
rsc               454 daemons/attrd/attrd_corosync.c                  pcmk__s(rsc, "all resources"));
rsc               467 daemons/attrd/attrd_corosync.c                       attr, pcmk__s(rsc, "all resources"));
rsc                91 daemons/attrd/attrd_ipc.c     const char *rsc, *op, *interval_spec;
rsc               102 daemons/attrd/attrd_ipc.c     rsc = crm_element_value(xml, PCMK__XA_ATTR_RESOURCE);
rsc               111 daemons/attrd/attrd_ipc.c     if (rsc) {
rsc               115 daemons/attrd/attrd_ipc.c             pattern = crm_strdup_printf(ATTRD_RE_CLEAR_ONE, rsc);
rsc               122 daemons/attrd/attrd_ipc.c                                         rsc, op, interval_ms);
rsc               203 daemons/attrd/attrd_utils.c attrd_failure_regex(regex_t *regex, const char *rsc, const char *op,
rsc               211 daemons/attrd/attrd_utils.c     if (rsc == NULL) {
rsc               214 daemons/attrd/attrd_utils.c         pattern = crm_strdup_printf(ATTRD_RE_CLEAR_ONE, rsc);
rsc               216 daemons/attrd/attrd_utils.c         pattern = crm_strdup_printf(ATTRD_RE_CLEAR_OP, rsc, op, interval_ms);
rsc                89 daemons/attrd/pacemaker-attrd.h int attrd_failure_regex(regex_t *regex, const char *rsc, const char *op,
rsc               130 daemons/controld/controld_attrd.c update_attrd_clear_failures(const char *host, const char *rsc, const char *op,
rsc               144 daemons/controld/controld_attrd.c         rc = pcmk__attrd_api_clear_failures(attrd_api, host, rsc, op,
rsc               155 daemons/controld/controld_attrd.c                 pcmk__s(rsc, "all resources"), node_type(is_remote_node), host,
rsc               647 daemons/controld/controld_cib.c                                      const lrmd_rsc_info_t *rsc,
rsc               673 daemons/controld/controld_cib.c     if ((rsc == NULL) || (op->params == NULL)
rsc               674 daemons/controld/controld_cib.c         || !crm_op_needs_metadata(rsc->standard, op->op_type)) {
rsc               677 daemons/controld/controld_cib.c                   op->op_type, op->rsc_id, op->params, rsc);
rsc               694 daemons/controld/controld_cib.c     metadata = controld_get_rsc_metadata(lrm_state, rsc,
rsc               702 daemons/controld/controld_cib.c               rsc->standard, rsc->provider, rsc->type);
rsc               720 daemons/controld/controld_cib.c controld_record_pending_op(const char *node_name, const lrmd_rsc_info_t *rsc,
rsc               725 daemons/controld/controld_cib.c     CRM_CHECK((node_name != NULL) && (rsc != NULL) && (op != NULL),
rsc               741 daemons/controld/controld_cib.c                         rsc->id, op->op_type);
rsc               754 daemons/controld/controld_cib.c     controld_update_resource_history(node_name, rsc, op, 0);
rsc               869 daemons/controld/controld_cib.c                                  const lrmd_rsc_info_t *rsc,
rsc               880 daemons/controld/controld_cib.c     if (rsc == NULL) {
rsc               882 daemons/controld/controld_cib.c         controld_ack_event_directly(NULL, NULL, rsc, op, op->rsc_id);
rsc               911 daemons/controld/controld_cib.c     crm_xml_add(xml, PCMK_XA_CLASS, rsc->standard);
rsc               912 daemons/controld/controld_cib.c     crm_xml_add(xml, PCMK_XA_PROVIDER, rsc->provider);
rsc               913 daemons/controld/controld_cib.c     crm_xml_add(xml, PCMK_XA_TYPE, rsc->type);
rsc               934 daemons/controld/controld_cib.c     controld_add_resource_history_xml(xml, rsc, op, node_name);
rsc                78 daemons/controld/controld_cib.h                                           const lrmd_rsc_info_t *rsc,
rsc                82 daemons/controld/controld_cib.h #define controld_add_resource_history_xml(parent, rsc, op, node_name)   \
rsc                83 daemons/controld/controld_cib.h     controld_add_resource_history_xml_as(__func__, (parent), (rsc),     \
rsc                87 daemons/controld/controld_cib.h                                 const lrmd_rsc_info_t *rsc,
rsc                91 daemons/controld/controld_cib.h                                       const lrmd_rsc_info_t *rsc,
rsc                32 daemons/controld/controld_execd.c     const char *rsc;
rsc                44 daemons/controld/controld_execd.c static void do_lrm_rsc_op(lrm_state_t *lrm_state, lrmd_rsc_info_t *rsc,
rsc                61 daemons/controld/controld_execd.c make_stop_id(const char *rsc, int call_id)
rsc                63 daemons/controld/controld_execd.c     return crm_strdup_printf("%s:%d", rsc, call_id);
rsc               145 daemons/controld/controld_execd.c     free(history->rsc.type);
rsc               146 daemons/controld/controld_execd.c     free(history->rsc.standard);
rsc               147 daemons/controld/controld_execd.c     free(history->rsc.provider);
rsc               157 daemons/controld/controld_execd.c update_history_cache(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, lrmd_event_data_t * op)
rsc               176 daemons/controld/controld_execd.c     if (entry == NULL && rsc) {
rsc               181 daemons/controld/controld_execd.c         entry->rsc.id = entry->id;
rsc               182 daemons/controld/controld_execd.c         entry->rsc.type = pcmk__str_copy(rsc->type);
rsc               183 daemons/controld/controld_execd.c         entry->rsc.standard = pcmk__str_copy(rsc->standard);
rsc               184 daemons/controld/controld_execd.c         entry->rsc.provider = pcmk__str_copy(rsc->provider);
rsc               265 daemons/controld/controld_execd.c                  const char *rsc_id, const lrmd_rsc_info_t *rsc,
rsc               271 daemons/controld/controld_execd.c     controld_ack_event_directly(ack_host, ack_sys, rsc, op, rsc_id);
rsc               546 daemons/controld/controld_execd.c         crm_xml_add(xml_rsc, PCMK_XA_TYPE, entry->rsc.type);
rsc               547 daemons/controld/controld_execd.c         crm_xml_add(xml_rsc, PCMK_XA_CLASS, entry->rsc.standard);
rsc               548 daemons/controld/controld_execd.c         crm_xml_add(xml_rsc, PCMK_XA_PROVIDER, entry->rsc.provider);
rsc               560 daemons/controld/controld_execd.c         controld_add_resource_history_xml(xml_rsc, &(entry->rsc), entry->failed,
rsc               562 daemons/controld/controld_execd.c         controld_add_resource_history_xml(xml_rsc, &(entry->rsc), entry->last,
rsc               565 daemons/controld/controld_execd.c             controld_add_resource_history_xml(xml_rsc, &(entry->rsc), gIter->data,
rsc               686 daemons/controld/controld_execd.c     if (pcmk__str_eq(event->rsc, op->rsc, pcmk__str_none)) {
rsc               687 daemons/controld/controld_execd.c         notify_deleted(event->lrm_state, op->input, event->rsc, event->rc);
rsc               696 daemons/controld/controld_execd.c     const char *rsc = user_data;
rsc               699 daemons/controld/controld_execd.c     if (pcmk__str_eq(rsc, pending->rsc_id, pcmk__str_none)) {
rsc               701 daemons/controld/controld_execd.c                  pending->op_key, pending->call_id, rsc);
rsc               739 daemons/controld/controld_execd.c     event.rsc = rsc_id;
rsc               852 daemons/controld/controld_execd.c     lrmd_rsc_info_t *rsc;
rsc               865 daemons/controld/controld_execd.c         remove = !cancel_op(data->lrm_state, data->rsc->id, key, op->call_id, data->remove);
rsc               871 daemons/controld/controld_execd.c cancel_op_key(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, const char *key, gboolean remove)
rsc               876 daemons/controld/controld_execd.c     CRM_CHECK(rsc != NULL, return FALSE);
rsc               880 daemons/controld/controld_execd.c     data.rsc = rsc;
rsc               966 daemons/controld/controld_execd.c delete_resource(lrm_state_t *lrm_state, const char *id, lrmd_rsc_info_t *rsc,
rsc               975 daemons/controld/controld_execd.c     if (rsc && unregister) {
rsc               988 daemons/controld/controld_execd.c             op->rsc = pcmk__str_copy(rsc->id);
rsc              1071 daemons/controld/controld_execd.c         delete_resource(lrm_state, entry->id, &entry->rsc, &gIter, from_sys,
rsc              1164 daemons/controld/controld_execd.c     lrmd_rsc_info_t *rsc = NULL;
rsc              1196 daemons/controld/controld_execd.c     if (get_lrm_resource(lrm_state, xml_rsc, TRUE, &rsc) == pcmk_ok) {
rsc              1197 daemons/controld/controld_execd.c         crm_info("Failing resource %s...", rsc->id);
rsc              1202 daemons/controld/controld_execd.c         lrmd_free_rsc_info(rsc);
rsc              1238 daemons/controld/controld_execd.c               lrmd_rsc_info_t *rsc, const char *from_host, const char *from_sys)
rsc              1264 daemons/controld/controld_execd.c     op_key = pcmk__op_key(rsc->id, op_task, interval_ms);
rsc              1275 daemons/controld/controld_execd.c         in_progress = cancel_op_key(lrm_state, rsc, op_key, TRUE);
rsc              1279 daemons/controld/controld_execd.c         in_progress = cancel_op(lrm_state, rsc->id, NULL, call, TRUE);
rsc              1283 daemons/controld/controld_execd.c     if (!in_progress || is_remote_lrmd_ra(NULL, NULL, rsc->id)) {
rsc              1284 daemons/controld/controld_execd.c         char *op_id = make_stop_id(rsc->id, call);
rsc              1286 daemons/controld/controld_execd.c         if (is_remote_lrmd_ra(NULL, NULL, rsc->id) == FALSE) {
rsc              1289 daemons/controld/controld_execd.c         controld_delete_action_history_by_key(rsc->id, lrm_state->node_name,
rsc              1291 daemons/controld/controld_execd.c         send_task_ok_ack(lrm_state, input, rsc->id, rsc, op_task,
rsc              1307 daemons/controld/controld_execd.c               lrmd_rsc_info_t *rsc, const char *from_sys, const char *from_host,
rsc              1311 daemons/controld/controld_execd.c     int cib_rc = controld_delete_resource_history(rsc->id, lrm_state->node_name,
rsc              1318 daemons/controld/controld_execd.c         op = construct_op(lrm_state, input->xml, rsc->id, PCMK_ACTION_DELETE);
rsc              1324 daemons/controld/controld_execd.c         controld_ack_event_directly(from_host, from_sys, NULL, op, rsc->id);
rsc              1329 daemons/controld/controld_execd.c     if (crm_rsc_delete && is_remote_lrmd_ra(NULL, NULL, rsc->id)) {
rsc              1333 daemons/controld/controld_execd.c     delete_resource(lrm_state, rsc->id, rsc, NULL, from_sys,
rsc              1339 daemons/controld/controld_execd.c     lrmd_rsc_info_t *rsc;   // Copy of resource information
rsc              1344 daemons/controld/controld_execd.c new_metadata_cb_data(lrmd_rsc_info_t *rsc, xmlNode *input_xml)
rsc              1350 daemons/controld/controld_execd.c     data->rsc = lrmd_copy_rsc_info(rsc);
rsc              1357 daemons/controld/controld_execd.c     lrmd_free_rsc_info(data->rsc);
rsc              1380 daemons/controld/controld_execd.c         md = controld_cache_metadata(lrm_state->metadata_cache, data->rsc,
rsc              1384 daemons/controld/controld_execd.c         do_lrm_rsc_op(lrm_state, data->rsc, data->input_xml, md);
rsc              1461 daemons/controld/controld_execd.c         lrmd_rsc_info_t *rsc = NULL;
rsc              1471 daemons/controld/controld_execd.c         rc = get_lrm_resource(lrm_state, xml_rsc, create_rsc, &rsc);
rsc              1513 daemons/controld/controld_execd.c             if (!do_lrm_cancel(input, lrm_state, rsc, from_host, from_sys)) {
rsc              1519 daemons/controld/controld_execd.c             do_lrm_delete(input, lrm_state, rsc, from_sys, from_host,
rsc              1534 daemons/controld/controld_execd.c                 md = controld_get_rsc_metadata(lrm_state, rsc,
rsc              1538 daemons/controld/controld_execd.c             if ((md == NULL) && crm_op_needs_metadata(rsc->standard,
rsc              1553 daemons/controld/controld_execd.c                 data = new_metadata_cb_data(rsc, input->xml);
rsc              1555 daemons/controld/controld_execd.c                          rsc->id, rsc->standard,
rsc              1556 daemons/controld/controld_execd.c                          ((rsc->provider == NULL)? "" : ":"),
rsc              1557 daemons/controld/controld_execd.c                          ((rsc->provider == NULL)? "" : rsc->provider),
rsc              1558 daemons/controld/controld_execd.c                          rsc->type);
rsc              1559 daemons/controld/controld_execd.c                 (void) lrmd__metadata_async(rsc, metadata_complete,
rsc              1562 daemons/controld/controld_execd.c                 do_lrm_rsc_op(lrm_state, rsc, input->xml, md);
rsc              1566 daemons/controld/controld_execd.c         lrmd_free_rsc_info(rsc);
rsc              1714 daemons/controld/controld_execd.c                             const lrmd_rsc_info_t *rsc, lrmd_event_data_t *op,
rsc              1742 daemons/controld/controld_execd.c     controld_add_resource_history_xml(iter, rsc, op,
rsc              1790 daemons/controld/controld_execd.c     lrmd_rsc_info_t *rsc;
rsc              1802 daemons/controld/controld_execd.c         && pcmk__str_eq(op->rsc_id, event->rsc->id, pcmk__str_none)) {
rsc              1805 daemons/controld/controld_execd.c         remove = !cancel_op(event->lrm_state, event->rsc->id, key, op->call_id, FALSE);
rsc              1889 daemons/controld/controld_execd.c do_lrm_rsc_op(lrm_state_t *lrm_state, lrmd_rsc_info_t *rsc, xmlNode *msg,
rsc              1901 daemons/controld/controld_execd.c     CRM_CHECK((rsc != NULL) && (msg != NULL), return);
rsc              1915 daemons/controld/controld_execd.c                 operation, rsc->id, pcmk__s(transition, ""));
rsc              1937 daemons/controld/controld_execd.c     op = construct_op(lrm_state, msg, rsc->id, operation);
rsc              1940 daemons/controld/controld_execd.c     if (should_cancel_recurring(rsc->id, operation, op->interval_ms)) {
rsc              1944 daemons/controld/controld_execd.c         data.rsc = rsc;
rsc              1953 daemons/controld/controld_execd.c                       rsc->id, operation, op->interval_ms);
rsc              1960 daemons/controld/controld_execd.c                pcmk__readable_action(op->op_type, op->interval_ms), rsc->id,
rsc              1961 daemons/controld/controld_execd.c                lrm_state->node_name, pcmk__s(transition, ""), rsc->id,
rsc              1967 daemons/controld/controld_execd.c                    "(shutdown=%s)", operation, rsc->id,
rsc              1974 daemons/controld/controld_execd.c         controld_ack_event_directly(NULL, NULL, rsc, op, rsc->id);
rsc              1980 daemons/controld/controld_execd.c     controld_record_pending_op(lrm_state->node_name, rsc, op);
rsc              1982 daemons/controld/controld_execd.c     op_id = pcmk__op_key(rsc->id, op->op_type, op->interval_ms);
rsc              1986 daemons/controld/controld_execd.c         cancel_op_key(lrm_state, rsc, op_id, FALSE);
rsc              1989 daemons/controld/controld_execd.c     rc = controld_execute_resource_agent(lrm_state, rsc->id, op->op_type,
rsc              1997 daemons/controld/controld_execd.c         char *call_id_s = make_stop_id(rsc->id, call_id);
rsc              2007 daemons/controld/controld_execd.c         pending->rsc_id = pcmk__str_copy(rsc->id);
rsc              2023 daemons/controld/controld_execd.c             controld_ack_event_directly(NULL, NULL, rsc, op, rsc->id);
rsc              2031 daemons/controld/controld_execd.c                 QB_XS " rc=%d", operation, rsc->id, pcmk_rc_str(rc), rc);
rsc              2040 daemons/controld/controld_execd.c                 operation, rsc->id, lrm_state->node_name, pcmk_rc_str(rc), rc);
rsc              2195 daemons/controld/controld_execd.c     lrmd_rsc_info_t *rsc = NULL;
rsc              2222 daemons/controld/controld_execd.c         rsc = lrm_state_get_rsc_info(lrm_state, op->rsc_id, 0);
rsc              2224 daemons/controld/controld_execd.c     if ((rsc == NULL) && action_xml) {
rsc              2236 daemons/controld/controld_execd.c             rsc = lrmd_new_rsc_info(op->rsc_id, standard, provider, type);
rsc              2280 daemons/controld/controld_execd.c             if (node_name && rsc) {
rsc              2284 daemons/controld/controld_execd.c                 controld_update_resource_history(node_name, rsc, op, lock_time);
rsc              2388 daemons/controld/controld_execd.c         } else if (rsc && (op->rc == PCMK_OCF_OK)) {
rsc              2391 daemons/controld/controld_execd.c             controld_cache_metadata(lrm_state->metadata_cache, rsc, metadata);
rsc              2408 daemons/controld/controld_execd.c     if (lrm_state && rsc) {
rsc              2409 daemons/controld/controld_execd.c         update_history_cache(lrm_state, rsc, op);
rsc              2412 daemons/controld/controld_execd.c     lrmd_free_rsc_info(rsc);
rsc                42 daemons/controld/controld_execd_state.c     free(op->rsc);
rsc               692 daemons/controld/controld_execd_state.c     lrmd_rsc_info_t *rsc = NULL;
rsc               701 daemons/controld/controld_execd_state.c     rsc = g_hash_table_lookup(lrm_state->rsc_info_cache, rsc_id);
rsc               702 daemons/controld/controld_execd_state.c     if (rsc == NULL) {
rsc               704 daemons/controld/controld_execd_state.c         rsc = ((lrmd_t *) lrm_state->conn)->cmds->get_rsc_info(lrm_state->conn, rsc_id, options);
rsc               705 daemons/controld/controld_execd_state.c         if (rsc == NULL) {
rsc               709 daemons/controld/controld_execd_state.c         g_hash_table_insert(lrm_state->rsc_info_cache, rsc->id, rsc);
rsc               712 daemons/controld/controld_execd_state.c     return lrmd_copy_rsc_info(rsc);
rsc                23 daemons/controld/controld_lrm.h     lrmd_rsc_info_t rsc;
rsc                83 daemons/controld/controld_lrm.h     char *rsc;
rsc               170 daemons/controld/controld_lrm.h                                  const lrmd_rsc_info_t *rsc,
rsc               639 daemons/controld/controld_messages.c     const char *rsc = NULL;
rsc               657 daemons/controld/controld_messages.c             rsc = pcmk__xe_id(xml_rsc);
rsc               669 daemons/controld/controld_messages.c     if ((rsc == NULL) || (uname == NULL)) {
rsc               680 daemons/controld/controld_messages.c               pcmk__readable_interval(interval_ms), rsc, uname);
rsc               685 daemons/controld/controld_messages.c     update_attrd_clear_failures(uname, rsc, op, interval_spec, is_remote_node);
rsc               688 daemons/controld/controld_messages.c     controld_cib_delete_last_failure(rsc, uname, op, interval_ms);
rsc               690 daemons/controld/controld_messages.c     lrm_clear_last_failure(rsc, uname, op, interval_ms);
rsc               116 daemons/controld/controld_metadata.c controld_cache_metadata(GHashTable *mdc, const lrmd_rsc_info_t *rsc,
rsc               127 daemons/controld/controld_metadata.c     CRM_CHECK(mdc && rsc && metadata_str, return NULL);
rsc               129 daemons/controld/controld_metadata.c     key = crm_generate_ra_key(rsc->standard, rsc->provider, rsc->type);
rsc               143 daemons/controld/controld_metadata.c     if (strcmp(rsc->standard, PCMK_RESOURCE_CLASS_OCF) == 0) {
rsc               190 daemons/controld/controld_metadata.c                      PCMK_XA_NAME, rsc->standard, rsc->provider, rsc->type);
rsc               227 daemons/controld/controld_metadata.c              rsc->id, rsc->standard, ((rsc->provider == NULL)? "" : ":"),
rsc               228 daemons/controld/controld_metadata.c              pcmk__s(rsc->provider, ""), rsc->type, reason);
rsc               247 daemons/controld/controld_metadata.c controld_get_rsc_metadata(lrm_state_t *lrm_state, const lrmd_rsc_info_t *rsc,
rsc               255 daemons/controld/controld_metadata.c     CRM_CHECK((lrm_state != NULL) && (rsc != NULL), return NULL);
rsc               258 daemons/controld/controld_metadata.c         key = crm_generate_ra_key(rsc->standard, rsc->provider, rsc->type);
rsc               265 daemons/controld/controld_metadata.c                       rsc->id, rsc->standard,
rsc               266 daemons/controld/controld_metadata.c                       ((rsc->provider == NULL)? "" : ":"),
rsc               267 daemons/controld/controld_metadata.c                       ((rsc->provider == NULL)? "" : rsc->provider),
rsc               268 daemons/controld/controld_metadata.c                       rsc->type);
rsc               292 daemons/controld/controld_metadata.c               rsc->id, rsc->standard,
rsc               293 daemons/controld/controld_metadata.c               ((rsc->provider == NULL)? "" : ":"),
rsc               294 daemons/controld/controld_metadata.c               ((rsc->provider == NULL)? "" : rsc->provider),
rsc               295 daemons/controld/controld_metadata.c               rsc->type);
rsc               296 daemons/controld/controld_metadata.c     rc = lrm_state_get_metadata(lrm_state, rsc->standard, rsc->provider,
rsc               297 daemons/controld/controld_metadata.c                                 rsc->type, &metadata_str, 0);
rsc               300 daemons/controld/controld_metadata.c                  rsc->id, rsc->standard,
rsc               301 daemons/controld/controld_metadata.c                  ((rsc->provider == NULL)? "" : ":"),
rsc               302 daemons/controld/controld_metadata.c                  ((rsc->provider == NULL)? "" : rsc->provider),
rsc               303 daemons/controld/controld_metadata.c                  rsc->type, pcmk_strerror(rc));
rsc               307 daemons/controld/controld_metadata.c     metadata = controld_cache_metadata(lrm_state->metadata_cache, rsc,
rsc                75 daemons/controld/controld_metadata.h                                               const lrmd_rsc_info_t *rsc,
rsc                78 daemons/controld/controld_metadata.h                                                 const lrmd_rsc_info_t *rsc,
rsc               257 daemons/controld/controld_te_actions.c     xmlNode *rsc = NULL;
rsc               295 daemons/controld/controld_te_actions.c     rsc = pcmk__xe_create(state, PCMK__XE_LRM);
rsc               296 daemons/controld/controld_te_actions.c     crm_xml_add(rsc, PCMK_XA_ID, target_uuid);
rsc               298 daemons/controld/controld_te_actions.c     rsc = pcmk__xe_create(rsc, PCMK__XE_LRM_RESOURCES);
rsc               299 daemons/controld/controld_te_actions.c     rsc = pcmk__xe_create(rsc, PCMK__XE_LRM_RESOURCE);
rsc               300 daemons/controld/controld_te_actions.c     crm_xml_add(rsc, PCMK_XA_ID, rsc_id);
rsc               303 daemons/controld/controld_te_actions.c     crm_copy_xml_element(action_rsc, rsc, PCMK_XA_TYPE);
rsc               304 daemons/controld/controld_te_actions.c     crm_copy_xml_element(action_rsc, rsc, PCMK_XA_CLASS);
rsc               305 daemons/controld/controld_te_actions.c     crm_copy_xml_element(action_rsc, rsc, PCMK_XA_PROVIDER);
rsc               307 daemons/controld/controld_te_actions.c     pcmk__create_history_xml(rsc, op, CRM_FEATURE_SET, target_rc, target,
rsc                49 daemons/controld/controld_te_callbacks.c     xmlNode *rsc = NULL;
rsc                83 daemons/controld/controld_te_callbacks.c     for (rsc = pcmk__xe_first_child(xml, NULL, NULL, NULL); rsc != NULL;
rsc                84 daemons/controld/controld_te_callbacks.c          rsc = pcmk__xe_next(rsc, NULL)) {
rsc                85 daemons/controld/controld_te_callbacks.c         crm_trace("Processing %s", pcmk__xe_id(rsc));
rsc                86 daemons/controld/controld_te_callbacks.c         process_lrm_resource_diff(rsc, node);
rsc                54 daemons/controld/controld_utils.h void update_attrd_clear_failures(const char *host, const char *rsc,
rsc               448 daemons/execd/cts-exec-helper.c     pcmk_resource_t *rsc = NULL;
rsc               481 daemons/execd/cts-exec-helper.c     rsc = pe_find_resource_with_flags(scheduler->priv->resources,
rsc               485 daemons/execd/cts-exec-helper.c     if (rsc == NULL) {
rsc               492 daemons/execd/cts-exec-helper.c     params = pe_rsc_params(rsc, NULL, scheduler);
rsc               503 daemons/execd/cts-exec-helper.c     get_meta_attributes(meta, rsc, NULL, scheduler);
rsc               100 daemons/execd/execd_commands.c static void cmd_finalize(lrmd_cmd_t * cmd, lrmd_rsc_t * rsc);
rsc               102 daemons/execd/execd_commands.c static void cancel_all_recurring(lrmd_rsc_t * rsc, const char *client_id);
rsc               265 daemons/execd/execd_commands.c normalize_action_name(lrmd_rsc_t * rsc, const char *action)
rsc               268 daemons/execd/execd_commands.c         pcmk_is_set(pcmk_get_ra_caps(rsc->class), pcmk_ra_cap_status)) {
rsc               278 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = NULL;
rsc               280 daemons/execd/execd_commands.c     rsc = pcmk__assert_alloc(1, sizeof(lrmd_rsc_t));
rsc               282 daemons/execd/execd_commands.c     crm_element_value_int(msg, PCMK__XA_LRMD_CALLOPT, &rsc->call_opts);
rsc               284 daemons/execd/execd_commands.c     rsc->rsc_id = crm_element_value_copy(rsc_xml, PCMK__XA_LRMD_RSC_ID);
rsc               285 daemons/execd/execd_commands.c     rsc->class = crm_element_value_copy(rsc_xml, PCMK__XA_LRMD_CLASS);
rsc               286 daemons/execd/execd_commands.c     rsc->provider = crm_element_value_copy(rsc_xml, PCMK__XA_LRMD_PROVIDER);
rsc               287 daemons/execd/execd_commands.c     rsc->type = crm_element_value_copy(rsc_xml, PCMK__XA_LRMD_TYPE);
rsc               288 daemons/execd/execd_commands.c     rsc->work = mainloop_add_trigger(G_PRIORITY_HIGH, execute_resource_action,
rsc               289 daemons/execd/execd_commands.c                                      rsc);
rsc               292 daemons/execd/execd_commands.c     pcmk__set_result(&rsc->fence_probe_result, CRM_EX_ERROR,
rsc               294 daemons/execd/execd_commands.c     return rsc;
rsc               375 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc;
rsc               383 daemons/execd/execd_commands.c     rsc = g_hash_table_lookup(rsc_list, cmd->rsc_id);
rsc               385 daemons/execd/execd_commands.c     pcmk__assert(rsc != NULL);
rsc               388 daemons/execd/execd_commands.c     rsc->recurring_ops = g_list_remove(rsc->recurring_ops, cmd);
rsc               389 daemons/execd/execd_commands.c     rsc->pending_ops = g_list_append(rsc->pending_ops, cmd);
rsc               393 daemons/execd/execd_commands.c     mainloop_set_trigger(rsc->work);
rsc               414 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = NULL;
rsc               417 daemons/execd/execd_commands.c     rsc = cmd->rsc_id ? g_hash_table_lookup(rsc_list, cmd->rsc_id) : NULL;
rsc               419 daemons/execd/execd_commands.c     if (rsc) {
rsc               420 daemons/execd/execd_commands.c         mainloop_set_trigger(rsc->work);
rsc               447 daemons/execd/execd_commands.c merge_recurring_duplicate(lrmd_rsc_t * rsc, lrmd_cmd_t * cmd)
rsc               457 daemons/execd/execd_commands.c     dup = find_duplicate_action(rsc->pending_ops, cmd);
rsc               460 daemons/execd/execd_commands.c         dup = find_duplicate_action(rsc->recurring_ops, cmd);
rsc               469 daemons/execd/execd_commands.c     if (pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH,
rsc               480 daemons/execd/execd_commands.c              rsc->rsc_id, normalize_action_name(rsc, dup->action),
rsc               497 daemons/execd/execd_commands.c         if (pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH,
rsc               502 daemons/execd/execd_commands.c             services_action_kick(rsc->rsc_id,
rsc               503 daemons/execd/execd_commands.c                                  normalize_action_name(rsc, dup->action),
rsc               511 daemons/execd/execd_commands.c schedule_lrmd_cmd(lrmd_rsc_t * rsc, lrmd_cmd_t * cmd)
rsc               514 daemons/execd/execd_commands.c     CRM_CHECK(rsc != NULL, return);
rsc               516 daemons/execd/execd_commands.c     crm_trace("Scheduling %s on %s", cmd->action, rsc->rsc_id);
rsc               518 daemons/execd/execd_commands.c     if (merge_recurring_duplicate(rsc, cmd)) {
rsc               527 daemons/execd/execd_commands.c         cancel_all_recurring(rsc, NULL);
rsc               530 daemons/execd/execd_commands.c     rsc->pending_ops = g_list_append(rsc->pending_ops, cmd);
rsc               534 daemons/execd/execd_commands.c     mainloop_set_trigger(rsc->work);
rsc               731 daemons/execd/execd_commands.c cmd_finalize(lrmd_cmd_t * cmd, lrmd_rsc_t * rsc)
rsc               734 daemons/execd/execd_commands.c               rsc ? rsc->active : NULL, cmd);
rsc               736 daemons/execd/execd_commands.c     if (rsc && (rsc->active == cmd)) {
rsc               737 daemons/execd/execd_commands.c         rsc->active = NULL;
rsc               738 daemons/execd/execd_commands.c         mainloop_set_trigger(rsc->work);
rsc               741 daemons/execd/execd_commands.c     if (!rsc) {
rsc               753 daemons/execd/execd_commands.c         if (rsc) {
rsc               754 daemons/execd/execd_commands.c             rsc->recurring_ops = g_list_remove(rsc->recurring_ops, cmd);
rsc               755 daemons/execd/execd_commands.c             rsc->pending_ops = g_list_remove(rsc->pending_ops, cmd);
rsc               759 daemons/execd/execd_commands.c         if (rsc) {
rsc               760 daemons/execd/execd_commands.c             rsc->pending_ops = g_list_remove(rsc->pending_ops, cmd);
rsc               802 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = NULL;
rsc               806 daemons/execd/execd_commands.c     while (g_hash_table_iter_next(&iter, (gpointer *) & key, (gpointer *) & rsc)) {
rsc               807 daemons/execd/execd_commands.c         if (pcmk_all_flags_set(rsc->call_opts, lrmd_opt_drop_recurring)) {
rsc               810 daemons/execd/execd_commands.c             cancel_all_recurring(rsc, client_id);
rsc               818 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc;
rsc               846 daemons/execd/execd_commands.c     rsc = cmd->rsc_id ? g_hash_table_lookup(rsc_list, cmd->rsc_id) : NULL;
rsc               849 daemons/execd/execd_commands.c     if (rsc != NULL) {
rsc               850 daemons/execd/execd_commands.c         rclass = rsc->class;
rsc               854 daemons/execd/execd_commands.c             rclass = resources_find_service_class(rsc->type);
rsc               944 daemons/execd/execd_commands.c             if(rsc) {
rsc               945 daemons/execd/execd_commands.c                 rsc->active = NULL;
rsc               947 daemons/execd/execd_commands.c             schedule_lrmd_cmd(rsc, cmd);
rsc               968 daemons/execd/execd_commands.c     cmd_finalize(cmd, rsc);
rsc               986 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = g_hash_table_lookup(rsc_list, cmd->rsc_id);
rsc              1040 daemons/execd/execd_commands.c     if ((rsc != NULL) && pcmk__result_ok(&(cmd->result))) {
rsc              1043 daemons/execd/execd_commands.c             pcmk__set_result(&rsc->fence_probe_result, CRM_EX_OK,
rsc              1048 daemons/execd/execd_commands.c             pcmk__set_result(&rsc->fence_probe_result, CRM_EX_ERROR,
rsc              1062 daemons/execd/execd_commands.c     if (rsc && (cmd->interval_ms > 0)
rsc              1067 daemons/execd/execd_commands.c     cmd_finalize(cmd, rsc);
rsc              1088 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = NULL;
rsc              1094 daemons/execd/execd_commands.c     while (g_hash_table_iter_next(&iter, NULL, (gpointer *) &rsc)) {
rsc              1095 daemons/execd/execd_commands.c         if (!pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH,
rsc              1107 daemons/execd/execd_commands.c         if (rsc->fence_probe_result.execution_status == PCMK_EXEC_DONE) {
rsc              1108 daemons/execd/execd_commands.c             pcmk__set_result(&rsc->fence_probe_result, CRM_EX_ERROR,
rsc              1115 daemons/execd/execd_commands.c         for (GList *op = rsc->recurring_ops; op != NULL; op = op->next) {
rsc              1127 daemons/execd/execd_commands.c         if (rsc->active != NULL) {
rsc              1128 daemons/execd/execd_commands.c             rsc->pending_ops = g_list_prepend(rsc->pending_ops, rsc->active);
rsc              1130 daemons/execd/execd_commands.c         while (rsc->pending_ops != NULL) {
rsc              1132 daemons/execd/execd_commands.c             stonith_action_complete((lrmd_cmd_t *) rsc->pending_ops->data,
rsc              1153 daemons/execd/execd_commands.c execd_stonith_start(stonith_t *stonith_api, const lrmd_rsc_t *rsc,
rsc              1178 daemons/execd/execd_commands.c                                             cmd->rsc_id, rsc->provider,
rsc              1179 daemons/execd/execd_commands.c                                             rsc->type, device_params);
rsc              1198 daemons/execd/execd_commands.c execd_stonith_stop(stonith_t *stonith_api, const lrmd_rsc_t *rsc)
rsc              1204 daemons/execd/execd_commands.c                                             rsc->rsc_id);
rsc              1218 daemons/execd/execd_commands.c execd_stonith_monitor(stonith_t *stonith_api, lrmd_rsc_t *rsc, lrmd_cmd_t *cmd)
rsc              1227 daemons/execd/execd_commands.c         rsc->active = cmd;
rsc              1236 daemons/execd/execd_commands.c execute_stonith_action(lrmd_rsc_t *rsc, lrmd_cmd_t *cmd)
rsc              1246 daemons/execd/execd_commands.c         stonith_action_complete(cmd, rsc->fence_probe_result.exit_status,
rsc              1247 daemons/execd/execd_commands.c                                 rsc->fence_probe_result.execution_status,
rsc              1248 daemons/execd/execd_commands.c                                 rsc->fence_probe_result.exit_reason);
rsc              1258 daemons/execd/execd_commands.c         rc = execd_stonith_start(stonith_api, rsc, cmd);
rsc              1264 daemons/execd/execd_commands.c         rc = execd_stonith_stop(stonith_api, rsc);
rsc              1278 daemons/execd/execd_commands.c         rc = execd_stonith_monitor(stonith_api, rsc, cmd);
rsc              1292 daemons/execd/execd_commands.c execute_nonstonith_action(lrmd_rsc_t *rsc, lrmd_cmd_t *cmd)
rsc              1297 daemons/execd/execd_commands.c     pcmk__assert((rsc != NULL) && (cmd != NULL));
rsc              1300 daemons/execd/execd_commands.c               rsc->rsc_id, cmd->action, rsc->class, rsc->provider, rsc->type);
rsc              1304 daemons/execd/execd_commands.c     action = services__create_resource_action(rsc->rsc_id, rsc->class, rsc->provider,
rsc              1305 daemons/execd/execd_commands.c                                      rsc->type,
rsc              1306 daemons/execd/execd_commands.c                                      normalize_action_name(rsc, cmd->action),
rsc              1313 daemons/execd/execd_commands.c         cmd_finalize(cmd, rsc);
rsc              1321 daemons/execd/execd_commands.c         cmd_finalize(cmd, rsc);
rsc              1354 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = (lrmd_rsc_t *) user_data;
rsc              1357 daemons/execd/execd_commands.c     CRM_CHECK(rsc != NULL, return FALSE);
rsc              1359 daemons/execd/execd_commands.c     if (rsc->active) {
rsc              1360 daemons/execd/execd_commands.c         crm_trace("%s is still active", rsc->rsc_id);
rsc              1364 daemons/execd/execd_commands.c     if (rsc->pending_ops) {
rsc              1365 daemons/execd/execd_commands.c         GList *first = rsc->pending_ops;
rsc              1374 daemons/execd/execd_commands.c         rsc->pending_ops = g_list_remove_link(rsc->pending_ops, first);
rsc              1384 daemons/execd/execd_commands.c         crm_trace("Nothing further to do for %s", rsc->rsc_id);
rsc              1388 daemons/execd/execd_commands.c     rsc->active = cmd;          /* only one op at a time for a rsc */
rsc              1390 daemons/execd/execd_commands.c         rsc->recurring_ops = g_list_append(rsc->recurring_ops, cmd);
rsc              1395 daemons/execd/execd_commands.c     if (pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH, pcmk__str_casei)) {
rsc              1396 daemons/execd/execd_commands.c         execute_stonith_action(rsc, cmd);
rsc              1398 daemons/execd/execd_commands.c         execute_nonstonith_action(rsc, cmd);
rsc              1408 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = data;
rsc              1409 daemons/execd/execd_commands.c     int is_stonith = pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH,
rsc              1412 daemons/execd/execd_commands.c     gIter = rsc->pending_ops;
rsc              1424 daemons/execd/execd_commands.c     g_list_free(rsc->pending_ops);
rsc              1426 daemons/execd/execd_commands.c     gIter = rsc->recurring_ops;
rsc              1437 daemons/execd/execd_commands.c             if (rsc->active != cmd) {
rsc              1445 daemons/execd/execd_commands.c             services_action_cancel(rsc->rsc_id,
rsc              1446 daemons/execd/execd_commands.c                                    normalize_action_name(rsc, cmd->action),
rsc              1453 daemons/execd/execd_commands.c     g_list_free(rsc->recurring_ops);
rsc              1455 daemons/execd/execd_commands.c     free(rsc->rsc_id);
rsc              1456 daemons/execd/execd_commands.c     free(rsc->class);
rsc              1457 daemons/execd/execd_commands.c     free(rsc->provider);
rsc              1458 daemons/execd/execd_commands.c     free(rsc->type);
rsc              1459 daemons/execd/execd_commands.c     mainloop_destroy_trigger(rsc->work);
rsc              1461 daemons/execd/execd_commands.c     free(rsc);
rsc              1522 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = build_rsc_from_xml(request);
rsc              1523 daemons/execd/execd_commands.c     lrmd_rsc_t *dup = g_hash_table_lookup(rsc_list, rsc->rsc_id);
rsc              1526 daemons/execd/execd_commands.c         pcmk__str_eq(rsc->class, dup->class, pcmk__str_casei) &&
rsc              1527 daemons/execd/execd_commands.c         pcmk__str_eq(rsc->provider, dup->provider, pcmk__str_casei) && pcmk__str_eq(rsc->type, dup->type, pcmk__str_casei)) {
rsc              1529 daemons/execd/execd_commands.c         crm_notice("Ignoring duplicate registration of '%s'", rsc->rsc_id);
rsc              1530 daemons/execd/execd_commands.c         free_rsc(rsc);
rsc              1534 daemons/execd/execd_commands.c     g_hash_table_replace(rsc_list, rsc->rsc_id, rsc);
rsc              1535 daemons/execd/execd_commands.c     crm_info("Cached agent information for '%s'", rsc->rsc_id);
rsc              1547 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = NULL;
rsc              1552 daemons/execd/execd_commands.c         rsc = g_hash_table_lookup(rsc_list, rsc_id);
rsc              1553 daemons/execd/execd_commands.c         if (rsc == NULL) {
rsc              1560 daemons/execd/execd_commands.c     if (rsc) {
rsc              1561 daemons/execd/execd_commands.c         crm_xml_add(reply, PCMK__XA_LRMD_RSC_ID, rsc->rsc_id);
rsc              1562 daemons/execd/execd_commands.c         crm_xml_add(reply, PCMK__XA_LRMD_CLASS, rsc->class);
rsc              1563 daemons/execd/execd_commands.c         crm_xml_add(reply, PCMK__XA_LRMD_PROVIDER, rsc->provider);
rsc              1564 daemons/execd/execd_commands.c         crm_xml_add(reply, PCMK__XA_LRMD_TYPE, rsc->type);
rsc              1574 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = NULL;
rsc              1583 daemons/execd/execd_commands.c     rsc = g_hash_table_lookup(rsc_list, rsc_id);
rsc              1584 daemons/execd/execd_commands.c     if (rsc == NULL) {
rsc              1590 daemons/execd/execd_commands.c     if (rsc->active) {
rsc              1593 daemons/execd/execd_commands.c                   rsc->active, rsc_id);
rsc              1605 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = NULL;
rsc              1615 daemons/execd/execd_commands.c     if (!(rsc = g_hash_table_lookup(rsc_list, rsc_id))) {
rsc              1626 daemons/execd/execd_commands.c     schedule_lrmd_cmd(rsc, cmd);
rsc              1635 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = g_hash_table_lookup(rsc_list, rsc_id);
rsc              1648 daemons/execd/execd_commands.c     if (!rsc) {
rsc              1652 daemons/execd/execd_commands.c     for (gIter = rsc->pending_ops; gIter != NULL; gIter = gIter->next) {
rsc              1657 daemons/execd/execd_commands.c             cmd_finalize(cmd, rsc);
rsc              1662 daemons/execd/execd_commands.c     if (pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH, pcmk__str_casei)) {
rsc              1665 daemons/execd/execd_commands.c         for (gIter = rsc->recurring_ops; gIter != NULL; gIter = gIter->next) {
rsc              1670 daemons/execd/execd_commands.c                 if (rsc->active != cmd) {
rsc              1671 daemons/execd/execd_commands.c                     cmd_finalize(cmd, rsc);
rsc              1677 daemons/execd/execd_commands.c                                       normalize_action_name(rsc, action),
rsc              1690 daemons/execd/execd_commands.c cancel_all_recurring(lrmd_rsc_t * rsc, const char *client_id)
rsc              1701 daemons/execd/execd_commands.c     if (rsc->recurring_ops) {
rsc              1702 daemons/execd/execd_commands.c         cmd_list = g_list_concat(cmd_list, g_list_copy(rsc->recurring_ops));
rsc              1704 daemons/execd/execd_commands.c     if (rsc->pending_ops) {
rsc              1705 daemons/execd/execd_commands.c         cmd_list = g_list_concat(cmd_list, g_list_copy(rsc->pending_ops));
rsc              1722 daemons/execd/execd_commands.c         cancel_op(rsc->rsc_id, cmd->action, cmd->interval_ms);
rsc              1747 daemons/execd/execd_commands.c add_recurring_op_xml(xmlNode *reply, lrmd_rsc_t *rsc)
rsc              1751 daemons/execd/execd_commands.c     crm_xml_add(rsc_xml, PCMK__XA_LRMD_RSC_ID, rsc->rsc_id);
rsc              1752 daemons/execd/execd_commands.c     for (GList *item = rsc->recurring_ops; item != NULL; item = item->next) {
rsc              1768 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = NULL;
rsc              1783 daemons/execd/execd_commands.c         rsc = g_hash_table_lookup(rsc_list, rsc_id);
rsc              1784 daemons/execd/execd_commands.c         if (rsc == NULL) {
rsc              1800 daemons/execd/execd_commands.c                                       (gpointer *) &rsc)) {
rsc              1801 daemons/execd/execd_commands.c             add_recurring_op_xml(reply, rsc);
rsc              1803 daemons/execd/execd_commands.c     } else if (rsc) {
rsc              1804 daemons/execd/execd_commands.c         add_recurring_op_xml(reply, rsc);
rsc               112 daemons/fenced/fenced_scheduler.c local_node_allowed_for(const pcmk_resource_t *rsc)
rsc               114 daemons/fenced/fenced_scheduler.c     if ((rsc != NULL) && (scheduler->priv->local_node_name != NULL)) {
rsc               118 daemons/fenced/fenced_scheduler.c         g_hash_table_iter_init(&iter, rsc->priv->allowed_nodes);
rsc               140 daemons/fenced/fenced_scheduler.c     pcmk_resource_t *rsc = data;
rsc               141 daemons/fenced/fenced_scheduler.c     const char *rsc_id = pcmk__s(rsc->priv->history_id, rsc->id);
rsc               153 daemons/fenced/fenced_scheduler.c     if (rsc->priv->children != NULL) {
rsc               155 daemons/fenced/fenced_scheduler.c         for (GList *iter = rsc->priv->children;
rsc               159 daemons/fenced/fenced_scheduler.c             if (pcmk__is_clone(rsc)) {
rsc               166 daemons/fenced/fenced_scheduler.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_fence_device)) {
rsc               170 daemons/fenced/fenced_scheduler.c     if (pe__resource_is_disabled(rsc)) {
rsc               171 daemons/fenced/fenced_scheduler.c         crm_info("Ignoring fencing device %s because it is disabled", rsc->id);
rsc               176 daemons/fenced/fenced_scheduler.c         pcmk__str_eq(rsc->id, STONITH_WATCHDOG_ID, pcmk__str_none)) {
rsc               178 daemons/fenced/fenced_scheduler.c                  "because watchdog fencing is disabled", rsc->id);
rsc               183 daemons/fenced/fenced_scheduler.c     node = local_node_allowed_for(rsc);
rsc               186 daemons/fenced/fenced_scheduler.c                  "because local node is not allowed to run it", rsc->id);
rsc               192 daemons/fenced/fenced_scheduler.c                  rsc->id, pcmk_readable_score(node->assign->score));
rsc               197 daemons/fenced/fenced_scheduler.c     if (pcmk__is_group(rsc->priv->parent)) {
rsc               198 daemons/fenced/fenced_scheduler.c         pcmk_node_t *group_node = local_node_allowed_for(rsc->priv->parent);
rsc               203 daemons/fenced/fenced_scheduler.c                      rsc->id, pcmk_readable_score(group_node->assign->score));
rsc               208 daemons/fenced/fenced_scheduler.c     crm_debug("Reloading configuration of fencing device %s", rsc->id);
rsc               210 daemons/fenced/fenced_scheduler.c     agent = crm_element_value(rsc->priv->xml, PCMK_XA_TYPE);
rsc               212 daemons/fenced/fenced_scheduler.c     get_meta_attributes(rsc->priv->meta, rsc, NULL, scheduler);
rsc               213 daemons/fenced/fenced_scheduler.c     rsc_provides = g_hash_table_lookup(rsc->priv->meta,
rsc               216 daemons/fenced/fenced_scheduler.c     g_hash_table_iter_init(&hash_iter, pe_rsc_params(rsc, node, scheduler));
rsc               203 include/crm/common/actions_internal.h     pcmk_resource_t *rsc;   // Resource to apply action to, if any
rsc                47 include/crm/common/bundles_internal.h pcmk__is_bundle(const pcmk_resource_t *rsc)
rsc                49 include/crm/common/bundles_internal.h     return (rsc != NULL) && (rsc->priv->variant == pcmk__rsc_variant_bundle);
rsc                61 include/crm/common/bundles_internal.h pcmk__is_bundled(const pcmk_resource_t *rsc)
rsc                63 include/crm/common/bundles_internal.h     if (rsc == NULL) {
rsc                66 include/crm/common/bundles_internal.h     while (rsc->priv->parent != NULL) {
rsc                67 include/crm/common/bundles_internal.h         rsc = rsc->priv->parent;
rsc                69 include/crm/common/bundles_internal.h     return rsc->priv->variant == pcmk__rsc_variant_bundle;
rsc                47 include/crm/common/clone_internal.h pcmk__is_clone(const pcmk_resource_t *rsc)
rsc                49 include/crm/common/clone_internal.h     return (rsc != NULL) && (rsc->priv->variant == pcmk__rsc_variant_clone);
rsc                61 include/crm/common/clone_internal.h pcmk__is_unique_clone(const pcmk_resource_t *rsc)
rsc                63 include/crm/common/clone_internal.h     return pcmk__is_clone(rsc) && pcmk_is_set(rsc->flags, pcmk__rsc_unique);
rsc                75 include/crm/common/clone_internal.h pcmk__is_anonymous_clone(const pcmk_resource_t *rsc)
rsc                77 include/crm/common/clone_internal.h     return pcmk__is_clone(rsc) && !pcmk_is_set(rsc->flags, pcmk__rsc_unique);
rsc                39 include/crm/common/group_internal.h pcmk__is_group(const pcmk_resource_t *rsc)
rsc                41 include/crm/common/group_internal.h     return (rsc != NULL) && (rsc->priv->variant == pcmk__rsc_variant_group);
rsc                26 include/crm/common/location_internal.h     pcmk_resource_t *rsc;               // Resource with location preference
rsc                31 include/crm/common/primitive_internal.h pcmk__is_primitive(const pcmk_resource_t *rsc)
rsc                33 include/crm/common/primitive_internal.h     if (rsc == NULL) {
rsc                36 include/crm/common/primitive_internal.h     return rsc->priv->variant == pcmk__rsc_variant_primitive;
rsc                73 include/crm/common/resources.h const char *pcmk_resource_id(const pcmk_resource_t *rsc);
rsc                74 include/crm/common/resources.h bool pcmk_resource_is_managed(const pcmk_resource_t *rsc);
rsc               190 include/crm/common/resources_internal.h     gboolean (*unpack)(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler);
rsc               203 include/crm/common/resources_internal.h     pcmk_resource_t *(*find_rsc)(pcmk_resource_t *rsc, const char *search,
rsc               219 include/crm/common/resources_internal.h     char *(*parameter)(pcmk_resource_t *rsc, pcmk_node_t *node, gboolean create,
rsc               231 include/crm/common/resources_internal.h     gboolean (*active)(pcmk_resource_t *rsc, gboolean all);
rsc               242 include/crm/common/resources_internal.h     enum rsc_role_e (*state)(const pcmk_resource_t *rsc, gboolean current);
rsc               255 include/crm/common/resources_internal.h     pcmk_node_t *(*location)(const pcmk_resource_t *rsc, GList **list,
rsc               264 include/crm/common/resources_internal.h     void (*free)(pcmk_resource_t *rsc);
rsc               275 include/crm/common/resources_internal.h     void (*count)(pcmk_resource_t *rsc);
rsc               288 include/crm/common/resources_internal.h     gboolean (*is_filtered)(const pcmk_resource_t *rsc, GList *only_rsc,
rsc               304 include/crm/common/resources_internal.h     pcmk_node_t *(*active_node)(const pcmk_resource_t *rsc,
rsc               316 include/crm/common/resources_internal.h     unsigned int (*max_per_node)(const pcmk_resource_t *rsc);
rsc               445 include/crm/common/resources_internal.h const char *pcmk__multiply_active_text(const pcmk_resource_t *rsc);
rsc               456 include/crm/common/resources_internal.h pcmk__current_node(const pcmk_resource_t *rsc)
rsc               458 include/crm/common/resources_internal.h     if (rsc == NULL) {
rsc               461 include/crm/common/resources_internal.h     return rsc->priv->fns->active_node(rsc, NULL, NULL);
rsc               207 include/crm/common/scheduler_internal.h #define pcmk__rsc_info(rsc, fmt, args...)   \
rsc               208 include/crm/common/scheduler_internal.h     crm_log_tag(LOG_INFO, ((rsc) == NULL)? "<NULL>" : (rsc)->id, (fmt), ##args)
rsc               217 include/crm/common/scheduler_internal.h #define pcmk__rsc_debug(rsc, fmt, args...)  \
rsc               218 include/crm/common/scheduler_internal.h     crm_log_tag(LOG_DEBUG, ((rsc) == NULL)? "<NULL>" : (rsc)->id, (fmt), ##args)
rsc               227 include/crm/common/scheduler_internal.h #define pcmk__rsc_trace(rsc, fmt, args...)  \
rsc               228 include/crm/common/scheduler_internal.h     crm_log_tag(LOG_TRACE, ((rsc) == NULL)? "<NULL>" : (rsc)->id, (fmt), ##args)
rsc                43 include/crm/lrmd_internal.h int lrmd__metadata_async(const lrmd_rsc_info_t *rsc,
rsc                21 include/crm/pengine/complex.h GHashTable *pe_rsc_params(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc                23 include/crm/pengine/complex.h void get_meta_attributes(GHashTable * meta_hash, pcmk_resource_t *rsc,
rsc                25 include/crm/pengine/complex.h void get_rsc_attributes(GHashTable *meta_hash, const pcmk_resource_t *rsc,
rsc                28 include/crm/pengine/complex.h gboolean is_parent(pcmk_resource_t *child, pcmk_resource_t *rsc);
rsc                29 include/crm/pengine/complex.h pcmk_resource_t *uber_parent(pcmk_resource_t *rsc);
rsc                28 include/crm/pengine/internal.h const char *pe__resource_description(const pcmk_resource_t *rsc,
rsc                38 include/crm/pengine/internal.h const pcmk_resource_t *pe__const_top_resource(const pcmk_resource_t *rsc,
rsc                53 include/crm/pengine/internal.h pcmk_action_t *pe__new_rsc_pseudo_action(pcmk_resource_t *rsc, const char *task,
rsc                61 include/crm/pengine/internal.h char *native_parameter(pcmk_resource_t *rsc, pcmk_node_t *node, gboolean create,
rsc                63 include/crm/pengine/internal.h pcmk_node_t *native_location(const pcmk_resource_t *rsc, GList **list,
rsc                65 include/crm/pengine/internal.h void native_add_running(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc                68 include/crm/pengine/internal.h gboolean native_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler);
rsc                69 include/crm/pengine/internal.h gboolean group_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler);
rsc                70 include/crm/pengine/internal.h gboolean clone_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler);
rsc                71 include/crm/pengine/internal.h gboolean pe__unpack_bundle(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler);
rsc                73 include/crm/pengine/internal.h pcmk_resource_t *native_find_rsc(pcmk_resource_t *rsc, const char *id,
rsc                76 include/crm/pengine/internal.h gboolean native_active(pcmk_resource_t *rsc, gboolean all);
rsc                77 include/crm/pengine/internal.h gboolean group_active(pcmk_resource_t *rsc, gboolean all);
rsc                78 include/crm/pengine/internal.h gboolean clone_active(pcmk_resource_t *rsc, gboolean all);
rsc                79 include/crm/pengine/internal.h gboolean pe__bundle_active(pcmk_resource_t *rsc, gboolean all);
rsc                81 include/crm/pengine/internal.h gchar *pcmk__native_output_string(const pcmk_resource_t *rsc, const char *name,
rsc                92 include/crm/pengine/internal.h                                     pcmk_resource_t *rsc,
rsc               111 include/crm/pengine/internal.h void native_free(pcmk_resource_t *rsc);
rsc               112 include/crm/pengine/internal.h void group_free(pcmk_resource_t *rsc);
rsc               113 include/crm/pengine/internal.h void clone_free(pcmk_resource_t *rsc);
rsc               114 include/crm/pengine/internal.h void pe__free_bundle(pcmk_resource_t *rsc);
rsc               116 include/crm/pengine/internal.h enum rsc_role_e native_resource_state(const pcmk_resource_t *rsc,
rsc               118 include/crm/pengine/internal.h enum rsc_role_e group_resource_state(const pcmk_resource_t *rsc,
rsc               120 include/crm/pengine/internal.h enum rsc_role_e clone_resource_state(const pcmk_resource_t *rsc,
rsc               122 include/crm/pengine/internal.h enum rsc_role_e pe__bundle_resource_state(const pcmk_resource_t *rsc,
rsc               125 include/crm/pengine/internal.h void pe__count_common(pcmk_resource_t *rsc);
rsc               126 include/crm/pengine/internal.h void pe__count_bundle(pcmk_resource_t *rsc);
rsc               128 include/crm/pengine/internal.h void common_free(pcmk_resource_t *rsc);
rsc               135 include/crm/pengine/internal.h int pe_get_failcount(const pcmk_node_t *node, pcmk_resource_t *rsc,
rsc               139 include/crm/pengine/internal.h pcmk_action_t *pe__clear_failcount(pcmk_resource_t *rsc,
rsc               145 include/crm/pengine/internal.h bool pe__count_active_node(const pcmk_resource_t *rsc, pcmk_node_t *node,
rsc               149 include/crm/pengine/internal.h pcmk_node_t *pe__find_active_requires(const pcmk_resource_t *rsc,
rsc               160 include/crm/pengine/internal.h                              int line, bool to_log, const pcmk_resource_t *rsc,
rsc               164 include/crm/pengine/internal.h #define pe__show_node_scores(level, rsc, text, nodes, scheduler)    \
rsc               166 include/crm/pengine/internal.h                                 (level), (rsc), (text), (nodes), (scheduler))
rsc               168 include/crm/pengine/internal.h GHashTable *pcmk__unpack_action_meta(pcmk_resource_t *rsc,
rsc               175 include/crm/pengine/internal.h xmlNode *pcmk__find_action_config(const pcmk_resource_t *rsc,
rsc               179 include/crm/pengine/internal.h enum pcmk__requires pcmk__action_requires(const pcmk_resource_t *rsc,
rsc               182 include/crm/pengine/internal.h enum pcmk__on_fail pcmk__parse_on_fail(const pcmk_resource_t *rsc,
rsc               186 include/crm/pengine/internal.h enum rsc_role_e pcmk__role_after_failure(const pcmk_resource_t *rsc,
rsc               191 include/crm/pengine/internal.h pcmk_action_t *custom_action(pcmk_resource_t *rsc, char *key, const char *task,
rsc               195 include/crm/pengine/internal.h #define delete_key(rsc)  pcmk__op_key((rsc)->id, PCMK_ACTION_DELETE, 0)
rsc               196 include/crm/pengine/internal.h #define stop_key(rsc)    pcmk__op_key((rsc)->id, PCMK_ACTION_STOP, 0)
rsc               197 include/crm/pengine/internal.h #define reload_key(rsc)  pcmk__op_key((rsc)->id, PCMK_ACTION_RELOAD_AGENT, 0)
rsc               198 include/crm/pengine/internal.h #define start_key(rsc)   pcmk__op_key((rsc)->id, PCMK_ACTION_START, 0)
rsc               199 include/crm/pengine/internal.h #define promote_key(rsc) pcmk__op_key((rsc)->id, PCMK_ACTION_PROMOTE, 0)
rsc               200 include/crm/pengine/internal.h #define demote_key(rsc)  pcmk__op_key((rsc)->id, PCMK_ACTION_DEMOTE, 0)
rsc               202 include/crm/pengine/internal.h #define delete_action(rsc, node, optional)                          \
rsc               203 include/crm/pengine/internal.h     custom_action((rsc), delete_key(rsc), PCMK_ACTION_DELETE,       \
rsc               204 include/crm/pengine/internal.h                   (node), (optional), (rsc)->priv->scheduler)
rsc               206 include/crm/pengine/internal.h #define stop_action(rsc, node, optional)                            \
rsc               207 include/crm/pengine/internal.h     custom_action((rsc), stop_key(rsc), PCMK_ACTION_STOP,           \
rsc               208 include/crm/pengine/internal.h                   (node), (optional), (rsc)->priv->scheduler)
rsc               210 include/crm/pengine/internal.h #define start_action(rsc, node, optional)                           \
rsc               211 include/crm/pengine/internal.h     custom_action((rsc), start_key(rsc), PCMK_ACTION_START,         \
rsc               212 include/crm/pengine/internal.h                   (node), (optional), (rsc)->priv->scheduler)
rsc               214 include/crm/pengine/internal.h #define promote_action(rsc, node, optional)                         \
rsc               215 include/crm/pengine/internal.h     custom_action((rsc), promote_key(rsc), PCMK_ACTION_PROMOTE,     \
rsc               216 include/crm/pengine/internal.h                   (node), (optional), (rsc)->priv->scheduler)
rsc               218 include/crm/pengine/internal.h #define demote_action(rsc, node, optional)                          \
rsc               219 include/crm/pengine/internal.h     custom_action((rsc), demote_key(rsc), PCMK_ACTION_DEMOTE,       \
rsc               220 include/crm/pengine/internal.h                   (node), (optional), (rsc)->priv->scheduler)
rsc               225 include/crm/pengine/internal.h enum pcmk__action_type get_complex_task(const pcmk_resource_t *rsc,
rsc               231 include/crm/pengine/internal.h GList *pe__resource_actions(const pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               236 include/crm/pengine/internal.h void resource_location(pcmk_resource_t *rsc, const pcmk_node_t *node, int score,
rsc               241 include/crm/pengine/internal.h gboolean get_target_role(const pcmk_resource_t *rsc, enum rsc_role_e *role);
rsc               242 include/crm/pengine/internal.h void pe__set_next_role(pcmk_resource_t *rsc, enum rsc_role_e role,
rsc               254 include/crm/pengine/internal.h pe_base_name_eq(const pcmk_resource_t *rsc, const char *id)
rsc               256 include/crm/pengine/internal.h     if (id && rsc && rsc->id) {
rsc               258 include/crm/pengine/internal.h         size_t base_len = pe_base_name_end(rsc->id) - rsc->id + 1;
rsc               260 include/crm/pengine/internal.h         return (strlen(id) == base_len) && !strncmp(id, rsc->id, base_len);
rsc               268 include/crm/pengine/internal.h bool is_set_recursive(const pcmk_resource_t *rsc, long long flag, bool any);
rsc               270 include/crm/pengine/internal.h pcmk__op_digest_t *pe__calculate_digests(pcmk_resource_t *rsc, const char *task,
rsc               280 include/crm/pengine/internal.h pcmk__op_digest_t *rsc_action_digest_cmp(pcmk_resource_t *rsc,
rsc               288 include/crm/pengine/internal.h void trigger_unfencing(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc               298 include/crm/pengine/internal.h void pe__set_resource_flags_recursive(pcmk_resource_t *rsc, uint64_t flags);
rsc               299 include/crm/pengine/internal.h void pe__clear_resource_flags_recursive(pcmk_resource_t *rsc, uint64_t flags);
rsc               310 include/crm/pengine/internal.h int pe__common_output_text(pcmk__output_t *out, const pcmk_resource_t *rsc,
rsc               313 include/crm/pengine/internal.h int pe__common_output_html(pcmk__output_t *out, const pcmk_resource_t *rsc,
rsc               319 include/crm/pengine/internal.h int pe__bundle_max(const pcmk_resource_t *rsc);
rsc               322 include/crm/pengine/internal.h pcmk_resource_t *pe__bundled_resource(const pcmk_resource_t *rsc);
rsc               334 include/crm/pengine/internal.h bool pe__bundle_needs_remote_name(pcmk_resource_t *rsc);
rsc               335 include/crm/pengine/internal.h const char *pe__add_bundle_remote_name(pcmk_resource_t *rsc, xmlNode *xml,
rsc               337 include/crm/pengine/internal.h bool pe__is_universal_clone(const pcmk_resource_t *rsc,
rsc               339 include/crm/pengine/internal.h void pe__add_param_check(const xmlNode *rsc_op, pcmk_resource_t *rsc,
rsc               365 include/crm/pengine/internal.h bool pe__resource_is_disabled(const pcmk_resource_t *rsc);
rsc               366 include/crm/pengine/internal.h void pe__clear_resource_history(pcmk_resource_t *rsc, const pcmk_node_t *node);
rsc               370 include/crm/pengine/internal.h bool pe__rsc_has_tag(pcmk_scheduler_t *scheduler, const char *rsc,
rsc               375 include/crm/pengine/internal.h bool pe__rsc_running_on_only(const pcmk_resource_t *rsc,
rsc               377 include/crm/pengine/internal.h bool pe__rsc_running_on_any(pcmk_resource_t *rsc, GList *node_list);
rsc               382 include/crm/pengine/internal.h bool pcmk__rsc_filtered_by_node(pcmk_resource_t *rsc, GList *only_node);
rsc               384 include/crm/pengine/internal.h gboolean pe__bundle_is_filtered(const pcmk_resource_t *rsc, GList *only_rsc,
rsc               386 include/crm/pengine/internal.h gboolean pe__clone_is_filtered(const pcmk_resource_t *rsc, GList *only_rsc,
rsc               388 include/crm/pengine/internal.h gboolean pe__group_is_filtered(const pcmk_resource_t *rsc, GList *only_rsc,
rsc               390 include/crm/pengine/internal.h gboolean pe__native_is_filtered(const pcmk_resource_t *rsc, GList *only_rsc,
rsc               393 include/crm/pengine/internal.h xmlNode *pe__failed_probe_for_rsc(const pcmk_resource_t *rsc, const char *name);
rsc               395 include/crm/pengine/internal.h const char *pe__clone_child_id(const pcmk_resource_t *rsc);
rsc                23 include/crm/pengine/remote_internal.h                                                   const pcmk_resource_t *rsc);
rsc                31 include/crm/pengine/status.h const char *rsc_printable_id(const pcmk_resource_t *rsc);
rsc                54 include/crm/pengine/status.h GList *find_operations(const char *rsc, const char *node, gboolean active_filter,
rsc                58 include/crm/pengine/status.h int pe_bundle_replicas(const pcmk_resource_t *rsc);
rsc               106 include/crm/services.h     char *rsc;
rsc               222 include/pacemaker.h int pcmk_resource_digests(xmlNodePtr *xml, pcmk_resource_t *rsc,
rsc                25 include/pcmki/pcmki_resource.h int pcmk__resource_digests(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc               147 include/pcmki/pcmki_transition.h     int (*rsc) (pcmk__graph_t *graph, pcmk__graph_action_t *action);
rsc                27 lib/common/resources.c pcmk_resource_id(const pcmk_resource_t *rsc)
rsc                29 lib/common/resources.c     return (rsc == NULL)? NULL : rsc->id;
rsc                41 lib/common/resources.c pcmk_resource_is_managed(const pcmk_resource_t *rsc)
rsc                43 lib/common/resources.c     return (rsc == NULL)? false : pcmk_is_set(rsc->flags, pcmk__rsc_managed);
rsc                54 lib/common/resources.c pcmk__multiply_active_text(const pcmk_resource_t *rsc)
rsc                56 lib/common/resources.c     switch (rsc->priv->multiply_active_policy) {
rsc                19 lib/common/tests/actions/parse_op_key_test.c     char *rsc = NULL;
rsc                23 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("Fencing_monitor_60000", &rsc, &ty, &ms));
rsc                24 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "Fencing");
rsc                27 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc                31 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("R_monitor_100000", &rsc, &ty, &ms));
rsc                32 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "R");
rsc                35 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc                39 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("R_A_0", &rsc, &ty, &ms));
rsc                40 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "R");
rsc                43 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc                50 lib/common/tests/actions/parse_op_key_test.c     char *rsc = NULL;
rsc                54 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("__monitor_1000", &rsc, &ty, &ms));
rsc                55 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "_");
rsc                58 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc                61 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("___migrate_from_0", &rsc, &ty, &ms));
rsc                62 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "__");
rsc                65 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc                68 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("____pre_notify_stop_0", &rsc, &ty, &ms));
rsc                69 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "___");
rsc                72 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc                79 lib/common/tests/actions/parse_op_key_test.c     char *rsc = NULL;
rsc                83 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("ClusterIP:0_start_0", &rsc, &ty, &ms));
rsc                84 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "ClusterIP:0");
rsc                87 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc                90 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("imagestoreclone:1_post_notify_stop_0", &rsc, &ty, &ms));
rsc                91 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "imagestoreclone:1");
rsc                94 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc               101 lib/common/tests/actions/parse_op_key_test.c     char *rsc = NULL;
rsc               105 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("httpd-bundle-0_monitor_30000", &rsc, &ty, &ms));
rsc               106 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "httpd-bundle-0");
rsc               109 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc               112 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("httpd-bundle-ip-192.168.122.132_start_0", &rsc, &ty, &ms));
rsc               113 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "httpd-bundle-ip-192.168.122.132");
rsc               116 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc               123 lib/common/tests/actions/parse_op_key_test.c     char *rsc = NULL;
rsc               127 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("vm_migrate_from_0", &rsc, &ty, &ms));
rsc               128 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "vm");
rsc               131 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc               134 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("vm_migrate_to_0", &rsc, &ty, &ms));
rsc               135 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "vm");
rsc               138 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc               141 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("vm_idcc_devel_migrate_to_0", &rsc, &ty, &ms));
rsc               142 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "vm_idcc_devel");
rsc               145 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc               152 lib/common/tests/actions/parse_op_key_test.c     char *rsc = NULL;
rsc               156 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("rsc_drbd_7788:1_post_notify_start_0", &rsc, &ty, &ms));
rsc               157 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "rsc_drbd_7788:1");
rsc               160 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc               163 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("rabbitmq-bundle-clone_pre_notify_stop_0", &rsc, &ty, &ms));
rsc               164 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "rabbitmq-bundle-clone");
rsc               167 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc               170 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("post_notify_start_0", &rsc, &ty, &ms));
rsc               171 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "post_notify");
rsc               174 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc               178 lib/common/tests/actions/parse_op_key_test.c                              &rsc, &ty, &ms));
rsc               179 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "r");
rsc               182 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc               201 lib/common/tests/actions/parse_op_key_test.c     char *rsc = NULL;
rsc               204 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("Fencing_monitor_60000", &rsc, NULL, &ms));
rsc               205 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "Fencing");
rsc               207 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc               213 lib/common/tests/actions/parse_op_key_test.c     char *rsc = NULL;
rsc               216 lib/common/tests/actions/parse_op_key_test.c     assert_true(parse_op_key("Fencing_monitor_60000", &rsc, &ty, NULL));
rsc               217 lib/common/tests/actions/parse_op_key_test.c     assert_string_equal(rsc, "Fencing");
rsc               219 lib/common/tests/actions/parse_op_key_test.c     free(rsc);
rsc               226 lib/common/tests/actions/parse_op_key_test.c     char *rsc = NULL;
rsc               230 lib/common/tests/actions/parse_op_key_test.c     assert_false(parse_op_key("", &rsc, &ty, &ms));
rsc               231 lib/common/tests/actions/parse_op_key_test.c     assert_null(rsc);
rsc               235 lib/common/tests/actions/parse_op_key_test.c     assert_false(parse_op_key(NULL, &rsc, &ty, &ms));
rsc               236 lib/common/tests/actions/parse_op_key_test.c     assert_null(rsc);
rsc               244 lib/common/tests/actions/parse_op_key_test.c     char *rsc = NULL;
rsc               248 lib/common/tests/actions/parse_op_key_test.c     assert_false(parse_op_key("httpd-bundle-0", &rsc, &ty, &ms));
rsc               249 lib/common/tests/actions/parse_op_key_test.c     assert_null(rsc);
rsc               253 lib/common/tests/actions/parse_op_key_test.c     assert_false(parse_op_key("httpd-bundle-0_monitor", &rsc, &ty, &ms));
rsc               254 lib/common/tests/actions/parse_op_key_test.c     assert_null(rsc);
rsc               258 lib/common/tests/actions/parse_op_key_test.c     assert_false(parse_op_key("httpd-bundle-0_30000", &rsc, &ty, &ms));
rsc               259 lib/common/tests/actions/parse_op_key_test.c     assert_null(rsc);
rsc                37 lib/common/tests/nodes/pcmk_foreach_active_resource_test.c fn(pcmk_resource_t *rsc, void *user_data)
rsc                41 lib/common/tests/nodes/pcmk_foreach_active_resource_test.c     assert_string_equal(rsc->id, expected_id);
rsc              2536 lib/lrmd/lrmd_client.c lrmd__metadata_async(const lrmd_rsc_info_t *rsc,
rsc              2548 lib/lrmd/lrmd_client.c     if ((rsc == NULL) || (rsc->standard == NULL) || (rsc->type == NULL)) {
rsc              2557 lib/lrmd/lrmd_client.c     if (strcmp(rsc->standard, PCMK_RESOURCE_CLASS_STONITH) == 0) {
rsc              2558 lib/lrmd/lrmd_client.c         return stonith__metadata_async(rsc->type,
rsc              2563 lib/lrmd/lrmd_client.c     action = services__create_resource_action(pcmk__s(rsc->id, rsc->type),
rsc              2564 lib/lrmd/lrmd_client.c                                               rsc->standard, rsc->provider,
rsc              2565 lib/lrmd/lrmd_client.c                                               rsc->type,
rsc               104 lib/pacemaker/libpacemaker_private.h     pcmk_node_t *(*assign)(pcmk_resource_t *rsc, const pcmk_node_t *prefer,
rsc               113 lib/pacemaker/libpacemaker_private.h     void (*create_actions)(pcmk_resource_t *rsc);
rsc               124 lib/pacemaker/libpacemaker_private.h     bool (*create_probe)(pcmk_resource_t *rsc, pcmk_node_t *node);
rsc               132 lib/pacemaker/libpacemaker_private.h     void (*internal_constraints)(pcmk_resource_t *rsc);
rsc               171 lib/pacemaker/libpacemaker_private.h     GList *(*colocated_resources)(const pcmk_resource_t *rsc,
rsc               192 lib/pacemaker/libpacemaker_private.h     void (*with_this_colocations)(const pcmk_resource_t *rsc,
rsc               214 lib/pacemaker/libpacemaker_private.h     void (*this_with_colocations)(const pcmk_resource_t *rsc,
rsc               260 lib/pacemaker/libpacemaker_private.h     void (*apply_location)(pcmk_resource_t *rsc, pcmk__location_t *location);
rsc               312 lib/pacemaker/libpacemaker_private.h     void (*output_actions)(pcmk_resource_t *rsc);
rsc               320 lib/pacemaker/libpacemaker_private.h     void (*add_actions_to_graph)(pcmk_resource_t *rsc);
rsc               332 lib/pacemaker/libpacemaker_private.h     void (*add_graph_meta)(const pcmk_resource_t *rsc, xmlNode *xml);
rsc               349 lib/pacemaker/libpacemaker_private.h     void (*add_utilization)(const pcmk_resource_t *rsc,
rsc               359 lib/pacemaker/libpacemaker_private.h     void (*shutdown_lock)(pcmk_resource_t *rsc);
rsc               379 lib/pacemaker/libpacemaker_private.h pcmk_action_t *pcmk__new_cancel_action(pcmk_resource_t *rsc, const char *name,
rsc               396 lib/pacemaker/libpacemaker_private.h bool pcmk__check_action_config(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc               406 lib/pacemaker/libpacemaker_private.h void pcmk__create_recurring_actions(pcmk_resource_t *rsc);
rsc               409 lib/pacemaker/libpacemaker_private.h void pcmk__schedule_cancel(pcmk_resource_t *rsc, const char *call_id,
rsc               414 lib/pacemaker/libpacemaker_private.h void pcmk__reschedule_recurring(pcmk_resource_t *rsc, const char *task,
rsc               429 lib/pacemaker/libpacemaker_private.h void pcmk__add_rsc_actions_to_graph(pcmk_resource_t *rsc);
rsc               442 lib/pacemaker/libpacemaker_private.h void pcmk__order_vs_unfence(const pcmk_resource_t *rsc, pcmk_node_t *node,
rsc               479 lib/pacemaker/libpacemaker_private.h                                  const char *id, pcmk_resource_t **rsc,
rsc               496 lib/pacemaker/libpacemaker_private.h pcmk__location_t *pcmk__new_location(const char *id, pcmk_resource_t *rsc,
rsc               504 lib/pacemaker/libpacemaker_private.h void pcmk__apply_location(pcmk_resource_t *rsc, pcmk__location_t *constraint);
rsc               518 lib/pacemaker/libpacemaker_private.h                                        const pcmk_resource_t *rsc);
rsc               561 lib/pacemaker/libpacemaker_private.h                          const pcmk_resource_t *rsc);
rsc               565 lib/pacemaker/libpacemaker_private.h                               const pcmk_resource_t *rsc);
rsc               569 lib/pacemaker/libpacemaker_private.h                          const pcmk_resource_t *rsc);
rsc               573 lib/pacemaker/libpacemaker_private.h                               const pcmk_resource_t *rsc);
rsc               576 lib/pacemaker/libpacemaker_private.h GList *pcmk__with_this_colocations(const pcmk_resource_t *rsc);
rsc               579 lib/pacemaker/libpacemaker_private.h GList *pcmk__this_with_colocations(const pcmk_resource_t *rsc);
rsc               592 lib/pacemaker/libpacemaker_private.h                                     const pcmk_resource_t *rsc);
rsc               657 lib/pacemaker/libpacemaker_private.h void pcmk__add_promotion_scores(pcmk_resource_t *rsc);
rsc               660 lib/pacemaker/libpacemaker_private.h void pcmk__require_promotion_tickets(pcmk_resource_t *rsc);
rsc               663 lib/pacemaker/libpacemaker_private.h void pcmk__set_instance_roles(pcmk_resource_t *rsc);
rsc               669 lib/pacemaker/libpacemaker_private.h void pcmk__promotable_restart_ordering(pcmk_resource_t *rsc);
rsc               696 lib/pacemaker/libpacemaker_private.h bool pcmk__rsc_corresponds_to_guest(const pcmk_resource_t *rsc,
rsc               703 lib/pacemaker/libpacemaker_private.h void pcmk__substitute_remote_addr(pcmk_resource_t *rsc, GHashTable *params);
rsc               713 lib/pacemaker/libpacemaker_private.h pcmk_node_t *pcmk__primitive_assign(pcmk_resource_t *rsc,
rsc               718 lib/pacemaker/libpacemaker_private.h void pcmk__primitive_create_actions(pcmk_resource_t *rsc);
rsc               721 lib/pacemaker/libpacemaker_private.h void pcmk__primitive_internal_constraints(pcmk_resource_t *rsc);
rsc               734 lib/pacemaker/libpacemaker_private.h void pcmk__with_primitive_colocations(const pcmk_resource_t *rsc,
rsc               739 lib/pacemaker/libpacemaker_private.h void pcmk__primitive_with_colocations(const pcmk_resource_t *rsc,
rsc               744 lib/pacemaker/libpacemaker_private.h void pcmk__schedule_cleanup(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               748 lib/pacemaker/libpacemaker_private.h void pcmk__primitive_add_graph_meta(const pcmk_resource_t *rsc, xmlNode *xml);
rsc               751 lib/pacemaker/libpacemaker_private.h void pcmk__primitive_add_utilization(const pcmk_resource_t *rsc,
rsc               756 lib/pacemaker/libpacemaker_private.h void pcmk__primitive_shutdown_lock(pcmk_resource_t *rsc);
rsc               762 lib/pacemaker/libpacemaker_private.h pcmk_node_t *pcmk__group_assign(pcmk_resource_t *rsc, const pcmk_node_t *prefer,
rsc               766 lib/pacemaker/libpacemaker_private.h void pcmk__group_create_actions(pcmk_resource_t *rsc);
rsc               769 lib/pacemaker/libpacemaker_private.h void pcmk__group_internal_constraints(pcmk_resource_t *rsc);
rsc               778 lib/pacemaker/libpacemaker_private.h void pcmk__with_group_colocations(const pcmk_resource_t *rsc,
rsc               783 lib/pacemaker/libpacemaker_private.h void pcmk__group_with_colocations(const pcmk_resource_t *rsc,
rsc               796 lib/pacemaker/libpacemaker_private.h void pcmk__group_apply_location(pcmk_resource_t *rsc,
rsc               812 lib/pacemaker/libpacemaker_private.h GList *pcmk__group_colocated_resources(const pcmk_resource_t *rsc,
rsc               817 lib/pacemaker/libpacemaker_private.h void pcmk__group_add_utilization(const pcmk_resource_t *rsc,
rsc               822 lib/pacemaker/libpacemaker_private.h void pcmk__group_shutdown_lock(pcmk_resource_t *rsc);
rsc               828 lib/pacemaker/libpacemaker_private.h pcmk_node_t *pcmk__clone_assign(pcmk_resource_t *rsc, const pcmk_node_t *prefer,
rsc               832 lib/pacemaker/libpacemaker_private.h void pcmk__clone_create_actions(pcmk_resource_t *rsc);
rsc               835 lib/pacemaker/libpacemaker_private.h bool pcmk__clone_create_probe(pcmk_resource_t *rsc, pcmk_node_t *node);
rsc               838 lib/pacemaker/libpacemaker_private.h void pcmk__clone_internal_constraints(pcmk_resource_t *rsc);
rsc               847 lib/pacemaker/libpacemaker_private.h void pcmk__with_clone_colocations(const pcmk_resource_t *rsc,
rsc               852 lib/pacemaker/libpacemaker_private.h void pcmk__clone_with_colocations(const pcmk_resource_t *rsc,
rsc               857 lib/pacemaker/libpacemaker_private.h void pcmk__clone_apply_location(pcmk_resource_t *rsc,
rsc               865 lib/pacemaker/libpacemaker_private.h void pcmk__clone_add_actions_to_graph(pcmk_resource_t *rsc);
rsc               868 lib/pacemaker/libpacemaker_private.h void pcmk__clone_add_graph_meta(const pcmk_resource_t *rsc, xmlNode *xml);
rsc               871 lib/pacemaker/libpacemaker_private.h void pcmk__clone_add_utilization(const pcmk_resource_t *rsc,
rsc               876 lib/pacemaker/libpacemaker_private.h void pcmk__clone_shutdown_lock(pcmk_resource_t *rsc);
rsc               881 lib/pacemaker/libpacemaker_private.h pcmk_node_t *pcmk__bundle_assign(pcmk_resource_t *rsc,
rsc               885 lib/pacemaker/libpacemaker_private.h void pcmk__bundle_create_actions(pcmk_resource_t *rsc);
rsc               888 lib/pacemaker/libpacemaker_private.h bool pcmk__bundle_create_probe(pcmk_resource_t *rsc, pcmk_node_t *node);
rsc               891 lib/pacemaker/libpacemaker_private.h void pcmk__bundle_internal_constraints(pcmk_resource_t *rsc);
rsc               900 lib/pacemaker/libpacemaker_private.h void pcmk__with_bundle_colocations(const pcmk_resource_t *rsc,
rsc               905 lib/pacemaker/libpacemaker_private.h void pcmk__bundle_with_colocations(const pcmk_resource_t *rsc,
rsc               910 lib/pacemaker/libpacemaker_private.h void pcmk__bundle_apply_location(pcmk_resource_t *rsc,
rsc               918 lib/pacemaker/libpacemaker_private.h void pcmk__output_bundle_actions(pcmk_resource_t *rsc);
rsc               921 lib/pacemaker/libpacemaker_private.h void pcmk__bundle_add_actions_to_graph(pcmk_resource_t *rsc);
rsc               924 lib/pacemaker/libpacemaker_private.h void pcmk__bundle_add_utilization(const pcmk_resource_t *rsc,
rsc               929 lib/pacemaker/libpacemaker_private.h void pcmk__bundle_shutdown_lock(pcmk_resource_t *rsc);
rsc               939 lib/pacemaker/libpacemaker_private.h void pcmk__create_instance_actions(pcmk_resource_t *rsc, GList *instances);
rsc               948 lib/pacemaker/libpacemaker_private.h                                                 const pcmk_resource_t *rsc,
rsc              1008 lib/pacemaker/libpacemaker_private.h void pcmk__copy_node_tables(const pcmk_resource_t *rsc, GHashTable **copy);
rsc              1011 lib/pacemaker/libpacemaker_private.h void pcmk__restore_node_tables(pcmk_resource_t *rsc, GHashTable *backup);
rsc              1020 lib/pacemaker/libpacemaker_private.h pcmk_node_t *pcmk__top_allowed_node(const pcmk_resource_t *rsc,
rsc              1030 lib/pacemaker/libpacemaker_private.h bool pcmk__rsc_agent_changed(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc              1038 lib/pacemaker/libpacemaker_private.h GList *pcmk__colocated_resources(const pcmk_resource_t *rsc,
rsc              1043 lib/pacemaker/libpacemaker_private.h void pcmk__noop_add_graph_meta(const pcmk_resource_t *rsc, xmlNode *xml);
rsc              1046 lib/pacemaker/libpacemaker_private.h void pcmk__output_resource_actions(pcmk_resource_t *rsc);
rsc              1049 lib/pacemaker/libpacemaker_private.h bool pcmk__assign_resource(pcmk_resource_t *rsc, pcmk_node_t *node, bool force,
rsc              1053 lib/pacemaker/libpacemaker_private.h void pcmk__unassign_resource(pcmk_resource_t *rsc);
rsc              1056 lib/pacemaker/libpacemaker_private.h bool pcmk__threshold_reached(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc              1072 lib/pacemaker/libpacemaker_private.h bool pcmk__probe_rsc_on_node(pcmk_resource_t *rsc, pcmk_node_t *node);
rsc              1086 lib/pacemaker/libpacemaker_private.h void pcmk__create_migration_actions(pcmk_resource_t *rsc,
rsc              1091 lib/pacemaker/libpacemaker_private.h bool pcmk__rsc_can_migrate(const pcmk_resource_t *rsc,
rsc              1105 lib/pacemaker/libpacemaker_private.h                                  const pcmk_resource_t *rsc);
rsc              1109 lib/pacemaker/libpacemaker_private.h                                  const pcmk_resource_t *rsc);
rsc              1112 lib/pacemaker/libpacemaker_private.h const pcmk_node_t *pcmk__ban_insufficient_capacity(pcmk_resource_t *rsc);
rsc              1115 lib/pacemaker/libpacemaker_private.h void pcmk__create_utilization_constraints(pcmk_resource_t *rsc,
rsc               216 lib/pacemaker/pcmk_graph_consumer.c     pcmk__assert((fns != NULL) && (fns->rsc != NULL) && (fns->cluster != NULL)
rsc               307 lib/pacemaker/pcmk_graph_consumer.c             return graph_fns->rsc(graph, action);
rsc               167 lib/pacemaker/pcmk_graph_producer.c     } else if ((action->rsc != NULL)
rsc               168 lib/pacemaker/pcmk_graph_producer.c                && pcmk_is_set(action->rsc->flags,
rsc               182 lib/pacemaker/pcmk_graph_producer.c             if ((input->rsc != NULL)
rsc               183 lib/pacemaker/pcmk_graph_producer.c                 && pcmk__str_eq(action->rsc->id, input->rsc->id, pcmk__str_none)
rsc               192 lib/pacemaker/pcmk_graph_producer.c             add_node_to_xml_by_id(action->rsc->id, downed);
rsc               214 lib/pacemaker/pcmk_graph_producer.c         return pcmk__notify_key(action->rsc->priv->history_id, n_type,
rsc               217 lib/pacemaker/pcmk_graph_producer.c     return pcmk__op_key(action->rsc->priv->history_id,
rsc               264 lib/pacemaker/pcmk_graph_producer.c                        (long long) action->rsc->priv->lock_time);
rsc               270 lib/pacemaker/pcmk_graph_producer.c                               (const char *) action->rsc->priv->xml->name);
rsc               271 lib/pacemaker/pcmk_graph_producer.c     if (pcmk_is_set(action->rsc->flags, pcmk__rsc_removed)
rsc               272 lib/pacemaker/pcmk_graph_producer.c         && (action->rsc->priv->history_id != NULL)) {
rsc               282 lib/pacemaker/pcmk_graph_producer.c                   action->rsc->id, action->rsc->priv->history_id);
rsc               283 lib/pacemaker/pcmk_graph_producer.c         crm_xml_add(rsc_xml, PCMK_XA_ID, action->rsc->priv->history_id);
rsc               284 lib/pacemaker/pcmk_graph_producer.c         crm_xml_add(rsc_xml, PCMK__XA_LONG_ID, action->rsc->id);
rsc               286 lib/pacemaker/pcmk_graph_producer.c     } else if (!pcmk_is_set(action->rsc->flags, pcmk__rsc_unique)) {
rsc               287 lib/pacemaker/pcmk_graph_producer.c         const char *xml_id = pcmk__xe_id(action->rsc->priv->xml);
rsc               290 lib/pacemaker/pcmk_graph_producer.c                   xml_id, action->rsc->id, action->rsc->priv->history_id);
rsc               306 lib/pacemaker/pcmk_graph_producer.c         if ((action->rsc->priv->history_id != NULL)
rsc               307 lib/pacemaker/pcmk_graph_producer.c             && !pcmk__str_eq(xml_id, action->rsc->priv->history_id,
rsc               310 lib/pacemaker/pcmk_graph_producer.c                         action->rsc->priv->history_id);
rsc               312 lib/pacemaker/pcmk_graph_producer.c             crm_xml_add(rsc_xml, PCMK__XA_LONG_ID, action->rsc->id);
rsc               316 lib/pacemaker/pcmk_graph_producer.c         pcmk__assert(action->rsc->priv->history_id == NULL);
rsc               317 lib/pacemaker/pcmk_graph_producer.c         crm_xml_add(rsc_xml, PCMK_XA_ID, action->rsc->id);
rsc               322 lib/pacemaker/pcmk_graph_producer.c                     g_hash_table_lookup(action->rsc->priv->meta,
rsc               338 lib/pacemaker/pcmk_graph_producer.c     pcmk_resource_t *rsc = action->rsc;
rsc               349 lib/pacemaker/pcmk_graph_producer.c     if ((rsc != NULL) && (action->node != NULL)) {
rsc               351 lib/pacemaker/pcmk_graph_producer.c         GHashTable *params = pe_rsc_params(rsc, action->node,
rsc               352 lib/pacemaker/pcmk_graph_producer.c                                            rsc->priv->scheduler);
rsc               354 lib/pacemaker/pcmk_graph_producer.c         pcmk__substitute_remote_addr(rsc, params);
rsc               358 lib/pacemaker/pcmk_graph_producer.c     } else if ((rsc != NULL)
rsc               359 lib/pacemaker/pcmk_graph_producer.c                && (rsc->priv->variant <= pcmk__rsc_variant_primitive)) {
rsc               360 lib/pacemaker/pcmk_graph_producer.c         GHashTable *params = pe_rsc_params(rsc, NULL, rsc->priv->scheduler);
rsc               366 lib/pacemaker/pcmk_graph_producer.c     if (rsc != NULL) {
rsc               367 lib/pacemaker/pcmk_graph_producer.c         pcmk_resource_t *parent = rsc;
rsc               437 lib/pacemaker/pcmk_graph_producer.c     if ((action->rsc != NULL) && (action->rsc->priv->history_id != NULL)) {
rsc               466 lib/pacemaker/pcmk_graph_producer.c     if ((action->rsc != NULL)
rsc               513 lib/pacemaker/pcmk_graph_producer.c     if ((action->rsc != NULL)
rsc               514 lib/pacemaker/pcmk_graph_producer.c         && !pcmk_is_set(action->rsc->flags, pcmk__rsc_managed)
rsc               527 lib/pacemaker/pcmk_graph_producer.c                       action->uuid, action->id, action->rsc->id);
rsc               668 lib/pacemaker/pcmk_graph_producer.c         if ((action->rsc != NULL)
rsc               672 lib/pacemaker/pcmk_graph_producer.c             pcmk_node_t *assigned = action->rsc->priv->assigned_node;
rsc               728 lib/pacemaker/pcmk_graph_producer.c     } else if (input->action->rsc
rsc               729 lib/pacemaker/pcmk_graph_producer.c                && input->action->rsc != action->rsc
rsc               730 lib/pacemaker/pcmk_graph_producer.c                && pcmk_is_set(input->action->rsc->flags, pcmk__rsc_failed)
rsc               731 lib/pacemaker/pcmk_graph_producer.c                && !pcmk_is_set(input->action->rsc->flags, pcmk__rsc_managed)
rsc               733 lib/pacemaker/pcmk_graph_producer.c                && pcmk__is_clone(action->rsc)) {
rsc               856 lib/pacemaker/pcmk_graph_producer.c     if (action->rsc != NULL) {
rsc               857 lib/pacemaker/pcmk_graph_producer.c         synapse_priority = action->rsc->priv->priority;
rsc               978 lib/pacemaker/pcmk_graph_producer.c pcmk__add_rsc_actions_to_graph(pcmk_resource_t *rsc)
rsc               982 lib/pacemaker/pcmk_graph_producer.c     pcmk__assert(rsc != NULL);
rsc               984 lib/pacemaker/pcmk_graph_producer.c     pcmk__rsc_trace(rsc, "Adding actions for %s to graph", rsc->id);
rsc               987 lib/pacemaker/pcmk_graph_producer.c     g_list_foreach(rsc->priv->actions, add_action_to_graph,
rsc               988 lib/pacemaker/pcmk_graph_producer.c                    rsc->priv->scheduler);
rsc               991 lib/pacemaker/pcmk_graph_producer.c     for (iter = rsc->priv->children; iter != NULL; iter = iter->next) {
rsc              1064 lib/pacemaker/pcmk_graph_producer.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc              1066 lib/pacemaker/pcmk_graph_producer.c         pcmk__rsc_trace(rsc, "Processing actions for %s", rsc->id);
rsc              1067 lib/pacemaker/pcmk_graph_producer.c         rsc->priv->cmds->add_actions_to_graph(rsc);
rsc              1077 lib/pacemaker/pcmk_graph_producer.c         if ((action->rsc != NULL)
rsc              1080 lib/pacemaker/pcmk_graph_producer.c             && !pcmk_is_set(action->rsc->flags, pcmk__rsc_maintenance)
rsc              1090 lib/pacemaker/pcmk_graph_producer.c                 const bool managed = pcmk_is_set(action->rsc->flags,
rsc              1092 lib/pacemaker/pcmk_graph_producer.c                 const bool failed = pcmk_is_set(action->rsc->flags,
rsc              1097 lib/pacemaker/pcmk_graph_producer.c                          pcmk__node_name(action->node), action->rsc->id,
rsc               575 lib/pacemaker/pcmk_injections.c     const pcmk_resource_t *rsc = NULL;
rsc               592 lib/pacemaker/pcmk_injections.c     rsc = pe_find_resource(scheduler->priv->resources, resource);
rsc               593 lib/pacemaker/pcmk_injections.c     if (rsc == NULL) {
rsc               598 lib/pacemaker/pcmk_injections.c     rclass = crm_element_value(rsc->priv->xml, PCMK_XA_CLASS);
rsc               599 lib/pacemaker/pcmk_injections.c     rtype = crm_element_value(rsc->priv->xml, PCMK_XA_TYPE);
rsc               600 lib/pacemaker/pcmk_injections.c     rprovider = crm_element_value(rsc->priv->xml, PCMK_XA_PROVIDER);
rsc                24 lib/pacemaker/pcmk_output.c colocations_header(pcmk_resource_t *rsc, pcmk__colocation_t *cons,
rsc                30 lib/pacemaker/pcmk_output.c                                    rsc->id, pcmk_readable_score(cons->score),
rsc                36 lib/pacemaker/pcmk_output.c                                    rsc->id, pcmk_readable_score(cons->score),
rsc                43 lib/pacemaker/pcmk_output.c colocations_xml_node(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc                68 lib/pacemaker/pcmk_output.c do_locations_list_xml(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc                74 lib/pacemaker/pcmk_output.c     for (lpc = rsc->priv->location_constraints;
rsc                89 lib/pacemaker/pcmk_output.c                                          PCMK_XA_RSC, rsc->id,
rsc               111 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               134 lib/pacemaker/pcmk_output.c     len = strlen(rsc->id);
rsc               139 lib/pacemaker/pcmk_output.c     if ((rsc->priv->orig_role > pcmk_role_started)
rsc               140 lib/pacemaker/pcmk_output.c         || (rsc->priv->next_role > pcmk_role_unpromoted)) {
rsc               148 lib/pacemaker/pcmk_output.c     if (rsc->priv->orig_role == rsc->priv->next_role) {
rsc               155 lib/pacemaker/pcmk_output.c                                     pcmk_role_text(rsc->priv->orig_role),
rsc               156 lib/pacemaker/pcmk_output.c                                     pcmk_role_text(rsc->priv->next_role),
rsc               166 lib/pacemaker/pcmk_output.c                                     pcmk_role_text(rsc->priv->orig_role),
rsc               176 lib/pacemaker/pcmk_output.c                                     pcmk_role_text(rsc->priv->orig_role),
rsc               187 lib/pacemaker/pcmk_output.c                                     pcmk_role_text(rsc->priv->orig_role));
rsc               197 lib/pacemaker/pcmk_output.c                                     pcmk_role_text(rsc->priv->orig_role),
rsc               198 lib/pacemaker/pcmk_output.c                                     pcmk_role_text(rsc->priv->next_role),
rsc               204 lib/pacemaker/pcmk_output.c                                     pcmk_role_text(rsc->priv->orig_role),
rsc               206 lib/pacemaker/pcmk_output.c                                     pcmk_role_text(rsc->priv->next_role),
rsc               228 lib/pacemaker/pcmk_output.c                    change, rsc_width, rsc->id, detail_width, details,
rsc               243 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               263 lib/pacemaker/pcmk_output.c     if ((rsc->priv->orig_role > pcmk_role_started)
rsc               264 lib/pacemaker/pcmk_output.c         || (rsc->priv->next_role > pcmk_role_unpromoted)) {
rsc               272 lib/pacemaker/pcmk_output.c     if (rsc->priv->orig_role == rsc->priv->next_role) {
rsc               279 lib/pacemaker/pcmk_output.c                                        PCMK_XA_RESOURCE, rsc->id,
rsc               287 lib/pacemaker/pcmk_output.c                            pcmk_role_text(rsc->priv->orig_role),
rsc               289 lib/pacemaker/pcmk_output.c                            pcmk_role_text(rsc->priv->next_role),
rsc               301 lib/pacemaker/pcmk_output.c                            pcmk_role_text(rsc->priv->orig_role),
rsc               313 lib/pacemaker/pcmk_output.c                            pcmk_role_text(rsc->priv->orig_role),
rsc               327 lib/pacemaker/pcmk_output.c                            pcmk_role_text(rsc->priv->orig_role),
rsc               341 lib/pacemaker/pcmk_output.c                            pcmk_role_text(rsc->priv->orig_role),
rsc               343 lib/pacemaker/pcmk_output.c                            pcmk_role_text(rsc->priv->next_role),
rsc               351 lib/pacemaker/pcmk_output.c                            pcmk_role_text(rsc->priv->orig_role),
rsc               354 lib/pacemaker/pcmk_output.c                            pcmk_role_text(rsc->priv->next_role),
rsc               380 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               385 lib/pacemaker/pcmk_output.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_detect_loop)) {
rsc               393 lib/pacemaker/pcmk_output.c     pcmk__set_rsc_flags(rsc, pcmk__rsc_detect_loop);
rsc               394 lib/pacemaker/pcmk_output.c     for (GList *lpc = rsc->priv->this_with_colocations;
rsc               400 lib/pacemaker/pcmk_output.c                                  "Resources %s is colocated with", rsc->id);
rsc               431 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               436 lib/pacemaker/pcmk_output.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_detect_loop)) {
rsc               444 lib/pacemaker/pcmk_output.c     pcmk__set_rsc_flags(rsc, pcmk__rsc_detect_loop);
rsc               445 lib/pacemaker/pcmk_output.c     for (GList *lpc = rsc->priv->this_with_colocations;
rsc               469 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               474 lib/pacemaker/pcmk_output.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_detect_loop)) {
rsc               482 lib/pacemaker/pcmk_output.c     pcmk__set_rsc_flags(rsc, pcmk__rsc_detect_loop);
rsc               483 lib/pacemaker/pcmk_output.c     for (GList *lpc = rsc->priv->with_this_colocations;
rsc               489 lib/pacemaker/pcmk_output.c                                  rsc->id);
rsc               520 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               525 lib/pacemaker/pcmk_output.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_detect_loop)) {
rsc               533 lib/pacemaker/pcmk_output.c     pcmk__set_rsc_flags(rsc, pcmk__rsc_detect_loop);
rsc               534 lib/pacemaker/pcmk_output.c     for (GList *lpc = rsc->priv->with_this_colocations;
rsc               558 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               563 lib/pacemaker/pcmk_output.c     for (lpc = rsc->priv->location_constraints;
rsc               576 lib/pacemaker/pcmk_output.c                            rsc->id);
rsc               587 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               588 lib/pacemaker/pcmk_output.c     return do_locations_list_xml(out, rsc, true);
rsc               596 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               600 lib/pacemaker/pcmk_output.c     pcmk__unpack_constraints(rsc->priv->scheduler);
rsc               604 lib/pacemaker/pcmk_output.c         rsc = uber_parent(rsc);
rsc               607 lib/pacemaker/pcmk_output.c     out->message(out, "locations-list", rsc);
rsc               609 lib/pacemaker/pcmk_output.c     pe__clear_resource_flags_on_all(rsc->priv->scheduler,
rsc               611 lib/pacemaker/pcmk_output.c     out->message(out, "rscs-colocated-with-list", rsc, recursive);
rsc               613 lib/pacemaker/pcmk_output.c     pe__clear_resource_flags_on_all(rsc->priv->scheduler,
rsc               615 lib/pacemaker/pcmk_output.c     out->message(out, "rsc-is-colocated-with-list", rsc, recursive);
rsc               624 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               628 lib/pacemaker/pcmk_output.c     pcmk__unpack_constraints(rsc->priv->scheduler);
rsc               632 lib/pacemaker/pcmk_output.c         rsc = uber_parent(rsc);
rsc               636 lib/pacemaker/pcmk_output.c     do_locations_list_xml(out, rsc, false);
rsc               638 lib/pacemaker/pcmk_output.c     pe__clear_resource_flags_on_all(rsc->priv->scheduler,
rsc               640 lib/pacemaker/pcmk_output.c     out->message(out, "rscs-colocated-with-list", rsc, recursive);
rsc               642 lib/pacemaker/pcmk_output.c     pe__clear_resource_flags_on_all(rsc->priv->scheduler,
rsc               644 lib/pacemaker/pcmk_output.c     out->message(out, "rsc-is-colocated-with-list", rsc, recursive);
rsc               984 lib/pacemaker/pcmk_output.c     const pcmk_resource_t *rsc = va_arg(args, const pcmk_resource_t *);
rsc              1003 lib/pacemaker/pcmk_output.c     if ((rsc != NULL) && (rsc->id != NULL)) {
rsc              1004 lib/pacemaker/pcmk_output.c         rsc_desc = rsc->id;
rsc              1052 lib/pacemaker/pcmk_output.c     const pcmk_resource_t *rsc = va_arg(args, const pcmk_resource_t *);
rsc              1062 lib/pacemaker/pcmk_output.c                                        PCMK_XA_RESOURCE, pcmk__s(rsc->id, ""),
rsc              1085 lib/pacemaker/pcmk_output.c                     __func__, lineno, rsc->id);                             \
rsc              1099 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              1115 lib/pacemaker/pcmk_output.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_managed)
rsc              1117 lib/pacemaker/pcmk_output.c         const bool managed = pcmk_is_set(rsc->flags, pcmk__rsc_managed);
rsc              1119 lib/pacemaker/pcmk_output.c         pcmk__rsc_info(rsc, "Leave   %s\t(%s%s)",
rsc              1120 lib/pacemaker/pcmk_output.c                        rsc->id, pcmk_role_text(rsc->priv->orig_role),
rsc              1128 lib/pacemaker/pcmk_output.c     possible_matches = pe__resource_actions(rsc, next, PCMK_ACTION_START,
rsc              1141 lib/pacemaker/pcmk_output.c     possible_matches = pe__resource_actions(rsc, start_node, PCMK_ACTION_STOP,
rsc              1146 lib/pacemaker/pcmk_output.c     } else if (pcmk_is_set(rsc->flags, pcmk__rsc_stop_unexpected)) {
rsc              1151 lib/pacemaker/pcmk_output.c         possible_matches = pe__resource_actions(rsc, NULL, PCMK_ACTION_STOP,
rsc              1159 lib/pacemaker/pcmk_output.c     possible_matches = pe__resource_actions(rsc, next, PCMK_ACTION_PROMOTE,
rsc              1166 lib/pacemaker/pcmk_output.c     possible_matches = pe__resource_actions(rsc, next, PCMK_ACTION_DEMOTE,
rsc              1173 lib/pacemaker/pcmk_output.c     if (rsc->priv->orig_role == rsc->priv->next_role) {
rsc              1178 lib/pacemaker/pcmk_output.c         possible_matches = pe__resource_actions(rsc, next,
rsc              1187 lib/pacemaker/pcmk_output.c             rc = out->message(out, "rsc-action-item", "Migrate", rsc, current,
rsc              1190 lib/pacemaker/pcmk_output.c         } else if (pcmk_is_set(rsc->flags, pcmk__rsc_reload)) {
rsc              1191 lib/pacemaker/pcmk_output.c             rc = out->message(out, "rsc-action-item", "Reload", rsc, current,
rsc              1199 lib/pacemaker/pcmk_output.c                 rc = out->message(out, "rsc-action-item", "Re-promote", rsc,
rsc              1202 lib/pacemaker/pcmk_output.c                 pcmk__rsc_info(rsc, "Leave   %s\t(%s %s)", rsc->id,
rsc              1203 lib/pacemaker/pcmk_output.c                                pcmk_role_text(rsc->priv->orig_role),
rsc              1213 lib/pacemaker/pcmk_output.c             rc = out->message(out, "rsc-action-item", "Stop", rsc, current,
rsc              1218 lib/pacemaker/pcmk_output.c             const bool failed = pcmk_is_set(rsc->flags, pcmk__rsc_failed);
rsc              1221 lib/pacemaker/pcmk_output.c                               (failed? "Recover" : "Move"), rsc, current, next,
rsc              1224 lib/pacemaker/pcmk_output.c         } else if (pcmk_is_set(rsc->flags, pcmk__rsc_failed)) {
rsc              1225 lib/pacemaker/pcmk_output.c             rc = out->message(out, "rsc-action-item", "Recover", rsc, current,
rsc              1230 lib/pacemaker/pcmk_output.c             rc = out->message(out, "rsc-action-item", "Restart", rsc, current,
rsc              1245 lib/pacemaker/pcmk_output.c         && ((rsc->priv->next_role == pcmk_role_stopped)
rsc              1249 lib/pacemaker/pcmk_output.c         key = stop_key(rsc);
rsc              1250 lib/pacemaker/pcmk_output.c         for (GList *iter = rsc->priv->active_nodes;
rsc              1257 lib/pacemaker/pcmk_output.c             possible_matches = find_actions(rsc->priv->actions, key, node);
rsc              1272 lib/pacemaker/pcmk_output.c             if (out->message(out, "rsc-action-item", "Stop", rsc, node, NULL,
rsc              1281 lib/pacemaker/pcmk_output.c                && pcmk_all_flags_set(rsc->flags,
rsc              1285 lib/pacemaker/pcmk_output.c         rc = out->message(out, "rsc-action-item", "Recover", rsc, current,
rsc              1290 lib/pacemaker/pcmk_output.c         rc = out->message(out, "rsc-action-item", "Move", rsc, current, next,
rsc              1294 lib/pacemaker/pcmk_output.c     } else if (pcmk_is_set(rsc->flags, pcmk__rsc_reload)) {
rsc              1295 lib/pacemaker/pcmk_output.c         rc = out->message(out, "rsc-action-item", "Reload", rsc, current, next,
rsc              1300 lib/pacemaker/pcmk_output.c         rc = out->message(out, "rsc-action-item", "Restart", rsc, current,
rsc              1304 lib/pacemaker/pcmk_output.c     } else if (rsc->priv->orig_role == pcmk_role_promoted) {
rsc              1306 lib/pacemaker/pcmk_output.c         rc = out->message(out, "rsc-action-item", "Demote", rsc, current,
rsc              1309 lib/pacemaker/pcmk_output.c     } else if (rsc->priv->next_role == pcmk_role_promoted) {
rsc              1311 lib/pacemaker/pcmk_output.c         rc = out->message(out, "rsc-action-item", "Promote", rsc, current,
rsc              1314 lib/pacemaker/pcmk_output.c     } else if ((rsc->priv->orig_role == pcmk_role_stopped)
rsc              1315 lib/pacemaker/pcmk_output.c                && (rsc->priv->next_role > pcmk_role_stopped)) {
rsc              1316 lib/pacemaker/pcmk_output.c         rc = out->message(out, "rsc-action-item", "Start", rsc, current, next,
rsc              1418 lib/pacemaker/pcmk_output.c     xmlNodePtr rsc = va_arg(args, xmlNodePtr);
rsc              1424 lib/pacemaker/pcmk_output.c     if (rsc != NULL) {
rsc              1426 lib/pacemaker/pcmk_output.c                        task, pcmk__xe_id(rsc), node);
rsc              1441 lib/pacemaker/pcmk_output.c     xmlNodePtr rsc = va_arg(args, xmlNodePtr);
rsc              1454 lib/pacemaker/pcmk_output.c     if (rsc) {
rsc              1455 lib/pacemaker/pcmk_output.c         crm_xml_add(xml_node, PCMK_XA_ID, pcmk__xe_id(rsc));
rsc              1749 lib/pacemaker/pcmk_output.c     const char *rsc = va_arg(args, const char *);
rsc              1760 lib/pacemaker/pcmk_output.c                        rsc, operation, interval_ms, node);
rsc              1763 lib/pacemaker/pcmk_output.c                        rsc, operation, node);
rsc              1774 lib/pacemaker/pcmk_output.c     const char *rsc = va_arg(args, const char *);
rsc              1786 lib/pacemaker/pcmk_output.c                                             PCMK_XA_RESOURCE, rsc,
rsc              2517 lib/pacemaker/pcmk_output.c     const char *rsc = crm_element_value(node, PCMK_XA_RSC);
rsc              2520 lib/pacemaker/pcmk_output.c                                  PCMK_XA_ID, rsc, NULL);
rsc                33 lib/pacemaker/pcmk_resource.c best_op(const pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc                44 lib/pacemaker/pcmk_resource.c     xpath = crm_strdup_printf(XPATH_OP_HISTORY, node->priv->name, rsc->id);
rsc                45 lib/pacemaker/pcmk_resource.c     history = get_xpath_object(xpath, rsc->priv->scheduler->input, LOG_NEVER);
rsc               197 lib/pacemaker/pcmk_resource.c pcmk__resource_digests(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc               206 lib/pacemaker/pcmk_resource.c     if ((out == NULL) || (rsc == NULL) || (node == NULL)) {
rsc               210 lib/pacemaker/pcmk_resource.c     if (!pcmk__is_primitive(rsc)) {
rsc               216 lib/pacemaker/pcmk_resource.c     xml_op = best_op(rsc, node);
rsc               229 lib/pacemaker/pcmk_resource.c     digests = pe__calculate_digests(rsc, task, &interval_ms, node, xml_op,
rsc               230 lib/pacemaker/pcmk_resource.c                                     overrides, true, rsc->priv->scheduler);
rsc               231 lib/pacemaker/pcmk_resource.c     rc = out->message(out, "digests", rsc, node, task, interval_ms, digests);
rsc               238 lib/pacemaker/pcmk_resource.c pcmk_resource_digests(xmlNodePtr *xml, pcmk_resource_t *rsc,
rsc               249 lib/pacemaker/pcmk_resource.c     rc = pcmk__resource_digests(out, rsc, node, overrides);
rsc                38 lib/pacemaker/pcmk_sched_actions.c     if (action->rsc == NULL) {
rsc                46 lib/pacemaker/pcmk_sched_actions.c     flags = action->rsc->priv->cmds->action_flags(action, NULL);
rsc                47 lib/pacemaker/pcmk_sched_actions.c     if ((node == NULL) || !pcmk__is_clone(action->rsc)) {
rsc                57 lib/pacemaker/pcmk_sched_actions.c     flags = action->rsc->priv->cmds->action_flags(action, node);
rsc                68 lib/pacemaker/pcmk_sched_actions.c         pcmk__set_raw_action_flags(flags, action->rsc->id,
rsc               182 lib/pacemaker/pcmk_sched_actions.c     pcmk_resource_t *rsc = action->rsc;
rsc               184 lib/pacemaker/pcmk_sched_actions.c     if (rsc == NULL) {
rsc               188 lib/pacemaker/pcmk_sched_actions.c     if ((rsc->priv->variant >= pcmk__rsc_variant_group)
rsc               190 lib/pacemaker/pcmk_sched_actions.c         char *uuid = action_uuid_for_ordering(action->uuid, rsc);
rsc               192 lib/pacemaker/pcmk_sched_actions.c         result = find_first_action(rsc->priv->actions, uuid, NULL, NULL);
rsc               195 lib/pacemaker/pcmk_sched_actions.c                      "remapped action", action->uuid, uuid, rsc->id);
rsc               223 lib/pacemaker/pcmk_sched_actions.c update(pcmk_resource_t *rsc, pcmk_action_t *first, pcmk_action_t *then,
rsc               227 lib/pacemaker/pcmk_sched_actions.c     return rsc->priv->cmds->update_ordered_actions(first, then, node, flags,
rsc               269 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(then->rsc,
rsc               277 lib/pacemaker/pcmk_sched_actions.c         if (then->rsc != NULL) {
rsc               278 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node,
rsc               287 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(then->rsc,
rsc               294 lib/pacemaker/pcmk_sched_actions.c         && (then->rsc != NULL)) {
rsc               298 lib/pacemaker/pcmk_sched_actions.c         changed |= update(then->rsc, first, then, node, first_flags, restart,
rsc               300 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(then->rsc,
rsc               307 lib/pacemaker/pcmk_sched_actions.c         if (first->rsc != NULL) {
rsc               308 lib/pacemaker/pcmk_sched_actions.c             changed |= update(first->rsc, first, then, node, first_flags,
rsc               316 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(then->rsc,
rsc               323 lib/pacemaker/pcmk_sched_actions.c         if (then->rsc != NULL) {
rsc               324 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node,
rsc               329 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(then->rsc,
rsc               337 lib/pacemaker/pcmk_sched_actions.c         if (then->rsc != NULL) {
rsc               338 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node, first_flags,
rsc               356 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(then->rsc, "%s then %s: %s after pcmk__ar_min_runnable",
rsc               362 lib/pacemaker/pcmk_sched_actions.c         && (then->rsc != NULL)) {
rsc               365 lib/pacemaker/pcmk_sched_actions.c             && (first->rsc != NULL)
rsc               366 lib/pacemaker/pcmk_sched_actions.c             && (first->rsc->priv->active_nodes != NULL)) {
rsc               368 lib/pacemaker/pcmk_sched_actions.c             pcmk__rsc_trace(then->rsc,
rsc               373 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node, first_flags,
rsc               377 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(then->rsc,
rsc               384 lib/pacemaker/pcmk_sched_actions.c         if (then->rsc != NULL) {
rsc               385 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node, first_flags,
rsc               395 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(then->rsc,
rsc               402 lib/pacemaker/pcmk_sched_actions.c         if (then->rsc != NULL) {
rsc               403 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node, first_flags,
rsc               407 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(then->rsc,
rsc               415 lib/pacemaker/pcmk_sched_actions.c         if (then->rsc != NULL) {
rsc               416 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node, first_flags,
rsc               420 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(then->rsc,
rsc               427 lib/pacemaker/pcmk_sched_actions.c         if (then->rsc != NULL) {
rsc               428 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node, first_flags,
rsc               432 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(then->rsc, "%s then %s: %s after pcmk__ar_ordered",
rsc               438 lib/pacemaker/pcmk_sched_actions.c         if (then->rsc != NULL) {
rsc               439 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node, first_flags,
rsc               443 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(then->rsc, "%s then %s: %s after pcmk__ar_asymmetric",
rsc               452 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(then->rsc, "%s will be in graph because %s is required",
rsc               461 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(then->rsc, "%s will be in graph because %s is required",
rsc               470 lib/pacemaker/pcmk_sched_actions.c         && (first->rsc != NULL)
rsc               471 lib/pacemaker/pcmk_sched_actions.c         && !pcmk_is_set(first->rsc->flags, pcmk__rsc_managed)
rsc               472 lib/pacemaker/pcmk_sched_actions.c         && pcmk_is_set(first->rsc->flags, pcmk__rsc_blocked)
rsc               480 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(then->rsc,
rsc               519 lib/pacemaker/pcmk_sched_actions.c     pcmk__rsc_trace(then->rsc, "Updating %s %s (%s %s) on %s",
rsc               548 lib/pacemaker/pcmk_sched_actions.c         if ((first->rsc != NULL)
rsc               549 lib/pacemaker/pcmk_sched_actions.c             && pcmk__is_group(first->rsc)
rsc               552 lib/pacemaker/pcmk_sched_actions.c             first_node = first->rsc->priv->fns->location(first->rsc, NULL,
rsc               555 lib/pacemaker/pcmk_sched_actions.c                 pcmk__rsc_trace(first->rsc, "Found %s for 'first' %s",
rsc               560 lib/pacemaker/pcmk_sched_actions.c         if (pcmk__is_group(then->rsc)
rsc               563 lib/pacemaker/pcmk_sched_actions.c             then_node = then->rsc->priv->fns->location(then->rsc, NULL, target);
rsc               565 lib/pacemaker/pcmk_sched_actions.c                 pcmk__rsc_trace(then->rsc, "Found %s for 'then' %s",
rsc               575 lib/pacemaker/pcmk_sched_actions.c             pcmk__rsc_trace(then->rsc,
rsc               586 lib/pacemaker/pcmk_sched_actions.c         if ((first->rsc != NULL)
rsc               595 lib/pacemaker/pcmk_sched_actions.c                 pcmk__clear_rsc_flags(first->rsc, pcmk__rsc_reload);
rsc               599 lib/pacemaker/pcmk_sched_actions.c         if ((first->rsc != NULL) && (then->rsc != NULL)
rsc               600 lib/pacemaker/pcmk_sched_actions.c             && (first->rsc != then->rsc) && !is_parent(then->rsc, first->rsc)) {
rsc               604 lib/pacemaker/pcmk_sched_actions.c             pcmk__rsc_trace(then->rsc, "Ordering %s after %s instead of %s",
rsc               608 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(then->rsc,
rsc               635 lib/pacemaker/pcmk_sched_actions.c             pcmk__rsc_trace(then->rsc,
rsc               684 lib/pacemaker/pcmk_sched_actions.c     return (action != NULL) && pcmk__is_primitive(action->rsc);
rsc               698 lib/pacemaker/pcmk_sched_actions.c             if ((action)->rsc != (reason)->rsc) {                           \
rsc               722 lib/pacemaker/pcmk_sched_actions.c     if ((then->rsc == NULL)
rsc               731 lib/pacemaker/pcmk_sched_actions.c         then_rsc_role = then->rsc->priv->fns->state(then->rsc, TRUE);
rsc               741 lib/pacemaker/pcmk_sched_actions.c             && pe__rsc_running_on_only(then->rsc, then->node)) {
rsc               786 lib/pacemaker/pcmk_sched_actions.c         && pcmk_is_set(then->rsc->flags, pcmk__rsc_managed)
rsc               787 lib/pacemaker/pcmk_sched_actions.c         && (first->rsc == then->rsc)) {
rsc               795 lib/pacemaker/pcmk_sched_actions.c     pcmk__rsc_trace(first->rsc, "Handling %s -> %s for %s",
rsc               877 lib/pacemaker/pcmk_sched_actions.c         && (then->rsc != NULL)
rsc               878 lib/pacemaker/pcmk_sched_actions.c         && (then->rsc->priv->orig_role == pcmk_role_promoted)
rsc               935 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(then->rsc,
rsc               941 lib/pacemaker/pcmk_sched_actions.c         if ((then->rsc != NULL) && (then->rsc->priv->parent != NULL)) {
rsc               949 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(first->rsc,
rsc              1020 lib/pacemaker/pcmk_sched_actions.c                       (action->rsc? action->rsc->id : "<none>"),
rsc              1312 lib/pacemaker/pcmk_sched_actions.c     if ((action == NULL) || (action->rsc == NULL)
rsc              1313 lib/pacemaker/pcmk_sched_actions.c         || !pcmk__same_node(action->node, action->rsc->priv->lock_node)) {
rsc              1413 lib/pacemaker/pcmk_sched_actions.c         if (action->rsc != NULL) {
rsc              1455 lib/pacemaker/pcmk_sched_actions.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc              1457 lib/pacemaker/pcmk_sched_actions.c         rsc->priv->cmds->output_actions(rsc);
rsc              1530 lib/pacemaker/pcmk_sched_actions.c force_restart(pcmk_resource_t *rsc, const char *task, guint interval_ms,
rsc              1533 lib/pacemaker/pcmk_sched_actions.c     char *key = pcmk__op_key(rsc->id, task, interval_ms);
rsc              1534 lib/pacemaker/pcmk_sched_actions.c     pcmk_action_t *required = custom_action(rsc, key, task, NULL, FALSE,
rsc              1535 lib/pacemaker/pcmk_sched_actions.c                                             rsc->priv->scheduler);
rsc              1538 lib/pacemaker/pcmk_sched_actions.c     trigger_unfencing(rsc, node, "Device parameters changed", NULL,
rsc              1539 lib/pacemaker/pcmk_sched_actions.c                       rsc->priv->scheduler);
rsc              1552 lib/pacemaker/pcmk_sched_actions.c     pcmk_resource_t *rsc = data;
rsc              1558 lib/pacemaker/pcmk_sched_actions.c     if (rsc->priv->variant > pcmk__rsc_variant_primitive) {
rsc              1559 lib/pacemaker/pcmk_sched_actions.c         g_list_foreach(rsc->priv->children, schedule_reload, user_data);
rsc              1565 lib/pacemaker/pcmk_sched_actions.c         || !pcmk_is_set(rsc->flags, pcmk__rsc_managed)
rsc              1566 lib/pacemaker/pcmk_sched_actions.c         || pcmk_is_set(rsc->flags, pcmk__rsc_failed)) {
rsc              1567 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(rsc, "Skip reload of %s:%s%s %s",
rsc              1568 lib/pacemaker/pcmk_sched_actions.c                         rsc->id,
rsc              1569 lib/pacemaker/pcmk_sched_actions.c                         pcmk_is_set(rsc->flags, pcmk__rsc_managed)? "" : " unmanaged",
rsc              1570 lib/pacemaker/pcmk_sched_actions.c                         pcmk_is_set(rsc->flags, pcmk__rsc_failed)? " failed" : "",
rsc              1578 lib/pacemaker/pcmk_sched_actions.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_start_pending)) {
rsc              1579 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(rsc,
rsc              1581 lib/pacemaker/pcmk_sched_actions.c                         rsc->id);
rsc              1582 lib/pacemaker/pcmk_sched_actions.c         custom_action(rsc, stop_key(rsc), PCMK_ACTION_STOP, node, FALSE,
rsc              1583 lib/pacemaker/pcmk_sched_actions.c                       rsc->priv->scheduler);
rsc              1588 lib/pacemaker/pcmk_sched_actions.c     pcmk__set_rsc_flags(rsc, pcmk__rsc_reload);
rsc              1589 lib/pacemaker/pcmk_sched_actions.c     reload = custom_action(rsc, reload_key(rsc), PCMK_ACTION_RELOAD_AGENT, node,
rsc              1590 lib/pacemaker/pcmk_sched_actions.c                            FALSE, rsc->priv->scheduler);
rsc              1594 lib/pacemaker/pcmk_sched_actions.c     pcmk__new_ordering(NULL, NULL, reload, rsc, stop_key(rsc), NULL,
rsc              1596 lib/pacemaker/pcmk_sched_actions.c                        rsc->priv->scheduler);
rsc              1597 lib/pacemaker/pcmk_sched_actions.c     pcmk__new_ordering(NULL, NULL, reload, rsc, demote_key(rsc), NULL,
rsc              1599 lib/pacemaker/pcmk_sched_actions.c                        rsc->priv->scheduler);
rsc              1617 lib/pacemaker/pcmk_sched_actions.c pcmk__check_action_config(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc              1624 lib/pacemaker/pcmk_sched_actions.c     CRM_CHECK((rsc != NULL) && (node != NULL) && (xml_op != NULL),
rsc              1634 lib/pacemaker/pcmk_sched_actions.c         if (pcmk__find_action_config(rsc, task, interval_ms, false) != NULL) {
rsc              1635 lib/pacemaker/pcmk_sched_actions.c             pcmk__rsc_trace(rsc,
rsc              1637 lib/pacemaker/pcmk_sched_actions.c                             pcmk__readable_interval(interval_ms), task, rsc->id,
rsc              1639 lib/pacemaker/pcmk_sched_actions.c         } else if (pcmk_is_set(rsc->priv->scheduler->flags,
rsc              1641 lib/pacemaker/pcmk_sched_actions.c             pcmk__schedule_cancel(rsc,
rsc              1646 lib/pacemaker/pcmk_sched_actions.c             pcmk__rsc_debug(rsc, "%s-interval %s for %s on %s is orphaned",
rsc              1647 lib/pacemaker/pcmk_sched_actions.c                             pcmk__readable_interval(interval_ms), task, rsc->id,
rsc              1654 lib/pacemaker/pcmk_sched_actions.c               pcmk__readable_interval(interval_ms), task, rsc->id,
rsc              1657 lib/pacemaker/pcmk_sched_actions.c     digest_data = rsc_action_digest_cmp(rsc, xml_op, node,
rsc              1658 lib/pacemaker/pcmk_sched_actions.c                                         rsc->priv->scheduler);
rsc              1660 lib/pacemaker/pcmk_sched_actions.c     if (only_sanitized_changed(xml_op, digest_data, rsc->priv->scheduler)) {
rsc              1661 lib/pacemaker/pcmk_sched_actions.c         if (!pcmk__is_daemon && (rsc->priv->scheduler->priv->out != NULL)) {
rsc              1662 lib/pacemaker/pcmk_sched_actions.c             pcmk__output_t *out = rsc->priv->scheduler->priv->out;
rsc              1667 lib/pacemaker/pcmk_sched_actions.c                       pcmk__readable_interval(interval_ms), task, rsc->id,
rsc              1677 lib/pacemaker/pcmk_sched_actions.c             force_restart(rsc, task, interval_ms, node);
rsc              1690 lib/pacemaker/pcmk_sched_actions.c                 pcmk__reschedule_recurring(rsc, task, interval_ms, node);
rsc              1695 lib/pacemaker/pcmk_sched_actions.c                 trigger_unfencing(rsc, node,
rsc              1697 lib/pacemaker/pcmk_sched_actions.c                                   rsc->priv->scheduler);
rsc              1699 lib/pacemaker/pcmk_sched_actions.c                 schedule_reload((gpointer) rsc, (gpointer) node);
rsc              1702 lib/pacemaker/pcmk_sched_actions.c                 pcmk__rsc_trace(rsc,
rsc              1705 lib/pacemaker/pcmk_sched_actions.c                                 rsc->id);
rsc              1708 lib/pacemaker/pcmk_sched_actions.c                 force_restart(rsc, task, interval_ms, node);
rsc              1757 lib/pacemaker/pcmk_sched_actions.c process_rsc_history(const xmlNode *rsc_entry, pcmk_resource_t *rsc,
rsc              1765 lib/pacemaker/pcmk_sched_actions.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_removed)) {
rsc              1766 lib/pacemaker/pcmk_sched_actions.c         if (pcmk__is_anonymous_clone(pe__const_top_resource(rsc, false))) {
rsc              1767 lib/pacemaker/pcmk_sched_actions.c             pcmk__rsc_trace(rsc,
rsc              1770 lib/pacemaker/pcmk_sched_actions.c                             rsc->id);
rsc              1772 lib/pacemaker/pcmk_sched_actions.c             pcmk__rsc_trace(rsc,
rsc              1774 lib/pacemaker/pcmk_sched_actions.c                             "clean-up for orphaned resource %s", rsc->id);
rsc              1775 lib/pacemaker/pcmk_sched_actions.c             pcmk__schedule_cleanup(rsc, node, false);
rsc              1780 lib/pacemaker/pcmk_sched_actions.c     if (pe_find_node_id(rsc->priv->active_nodes,
rsc              1782 lib/pacemaker/pcmk_sched_actions.c         if (pcmk__rsc_agent_changed(rsc, node, rsc_entry, false)) {
rsc              1783 lib/pacemaker/pcmk_sched_actions.c             pcmk__schedule_cleanup(rsc, node, false);
rsc              1785 lib/pacemaker/pcmk_sched_actions.c         pcmk__rsc_trace(rsc,
rsc              1788 lib/pacemaker/pcmk_sched_actions.c                         rsc->id, pcmk__node_name(node));
rsc              1792 lib/pacemaker/pcmk_sched_actions.c     pcmk__rsc_trace(rsc, "Checking for configuration changes for %s on %s",
rsc              1793 lib/pacemaker/pcmk_sched_actions.c                     rsc->id, pcmk__node_name(node));
rsc              1795 lib/pacemaker/pcmk_sched_actions.c     if (pcmk__rsc_agent_changed(rsc, node, rsc_entry, true)) {
rsc              1796 lib/pacemaker/pcmk_sched_actions.c         pcmk__schedule_cleanup(rsc, node, false);
rsc              1818 lib/pacemaker/pcmk_sched_actions.c             && (pcmk_is_set(rsc->flags, pcmk__rsc_maintenance)
rsc              1821 lib/pacemaker/pcmk_sched_actions.c             pcmk__schedule_cancel(rsc,
rsc              1834 lib/pacemaker/pcmk_sched_actions.c             if (pe__bundle_needs_remote_name(rsc)) {
rsc              1842 lib/pacemaker/pcmk_sched_actions.c                 pe__add_param_check(rsc_op, rsc, node, pcmk__check_active,
rsc              1843 lib/pacemaker/pcmk_sched_actions.c                                     rsc->priv->scheduler);
rsc              1845 lib/pacemaker/pcmk_sched_actions.c             } else if (pcmk__check_action_config(rsc, node, rsc_op)
rsc              1846 lib/pacemaker/pcmk_sched_actions.c                        && (pe_get_failcount(node, rsc, NULL, pcmk__fc_effective,
rsc              1848 lib/pacemaker/pcmk_sched_actions.c                 pe__clear_failcount(rsc, node, "action definition changed",
rsc              1849 lib/pacemaker/pcmk_sched_actions.c                                     rsc->priv->scheduler);
rsc              1884 lib/pacemaker/pcmk_sched_actions.c                 pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc              1886 lib/pacemaker/pcmk_sched_actions.c                 if (pcmk__is_primitive(rsc)) {
rsc              1887 lib/pacemaker/pcmk_sched_actions.c                     process_rsc_history(rsc_entry, rsc, node);
rsc               114 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_assign(pcmk_resource_t *rsc, const pcmk_node_t *prefer,
rsc               121 lib/pacemaker/pcmk_sched_bundle.c     pcmk__assert(pcmk__is_bundle(rsc));
rsc               123 lib/pacemaker/pcmk_sched_bundle.c     pcmk__rsc_trace(rsc, "Assigning bundle %s", rsc->id);
rsc               124 lib/pacemaker/pcmk_sched_bundle.c     pcmk__set_rsc_flags(rsc, pcmk__rsc_assigning);
rsc               126 lib/pacemaker/pcmk_sched_bundle.c     pe__show_node_scores(!pcmk_is_set(rsc->priv->scheduler->flags,
rsc               128 lib/pacemaker/pcmk_sched_bundle.c                          rsc, __func__, rsc->priv->allowed_nodes,
rsc               129 lib/pacemaker/pcmk_sched_bundle.c                          rsc->priv->scheduler);
rsc               132 lib/pacemaker/pcmk_sched_bundle.c     containers = g_list_sort(pe__bundle_containers(rsc), pcmk__cmp_instance);
rsc               133 lib/pacemaker/pcmk_sched_bundle.c     pcmk__assign_instances(rsc, containers, pe__bundle_max(rsc),
rsc               134 lib/pacemaker/pcmk_sched_bundle.c                            rsc->priv->fns->max_per_node(rsc));
rsc               138 lib/pacemaker/pcmk_sched_bundle.c     pe__foreach_bundle_replica(rsc, assign_replica, (void *) &assign_data);
rsc               141 lib/pacemaker/pcmk_sched_bundle.c     bundled_resource = pe__bundled_resource(rsc);
rsc               148 lib/pacemaker/pcmk_sched_bundle.c             if (pe__node_is_bundle_instance(rsc, node)) {
rsc               158 lib/pacemaker/pcmk_sched_bundle.c     pcmk__clear_rsc_flags(rsc, pcmk__rsc_assigning|pcmk__rsc_unassigned);
rsc               193 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_create_actions(pcmk_resource_t *rsc)
rsc               199 lib/pacemaker/pcmk_sched_bundle.c     pcmk__assert(pcmk__is_bundle(rsc));
rsc               201 lib/pacemaker/pcmk_sched_bundle.c     pe__foreach_bundle_replica(rsc, create_replica_actions, NULL);
rsc               203 lib/pacemaker/pcmk_sched_bundle.c     containers = pe__bundle_containers(rsc);
rsc               204 lib/pacemaker/pcmk_sched_bundle.c     pcmk__create_instance_actions(rsc, containers);
rsc               207 lib/pacemaker/pcmk_sched_bundle.c     bundled_resource = pe__bundled_resource(rsc);
rsc               212 lib/pacemaker/pcmk_sched_bundle.c             pe__new_rsc_pseudo_action(rsc, PCMK_ACTION_PROMOTE, true, true);
rsc               213 lib/pacemaker/pcmk_sched_bundle.c             action = pe__new_rsc_pseudo_action(rsc, PCMK_ACTION_PROMOTED,
rsc               217 lib/pacemaker/pcmk_sched_bundle.c             pe__new_rsc_pseudo_action(rsc, PCMK_ACTION_DEMOTE, true, true);
rsc               218 lib/pacemaker/pcmk_sched_bundle.c             action = pe__new_rsc_pseudo_action(rsc, PCMK_ACTION_DEMOTED,
rsc               302 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_internal_constraints(pcmk_resource_t *rsc)
rsc               306 lib/pacemaker/pcmk_sched_bundle.c     pcmk__assert(pcmk__is_bundle(rsc));
rsc               308 lib/pacemaker/pcmk_sched_bundle.c     pe__foreach_bundle_replica(rsc, replica_internal_constraints, rsc);
rsc               310 lib/pacemaker/pcmk_sched_bundle.c     bundled_resource = pe__bundled_resource(rsc);
rsc               316 lib/pacemaker/pcmk_sched_bundle.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_START, bundled_resource,
rsc               322 lib/pacemaker/pcmk_sched_bundle.c                                  rsc, PCMK_ACTION_RUNNING,
rsc               326 lib/pacemaker/pcmk_sched_bundle.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_STOP, bundled_resource,
rsc               332 lib/pacemaker/pcmk_sched_bundle.c                                  rsc, PCMK_ACTION_STOPPED,
rsc               340 lib/pacemaker/pcmk_sched_bundle.c     pcmk__promotable_restart_ordering(rsc);
rsc               343 lib/pacemaker/pcmk_sched_bundle.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_DEMOTE, bundled_resource,
rsc               349 lib/pacemaker/pcmk_sched_bundle.c                                  rsc, PCMK_ACTION_DEMOTED,
rsc               353 lib/pacemaker/pcmk_sched_bundle.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_PROMOTE,
rsc               359 lib/pacemaker/pcmk_sched_bundle.c                                  rsc, PCMK_ACTION_PROMOTED,
rsc               604 lib/pacemaker/pcmk_sched_bundle.c pcmk__with_bundle_colocations(const pcmk_resource_t *rsc,
rsc               609 lib/pacemaker/pcmk_sched_bundle.c     pcmk__assert(pcmk__is_bundle(rsc) && (orig_rsc != NULL) && (list != NULL));
rsc               612 lib/pacemaker/pcmk_sched_bundle.c     if ((orig_rsc == rsc)
rsc               615 lib/pacemaker/pcmk_sched_bundle.c         pcmk__add_with_this_list(list, rsc->priv->with_this_colocations,
rsc               623 lib/pacemaker/pcmk_sched_bundle.c     bundled_rsc = pe__bundled_resource(rsc);
rsc               636 lib/pacemaker/pcmk_sched_bundle.c             pcmk__add_with_this_list(list, rsc->priv->with_this_colocations,
rsc               644 lib/pacemaker/pcmk_sched_bundle.c         pcmk__add_with_this_list(list, rsc->priv->with_this_colocations,
rsc               651 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_with_colocations(const pcmk_resource_t *rsc,
rsc               656 lib/pacemaker/pcmk_sched_bundle.c     pcmk__assert(pcmk__is_bundle(rsc) && (orig_rsc != NULL) && (list != NULL));
rsc               659 lib/pacemaker/pcmk_sched_bundle.c     if ((orig_rsc == rsc)
rsc               662 lib/pacemaker/pcmk_sched_bundle.c         pcmk__add_this_with_list(list, rsc->priv->this_with_colocations,
rsc               670 lib/pacemaker/pcmk_sched_bundle.c     bundled_rsc = pe__bundled_resource(rsc);
rsc               683 lib/pacemaker/pcmk_sched_bundle.c             pcmk__add_this_with_list(list, rsc->priv->this_with_colocations,
rsc               691 lib/pacemaker/pcmk_sched_bundle.c         pcmk__add_this_with_list(list, rsc->priv->this_with_colocations,
rsc               712 lib/pacemaker/pcmk_sched_bundle.c     pcmk__assert((action != NULL) && pcmk__is_bundle(action->rsc));
rsc               714 lib/pacemaker/pcmk_sched_bundle.c     bundled_resource = pe__bundled_resource(action->rsc);
rsc               733 lib/pacemaker/pcmk_sched_bundle.c     containers = pe__bundle_containers(action->rsc);
rsc               769 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_apply_location(pcmk_resource_t *rsc, pcmk__location_t *location)
rsc               773 lib/pacemaker/pcmk_sched_bundle.c     pcmk__assert((location != NULL) && pcmk__is_bundle(rsc));
rsc               775 lib/pacemaker/pcmk_sched_bundle.c     pcmk__apply_location(rsc, location);
rsc               776 lib/pacemaker/pcmk_sched_bundle.c     pe__foreach_bundle_replica(rsc, apply_location_to_replica, location);
rsc               778 lib/pacemaker/pcmk_sched_bundle.c     bundled_resource = pe__bundled_resource(rsc);
rsc               865 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_add_actions_to_graph(pcmk_resource_t *rsc)
rsc               869 lib/pacemaker/pcmk_sched_bundle.c     pcmk__assert(pcmk__is_bundle(rsc));
rsc               871 lib/pacemaker/pcmk_sched_bundle.c     bundled_resource = pe__bundled_resource(rsc);
rsc               875 lib/pacemaker/pcmk_sched_bundle.c     pe__foreach_bundle_replica(rsc, add_replica_actions_to_graph, rsc);
rsc              1000 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_create_probe(pcmk_resource_t *rsc, pcmk_node_t *node)
rsc              1002 lib/pacemaker/pcmk_sched_bundle.c     struct probe_data probe_data = { rsc, node, false };
rsc              1004 lib/pacemaker/pcmk_sched_bundle.c     pcmk__assert(pcmk__is_bundle(rsc));
rsc              1005 lib/pacemaker/pcmk_sched_bundle.c     pe__foreach_bundle_replica(rsc, create_replica_probes, &probe_data);
rsc              1041 lib/pacemaker/pcmk_sched_bundle.c pcmk__output_bundle_actions(pcmk_resource_t *rsc)
rsc              1043 lib/pacemaker/pcmk_sched_bundle.c     pcmk__assert(pcmk__is_bundle(rsc));
rsc              1044 lib/pacemaker/pcmk_sched_bundle.c     pe__foreach_bundle_replica(rsc, output_replica_actions, NULL);
rsc              1049 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_add_utilization(const pcmk_resource_t *rsc,
rsc              1055 lib/pacemaker/pcmk_sched_bundle.c     pcmk__assert(pcmk__is_bundle(rsc));
rsc              1057 lib/pacemaker/pcmk_sched_bundle.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_unassigned)) {
rsc              1065 lib/pacemaker/pcmk_sched_bundle.c     container = pe__first_container(rsc);
rsc              1074 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_shutdown_lock(pcmk_resource_t *rsc)
rsc              1076 lib/pacemaker/pcmk_sched_bundle.c     pcmk__assert(pcmk__is_bundle(rsc));
rsc                37 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_assign(pcmk_resource_t *rsc, const pcmk_node_t *prefer,
rsc                42 lib/pacemaker/pcmk_sched_clone.c     pcmk__assert(pcmk__is_clone(rsc));
rsc                44 lib/pacemaker/pcmk_sched_clone.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_unassigned)) {
rsc                49 lib/pacemaker/pcmk_sched_clone.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_assigning)) {
rsc                50 lib/pacemaker/pcmk_sched_clone.c         pcmk__rsc_debug(rsc, "Breaking assignment loop involving %s", rsc->id);
rsc                53 lib/pacemaker/pcmk_sched_clone.c     pcmk__set_rsc_flags(rsc, pcmk__rsc_assigning);
rsc                56 lib/pacemaker/pcmk_sched_clone.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_promotable)) {
rsc                57 lib/pacemaker/pcmk_sched_clone.c         pcmk__add_promotion_scores(rsc);
rsc                61 lib/pacemaker/pcmk_sched_clone.c     colocations = pcmk__this_with_colocations(rsc);
rsc                66 lib/pacemaker/pcmk_sched_clone.c         pcmk__rsc_trace(rsc, "%s: Assigning colocation %s primary %s first",
rsc                67 lib/pacemaker/pcmk_sched_clone.c                         rsc->id, constraint->id, primary->id);
rsc                73 lib/pacemaker/pcmk_sched_clone.c     colocations = pcmk__with_this_colocations(rsc);
rsc                74 lib/pacemaker/pcmk_sched_clone.c     g_list_foreach(colocations, pcmk__add_dependent_scores, rsc);
rsc                77 lib/pacemaker/pcmk_sched_clone.c     pe__show_node_scores(!pcmk_is_set(rsc->priv->scheduler->flags,
rsc                79 lib/pacemaker/pcmk_sched_clone.c                          rsc, __func__, rsc->priv->allowed_nodes,
rsc                80 lib/pacemaker/pcmk_sched_clone.c                          rsc->priv->scheduler);
rsc                82 lib/pacemaker/pcmk_sched_clone.c     rsc->priv->children = g_list_sort(rsc->priv->children, pcmk__cmp_instance);
rsc                83 lib/pacemaker/pcmk_sched_clone.c     pcmk__assign_instances(rsc, rsc->priv->children, pe__clone_max(rsc),
rsc                84 lib/pacemaker/pcmk_sched_clone.c                            pe__clone_node_max(rsc));
rsc                86 lib/pacemaker/pcmk_sched_clone.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_promotable)) {
rsc                87 lib/pacemaker/pcmk_sched_clone.c         pcmk__set_instance_roles(rsc);
rsc                90 lib/pacemaker/pcmk_sched_clone.c     pcmk__clear_rsc_flags(rsc, pcmk__rsc_unassigned|pcmk__rsc_assigning);
rsc                91 lib/pacemaker/pcmk_sched_clone.c     pcmk__rsc_trace(rsc, "Assigned clone %s", rsc->id);
rsc               102 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_create_actions(pcmk_resource_t *rsc)
rsc               104 lib/pacemaker/pcmk_sched_clone.c     pcmk__assert(pcmk__is_clone(rsc));
rsc               106 lib/pacemaker/pcmk_sched_clone.c     pcmk__rsc_trace(rsc, "Creating actions for clone %s", rsc->id);
rsc               107 lib/pacemaker/pcmk_sched_clone.c     pcmk__create_instance_actions(rsc, rsc->priv->children);
rsc               108 lib/pacemaker/pcmk_sched_clone.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_promotable)) {
rsc               109 lib/pacemaker/pcmk_sched_clone.c         pcmk__create_promotable_actions(rsc);
rsc               120 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_internal_constraints(pcmk_resource_t *rsc)
rsc               124 lib/pacemaker/pcmk_sched_clone.c     pcmk__assert(pcmk__is_clone(rsc));
rsc               126 lib/pacemaker/pcmk_sched_clone.c     pcmk__rsc_trace(rsc, "Creating internal constraints for clone %s", rsc->id);
rsc               129 lib/pacemaker/pcmk_sched_clone.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_STOPPED,
rsc               130 lib/pacemaker/pcmk_sched_clone.c                                  rsc, PCMK_ACTION_START,
rsc               132 lib/pacemaker/pcmk_sched_clone.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_START,
rsc               133 lib/pacemaker/pcmk_sched_clone.c                                  rsc, PCMK_ACTION_RUNNING,
rsc               135 lib/pacemaker/pcmk_sched_clone.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_STOP,
rsc               136 lib/pacemaker/pcmk_sched_clone.c                                  rsc, PCMK_ACTION_STOPPED,
rsc               140 lib/pacemaker/pcmk_sched_clone.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_promotable)) {
rsc               141 lib/pacemaker/pcmk_sched_clone.c         pcmk__order_resource_actions(rsc, PCMK_ACTION_DEMOTED,
rsc               142 lib/pacemaker/pcmk_sched_clone.c                                      rsc, PCMK_ACTION_STOP,
rsc               144 lib/pacemaker/pcmk_sched_clone.c         pcmk__order_resource_actions(rsc, PCMK_ACTION_RUNNING,
rsc               145 lib/pacemaker/pcmk_sched_clone.c                                      rsc, PCMK_ACTION_PROMOTE,
rsc               149 lib/pacemaker/pcmk_sched_clone.c     ordered = pe__clone_is_ordered(rsc);
rsc               155 lib/pacemaker/pcmk_sched_clone.c         rsc->priv->children = g_list_sort(rsc->priv->children,
rsc               158 lib/pacemaker/pcmk_sched_clone.c     for (GList *iter = rsc->priv->children;
rsc               166 lib/pacemaker/pcmk_sched_clone.c         pcmk__order_starts(rsc, instance, pcmk__ar_unrunnable_first_blocks
rsc               169 lib/pacemaker/pcmk_sched_clone.c                                      rsc, PCMK_ACTION_RUNNING,
rsc               173 lib/pacemaker/pcmk_sched_clone.c         pcmk__order_stops(rsc, instance, pcmk__ar_then_implies_first_graphed);
rsc               175 lib/pacemaker/pcmk_sched_clone.c                                      rsc, PCMK_ACTION_STOPPED,
rsc               192 lib/pacemaker/pcmk_sched_clone.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_promotable)) {
rsc               193 lib/pacemaker/pcmk_sched_clone.c         pcmk__order_promotable_instances(rsc);
rsc               371 lib/pacemaker/pcmk_sched_clone.c pcmk__with_clone_colocations(const pcmk_resource_t *rsc,
rsc               376 lib/pacemaker/pcmk_sched_clone.c     CRM_CHECK((rsc != NULL) && (orig_rsc != NULL) && (list != NULL), return);
rsc               377 lib/pacemaker/pcmk_sched_clone.c     parent = rsc->priv->parent;
rsc               379 lib/pacemaker/pcmk_sched_clone.c     pcmk__add_with_this_list(list, rsc->priv->with_this_colocations,
rsc               389 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_with_colocations(const pcmk_resource_t *rsc,
rsc               394 lib/pacemaker/pcmk_sched_clone.c     CRM_CHECK((rsc != NULL) && (orig_rsc != NULL) && (list != NULL), return);
rsc               395 lib/pacemaker/pcmk_sched_clone.c     parent = rsc->priv->parent;
rsc               397 lib/pacemaker/pcmk_sched_clone.c     pcmk__add_this_with_list(list, rsc->priv->this_with_colocations,
rsc               417 lib/pacemaker/pcmk_sched_clone.c     pcmk__assert((action != NULL) && pcmk__is_clone(action->rsc));
rsc               419 lib/pacemaker/pcmk_sched_clone.c     return pcmk__collective_action_flags(action, action->rsc->priv->children,
rsc               431 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_apply_location(pcmk_resource_t *rsc, pcmk__location_t *location)
rsc               433 lib/pacemaker/pcmk_sched_clone.c     CRM_CHECK((location != NULL) && pcmk__is_clone(rsc), return);
rsc               435 lib/pacemaker/pcmk_sched_clone.c     pcmk__apply_location(rsc, location);
rsc               437 lib/pacemaker/pcmk_sched_clone.c     for (GList *iter = rsc->priv->children;
rsc               450 lib/pacemaker/pcmk_sched_clone.c     pcmk_resource_t *rsc = user_data;
rsc               452 lib/pacemaker/pcmk_sched_clone.c     rsc->priv->cmds->action_flags((pcmk_action_t *) data, NULL);
rsc               462 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_add_actions_to_graph(pcmk_resource_t *rsc)
rsc               464 lib/pacemaker/pcmk_sched_clone.c     pcmk__assert(pcmk__is_clone(rsc));
rsc               466 lib/pacemaker/pcmk_sched_clone.c     g_list_foreach(rsc->priv->actions, call_action_flags, rsc);
rsc               467 lib/pacemaker/pcmk_sched_clone.c     pe__create_clone_notifications(rsc);
rsc               469 lib/pacemaker/pcmk_sched_clone.c     for (GList *iter = rsc->priv->children;
rsc               477 lib/pacemaker/pcmk_sched_clone.c     pcmk__add_rsc_actions_to_graph(rsc);
rsc               478 lib/pacemaker/pcmk_sched_clone.c     pe__free_clone_notification_data(rsc);
rsc               492 lib/pacemaker/pcmk_sched_clone.c rsc_probed_on(const pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc               494 lib/pacemaker/pcmk_sched_clone.c     if (rsc->priv->children != NULL) {
rsc               495 lib/pacemaker/pcmk_sched_clone.c         for (GList *child_iter = rsc->priv->children;
rsc               507 lib/pacemaker/pcmk_sched_clone.c     if (rsc->priv->probed_nodes != NULL) {
rsc               511 lib/pacemaker/pcmk_sched_clone.c         g_hash_table_iter_init(&iter, rsc->priv->probed_nodes);
rsc               592 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_create_probe(pcmk_resource_t *rsc, pcmk_node_t *node)
rsc               594 lib/pacemaker/pcmk_sched_clone.c     pcmk__assert((node != NULL) && pcmk__is_clone(rsc));
rsc               596 lib/pacemaker/pcmk_sched_clone.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_exclusive_probes)) {
rsc               606 lib/pacemaker/pcmk_sched_clone.c         pcmk_node_t *allowed = g_hash_table_lookup(rsc->priv->allowed_nodes,
rsc               615 lib/pacemaker/pcmk_sched_clone.c             pcmk__rsc_trace(rsc,
rsc               618 lib/pacemaker/pcmk_sched_clone.c                             rsc->id, pcmk__node_name(node));
rsc               619 lib/pacemaker/pcmk_sched_clone.c             g_hash_table_remove(rsc->priv->allowed_nodes, node->priv->id);
rsc               624 lib/pacemaker/pcmk_sched_clone.c     rsc->priv->children = g_list_sort(rsc->priv->children,
rsc               626 lib/pacemaker/pcmk_sched_clone.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_unique)) {
rsc               627 lib/pacemaker/pcmk_sched_clone.c         return pcmk__probe_resource_list(rsc->priv->children, node);
rsc               629 lib/pacemaker/pcmk_sched_clone.c         return probe_anonymous_clone(rsc, node);
rsc               643 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_add_graph_meta(const pcmk_resource_t *rsc, xmlNode *xml)
rsc               647 lib/pacemaker/pcmk_sched_clone.c     pcmk__assert(pcmk__is_clone(rsc) && (xml != NULL));
rsc               650 lib/pacemaker/pcmk_sched_clone.c     crm_xml_add(xml, name, pcmk__flag_text(rsc->flags, pcmk__rsc_unique));
rsc               654 lib/pacemaker/pcmk_sched_clone.c     crm_xml_add(xml, name, pcmk__flag_text(rsc->flags, pcmk__rsc_notify));
rsc               658 lib/pacemaker/pcmk_sched_clone.c     crm_xml_add_int(xml, name, pe__clone_max(rsc));
rsc               662 lib/pacemaker/pcmk_sched_clone.c     crm_xml_add_int(xml, name, pe__clone_node_max(rsc));
rsc               665 lib/pacemaker/pcmk_sched_clone.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_promotable)) {
rsc               666 lib/pacemaker/pcmk_sched_clone.c         int promoted_max = pe__clone_promoted_max(rsc);
rsc               667 lib/pacemaker/pcmk_sched_clone.c         int promoted_node_max = pe__clone_promoted_node_max(rsc);
rsc               692 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_add_utilization(const pcmk_resource_t *rsc,
rsc               699 lib/pacemaker/pcmk_sched_clone.c     pcmk__assert(pcmk__is_clone(rsc) && (orig_rsc != NULL)
rsc               702 lib/pacemaker/pcmk_sched_clone.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_unassigned)) {
rsc               707 lib/pacemaker/pcmk_sched_clone.c     for (GList *iter = rsc->priv->children;
rsc               731 lib/pacemaker/pcmk_sched_clone.c     if (!existing && (rsc->priv->children != NULL)) {
rsc               733 lib/pacemaker/pcmk_sched_clone.c         child = (pcmk_resource_t *) rsc->priv->children->data;
rsc               742 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_shutdown_lock(pcmk_resource_t *rsc)
rsc               744 lib/pacemaker/pcmk_sched_clone.c     pcmk__assert(pcmk__is_clone(rsc));
rsc                41 lib/pacemaker/pcmk_sched_colocation.c                            const pcmk_resource_t *rsc)
rsc                50 lib/pacemaker/pcmk_sched_colocation.c     if (pcmk__is_bundle_node(node) && pcmk__is_bundled(rsc)
rsc                51 lib/pacemaker/pcmk_sched_colocation.c         && (pe__const_top_resource(rsc, false) == pe__bundled_resource(rsc))) {
rsc                54 lib/pacemaker/pcmk_sched_colocation.c     } else if (rsc != NULL) {
rsc                55 lib/pacemaker/pcmk_sched_colocation.c         target = g_hash_table_lookup(rsc->priv->meta,
rsc               208 lib/pacemaker/pcmk_sched_colocation.c                     const pcmk_resource_t *rsc)
rsc               210 lib/pacemaker/pcmk_sched_colocation.c     pcmk__assert((list != NULL) && (colocation != NULL) && (rsc != NULL));
rsc               212 lib/pacemaker/pcmk_sched_colocation.c     pcmk__rsc_trace(rsc,
rsc               217 lib/pacemaker/pcmk_sched_colocation.c                     pcmk_readable_score(colocation->score), rsc->id);
rsc               235 lib/pacemaker/pcmk_sched_colocation.c                          const pcmk_resource_t *rsc)
rsc               237 lib/pacemaker/pcmk_sched_colocation.c     pcmk__assert((list != NULL) && (rsc != NULL));
rsc               251 lib/pacemaker/pcmk_sched_colocation.c         pcmk__add_this_with(list, addition->data, rsc);
rsc               268 lib/pacemaker/pcmk_sched_colocation.c                     const pcmk_resource_t *rsc)
rsc               270 lib/pacemaker/pcmk_sched_colocation.c     pcmk__assert((list != NULL) && (colocation != NULL) && (rsc != NULL));
rsc               272 lib/pacemaker/pcmk_sched_colocation.c     pcmk__rsc_trace(rsc,
rsc               277 lib/pacemaker/pcmk_sched_colocation.c                     pcmk_readable_score(colocation->score), rsc->id);
rsc               295 lib/pacemaker/pcmk_sched_colocation.c                          const pcmk_resource_t *rsc)
rsc               297 lib/pacemaker/pcmk_sched_colocation.c     pcmk__assert((list != NULL) && (rsc != NULL));
rsc               311 lib/pacemaker/pcmk_sched_colocation.c         pcmk__add_with_this(list, addition->data, rsc);
rsc               456 lib/pacemaker/pcmk_sched_colocation.c unpack_influence(const char *coloc_id, const pcmk_resource_t *rsc,
rsc               470 lib/pacemaker/pcmk_sched_colocation.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_critical)) {
rsc              1061 lib/pacemaker/pcmk_sched_colocation.c                                const pcmk_resource_t *rsc)
rsc              1063 lib/pacemaker/pcmk_sched_colocation.c     if (rsc == NULL) {
rsc              1064 lib/pacemaker/pcmk_sched_colocation.c         rsc = colocation->primary;
rsc              1081 lib/pacemaker/pcmk_sched_colocation.c         && !pcmk_is_set(rsc->flags, pcmk__rsc_failed)
rsc              1082 lib/pacemaker/pcmk_sched_colocation.c         && pcmk__list_of_1(rsc->priv->active_nodes)) {
rsc              1090 lib/pacemaker/pcmk_sched_colocation.c            || (rsc->priv->active_nodes == NULL);
rsc              1102 lib/pacemaker/pcmk_sched_colocation.c mark_action_blocked(pcmk_resource_t *rsc, const char *task,
rsc              1108 lib/pacemaker/pcmk_sched_colocation.c     for (iter = rsc->priv->actions; iter != NULL; iter = iter->next) {
rsc              1117 lib/pacemaker/pcmk_sched_colocation.c             pcmk__update_action_for_orderings(action, rsc->priv->scheduler);
rsc              1122 lib/pacemaker/pcmk_sched_colocation.c     for (iter = rsc->priv->children; iter != NULL; iter = iter->next) {
rsc              1143 lib/pacemaker/pcmk_sched_colocation.c     pcmk_resource_t *rsc = NULL;
rsc              1156 lib/pacemaker/pcmk_sched_colocation.c     pcmk__assert(action->rsc != NULL); // Start and promote are resource actions
rsc              1162 lib/pacemaker/pcmk_sched_colocation.c     rsc = uber_parent(action->rsc);
rsc              1163 lib/pacemaker/pcmk_sched_colocation.c     if (rsc->priv->parent != NULL) {
rsc              1164 lib/pacemaker/pcmk_sched_colocation.c         rsc = rsc->priv->parent; // Bundle
rsc              1168 lib/pacemaker/pcmk_sched_colocation.c     for (iter = rsc->priv->children; iter != NULL; iter = iter->next) {
rsc              1178 lib/pacemaker/pcmk_sched_colocation.c                       rsc->id, child->id, action->task);
rsc              1184 lib/pacemaker/pcmk_sched_colocation.c               rsc->id, action->rsc->id, action->task);
rsc              1187 lib/pacemaker/pcmk_sched_colocation.c     colocations = pcmk__with_this_colocations(rsc);
rsc              1208 lib/pacemaker/pcmk_sched_colocation.c                                 action->rsc);
rsc              1211 lib/pacemaker/pcmk_sched_colocation.c                                 action->rsc);
rsc              1236 lib/pacemaker/pcmk_sched_colocation.c get_resource_for_role(const pcmk_resource_t *rsc)
rsc              1238 lib/pacemaker/pcmk_sched_colocation.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_replica_container)) {
rsc              1239 lib/pacemaker/pcmk_sched_colocation.c         const pcmk_resource_t *child = pe__get_rsc_in_container(rsc);
rsc              1245 lib/pacemaker/pcmk_sched_colocation.c     return rsc;
rsc              1539 lib/pacemaker/pcmk_sched_colocation.c                               pcmk_resource_t *rsc, const char *attr,
rsc              1548 lib/pacemaker/pcmk_sched_colocation.c     if ((colocation != NULL) && (rsc == colocation->dependent)
rsc              1550 lib/pacemaker/pcmk_sched_colocation.c         && pcmk__is_group(rsc->priv->parent)
rsc              1551 lib/pacemaker/pcmk_sched_colocation.c         && (rsc != rsc->priv->parent->priv->children->data)) {
rsc              1563 lib/pacemaker/pcmk_sched_colocation.c         allowed_nodes_orig = rsc->priv->allowed_nodes;
rsc              1564 lib/pacemaker/pcmk_sched_colocation.c         rsc->priv->allowed_nodes = pcmk__copy_node_table(allowed_nodes_orig);
rsc              1565 lib/pacemaker/pcmk_sched_colocation.c         for (GList *loc_iter = rsc->priv->scheduler->priv->location_constraints;
rsc              1570 lib/pacemaker/pcmk_sched_colocation.c             if (location->rsc == rsc->priv->parent) {
rsc              1571 lib/pacemaker/pcmk_sched_colocation.c                 rsc->priv->cmds->apply_location(rsc, location);
rsc              1577 lib/pacemaker/pcmk_sched_colocation.c     g_hash_table_iter_init(&iter, rsc->priv->allowed_nodes);
rsc              1582 lib/pacemaker/pcmk_sched_colocation.c             && pcmk__str_eq(value, pcmk__colocation_node_attr(node, attr, rsc),
rsc              1593 lib/pacemaker/pcmk_sched_colocation.c                      rsc->id, attr, value);
rsc              1597 lib/pacemaker/pcmk_sched_colocation.c                      best_node, rsc->id, best_score, attr, value);
rsc              1602 lib/pacemaker/pcmk_sched_colocation.c         g_hash_table_destroy(rsc->priv->allowed_nodes);
rsc              1603 lib/pacemaker/pcmk_sched_colocation.c         rsc->priv->allowed_nodes = allowed_nodes_orig;
rsc              1617 lib/pacemaker/pcmk_sched_colocation.c allowed_on_one(const pcmk_resource_t *rsc)
rsc              1623 lib/pacemaker/pcmk_sched_colocation.c     g_hash_table_iter_init(&iter, rsc->priv->allowed_nodes);
rsc              1626 lib/pacemaker/pcmk_sched_colocation.c             pcmk__rsc_trace(rsc, "%s is allowed on multiple nodes", rsc->id);
rsc              1630 lib/pacemaker/pcmk_sched_colocation.c     pcmk__rsc_trace(rsc, "%s is allowed %s", rsc->id,
rsc              2019 lib/pacemaker/pcmk_sched_colocation.c pcmk__with_this_colocations(const pcmk_resource_t *rsc)
rsc              2023 lib/pacemaker/pcmk_sched_colocation.c     rsc->priv->cmds->with_this_colocations(rsc, rsc, &list);
rsc              2038 lib/pacemaker/pcmk_sched_colocation.c pcmk__this_with_colocations(const pcmk_resource_t *rsc)
rsc              2042 lib/pacemaker/pcmk_sched_colocation.c     rsc->priv->cmds->this_with_colocations(rsc, rsc, &list);
rsc               197 lib/pacemaker/pcmk_sched_constraints.c                             pcmk_resource_t **rsc, pcmk__idref_t **tag)
rsc               199 lib/pacemaker/pcmk_sched_constraints.c     if (rsc != NULL) {
rsc               200 lib/pacemaker/pcmk_sched_constraints.c         *rsc = pcmk__find_constraint_resource(scheduler->priv->resources, id);
rsc               201 lib/pacemaker/pcmk_sched_constraints.c         if (*rsc != NULL) {
rsc               256 lib/pacemaker/pcmk_sched_constraints.c             pcmk_resource_t *rsc = NULL;
rsc               260 lib/pacemaker/pcmk_sched_constraints.c                                              &rsc, &tag)) {
rsc               267 lib/pacemaker/pcmk_sched_constraints.c             } else if (rsc) {
rsc               358 lib/pacemaker/pcmk_sched_constraints.c     pcmk_resource_t *rsc = NULL;
rsc               377 lib/pacemaker/pcmk_sched_constraints.c     if (!pcmk__valid_resource_or_tag(scheduler, id, &rsc, &tag)) {
rsc               401 lib/pacemaker/pcmk_sched_constraints.c     } else if ((rsc != NULL) && convert_rsc) {
rsc               439 lib/pacemaker/pcmk_sched_constraints.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               441 lib/pacemaker/pcmk_sched_constraints.c         rsc->priv->cmds->internal_constraints(rsc);
rsc                29 lib/pacemaker/pcmk_sched_fencing.c rsc_is_known_on(const pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc                31 lib/pacemaker/pcmk_sched_fencing.c     const pcmk_resource_t *parent = rsc->priv->parent;
rsc                33 lib/pacemaker/pcmk_sched_fencing.c     if (g_hash_table_lookup(rsc->priv->probed_nodes,
rsc                37 lib/pacemaker/pcmk_sched_fencing.c     } else if (pcmk__is_primitive(rsc) && pcmk__is_anonymous_clone(parent)
rsc                57 lib/pacemaker/pcmk_sched_fencing.c order_start_vs_fencing(pcmk_resource_t *rsc, pcmk_action_t *stonith_op)
rsc                64 lib/pacemaker/pcmk_sched_fencing.c     for (GList *iter = rsc->priv->actions; iter != NULL; iter = iter->next) {
rsc                79 lib/pacemaker/pcmk_sched_fencing.c                     && (g_hash_table_lookup(rsc->priv->allowed_nodes,
rsc                81 lib/pacemaker/pcmk_sched_fencing.c                     && !rsc_is_known_on(rsc, target)) {
rsc                92 lib/pacemaker/pcmk_sched_fencing.c                     pcmk__rsc_debug(rsc, "Ordering %s after %s recovery",
rsc               111 lib/pacemaker/pcmk_sched_fencing.c order_stop_vs_fencing(pcmk_resource_t *rsc, pcmk_action_t *stonith_op)
rsc               117 lib/pacemaker/pcmk_sched_fencing.c     pcmk_resource_t *top = uber_parent(rsc);
rsc               125 lib/pacemaker/pcmk_sched_fencing.c     action_list = pe__resource_actions(rsc, target, PCMK_ACTION_STOP, FALSE);
rsc               133 lib/pacemaker/pcmk_sched_fencing.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_needs_fencing)
rsc               164 lib/pacemaker/pcmk_sched_fencing.c             if (!pcmk__is_bundled(rsc)) {
rsc               170 lib/pacemaker/pcmk_sched_fencing.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_failed)) {
rsc               172 lib/pacemaker/pcmk_sched_fencing.c                        rsc->id, (order_implicit? "after" : "because"),
rsc               180 lib/pacemaker/pcmk_sched_fencing.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_notify)) {
rsc               181 lib/pacemaker/pcmk_sched_fencing.c             pe__order_notifs_after_fencing(action, rsc, stonith_op);
rsc               204 lib/pacemaker/pcmk_sched_fencing.c                   rsc->id, pcmk__node_name(node));
rsc               205 lib/pacemaker/pcmk_sched_fencing.c          pcmk__new_ordering(rsc, stop_key(rsc), NULL, NULL,
rsc               207 lib/pacemaker/pcmk_sched_fencing.c                             pcmk__ar_ordered, rsc->private->scheduler);
rsc               214 lib/pacemaker/pcmk_sched_fencing.c     action_list = pe__resource_actions(rsc, target, PCMK_ACTION_DEMOTE, FALSE);
rsc               220 lib/pacemaker/pcmk_sched_fencing.c             || pcmk_is_set(rsc->flags, pcmk__rsc_failed)) {
rsc               222 lib/pacemaker/pcmk_sched_fencing.c             if (pcmk_is_set(rsc->flags, pcmk__rsc_failed)) {
rsc               223 lib/pacemaker/pcmk_sched_fencing.c                 pcmk__rsc_info(rsc,
rsc               226 lib/pacemaker/pcmk_sched_fencing.c                                rsc->id, pcmk__node_name(target));
rsc               228 lib/pacemaker/pcmk_sched_fencing.c                 pcmk__rsc_info(rsc, "%s is implicit after %s is fenced",
rsc               238 lib/pacemaker/pcmk_sched_fencing.c             if (pcmk__is_bundled(rsc)) {
rsc               259 lib/pacemaker/pcmk_sched_fencing.c rsc_stonith_ordering(pcmk_resource_t *rsc, pcmk_action_t *stonith_op)
rsc               261 lib/pacemaker/pcmk_sched_fencing.c     if (rsc->priv->children != NULL) {
rsc               263 lib/pacemaker/pcmk_sched_fencing.c         for (GList *iter = rsc->priv->children;
rsc               271 lib/pacemaker/pcmk_sched_fencing.c     } else if (!pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               272 lib/pacemaker/pcmk_sched_fencing.c         pcmk__rsc_trace(rsc,
rsc               274 lib/pacemaker/pcmk_sched_fencing.c                         "%s", rsc->id);
rsc               277 lib/pacemaker/pcmk_sched_fencing.c         order_start_vs_fencing(rsc, stonith_op);
rsc               278 lib/pacemaker/pcmk_sched_fencing.c         order_stop_vs_fencing(rsc, stonith_op);
rsc               312 lib/pacemaker/pcmk_sched_fencing.c pcmk__order_vs_unfence(const pcmk_resource_t *rsc, pcmk_node_t *node,
rsc               323 lib/pacemaker/pcmk_sched_fencing.c     if ((pcmk_is_set(rsc->flags, pcmk__rsc_fence_device)
rsc               324 lib/pacemaker/pcmk_sched_fencing.c          && pcmk_is_set(rsc->priv->scheduler->flags,
rsc               326 lib/pacemaker/pcmk_sched_fencing.c         || pcmk_is_set(rsc->flags, pcmk__rsc_needs_unfencing)) {
rsc               340 lib/pacemaker/pcmk_sched_fencing.c                                              rsc->id, action->task);
rsc               476 lib/pacemaker/pcmk_sched_fencing.c     pcmk_resource_t *rsc = (pcmk_resource_t *) user_data;
rsc               479 lib/pacemaker/pcmk_sched_fencing.c                                          false, rsc->priv->scheduler);
rsc               482 lib/pacemaker/pcmk_sched_fencing.c               rsc->id, unfence->uuid);
rsc               499 lib/pacemaker/pcmk_sched_fencing.c     pcmk__new_ordering(rsc, stop_key(rsc), NULL,
rsc               502 lib/pacemaker/pcmk_sched_fencing.c                        rsc->priv->scheduler);
rsc               505 lib/pacemaker/pcmk_sched_fencing.c                        rsc, start_key(rsc), NULL,
rsc               508 lib/pacemaker/pcmk_sched_fencing.c                        rsc->priv->scheduler);
rsc                40 lib/pacemaker/pcmk_sched_group.c pcmk__group_assign(pcmk_resource_t *rsc, const pcmk_node_t *prefer,
rsc                46 lib/pacemaker/pcmk_sched_group.c     pcmk__assert(pcmk__is_group(rsc));
rsc                48 lib/pacemaker/pcmk_sched_group.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_unassigned)) {
rsc                49 lib/pacemaker/pcmk_sched_group.c         return rsc->priv->assigned_node; // Assignment already done
rsc                51 lib/pacemaker/pcmk_sched_group.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_assigning)) {
rsc                52 lib/pacemaker/pcmk_sched_group.c         pcmk__rsc_debug(rsc, "Assignment dependency loop detected involving %s",
rsc                53 lib/pacemaker/pcmk_sched_group.c                         rsc->id);
rsc                57 lib/pacemaker/pcmk_sched_group.c     if (rsc->priv->children == NULL) {
rsc                59 lib/pacemaker/pcmk_sched_group.c         pcmk__clear_rsc_flags(rsc, pcmk__rsc_unassigned);
rsc                63 lib/pacemaker/pcmk_sched_group.c     pcmk__set_rsc_flags(rsc, pcmk__rsc_assigning);
rsc                64 lib/pacemaker/pcmk_sched_group.c     first_member = (pcmk_resource_t *) rsc->priv->children->data;
rsc                65 lib/pacemaker/pcmk_sched_group.c     rsc->priv->orig_role = first_member->priv->orig_role;
rsc                67 lib/pacemaker/pcmk_sched_group.c     pe__show_node_scores(!pcmk_is_set(rsc->priv->scheduler->flags,
rsc                69 lib/pacemaker/pcmk_sched_group.c                          rsc, __func__, rsc->priv->allowed_nodes,
rsc                70 lib/pacemaker/pcmk_sched_group.c                          rsc->priv->scheduler);
rsc                72 lib/pacemaker/pcmk_sched_group.c     for (GList *iter = rsc->priv->children;
rsc                78 lib/pacemaker/pcmk_sched_group.c         pcmk__rsc_trace(rsc, "Assigning group %s member %s",
rsc                79 lib/pacemaker/pcmk_sched_group.c                         rsc->id, member->id);
rsc                86 lib/pacemaker/pcmk_sched_group.c     pe__set_next_role(rsc, first_member->priv->next_role,
rsc                88 lib/pacemaker/pcmk_sched_group.c     pcmk__clear_rsc_flags(rsc, pcmk__rsc_assigning|pcmk__rsc_unassigned);
rsc                90 lib/pacemaker/pcmk_sched_group.c     if (!pe__group_flag_is_set(rsc, pcmk__group_colocated)) {
rsc               123 lib/pacemaker/pcmk_sched_group.c pcmk__group_create_actions(pcmk_resource_t *rsc)
rsc               125 lib/pacemaker/pcmk_sched_group.c     pcmk__assert(pcmk__is_group(rsc));
rsc               127 lib/pacemaker/pcmk_sched_group.c     pcmk__rsc_trace(rsc, "Creating actions for group %s", rsc->id);
rsc               130 lib/pacemaker/pcmk_sched_group.c     for (GList *iter = rsc->priv->children;
rsc               139 lib/pacemaker/pcmk_sched_group.c     create_group_pseudo_op(rsc, PCMK_ACTION_START);
rsc               140 lib/pacemaker/pcmk_sched_group.c     create_group_pseudo_op(rsc, PCMK_ACTION_RUNNING);
rsc               141 lib/pacemaker/pcmk_sched_group.c     create_group_pseudo_op(rsc, PCMK_ACTION_STOP);
rsc               142 lib/pacemaker/pcmk_sched_group.c     create_group_pseudo_op(rsc, PCMK_ACTION_STOPPED);
rsc               143 lib/pacemaker/pcmk_sched_group.c     if (crm_is_true(g_hash_table_lookup(rsc->priv->meta,
rsc               145 lib/pacemaker/pcmk_sched_group.c         create_group_pseudo_op(rsc, PCMK_ACTION_DEMOTE);
rsc               146 lib/pacemaker/pcmk_sched_group.c         create_group_pseudo_op(rsc, PCMK_ACTION_DEMOTED);
rsc               147 lib/pacemaker/pcmk_sched_group.c         create_group_pseudo_op(rsc, PCMK_ACTION_PROMOTE);
rsc               148 lib/pacemaker/pcmk_sched_group.c         create_group_pseudo_op(rsc, PCMK_ACTION_PROMOTED);
rsc               323 lib/pacemaker/pcmk_sched_group.c pcmk__group_internal_constraints(pcmk_resource_t *rsc)
rsc               328 lib/pacemaker/pcmk_sched_group.c     pcmk__assert(pcmk__is_group(rsc));
rsc               333 lib/pacemaker/pcmk_sched_group.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_STOP,
rsc               334 lib/pacemaker/pcmk_sched_group.c                                  rsc, PCMK_ACTION_STOPPED,
rsc               336 lib/pacemaker/pcmk_sched_group.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_STOPPED,
rsc               337 lib/pacemaker/pcmk_sched_group.c                                  rsc, PCMK_ACTION_START,
rsc               339 lib/pacemaker/pcmk_sched_group.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_START,
rsc               340 lib/pacemaker/pcmk_sched_group.c                                  rsc, PCMK_ACTION_RUNNING,
rsc               343 lib/pacemaker/pcmk_sched_group.c     top = pe__const_top_resource(rsc, false);
rsc               345 lib/pacemaker/pcmk_sched_group.c     member_data.ordered = pe__group_flag_is_set(rsc, pcmk__group_ordered);
rsc               346 lib/pacemaker/pcmk_sched_group.c     member_data.colocated = pe__group_flag_is_set(rsc, pcmk__group_colocated);
rsc               348 lib/pacemaker/pcmk_sched_group.c     g_list_foreach(rsc->priv->children, member_internal_constraints,
rsc               560 lib/pacemaker/pcmk_sched_group.c     for (GList *iter = action->rsc->priv->children;
rsc               581 lib/pacemaker/pcmk_sched_group.c                 pcmk__rsc_trace(action->rsc, "%s is mandatory because %s is",
rsc               593 lib/pacemaker/pcmk_sched_group.c                 pcmk__rsc_trace(action->rsc, "%s is unrunnable because %s is",
rsc               605 lib/pacemaker/pcmk_sched_group.c             pcmk__rsc_trace(action->rsc,
rsc               647 lib/pacemaker/pcmk_sched_group.c     pcmk__assert((first != NULL) && (then != NULL) && (then->rsc != NULL)
rsc               655 lib/pacemaker/pcmk_sched_group.c     for (GList *iter = then->rsc->priv->children;
rsc               683 lib/pacemaker/pcmk_sched_group.c pcmk__group_apply_location(pcmk_resource_t *rsc, pcmk__location_t *location)
rsc               688 lib/pacemaker/pcmk_sched_group.c     pcmk__assert(pcmk__is_group(rsc) && (location != NULL));
rsc               700 lib/pacemaker/pcmk_sched_group.c     pcmk__apply_location(rsc, location);
rsc               703 lib/pacemaker/pcmk_sched_group.c     for (GList *iter = rsc->priv->children;
rsc               708 lib/pacemaker/pcmk_sched_group.c         if (pe__group_flag_is_set(rsc, pcmk__group_colocated)
rsc               709 lib/pacemaker/pcmk_sched_group.c             && (iter != rsc->priv->children)) {
rsc               734 lib/pacemaker/pcmk_sched_group.c pcmk__group_colocated_resources(const pcmk_resource_t *rsc,
rsc               738 lib/pacemaker/pcmk_sched_group.c     pcmk__assert(pcmk__is_group(rsc));
rsc               741 lib/pacemaker/pcmk_sched_group.c         orig_rsc = rsc;
rsc               744 lib/pacemaker/pcmk_sched_group.c     if (pe__group_flag_is_set(rsc, pcmk__group_colocated)
rsc               745 lib/pacemaker/pcmk_sched_group.c         || pcmk__is_clone(rsc->priv->parent)) {
rsc               750 lib/pacemaker/pcmk_sched_group.c         colocated_rscs = g_list_prepend(colocated_rscs, (gpointer) rsc);
rsc               752 lib/pacemaker/pcmk_sched_group.c         for (const GList *iter = rsc->priv->children;
rsc               762 lib/pacemaker/pcmk_sched_group.c     } else if (rsc->priv->children != NULL) {
rsc               766 lib/pacemaker/pcmk_sched_group.c         colocated_rscs = pcmk__colocated_resources(rsc, orig_rsc,
rsc               775 lib/pacemaker/pcmk_sched_group.c pcmk__with_group_colocations(const pcmk_resource_t *rsc,
rsc               781 lib/pacemaker/pcmk_sched_group.c     pcmk__assert((orig_rsc != NULL) && (list != NULL) && pcmk__is_group(rsc));
rsc               782 lib/pacemaker/pcmk_sched_group.c     parent = rsc->priv->parent;
rsc               785 lib/pacemaker/pcmk_sched_group.c     if (rsc->priv->children == NULL) {
rsc               793 lib/pacemaker/pcmk_sched_group.c     if ((orig_rsc != rsc) && (orig_rsc != pe__last_group_member(rsc))) {
rsc               797 lib/pacemaker/pcmk_sched_group.c     pcmk__rsc_trace(rsc, "Adding 'with %s' colocations to list for %s",
rsc               798 lib/pacemaker/pcmk_sched_group.c                     rsc->id, orig_rsc->id);
rsc               801 lib/pacemaker/pcmk_sched_group.c     pcmk__add_with_this_list(list, rsc->priv->with_this_colocations,
rsc               809 lib/pacemaker/pcmk_sched_group.c     if (!pe__group_flag_is_set(rsc, pcmk__group_colocated)) {
rsc               815 lib/pacemaker/pcmk_sched_group.c     for (const GList *iter = rsc->priv->children;
rsc               829 lib/pacemaker/pcmk_sched_group.c pcmk__group_with_colocations(const pcmk_resource_t *rsc,
rsc               835 lib/pacemaker/pcmk_sched_group.c     pcmk__assert((orig_rsc != NULL) && (list != NULL) && pcmk__is_group(rsc));
rsc               836 lib/pacemaker/pcmk_sched_group.c     parent = rsc->priv->parent;
rsc               839 lib/pacemaker/pcmk_sched_group.c     if (rsc->priv->children == NULL) {
rsc               846 lib/pacemaker/pcmk_sched_group.c     if ((rsc == orig_rsc) || (orig_rsc == rsc->priv->children->data)) {
rsc               847 lib/pacemaker/pcmk_sched_group.c         pcmk__rsc_trace(rsc, "Adding '%s with' colocations to list for %s",
rsc               848 lib/pacemaker/pcmk_sched_group.c                         rsc->id, orig_rsc->id);
rsc               851 lib/pacemaker/pcmk_sched_group.c         pcmk__add_this_with_list(list, rsc->priv->this_with_colocations,
rsc               859 lib/pacemaker/pcmk_sched_group.c         if (!pe__group_flag_is_set(rsc, pcmk__group_colocated)) {
rsc               865 lib/pacemaker/pcmk_sched_group.c         for (const GList *iter = rsc->priv->children;
rsc               882 lib/pacemaker/pcmk_sched_group.c     for (const GList *iter = rsc->priv->children;
rsc               893 lib/pacemaker/pcmk_sched_group.c                       rsc->id, orig_rsc->id, member->id);
rsc               894 lib/pacemaker/pcmk_sched_group.c             for (const GList *cons_iter = rsc->priv->this_with_colocations;
rsc               995 lib/pacemaker/pcmk_sched_group.c pcmk__group_add_utilization(const pcmk_resource_t *rsc,
rsc              1002 lib/pacemaker/pcmk_sched_group.c                  && pcmk__is_group(rsc));
rsc              1004 lib/pacemaker/pcmk_sched_group.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_unassigned)) {
rsc              1009 lib/pacemaker/pcmk_sched_group.c                     orig_rsc->id, rsc->id);
rsc              1010 lib/pacemaker/pcmk_sched_group.c     if (pe__group_flag_is_set(rsc, pcmk__group_colocated)
rsc              1011 lib/pacemaker/pcmk_sched_group.c         || pcmk__is_clone(rsc->priv->parent)) {
rsc              1014 lib/pacemaker/pcmk_sched_group.c         for (GList *iter = rsc->priv->children;
rsc              1026 lib/pacemaker/pcmk_sched_group.c     } else if (rsc->priv->children != NULL) {
rsc              1028 lib/pacemaker/pcmk_sched_group.c         member = (pcmk_resource_t *) rsc->priv->children->data;
rsc              1040 lib/pacemaker/pcmk_sched_group.c pcmk__group_shutdown_lock(pcmk_resource_t *rsc)
rsc              1042 lib/pacemaker/pcmk_sched_group.c     pcmk__assert(pcmk__is_group(rsc));
rsc              1044 lib/pacemaker/pcmk_sched_group.c     for (GList *iter = rsc->priv->children;
rsc               149 lib/pacemaker/pcmk_sched_instances.c apply_parent_colocations(const pcmk_resource_t *rsc, GHashTable **nodes)
rsc               151 lib/pacemaker/pcmk_sched_instances.c     GList *colocations = pcmk__this_with_colocations(rsc);
rsc               158 lib/pacemaker/pcmk_sched_instances.c         other->priv->cmds->add_colocated_node_scores(other, rsc, rsc->id,
rsc               163 lib/pacemaker/pcmk_sched_instances.c     colocations = pcmk__with_this_colocations(rsc);
rsc               170 lib/pacemaker/pcmk_sched_instances.c         if (!pcmk__colocation_has_influence(colocation, rsc)) {
rsc               173 lib/pacemaker/pcmk_sched_instances.c         other->priv->cmds->add_colocated_node_scores(other, rsc, rsc->id,
rsc               251 lib/pacemaker/pcmk_sched_instances.c did_fail(const pcmk_resource_t *rsc)
rsc               253 lib/pacemaker/pcmk_sched_instances.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_failed)) {
rsc               257 lib/pacemaker/pcmk_sched_instances.c     for (GList *iter = rsc->priv->children;
rsc               277 lib/pacemaker/pcmk_sched_instances.c node_is_allowed(const pcmk_resource_t *rsc, pcmk_node_t **node)
rsc               280 lib/pacemaker/pcmk_sched_instances.c         pcmk_node_t *allowed = g_hash_table_lookup(rsc->priv->allowed_nodes,
rsc               284 lib/pacemaker/pcmk_sched_instances.c             pcmk__rsc_trace(rsc, "%s: current location (%s) is unavailable",
rsc               285 lib/pacemaker/pcmk_sched_instances.c                             rsc->id, pcmk__node_name(*node));
rsc               599 lib/pacemaker/pcmk_sched_instances.c assign_instance_early(const pcmk_resource_t *rsc, pcmk_resource_t *instance,
rsc               686 lib/pacemaker/pcmk_sched_instances.c                             rsc->id, pcmk__node_name(chosen), instance->id,
rsc               720 lib/pacemaker/pcmk_sched_instances.c reset_allowed_node_counts(pcmk_resource_t *rsc)
rsc               726 lib/pacemaker/pcmk_sched_instances.c     g_hash_table_iter_init(&iter, rsc->priv->allowed_nodes);
rsc              1048 lib/pacemaker/pcmk_sched_instances.c get_instance_list(const pcmk_resource_t *rsc)
rsc              1050 lib/pacemaker/pcmk_sched_instances.c     if (pcmk__is_bundle(rsc)) {
rsc              1051 lib/pacemaker/pcmk_sched_instances.c         return pe__bundle_containers(rsc);
rsc              1053 lib/pacemaker/pcmk_sched_instances.c         return rsc->priv->children;
rsc              1065 lib/pacemaker/pcmk_sched_instances.c free_instance_list(const pcmk_resource_t *rsc, GList *list)
rsc              1067 lib/pacemaker/pcmk_sched_instances.c     if (list != rsc->priv->children) {
rsc              1150 lib/pacemaker/pcmk_sched_instances.c                                  const pcmk_resource_t *rsc,
rsc              1156 lib/pacemaker/pcmk_sched_instances.c     instances = get_instance_list(rsc);
rsc              1163 lib/pacemaker/pcmk_sched_instances.c                             display_role(role), rsc->id, instance->id,
rsc              1165 lib/pacemaker/pcmk_sched_instances.c             free_instance_list(rsc, instances); // Only frees list, not contents
rsc              1169 lib/pacemaker/pcmk_sched_instances.c     free_instance_list(rsc, instances);
rsc              1173 lib/pacemaker/pcmk_sched_instances.c                     display_role(role), rsc->id, match_rsc->id,
rsc              1193 lib/pacemaker/pcmk_sched_instances.c                                const pcmk_resource_t *rsc, enum rsc_role_e role,
rsc              1209 lib/pacemaker/pcmk_sched_instances.c         return find_compatible_instance_on_node(match_rsc, rsc, node, role,
rsc              1217 lib/pacemaker/pcmk_sched_instances.c         instance = find_compatible_instance_on_node(match_rsc, rsc,
rsc              1223 lib/pacemaker/pcmk_sched_instances.c         pcmk__rsc_debug(rsc, "No %s instance found compatible with %s",
rsc              1224 lib/pacemaker/pcmk_sched_instances.c                         rsc->id, match_rsc->id);
rsc              1249 lib/pacemaker/pcmk_sched_instances.c         pcmk__rsc_trace(then->rsc,
rsc              1252 lib/pacemaker/pcmk_sched_instances.c                         first->rsc->id, then_instance->id);
rsc              1259 lib/pacemaker/pcmk_sched_instances.c         pcmk__rsc_info(then->rsc,
rsc              1262 lib/pacemaker/pcmk_sched_instances.c                        then_instance->id, first->rsc->id);
rsc              1288 lib/pacemaker/pcmk_sched_instances.c     const pcmk_resource_t *rsc = NULL;
rsc              1314 lib/pacemaker/pcmk_sched_instances.c         rsc = pe__get_rsc_in_container(instance);
rsc              1316 lib/pacemaker/pcmk_sched_instances.c     if (rsc == NULL) {
rsc              1317 lib/pacemaker/pcmk_sched_instances.c         rsc = instance; // No containerized resource, use instance itself
rsc              1322 lib/pacemaker/pcmk_sched_instances.c     matching_action = find_first_action(rsc->priv->actions, NULL,
rsc              1359 lib/pacemaker/pcmk_sched_instances.c     const pcmk_resource_t *instance = action->rsc->priv->children->data;
rsc              1415 lib/pacemaker/pcmk_sched_instances.c     instances = get_instance_list(then->rsc);
rsc              1425 lib/pacemaker/pcmk_sched_instances.c                                                         first->rsc,
rsc              1457 lib/pacemaker/pcmk_sched_instances.c             filter, type, then->rsc->priv->scheduler);
rsc              1459 lib/pacemaker/pcmk_sched_instances.c     free_instance_list(then->rsc, instances);
rsc              1476 lib/pacemaker/pcmk_sched_instances.c     pcmk_resource_t *rsc = NULL;
rsc              1478 lib/pacemaker/pcmk_sched_instances.c     if ((first->rsc == NULL) || (then->rsc == NULL)) {
rsc              1484 lib/pacemaker/pcmk_sched_instances.c     if (first->rsc == then->rsc) {
rsc              1490 lib/pacemaker/pcmk_sched_instances.c     if ((first->rsc->priv->variant < pcmk__rsc_variant_clone)
rsc              1491 lib/pacemaker/pcmk_sched_instances.c         || (then->rsc->priv->variant < pcmk__rsc_variant_clone)) {
rsc              1499 lib/pacemaker/pcmk_sched_instances.c         rsc = first->rsc;
rsc              1501 lib/pacemaker/pcmk_sched_instances.c         rsc = then->rsc;
rsc              1504 lib/pacemaker/pcmk_sched_instances.c     interleave = crm_is_true(g_hash_table_lookup(rsc->priv->meta,
rsc              1506 lib/pacemaker/pcmk_sched_instances.c     pcmk__rsc_trace(rsc, "'%s then %s' will %sbe interleaved (based on %s)",
rsc              1508 lib/pacemaker/pcmk_sched_instances.c                     rsc->id);
rsc              1607 lib/pacemaker/pcmk_sched_instances.c     if (then->rsc == NULL) {
rsc              1615 lib/pacemaker/pcmk_sched_instances.c         GList *instances = get_instance_list(then->rsc);
rsc              1628 lib/pacemaker/pcmk_sched_instances.c         free_instance_list(then->rsc, instances);
rsc              1635 lib/pacemaker/pcmk_sched_instances.c                                      "Action summary", action->rsc->id, \
rsc              1675 lib/pacemaker/pcmk_sched_instances.c             pcmk__rsc_trace(action->rsc, "%s has no %s action on %s",
rsc              1680 lib/pacemaker/pcmk_sched_instances.c         pcmk__rsc_trace(action->rsc, "%s has %s for %s on %s",
rsc              1704 lib/pacemaker/pcmk_sched_instances.c         pcmk__rsc_trace(action->rsc,
rsc               150 lib/pacemaker/pcmk_sched_location.c                 const pcmk_node_t *node, const pcmk_resource_t *rsc, int *score)
rsc               156 lib/pacemaker/pcmk_sched_location.c     target = g_hash_table_lookup(rsc->priv->meta,
rsc               162 lib/pacemaker/pcmk_sched_location.c                  constraint_id, rsc->id, pcmk__node_name(node), attr_name);
rsc               194 lib/pacemaker/pcmk_sched_location.c generate_location_rule(pcmk_resource_t *rsc, xmlNode *rule_xml,
rsc               210 lib/pacemaker/pcmk_sched_location.c     rule_xml = pcmk__xe_resolve_idref(rule_xml, rsc->priv->scheduler->input);
rsc               258 lib/pacemaker/pcmk_sched_location.c     location_rule = pcmk__new_location(rule_id, rsc, 0, discovery, NULL);
rsc               263 lib/pacemaker/pcmk_sched_location.c     for (iter = rsc->priv->scheduler->nodes;
rsc               270 lib/pacemaker/pcmk_sched_location.c         rule_input->rsc_params = pe_rsc_params(rsc, node,
rsc               271 lib/pacemaker/pcmk_sched_location.c                                                rsc->priv->scheduler);
rsc               279 lib/pacemaker/pcmk_sched_location.c             && (score_from_attr(constraint_id, score_attr, node, rsc,
rsc               287 lib/pacemaker/pcmk_sched_location.c         pcmk__rsc_trace(rsc,
rsc               289 lib/pacemaker/pcmk_sched_location.c                         constraint_id, rsc->id, pcmk__node_name(node),
rsc               305 lib/pacemaker/pcmk_sched_location.c unpack_rsc_location(xmlNode *xml_obj, pcmk_resource_t *rsc,
rsc               316 lib/pacemaker/pcmk_sched_location.c     if (rsc == NULL) {
rsc               329 lib/pacemaker/pcmk_sched_location.c         pcmk_node_t *match = pcmk_find_node(rsc->priv->scheduler, node);
rsc               360 lib/pacemaker/pcmk_sched_location.c         location = pcmk__new_location(id, rsc, score_i, discovery, match);
rsc               371 lib/pacemaker/pcmk_sched_location.c             .now = rsc->priv->scheduler->priv->now,
rsc               372 lib/pacemaker/pcmk_sched_location.c             .rsc_meta = rsc->priv->meta,
rsc               378 lib/pacemaker/pcmk_sched_location.c         generate_location_rule(rsc, rule_xml, discovery, next_change,
rsc               387 lib/pacemaker/pcmk_sched_location.c             pe__update_recheck_time(t, rsc->priv->scheduler,
rsc               401 lib/pacemaker/pcmk_sched_location.c         pcmk_resource_t *rsc;
rsc               403 lib/pacemaker/pcmk_sched_location.c         rsc = pcmk__find_constraint_resource(scheduler->priv->resources, value);
rsc               404 lib/pacemaker/pcmk_sched_location.c         unpack_rsc_location(xml_obj, rsc, NULL, NULL, NULL, 0, NULL);
rsc               470 lib/pacemaker/pcmk_sched_location.c     pcmk_resource_t *rsc = NULL;
rsc               497 lib/pacemaker/pcmk_sched_location.c     if (!pcmk__valid_resource_or_tag(scheduler, rsc_id, &rsc, &tag)) {
rsc               502 lib/pacemaker/pcmk_sched_location.c     } else if (rsc != NULL) {
rsc               641 lib/pacemaker/pcmk_sched_location.c pcmk__new_location(const char *id, pcmk_resource_t *rsc,
rsc               653 lib/pacemaker/pcmk_sched_location.c     if (rsc == NULL) {
rsc               660 lib/pacemaker/pcmk_sched_location.c     new_con->rsc = rsc;
rsc               674 lib/pacemaker/pcmk_sched_location.c         pcmk__set_rsc_flags(rsc, pcmk__rsc_exclusive_probes);
rsc               688 lib/pacemaker/pcmk_sched_location.c     rsc->priv->scheduler->priv->location_constraints =
rsc               689 lib/pacemaker/pcmk_sched_location.c         g_list_prepend(rsc->priv->scheduler->priv->location_constraints,
rsc               691 lib/pacemaker/pcmk_sched_location.c     rsc->priv->location_constraints =
rsc               692 lib/pacemaker/pcmk_sched_location.c         g_list_prepend(rsc->priv->location_constraints, new_con);
rsc               710 lib/pacemaker/pcmk_sched_location.c         location->rsc->priv->cmds->apply_location(location->rsc, location);
rsc               725 lib/pacemaker/pcmk_sched_location.c pcmk__apply_location(pcmk_resource_t *rsc, pcmk__location_t *location)
rsc               729 lib/pacemaker/pcmk_sched_location.c     pcmk__assert((rsc != NULL) && (location != NULL));
rsc               733 lib/pacemaker/pcmk_sched_location.c     if (need_role && (location->role_filter != rsc->priv->next_role)) {
rsc               734 lib/pacemaker/pcmk_sched_location.c         pcmk__rsc_trace(rsc,
rsc               736 lib/pacemaker/pcmk_sched_location.c                         location->id, rsc->id,
rsc               737 lib/pacemaker/pcmk_sched_location.c                         pcmk_role_text(rsc->priv->next_role),
rsc               743 lib/pacemaker/pcmk_sched_location.c         pcmk__rsc_trace(rsc, "Not applying %s to %s because no nodes match",
rsc               744 lib/pacemaker/pcmk_sched_location.c                         location->id, rsc->id);
rsc               752 lib/pacemaker/pcmk_sched_location.c         allowed_node = g_hash_table_lookup(rsc->priv->allowed_nodes,
rsc               755 lib/pacemaker/pcmk_sched_location.c         pcmk__rsc_trace(rsc, "Applying %s%s%s to %s score on %s: %c %s",
rsc               759 lib/pacemaker/pcmk_sched_location.c                         rsc->id, pcmk__node_name(node),
rsc               765 lib/pacemaker/pcmk_sched_location.c             g_hash_table_insert(rsc->priv->allowed_nodes,
rsc               776 lib/pacemaker/pcmk_sched_location.c                 pcmk__set_rsc_flags(rsc, pcmk__rsc_exclusive_probes);
rsc                46 lib/pacemaker/pcmk_sched_migration.c pcmk__create_migration_actions(pcmk_resource_t *rsc, const pcmk_node_t *current)
rsc                52 lib/pacemaker/pcmk_sched_migration.c     const pcmk_node_t *target_node = rsc->priv->partial_migration_target;
rsc                54 lib/pacemaker/pcmk_sched_migration.c     pcmk__rsc_trace(rsc, "Creating actions to %smigrate %s from %s to %s",
rsc                56 lib/pacemaker/pcmk_sched_migration.c                     rsc->id, pcmk__node_name(current),
rsc                57 lib/pacemaker/pcmk_sched_migration.c                     pcmk__node_name(rsc->priv->assigned_node));
rsc                58 lib/pacemaker/pcmk_sched_migration.c     start = start_action(rsc, rsc->priv->assigned_node, TRUE);
rsc                59 lib/pacemaker/pcmk_sched_migration.c     stop = stop_action(rsc, current, TRUE);
rsc                62 lib/pacemaker/pcmk_sched_migration.c         migrate_to = custom_action(rsc, pcmk__op_key(rsc->id,
rsc                65 lib/pacemaker/pcmk_sched_migration.c                                    rsc->priv->scheduler);
rsc                67 lib/pacemaker/pcmk_sched_migration.c     migrate_from = custom_action(rsc, pcmk__op_key(rsc->id,
rsc                70 lib/pacemaker/pcmk_sched_migration.c                                  rsc->priv->assigned_node, TRUE,
rsc                71 lib/pacemaker/pcmk_sched_migration.c                                  rsc->priv->scheduler);
rsc                85 lib/pacemaker/pcmk_sched_migration.c         pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_MONITOR, 0),
rsc                87 lib/pacemaker/pcmk_sched_migration.c                            rsc,
rsc                88 lib/pacemaker/pcmk_sched_migration.c                            pcmk__op_key(rsc->id, PCMK_ACTION_MIGRATE_TO, 0),
rsc                89 lib/pacemaker/pcmk_sched_migration.c                            NULL, pcmk__ar_ordered, rsc->priv->scheduler);
rsc                90 lib/pacemaker/pcmk_sched_migration.c         pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_MIGRATE_TO, 0),
rsc                92 lib/pacemaker/pcmk_sched_migration.c                            rsc,
rsc                93 lib/pacemaker/pcmk_sched_migration.c                            pcmk__op_key(rsc->id, PCMK_ACTION_MIGRATE_FROM, 0),
rsc                96 lib/pacemaker/pcmk_sched_migration.c                            rsc->priv->scheduler);
rsc               102 lib/pacemaker/pcmk_sched_migration.c         pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_MONITOR, 0),
rsc               104 lib/pacemaker/pcmk_sched_migration.c                            rsc,
rsc               105 lib/pacemaker/pcmk_sched_migration.c                            pcmk__op_key(rsc->id, PCMK_ACTION_MIGRATE_FROM, 0),
rsc               106 lib/pacemaker/pcmk_sched_migration.c                            NULL, pcmk__ar_ordered, rsc->priv->scheduler);
rsc               110 lib/pacemaker/pcmk_sched_migration.c     pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_MIGRATE_FROM, 0),
rsc               112 lib/pacemaker/pcmk_sched_migration.c                        rsc, pcmk__op_key(rsc->id, PCMK_ACTION_STOP, 0),
rsc               115 lib/pacemaker/pcmk_sched_migration.c                        rsc->priv->scheduler);
rsc               116 lib/pacemaker/pcmk_sched_migration.c     pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_MIGRATE_FROM, 0),
rsc               118 lib/pacemaker/pcmk_sched_migration.c                        rsc, pcmk__op_key(rsc->id, PCMK_ACTION_START, 0),
rsc               123 lib/pacemaker/pcmk_sched_migration.c                        rsc->priv->scheduler);
rsc               126 lib/pacemaker/pcmk_sched_migration.c         add_migration_meta(migrate_to, current, rsc->priv->assigned_node);
rsc               128 lib/pacemaker/pcmk_sched_migration.c         if (!pcmk_is_set(rsc->flags, pcmk__rsc_is_remote_connection)) {
rsc               145 lib/pacemaker/pcmk_sched_migration.c     add_migration_meta(migrate_from, current, rsc->priv->assigned_node);
rsc               159 lib/pacemaker/pcmk_sched_migration.c     pcmk_resource_t *rsc = (pcmk_resource_t *) user_data;
rsc               163 lib/pacemaker/pcmk_sched_migration.c     pcmk__rsc_trace(rsc,
rsc               165 lib/pacemaker/pcmk_sched_migration.c                     rsc->id, pcmk__node_name(dangling_source));
rsc               166 lib/pacemaker/pcmk_sched_migration.c     stop = stop_action(rsc, dangling_source, FALSE);
rsc               180 lib/pacemaker/pcmk_sched_migration.c pcmk__rsc_can_migrate(const pcmk_resource_t *rsc, const pcmk_node_t *current)
rsc               182 lib/pacemaker/pcmk_sched_migration.c     CRM_CHECK(rsc != NULL, return false);
rsc               184 lib/pacemaker/pcmk_sched_migration.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_migratable)) {
rsc               185 lib/pacemaker/pcmk_sched_migration.c         pcmk__rsc_trace(rsc,
rsc               187 lib/pacemaker/pcmk_sched_migration.c                         "the configuration does not allow it", rsc->id);
rsc               191 lib/pacemaker/pcmk_sched_migration.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               192 lib/pacemaker/pcmk_sched_migration.c         pcmk__rsc_trace(rsc, "%s cannot migrate because it is not managed",
rsc               193 lib/pacemaker/pcmk_sched_migration.c                         rsc->id);
rsc               197 lib/pacemaker/pcmk_sched_migration.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_failed)) {
rsc               198 lib/pacemaker/pcmk_sched_migration.c         pcmk__rsc_trace(rsc, "%s cannot migrate because it is failed", rsc->id);
rsc               202 lib/pacemaker/pcmk_sched_migration.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_start_pending)) {
rsc               203 lib/pacemaker/pcmk_sched_migration.c         pcmk__rsc_trace(rsc, "%s cannot migrate because it has a start pending",
rsc               204 lib/pacemaker/pcmk_sched_migration.c                         rsc->id);
rsc               209 lib/pacemaker/pcmk_sched_migration.c         pcmk__rsc_trace(rsc,
rsc               212 lib/pacemaker/pcmk_sched_migration.c                         rsc->id, pcmk__node_name(current));
rsc               216 lib/pacemaker/pcmk_sched_migration.c     if ((rsc->priv->assigned_node == NULL)
rsc               217 lib/pacemaker/pcmk_sched_migration.c         || rsc->priv->assigned_node->details->unclean) {
rsc               219 lib/pacemaker/pcmk_sched_migration.c         pcmk__rsc_trace(rsc,
rsc               222 lib/pacemaker/pcmk_sched_migration.c                         rsc->id, pcmk__node_name(rsc->priv->assigned_node));
rsc               117 lib/pacemaker/pcmk_sched_nodes.c pcmk__copy_node_tables(const pcmk_resource_t *rsc, GHashTable **copy)
rsc               119 lib/pacemaker/pcmk_sched_nodes.c     pcmk__assert((rsc != NULL) && (copy != NULL));
rsc               125 lib/pacemaker/pcmk_sched_nodes.c     g_hash_table_insert(*copy, rsc->id,
rsc               126 lib/pacemaker/pcmk_sched_nodes.c                         pcmk__copy_node_table(rsc->priv->allowed_nodes));
rsc               128 lib/pacemaker/pcmk_sched_nodes.c     for (const GList *iter = rsc->priv->children;
rsc               150 lib/pacemaker/pcmk_sched_nodes.c pcmk__restore_node_tables(pcmk_resource_t *rsc, GHashTable *backup)
rsc               152 lib/pacemaker/pcmk_sched_nodes.c     pcmk__assert((rsc != NULL) && (backup != NULL));
rsc               154 lib/pacemaker/pcmk_sched_nodes.c     g_hash_table_destroy(rsc->priv->allowed_nodes);
rsc               157 lib/pacemaker/pcmk_sched_nodes.c     rsc->priv->allowed_nodes =
rsc               158 lib/pacemaker/pcmk_sched_nodes.c         pcmk__copy_node_table(g_hash_table_lookup(backup, rsc->id));
rsc               160 lib/pacemaker/pcmk_sched_nodes.c     for (GList *iter = rsc->priv->children;
rsc               400 lib/pacemaker/pcmk_sched_nodes.c             pcmk_resource_t *rsc = (pcmk_resource_t *) r->data;
rsc               408 lib/pacemaker/pcmk_sched_nodes.c                 constrain = !crm_is_true(g_hash_table_lookup(rsc->priv->meta,
rsc               412 lib/pacemaker/pcmk_sched_nodes.c                 pcmk__new_location(strategy_str, rsc, health, NULL, node);
rsc               414 lib/pacemaker/pcmk_sched_nodes.c                 pcmk__rsc_trace(rsc, "%s is immune from health ban on %s",
rsc               415 lib/pacemaker/pcmk_sched_nodes.c                                 rsc->id, pcmk__node_name(node));
rsc               432 lib/pacemaker/pcmk_sched_nodes.c pcmk__top_allowed_node(const pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc               436 lib/pacemaker/pcmk_sched_nodes.c     if ((rsc == NULL) || (node == NULL)) {
rsc               440 lib/pacemaker/pcmk_sched_nodes.c     if (rsc->priv->parent == NULL) {
rsc               441 lib/pacemaker/pcmk_sched_nodes.c         allowed_nodes = rsc->priv->allowed_nodes;
rsc               443 lib/pacemaker/pcmk_sched_nodes.c         allowed_nodes = rsc->priv->parent->priv->allowed_nodes;
rsc               241 lib/pacemaker/pcmk_sched_ordering.c     pcmk_resource_t *rsc = NULL;
rsc               250 lib/pacemaker/pcmk_sched_ordering.c     rsc = pcmk__find_constraint_resource(scheduler->priv->resources, rsc_id);
rsc               251 lib/pacemaker/pcmk_sched_ordering.c     if (rsc == NULL) {
rsc               257 lib/pacemaker/pcmk_sched_ordering.c     return rsc;
rsc               270 lib/pacemaker/pcmk_sched_ordering.c get_minimum_first_instances(const pcmk_resource_t *rsc, const xmlNode *xml)
rsc               275 lib/pacemaker/pcmk_sched_ordering.c     if (!pcmk__is_clone(rsc)) {
rsc               279 lib/pacemaker/pcmk_sched_ordering.c     clone_min = g_hash_table_lookup(rsc->priv->meta, PCMK_META_CLONE_MIN);
rsc               496 lib/pacemaker/pcmk_sched_ordering.c         first_rsc = first_action->rsc;
rsc               499 lib/pacemaker/pcmk_sched_ordering.c         then_rsc = then_action->rsc;
rsc               522 lib/pacemaker/pcmk_sched_ordering.c         order->rsc1 = first_action->rsc;
rsc               526 lib/pacemaker/pcmk_sched_ordering.c         order->rsc2 = then_action->rsc;
rsc              1070 lib/pacemaker/pcmk_sched_ordering.c         && (input->action->rsc != NULL)
rsc              1071 lib/pacemaker/pcmk_sched_ordering.c         && pcmk__rsc_corresponds_to_guest(action->rsc, input->action->node)) {
rsc              1074 lib/pacemaker/pcmk_sched_ordering.c                           input->action->rsc->id, action->rsc->id);
rsc              1086 lib/pacemaker/pcmk_sched_ordering.c         && (action->rsc != NULL)
rsc              1138 lib/pacemaker/pcmk_sched_ordering.c         if (pcmk_is_set(action->rsc->flags, pcmk__rsc_maintenance)) {
rsc              1139 lib/pacemaker/pcmk_sched_ordering.c             pcmk__rsc_trace(action->rsc,
rsc              1146 lib/pacemaker/pcmk_sched_ordering.c             pcmk__rsc_trace(action->rsc,
rsc              1157 lib/pacemaker/pcmk_sched_ordering.c         if (!pcmk_any_flags_set(action->rsc->flags,
rsc              1159 lib/pacemaker/pcmk_sched_ordering.c             pcmk__rsc_trace(action->rsc,
rsc              1166 lib/pacemaker/pcmk_sched_ordering.c         pcmk__rsc_trace(action->rsc, "Ordering %s before shutdown of %s",
rsc              1169 lib/pacemaker/pcmk_sched_ordering.c         pcmk__new_ordering(action->rsc, NULL, action, NULL,
rsc              1187 lib/pacemaker/pcmk_sched_ordering.c find_actions_by_task(const pcmk_resource_t *rsc, const char *original_key)
rsc              1190 lib/pacemaker/pcmk_sched_ordering.c     GList *list = find_actions(rsc->priv->actions, original_key, NULL);
rsc              1200 lib/pacemaker/pcmk_sched_ordering.c         key = pcmk__op_key(rsc->id, task, interval_ms);
rsc              1201 lib/pacemaker/pcmk_sched_ordering.c         list = find_actions(rsc->priv->actions, key, NULL);
rsc              1218 lib/pacemaker/pcmk_sched_ordering.c                              const pcmk_resource_t *rsc,
rsc              1224 lib/pacemaker/pcmk_sched_ordering.c     CRM_CHECK((rsc != NULL) && (order != NULL), return);
rsc              1227 lib/pacemaker/pcmk_sched_ordering.c     pcmk__rsc_trace(rsc, "Applying ordering %d for 'then' resource %s",
rsc              1228 lib/pacemaker/pcmk_sched_ordering.c                     order->id, rsc->id);
rsc              1234 lib/pacemaker/pcmk_sched_ordering.c         then_actions = find_actions_by_task(rsc, order->task2);
rsc              1238 lib/pacemaker/pcmk_sched_ordering.c         pcmk__rsc_trace(rsc, "Ignoring ordering %d: no %s actions found for %s",
rsc              1239 lib/pacemaker/pcmk_sched_ordering.c                         order->id, order->task2, rsc->id);
rsc              1243 lib/pacemaker/pcmk_sched_ordering.c     if ((first_action != NULL) && (first_action->rsc == rsc)
rsc              1246 lib/pacemaker/pcmk_sched_ordering.c         pcmk__rsc_trace(rsc,
rsc              1248 lib/pacemaker/pcmk_sched_ordering.c                         first_action->uuid, order->task2, rsc->id);
rsc              1255 lib/pacemaker/pcmk_sched_ordering.c         pcmk__rsc_debug(rsc,
rsc              1257 lib/pacemaker/pcmk_sched_ordering.c                         order->id, rsc->id);
rsc              1270 lib/pacemaker/pcmk_sched_ordering.c                      "to order it after", then_action_iter->task, rsc->id,
rsc              1346 lib/pacemaker/pcmk_sched_ordering.c         then_rsc = order->action2->rsc;
rsc              1407 lib/pacemaker/pcmk_sched_ordering.c         pcmk_resource_t *rsc = order->rsc1;
rsc              1409 lib/pacemaker/pcmk_sched_ordering.c         if (rsc != NULL) {
rsc              1410 lib/pacemaker/pcmk_sched_ordering.c             rsc_order_first(rsc, order);
rsc              1414 lib/pacemaker/pcmk_sched_ordering.c         rsc = order->rsc2;
rsc              1415 lib/pacemaker/pcmk_sched_ordering.c         if (rsc != NULL) {
rsc              1416 lib/pacemaker/pcmk_sched_ordering.c             order_resource_actions_after(order->action1, rsc, order);
rsc              1466 lib/pacemaker/pcmk_sched_ordering.c pcmk__promotable_restart_ordering(pcmk_resource_t *rsc)
rsc              1469 lib/pacemaker/pcmk_sched_ordering.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_STOPPED,
rsc              1470 lib/pacemaker/pcmk_sched_ordering.c                                  rsc, PCMK_ACTION_START,
rsc              1472 lib/pacemaker/pcmk_sched_ordering.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_STOPPED,
rsc              1473 lib/pacemaker/pcmk_sched_ordering.c                                  rsc, PCMK_ACTION_PROMOTE,
rsc              1477 lib/pacemaker/pcmk_sched_ordering.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_DEMOTED,
rsc              1478 lib/pacemaker/pcmk_sched_ordering.c                                  rsc, PCMK_ACTION_STOP,
rsc              1480 lib/pacemaker/pcmk_sched_ordering.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_DEMOTED,
rsc              1481 lib/pacemaker/pcmk_sched_ordering.c                                  rsc, PCMK_ACTION_START,
rsc              1483 lib/pacemaker/pcmk_sched_ordering.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_DEMOTED,
rsc              1484 lib/pacemaker/pcmk_sched_ordering.c                                  rsc, PCMK_ACTION_PROMOTE,
rsc              1488 lib/pacemaker/pcmk_sched_ordering.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_RUNNING,
rsc              1489 lib/pacemaker/pcmk_sched_ordering.c                                  rsc, PCMK_ACTION_PROMOTE,
rsc              1493 lib/pacemaker/pcmk_sched_ordering.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_DEMOTE,
rsc              1494 lib/pacemaker/pcmk_sched_ordering.c                                  rsc, PCMK_ACTION_DEMOTED,
rsc                20 lib/pacemaker/pcmk_sched_primitive.c static void stop_resource(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc                22 lib/pacemaker/pcmk_sched_primitive.c static void start_resource(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc                24 lib/pacemaker/pcmk_sched_primitive.c static void demote_resource(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc                26 lib/pacemaker/pcmk_sched_primitive.c static void promote_resource(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc                28 lib/pacemaker/pcmk_sched_primitive.c static void assert_role_error(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc                83 lib/pacemaker/pcmk_sched_primitive.c typedef void (*rsc_transition_fn)(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc               134 lib/pacemaker/pcmk_sched_primitive.c sorted_allowed_nodes(const pcmk_resource_t *rsc)
rsc               136 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->priv->allowed_nodes != NULL) {
rsc               137 lib/pacemaker/pcmk_sched_primitive.c         GList *nodes = g_hash_table_get_values(rsc->priv->allowed_nodes);
rsc               140 lib/pacemaker/pcmk_sched_primitive.c             return pcmk__sort_nodes(nodes, pcmk__current_node(rsc));
rsc               166 lib/pacemaker/pcmk_sched_primitive.c assign_best_node(pcmk_resource_t *rsc, const pcmk_node_t *prefer,
rsc               172 lib/pacemaker/pcmk_sched_primitive.c     const pcmk_node_t *most_free_node = pcmk__ban_insufficient_capacity(rsc);
rsc               178 lib/pacemaker/pcmk_sched_primitive.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_unassigned)) {
rsc               180 lib/pacemaker/pcmk_sched_primitive.c         return rsc->priv->assigned_node != NULL;
rsc               184 lib/pacemaker/pcmk_sched_primitive.c     nodes = sorted_allowed_nodes(rsc);
rsc               191 lib/pacemaker/pcmk_sched_primitive.c         chosen = g_hash_table_lookup(rsc->priv->allowed_nodes,
rsc               195 lib/pacemaker/pcmk_sched_primitive.c             pcmk__rsc_trace(rsc, "Preferred node %s for %s was unknown",
rsc               196 lib/pacemaker/pcmk_sched_primitive.c                             pcmk__node_name(prefer), rsc->id);
rsc               205 lib/pacemaker/pcmk_sched_primitive.c             pcmk__rsc_trace(rsc, "Preferred node %s for %s was unsuitable",
rsc               206 lib/pacemaker/pcmk_sched_primitive.c                             pcmk__node_name(chosen), rsc->id);
rsc               210 lib/pacemaker/pcmk_sched_primitive.c             pcmk__rsc_trace(rsc, "Preferred node %s for %s was unavailable",
rsc               211 lib/pacemaker/pcmk_sched_primitive.c                             pcmk__node_name(chosen), rsc->id);
rsc               215 lib/pacemaker/pcmk_sched_primitive.c             pcmk__rsc_trace(rsc,
rsc               218 lib/pacemaker/pcmk_sched_primitive.c                             pcmk__node_name(chosen), rsc->id,
rsc               230 lib/pacemaker/pcmk_sched_primitive.c         if (!pcmk__is_unique_clone(rsc->priv->parent)
rsc               242 lib/pacemaker/pcmk_sched_primitive.c             pcmk_node_t *running = pcmk__current_node(rsc);
rsc               248 lib/pacemaker/pcmk_sched_primitive.c                 pcmk__rsc_trace(rsc,
rsc               250 lib/pacemaker/pcmk_sched_primitive.c                                 rsc->id, pcmk__node_name(running));
rsc               277 lib/pacemaker/pcmk_sched_primitive.c                                pcmk__node_name(chosen), rsc->id,
rsc               284 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_trace(rsc, "Chose %s for %s from %d candidates",
rsc               285 lib/pacemaker/pcmk_sched_primitive.c                         pcmk__node_name(chosen), rsc->id, g_list_length(nodes));
rsc               288 lib/pacemaker/pcmk_sched_primitive.c     pcmk__assign_resource(rsc, chosen, false, stop_if_fail);
rsc               290 lib/pacemaker/pcmk_sched_primitive.c     return rsc->priv->assigned_node != NULL;
rsc               301 lib/pacemaker/pcmk_sched_primitive.c apply_this_with(pcmk__colocation_t *colocation, pcmk_resource_t *rsc)
rsc               310 lib/pacemaker/pcmk_sched_primitive.c         archive = pcmk__copy_node_table(rsc->priv->allowed_nodes);
rsc               314 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_trace(rsc,
rsc               317 lib/pacemaker/pcmk_sched_primitive.c                         rsc->id, colocation->id, other->id,
rsc               324 lib/pacemaker/pcmk_sched_primitive.c     rsc->priv->cmds->apply_coloc_score(rsc, other, colocation, true);
rsc               326 lib/pacemaker/pcmk_sched_primitive.c         && !pcmk__any_node_available(rsc->priv->allowed_nodes)) {
rsc               327 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_info(rsc,
rsc               330 lib/pacemaker/pcmk_sched_primitive.c                        rsc->id, other->id);
rsc               331 lib/pacemaker/pcmk_sched_primitive.c         g_hash_table_destroy(rsc->priv->allowed_nodes);
rsc               332 lib/pacemaker/pcmk_sched_primitive.c         rsc->priv->allowed_nodes = archive;
rsc               394 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_assign(pcmk_resource_t *rsc, const pcmk_node_t *prefer,
rsc               404 lib/pacemaker/pcmk_sched_primitive.c     pcmk__assert(pcmk__is_primitive(rsc));
rsc               405 lib/pacemaker/pcmk_sched_primitive.c     scheduler = rsc->priv->scheduler;
rsc               406 lib/pacemaker/pcmk_sched_primitive.c     parent = rsc->priv->parent;
rsc               410 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_debug(rsc, "%s: Assigning parent %s first",
rsc               411 lib/pacemaker/pcmk_sched_primitive.c                         rsc->id, parent->id);
rsc               415 lib/pacemaker/pcmk_sched_primitive.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_unassigned)) {
rsc               419 lib/pacemaker/pcmk_sched_primitive.c         if (rsc->priv->assigned_node != NULL) {
rsc               420 lib/pacemaker/pcmk_sched_primitive.c             node_name = pcmk__node_name(rsc->priv->assigned_node);
rsc               422 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_debug(rsc, "%s: pre-assigned to %s", rsc->id, node_name);
rsc               423 lib/pacemaker/pcmk_sched_primitive.c         return rsc->priv->assigned_node;
rsc               427 lib/pacemaker/pcmk_sched_primitive.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_assigning)) {
rsc               428 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_debug(rsc, "Breaking assignment loop involving %s", rsc->id);
rsc               431 lib/pacemaker/pcmk_sched_primitive.c     pcmk__set_rsc_flags(rsc, pcmk__rsc_assigning);
rsc               433 lib/pacemaker/pcmk_sched_primitive.c     pe__show_node_scores(true, rsc, "Pre-assignment",
rsc               434 lib/pacemaker/pcmk_sched_primitive.c                          rsc->priv->allowed_nodes, scheduler);
rsc               436 lib/pacemaker/pcmk_sched_primitive.c     this_with_colocations = pcmk__this_with_colocations(rsc);
rsc               437 lib/pacemaker/pcmk_sched_primitive.c     with_this_colocations = pcmk__with_this_colocations(rsc);
rsc               445 lib/pacemaker/pcmk_sched_primitive.c             apply_this_with(colocation, rsc);
rsc               453 lib/pacemaker/pcmk_sched_primitive.c             pcmk__add_dependent_scores(colocation, rsc);
rsc               457 lib/pacemaker/pcmk_sched_primitive.c     pe__show_node_scores(true, rsc, "Mandatory-colocations",
rsc               458 lib/pacemaker/pcmk_sched_primitive.c                          rsc->priv->allowed_nodes, scheduler);
rsc               466 lib/pacemaker/pcmk_sched_primitive.c             apply_this_with(colocation, rsc);
rsc               474 lib/pacemaker/pcmk_sched_primitive.c             pcmk__add_dependent_scores(colocation, rsc);
rsc               481 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->priv->next_role == pcmk_role_stopped) {
rsc               482 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_trace(rsc,
rsc               484 lib/pacemaker/pcmk_sched_primitive.c                         rsc->id);
rsc               485 lib/pacemaker/pcmk_sched_primitive.c         resource_location(rsc, NULL, -PCMK_SCORE_INFINITY,
rsc               488 lib/pacemaker/pcmk_sched_primitive.c     } else if ((rsc->priv->next_role > rsc->priv->orig_role)
rsc               493 lib/pacemaker/pcmk_sched_primitive.c                    rsc->id, pcmk_role_text(rsc->priv->orig_role),
rsc               494 lib/pacemaker/pcmk_sched_primitive.c                    pcmk_role_text(rsc->priv->next_role));
rsc               495 lib/pacemaker/pcmk_sched_primitive.c         pe__set_next_role(rsc, rsc->priv->orig_role,
rsc               501 lib/pacemaker/pcmk_sched_primitive.c                          rsc, __func__, rsc->priv->allowed_nodes, scheduler);
rsc               506 lib/pacemaker/pcmk_sched_primitive.c         pcmk__clear_rsc_flags(rsc, pcmk__rsc_managed);
rsc               509 lib/pacemaker/pcmk_sched_primitive.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               514 lib/pacemaker/pcmk_sched_primitive.c         pe__set_next_role(rsc, rsc->priv->orig_role, "unmanaged");
rsc               515 lib/pacemaker/pcmk_sched_primitive.c         assign_to = pcmk__current_node(rsc);
rsc               518 lib/pacemaker/pcmk_sched_primitive.c         } else if (rsc->priv->orig_role == pcmk_role_promoted) {
rsc               520 lib/pacemaker/pcmk_sched_primitive.c         } else if (pcmk_is_set(rsc->flags, pcmk__rsc_failed)) {
rsc               525 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_info(rsc, "Unmanaged resource %s assigned to %s: %s", rsc->id,
rsc               528 lib/pacemaker/pcmk_sched_primitive.c         pcmk__assign_resource(rsc, assign_to, true, stop_if_fail);
rsc               533 lib/pacemaker/pcmk_sched_primitive.c             pcmk__rsc_debug(rsc,
rsc               535 lib/pacemaker/pcmk_sched_primitive.c                             rsc->id);
rsc               537 lib/pacemaker/pcmk_sched_primitive.c         pcmk__assign_resource(rsc, NULL, true, stop_if_fail);
rsc               539 lib/pacemaker/pcmk_sched_primitive.c     } else if (!assign_best_node(rsc, prefer, stop_if_fail)) {
rsc               541 lib/pacemaker/pcmk_sched_primitive.c         if (!pcmk_is_set(rsc->flags, pcmk__rsc_removed)) {
rsc               542 lib/pacemaker/pcmk_sched_primitive.c             pcmk__rsc_info(rsc, "Resource %s cannot run anywhere", rsc->id);
rsc               543 lib/pacemaker/pcmk_sched_primitive.c         } else if ((rsc->priv->active_nodes != NULL) && stop_if_fail) {
rsc               544 lib/pacemaker/pcmk_sched_primitive.c             pcmk__rsc_info(rsc, "Stopping removed resource %s", rsc->id);
rsc               548 lib/pacemaker/pcmk_sched_primitive.c     pcmk__clear_rsc_flags(rsc, pcmk__rsc_assigning);
rsc               550 lib/pacemaker/pcmk_sched_primitive.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_is_remote_connection)) {
rsc               551 lib/pacemaker/pcmk_sched_primitive.c         remote_connection_assigned(rsc);
rsc               554 lib/pacemaker/pcmk_sched_primitive.c     return rsc->priv->assigned_node;
rsc               569 lib/pacemaker/pcmk_sched_primitive.c schedule_restart_actions(pcmk_resource_t *rsc, pcmk_node_t *current,
rsc               572 lib/pacemaker/pcmk_sched_primitive.c     enum rsc_role_e role = rsc->priv->orig_role;
rsc               576 lib/pacemaker/pcmk_sched_primitive.c     pcmk__set_rsc_flags(rsc, pcmk__rsc_restarting);
rsc               581 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_trace(rsc, "Creating %s action to take %s down from %s to %s",
rsc               582 lib/pacemaker/pcmk_sched_primitive.c                         (need_stop? "required" : "optional"), rsc->id,
rsc               588 lib/pacemaker/pcmk_sched_primitive.c         fn(rsc, current, !need_stop);
rsc               593 lib/pacemaker/pcmk_sched_primitive.c     while ((rsc->priv->orig_role <= rsc->priv->next_role)
rsc               594 lib/pacemaker/pcmk_sched_primitive.c            && (role != rsc->priv->orig_role)
rsc               595 lib/pacemaker/pcmk_sched_primitive.c            && !pcmk_is_set(rsc->flags, pcmk__rsc_blocked)) {
rsc               598 lib/pacemaker/pcmk_sched_primitive.c         next_role = rsc_state_matrix[role][rsc->priv->orig_role];
rsc               602 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_trace(rsc, "Creating %s action to take %s up from %s to %s",
rsc               603 lib/pacemaker/pcmk_sched_primitive.c                         (required? "required" : "optional"), rsc->id,
rsc               609 lib/pacemaker/pcmk_sched_primitive.c         fn(rsc, rsc->priv->assigned_node, !required);
rsc               613 lib/pacemaker/pcmk_sched_primitive.c     pcmk__clear_rsc_flags(rsc, pcmk__rsc_restarting);
rsc               625 lib/pacemaker/pcmk_sched_primitive.c set_default_next_role(pcmk_resource_t *rsc)
rsc               627 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->priv->next_role != pcmk_role_unknown) {
rsc               631 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->priv->assigned_node == NULL) {
rsc               632 lib/pacemaker/pcmk_sched_primitive.c         pe__set_next_role(rsc, pcmk_role_stopped, "assignment");
rsc               634 lib/pacemaker/pcmk_sched_primitive.c         pe__set_next_role(rsc, pcmk_role_started, "assignment");
rsc               646 lib/pacemaker/pcmk_sched_primitive.c create_pending_start(pcmk_resource_t *rsc)
rsc               650 lib/pacemaker/pcmk_sched_primitive.c     pcmk__rsc_trace(rsc,
rsc               652 lib/pacemaker/pcmk_sched_primitive.c                     rsc->id);
rsc               653 lib/pacemaker/pcmk_sched_primitive.c     start = start_action(rsc, rsc->priv->assigned_node, TRUE);
rsc               664 lib/pacemaker/pcmk_sched_primitive.c schedule_role_transition_actions(pcmk_resource_t *rsc)
rsc               666 lib/pacemaker/pcmk_sched_primitive.c     enum rsc_role_e role = rsc->priv->orig_role;
rsc               668 lib/pacemaker/pcmk_sched_primitive.c     while (role != rsc->priv->next_role) {
rsc               670 lib/pacemaker/pcmk_sched_primitive.c             rsc_state_matrix[role][rsc->priv->next_role];
rsc               673 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_trace(rsc,
rsc               676 lib/pacemaker/pcmk_sched_primitive.c                         rsc->id, pcmk_role_text(role),
rsc               678 lib/pacemaker/pcmk_sched_primitive.c                         pcmk_role_text(rsc->priv->next_role));
rsc               683 lib/pacemaker/pcmk_sched_primitive.c         fn(rsc, rsc->priv->assigned_node, false);
rsc               695 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_create_actions(pcmk_resource_t *rsc)
rsc               709 lib/pacemaker/pcmk_sched_primitive.c     pcmk__assert(pcmk__is_primitive(rsc));
rsc               711 lib/pacemaker/pcmk_sched_primitive.c     next_role_source = set_default_next_role(rsc);
rsc               712 lib/pacemaker/pcmk_sched_primitive.c     pcmk__rsc_trace(rsc,
rsc               715 lib/pacemaker/pcmk_sched_primitive.c                     rsc->id, pcmk_role_text(rsc->priv->orig_role),
rsc               716 lib/pacemaker/pcmk_sched_primitive.c                     pcmk_role_text(rsc->priv->next_role), next_role_source,
rsc               717 lib/pacemaker/pcmk_sched_primitive.c                     pcmk__node_name(rsc->priv->assigned_node));
rsc               719 lib/pacemaker/pcmk_sched_primitive.c     current = rsc->priv->fns->active_node(rsc, &num_all_active,
rsc               722 lib/pacemaker/pcmk_sched_primitive.c     g_list_foreach(rsc->priv->dangling_migration_sources,
rsc               723 lib/pacemaker/pcmk_sched_primitive.c                    pcmk__abort_dangling_migration, rsc);
rsc               725 lib/pacemaker/pcmk_sched_primitive.c     if ((current != NULL) && (rsc->priv->assigned_node != NULL)
rsc               726 lib/pacemaker/pcmk_sched_primitive.c         && !pcmk__same_node(current, rsc->priv->assigned_node)
rsc               727 lib/pacemaker/pcmk_sched_primitive.c         && (rsc->priv->next_role >= pcmk_role_started)) {
rsc               729 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_trace(rsc, "Moving %s from %s to %s",
rsc               730 lib/pacemaker/pcmk_sched_primitive.c                         rsc->id, pcmk__node_name(current),
rsc               731 lib/pacemaker/pcmk_sched_primitive.c                         pcmk__node_name(rsc->priv->assigned_node));
rsc               733 lib/pacemaker/pcmk_sched_primitive.c         allow_migrate = pcmk__rsc_can_migrate(rsc, current);
rsc               740 lib/pacemaker/pcmk_sched_primitive.c     migration_target = rsc->priv->partial_migration_target;
rsc               741 lib/pacemaker/pcmk_sched_primitive.c     if ((rsc->priv->partial_migration_source != NULL)
rsc               743 lib/pacemaker/pcmk_sched_primitive.c         && pcmk__same_node(current, rsc->priv->partial_migration_source)
rsc               744 lib/pacemaker/pcmk_sched_primitive.c         && pcmk__same_node(rsc->priv->assigned_node, migration_target)) {
rsc               748 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_trace(rsc,
rsc               750 lib/pacemaker/pcmk_sched_primitive.c                         rsc->id,
rsc               751 lib/pacemaker/pcmk_sched_primitive.c                         pcmk__node_name(rsc->priv->partial_migration_source),
rsc               754 lib/pacemaker/pcmk_sched_primitive.c     } else if ((rsc->priv->partial_migration_source != NULL)
rsc               762 lib/pacemaker/pcmk_sched_primitive.c                        rsc->id,
rsc               763 lib/pacemaker/pcmk_sched_primitive.c                        pcmk__node_name(rsc->priv->partial_migration_source),
rsc               769 lib/pacemaker/pcmk_sched_primitive.c                        rsc->id,
rsc               770 lib/pacemaker/pcmk_sched_primitive.c                        pcmk__node_name(rsc->priv->partial_migration_source),
rsc               774 lib/pacemaker/pcmk_sched_primitive.c         rsc->priv->partial_migration_source = NULL;
rsc               775 lib/pacemaker/pcmk_sched_primitive.c         rsc->priv->partial_migration_target = NULL;
rsc               778 lib/pacemaker/pcmk_sched_primitive.c     } else if (pcmk_is_set(rsc->flags, pcmk__rsc_needs_fencing)) {
rsc               792 lib/pacemaker/pcmk_sched_primitive.c         const char *class = crm_element_value(rsc->priv->xml, PCMK_XA_CLASS);
rsc               795 lib/pacemaker/pcmk_sched_primitive.c         pcmk__sched_err(rsc->priv->scheduler,
rsc               797 lib/pacemaker/pcmk_sched_primitive.c                         pcmk__s(class, "Untyped"), rsc->id, num_all_active,
rsc               798 lib/pacemaker/pcmk_sched_primitive.c                         pcmk__multiply_active_text(rsc));
rsc               803 lib/pacemaker/pcmk_sched_primitive.c         switch (rsc->priv->multiply_active_policy) {
rsc               809 lib/pacemaker/pcmk_sched_primitive.c                 pcmk__set_rsc_flags(rsc, pcmk__rsc_stop_unexpected);
rsc               816 lib/pacemaker/pcmk_sched_primitive.c         pcmk__clear_rsc_flags(rsc, pcmk__rsc_stop_unexpected);
rsc               819 lib/pacemaker/pcmk_sched_primitive.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_start_pending)) {
rsc               820 lib/pacemaker/pcmk_sched_primitive.c         create_pending_start(rsc);
rsc               826 lib/pacemaker/pcmk_sched_primitive.c     } else if (pcmk_is_set(rsc->flags, pcmk__rsc_failed)) {
rsc               827 lib/pacemaker/pcmk_sched_primitive.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_stop_if_failed)) {
rsc               829 lib/pacemaker/pcmk_sched_primitive.c             pcmk__rsc_trace(rsc, "Recovering %s", rsc->id);
rsc               831 lib/pacemaker/pcmk_sched_primitive.c             pcmk__rsc_trace(rsc, "Recovering %s by demotion", rsc->id);
rsc               832 lib/pacemaker/pcmk_sched_primitive.c             if (rsc->priv->next_role == pcmk_role_promoted) {
rsc               837 lib/pacemaker/pcmk_sched_primitive.c     } else if (pcmk_is_set(rsc->flags, pcmk__rsc_blocked)) {
rsc               838 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_trace(rsc, "Blocking further actions on %s", rsc->id);
rsc               841 lib/pacemaker/pcmk_sched_primitive.c     } else if ((rsc->priv->orig_role > pcmk_role_started)
rsc               843 lib/pacemaker/pcmk_sched_primitive.c                && (rsc->priv->assigned_node != NULL)) {
rsc               846 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_trace(rsc, "Creating start action for promoted resource %s",
rsc               847 lib/pacemaker/pcmk_sched_primitive.c                         rsc->id);
rsc               848 lib/pacemaker/pcmk_sched_primitive.c         start = start_action(rsc, rsc->priv->assigned_node, TRUE);
rsc               851 lib/pacemaker/pcmk_sched_primitive.c             pcmk__rsc_trace(rsc, "%s restart is required for recovery", rsc->id);
rsc               857 lib/pacemaker/pcmk_sched_primitive.c     schedule_restart_actions(rsc, current, need_stop, need_promote);
rsc               860 lib/pacemaker/pcmk_sched_primitive.c     schedule_role_transition_actions(rsc);
rsc               862 lib/pacemaker/pcmk_sched_primitive.c     pcmk__create_recurring_actions(rsc);
rsc               865 lib/pacemaker/pcmk_sched_primitive.c         pcmk__create_migration_actions(rsc, current);
rsc               876 lib/pacemaker/pcmk_sched_primitive.c rsc_avoids_remote_nodes(const pcmk_resource_t *rsc)
rsc               881 lib/pacemaker/pcmk_sched_primitive.c     g_hash_table_iter_init(&iter, rsc->priv->allowed_nodes);
rsc               903 lib/pacemaker/pcmk_sched_primitive.c allowed_nodes_as_list(const pcmk_resource_t *rsc)
rsc               907 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->priv->allowed_nodes != NULL) {
rsc               908 lib/pacemaker/pcmk_sched_primitive.c         allowed_nodes = g_hash_table_get_values(rsc->priv->allowed_nodes);
rsc               925 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_internal_constraints(pcmk_resource_t *rsc)
rsc               932 lib/pacemaker/pcmk_sched_primitive.c     pcmk__assert(pcmk__is_primitive(rsc));
rsc               933 lib/pacemaker/pcmk_sched_primitive.c     scheduler = rsc->priv->scheduler;
rsc               935 lib/pacemaker/pcmk_sched_primitive.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               936 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_trace(rsc,
rsc               938 lib/pacemaker/pcmk_sched_primitive.c                         "%s", rsc->id);
rsc               943 lib/pacemaker/pcmk_sched_primitive.c     check_unfencing = !pcmk_is_set(rsc->flags, pcmk__rsc_fence_device)
rsc               946 lib/pacemaker/pcmk_sched_primitive.c                       && pcmk_is_set(rsc->flags, pcmk__rsc_needs_unfencing);
rsc               949 lib/pacemaker/pcmk_sched_primitive.c     check_utilization = (g_hash_table_size(rsc->priv->utilization) > 0)
rsc               954 lib/pacemaker/pcmk_sched_primitive.c     pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_STOP, 0), NULL,
rsc               955 lib/pacemaker/pcmk_sched_primitive.c                        rsc, pcmk__op_key(rsc->id, PCMK_ACTION_START, 0), NULL,
rsc               961 lib/pacemaker/pcmk_sched_primitive.c     if (pcmk_is_set(pe__const_top_resource(rsc, false)->flags,
rsc               963 lib/pacemaker/pcmk_sched_primitive.c         || (rsc->priv->orig_role > pcmk_role_unpromoted)) {
rsc               965 lib/pacemaker/pcmk_sched_primitive.c         pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_DEMOTE, 0),
rsc               967 lib/pacemaker/pcmk_sched_primitive.c                            rsc, pcmk__op_key(rsc->id, PCMK_ACTION_STOP, 0),
rsc               971 lib/pacemaker/pcmk_sched_primitive.c         pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_START, 0),
rsc               973 lib/pacemaker/pcmk_sched_primitive.c                            rsc, pcmk__op_key(rsc->id, PCMK_ACTION_PROMOTE, 0),
rsc               979 lib/pacemaker/pcmk_sched_primitive.c     pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_LRM_DELETE, 0),
rsc               980 lib/pacemaker/pcmk_sched_primitive.c                        NULL, rsc,
rsc               981 lib/pacemaker/pcmk_sched_primitive.c                        pcmk__op_key(rsc->id, PCMK_ACTION_MONITOR, 0),
rsc               988 lib/pacemaker/pcmk_sched_primitive.c         || (rsc->priv->launcher != NULL)) {
rsc               990 lib/pacemaker/pcmk_sched_primitive.c         allowed_nodes = allowed_nodes_as_list(rsc);
rsc               994 lib/pacemaker/pcmk_sched_primitive.c         g_list_foreach(allowed_nodes, pcmk__order_restart_vs_unfence, rsc);
rsc               998 lib/pacemaker/pcmk_sched_primitive.c         pcmk__create_utilization_constraints(rsc, allowed_nodes);
rsc              1001 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->priv->launcher != NULL) {
rsc              1004 lib/pacemaker/pcmk_sched_primitive.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_is_remote_connection)) {
rsc              1010 lib/pacemaker/pcmk_sched_primitive.c             if (!pcmk_is_set(rsc->flags, pcmk__rsc_remote_nesting_allowed)) {
rsc              1011 lib/pacemaker/pcmk_sched_primitive.c                 rsc_avoids_remote_nodes(rsc->priv->launcher);
rsc              1020 lib/pacemaker/pcmk_sched_primitive.c             pcmk__order_resource_actions(rsc->priv->launcher,
rsc              1022 lib/pacemaker/pcmk_sched_primitive.c                                          rsc, PCMK_ACTION_STOP,
rsc              1032 lib/pacemaker/pcmk_sched_primitive.c         } else if (pcmk_is_set(rsc->priv->launcher->flags,
rsc              1034 lib/pacemaker/pcmk_sched_primitive.c             remote_rsc = rsc->priv->launcher;
rsc              1038 lib/pacemaker/pcmk_sched_primitive.c                                                  rsc->priv->launcher);
rsc              1061 lib/pacemaker/pcmk_sched_primitive.c                       rsc->id, rsc->priv->launcher->id);
rsc              1063 lib/pacemaker/pcmk_sched_primitive.c             pcmk__new_ordering(rsc->priv->launcher,
rsc              1064 lib/pacemaker/pcmk_sched_primitive.c                                pcmk__op_key(rsc->priv->launcher->id,
rsc              1066 lib/pacemaker/pcmk_sched_primitive.c                                NULL, rsc,
rsc              1067 lib/pacemaker/pcmk_sched_primitive.c                                pcmk__op_key(rsc->id, PCMK_ACTION_START, 0),
rsc              1072 lib/pacemaker/pcmk_sched_primitive.c             pcmk__new_ordering(rsc,
rsc              1073 lib/pacemaker/pcmk_sched_primitive.c                                pcmk__op_key(rsc->id, PCMK_ACTION_STOP, 0),
rsc              1075 lib/pacemaker/pcmk_sched_primitive.c                                rsc->priv->launcher,
rsc              1076 lib/pacemaker/pcmk_sched_primitive.c                                pcmk__op_key(rsc->priv->launcher->id,
rsc              1080 lib/pacemaker/pcmk_sched_primitive.c             if (pcmk_is_set(rsc->flags, pcmk__rsc_remote_nesting_allowed)) {
rsc              1085 lib/pacemaker/pcmk_sched_primitive.c             pcmk__new_colocation("#resource-with-container", NULL, score, rsc,
rsc              1086 lib/pacemaker/pcmk_sched_primitive.c                                  rsc->priv->launcher, NULL, NULL,
rsc              1091 lib/pacemaker/pcmk_sched_primitive.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_is_remote_connection)
rsc              1092 lib/pacemaker/pcmk_sched_primitive.c         || pcmk_is_set(rsc->flags, pcmk__rsc_fence_device)) {
rsc              1096 lib/pacemaker/pcmk_sched_primitive.c         rsc_avoids_remote_nodes(rsc);
rsc              1159 lib/pacemaker/pcmk_sched_primitive.c pcmk__with_primitive_colocations(const pcmk_resource_t *rsc,
rsc              1164 lib/pacemaker/pcmk_sched_primitive.c     pcmk__assert(pcmk__is_primitive(rsc) && (list != NULL));
rsc              1165 lib/pacemaker/pcmk_sched_primitive.c     parent = rsc->priv->parent;
rsc              1167 lib/pacemaker/pcmk_sched_primitive.c     if (rsc == orig_rsc) {
rsc              1171 lib/pacemaker/pcmk_sched_primitive.c         pcmk__add_with_this_list(list, rsc->priv->with_this_colocations,
rsc              1178 lib/pacemaker/pcmk_sched_primitive.c         for (GList *iter = rsc->priv->with_this_colocations;
rsc              1193 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_with_colocations(const pcmk_resource_t *rsc,
rsc              1198 lib/pacemaker/pcmk_sched_primitive.c     pcmk__assert(pcmk__is_primitive(rsc) && (list != NULL));
rsc              1199 lib/pacemaker/pcmk_sched_primitive.c     parent = rsc->priv->parent;
rsc              1201 lib/pacemaker/pcmk_sched_primitive.c     if (rsc == orig_rsc) {
rsc              1205 lib/pacemaker/pcmk_sched_primitive.c         pcmk__add_this_with_list(list, rsc->priv->this_with_colocations,
rsc              1212 lib/pacemaker/pcmk_sched_primitive.c         for (GList *iter = rsc->priv->this_with_colocations;
rsc              1254 lib/pacemaker/pcmk_sched_primitive.c is_expected_node(const pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc              1256 lib/pacemaker/pcmk_sched_primitive.c     return pcmk_all_flags_set(rsc->flags,
rsc              1258 lib/pacemaker/pcmk_sched_primitive.c            && (rsc->priv->next_role > pcmk_role_stopped)
rsc              1259 lib/pacemaker/pcmk_sched_primitive.c            && pcmk__same_node(rsc->priv->assigned_node, node);
rsc              1271 lib/pacemaker/pcmk_sched_primitive.c stop_resource(pcmk_resource_t *rsc, pcmk_node_t *node, bool optional)
rsc              1273 lib/pacemaker/pcmk_sched_primitive.c     for (GList *iter = rsc->priv->active_nodes;
rsc              1279 lib/pacemaker/pcmk_sched_primitive.c         if (is_expected_node(rsc, current)) {
rsc              1284 lib/pacemaker/pcmk_sched_primitive.c             pcmk__rsc_trace(rsc,
rsc              1287 lib/pacemaker/pcmk_sched_primitive.c                             rsc->id, pcmk__node_name(current));
rsc              1291 lib/pacemaker/pcmk_sched_primitive.c         if (rsc->priv->partial_migration_target != NULL) {
rsc              1293 lib/pacemaker/pcmk_sched_primitive.c             if (pcmk__same_node(current, rsc->priv->partial_migration_target)
rsc              1294 lib/pacemaker/pcmk_sched_primitive.c                 && pcmk__same_node(current, rsc->priv->assigned_node)) {
rsc              1295 lib/pacemaker/pcmk_sched_primitive.c                 pcmk__rsc_trace(rsc,
rsc              1298 lib/pacemaker/pcmk_sched_primitive.c                                 rsc->id, pcmk__node_name(current));
rsc              1301 lib/pacemaker/pcmk_sched_primitive.c                 pcmk__rsc_trace(rsc,
rsc              1304 lib/pacemaker/pcmk_sched_primitive.c                                 rsc->id, pcmk__node_name(current));
rsc              1309 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_trace(rsc, "Scheduling stop of %s on %s",
rsc              1310 lib/pacemaker/pcmk_sched_primitive.c                         rsc->id, pcmk__node_name(current));
rsc              1311 lib/pacemaker/pcmk_sched_primitive.c         stop = stop_action(rsc, current, optional);
rsc              1313 lib/pacemaker/pcmk_sched_primitive.c         if (rsc->priv->assigned_node == NULL) {
rsc              1315 lib/pacemaker/pcmk_sched_primitive.c         } else if (pcmk_all_flags_set(rsc->flags, pcmk__rsc_restarting
rsc              1324 lib/pacemaker/pcmk_sched_primitive.c         if (!pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc              1328 lib/pacemaker/pcmk_sched_primitive.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_needs_unfencing)) {
rsc              1331 lib/pacemaker/pcmk_sched_primitive.c                                                  rsc->priv->scheduler);
rsc              1335 lib/pacemaker/pcmk_sched_primitive.c                 pcmk__sched_err(rsc->priv->scheduler,
rsc              1337 lib/pacemaker/pcmk_sched_primitive.c                                 rsc->id, pcmk__node_name(current));
rsc              1352 lib/pacemaker/pcmk_sched_primitive.c start_resource(pcmk_resource_t *rsc, pcmk_node_t *node, bool optional)
rsc              1358 lib/pacemaker/pcmk_sched_primitive.c     pcmk__rsc_trace(rsc, "Scheduling %s start of %s on %s (score %d)",
rsc              1359 lib/pacemaker/pcmk_sched_primitive.c                     (optional? "optional" : "required"), rsc->id,
rsc              1361 lib/pacemaker/pcmk_sched_primitive.c     start = start_action(rsc, node, TRUE);
rsc              1363 lib/pacemaker/pcmk_sched_primitive.c     pcmk__order_vs_unfence(rsc, node, start, pcmk__ar_first_implies_then);
rsc              1369 lib/pacemaker/pcmk_sched_primitive.c     if (is_expected_node(rsc, node)) {
rsc              1373 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_trace(rsc,
rsc              1376 lib/pacemaker/pcmk_sched_primitive.c                         rsc->id, pcmk__node_name(node));
rsc              1390 lib/pacemaker/pcmk_sched_primitive.c promote_resource(pcmk_resource_t *rsc, pcmk_node_t *node, bool optional)
rsc              1399 lib/pacemaker/pcmk_sched_primitive.c     action_list = pe__resource_actions(rsc, node, PCMK_ACTION_START, true);
rsc              1410 lib/pacemaker/pcmk_sched_primitive.c         pcmk_action_t *promote = promote_action(rsc, node, optional);
rsc              1412 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_trace(rsc, "Scheduling %s promotion of %s on %s",
rsc              1413 lib/pacemaker/pcmk_sched_primitive.c                         (optional? "optional" : "required"), rsc->id,
rsc              1416 lib/pacemaker/pcmk_sched_primitive.c         if (is_expected_node(rsc, node)) {
rsc              1420 lib/pacemaker/pcmk_sched_primitive.c             pcmk__rsc_trace(rsc,
rsc              1423 lib/pacemaker/pcmk_sched_primitive.c                             rsc->id, pcmk__node_name(node));
rsc              1427 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_trace(rsc, "Not promoting %s on %s: start unrunnable",
rsc              1428 lib/pacemaker/pcmk_sched_primitive.c                         rsc->id, pcmk__node_name(node));
rsc              1429 lib/pacemaker/pcmk_sched_primitive.c         action_list = pe__resource_actions(rsc, node, PCMK_ACTION_PROMOTE,
rsc              1449 lib/pacemaker/pcmk_sched_primitive.c demote_resource(pcmk_resource_t *rsc, pcmk_node_t *node, bool optional)
rsc              1456 lib/pacemaker/pcmk_sched_primitive.c     for (GList *iter = rsc->priv->active_nodes;
rsc              1461 lib/pacemaker/pcmk_sched_primitive.c         if (is_expected_node(rsc, current)) {
rsc              1462 lib/pacemaker/pcmk_sched_primitive.c             pcmk__rsc_trace(rsc,
rsc              1465 lib/pacemaker/pcmk_sched_primitive.c                             rsc->id, pcmk__node_name(current));
rsc              1467 lib/pacemaker/pcmk_sched_primitive.c             pcmk__rsc_trace(rsc, "Scheduling %s demotion of %s on %s",
rsc              1468 lib/pacemaker/pcmk_sched_primitive.c                             (optional? "optional" : "required"), rsc->id,
rsc              1470 lib/pacemaker/pcmk_sched_primitive.c             demote_action(rsc, current, optional);
rsc              1476 lib/pacemaker/pcmk_sched_primitive.c assert_role_error(pcmk_resource_t *rsc, pcmk_node_t *node, bool optional)
rsc              1490 lib/pacemaker/pcmk_sched_primitive.c pcmk__schedule_cleanup(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc              1500 lib/pacemaker/pcmk_sched_primitive.c     CRM_CHECK((rsc != NULL) && (node != NULL), return);
rsc              1502 lib/pacemaker/pcmk_sched_primitive.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_failed)) {
rsc              1503 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_trace(rsc, "Skipping clean-up of %s on %s: resource failed",
rsc              1504 lib/pacemaker/pcmk_sched_primitive.c                         rsc->id, pcmk__node_name(node));
rsc              1509 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_trace(rsc, "Skipping clean-up of %s on %s: node unavailable",
rsc              1510 lib/pacemaker/pcmk_sched_primitive.c                         rsc->id, pcmk__node_name(node));
rsc              1515 lib/pacemaker/pcmk_sched_primitive.c                rsc->id, pcmk__node_name(node));
rsc              1516 lib/pacemaker/pcmk_sched_primitive.c     delete_action(rsc, node, optional);
rsc              1519 lib/pacemaker/pcmk_sched_primitive.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_STOP,
rsc              1520 lib/pacemaker/pcmk_sched_primitive.c                                  rsc, PCMK_ACTION_DELETE, flag);
rsc              1521 lib/pacemaker/pcmk_sched_primitive.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_DELETE,
rsc              1522 lib/pacemaker/pcmk_sched_primitive.c                                  rsc, PCMK_ACTION_START, flag);
rsc              1533 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_add_graph_meta(const pcmk_resource_t *rsc, xmlNode *xml)
rsc              1539 lib/pacemaker/pcmk_sched_primitive.c     pcmk__assert(pcmk__is_primitive(rsc) && (xml != NULL));
rsc              1545 lib/pacemaker/pcmk_sched_primitive.c     value = g_hash_table_lookup(rsc->priv->meta, PCMK__META_CLONE);
rsc              1553 lib/pacemaker/pcmk_sched_primitive.c     value = g_hash_table_lookup(rsc->priv->meta, PCMK_META_REMOTE_NODE);
rsc              1563 lib/pacemaker/pcmk_sched_primitive.c     for (parent = rsc; parent != NULL; parent = parent->priv->parent) {
rsc              1574 lib/pacemaker/pcmk_sched_primitive.c     value = g_hash_table_lookup(rsc->priv->meta, "external-ip");
rsc              1582 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_add_utilization(const pcmk_resource_t *rsc,
rsc              1586 lib/pacemaker/pcmk_sched_primitive.c     pcmk__assert(pcmk__is_primitive(rsc) && (orig_rsc != NULL)
rsc              1589 lib/pacemaker/pcmk_sched_primitive.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_unassigned)) {
rsc              1595 lib/pacemaker/pcmk_sched_primitive.c                     orig_rsc->id, rsc->id);
rsc              1596 lib/pacemaker/pcmk_sched_primitive.c     pcmk__release_node_capacity(utilization, rsc);
rsc              1640 lib/pacemaker/pcmk_sched_primitive.c     pcmk_resource_t *rsc = (pcmk_resource_t *) user_data;
rsc              1642 lib/pacemaker/pcmk_sched_primitive.c     if (!pcmk__same_node(node, rsc->priv->lock_node)) {
rsc              1643 lib/pacemaker/pcmk_sched_primitive.c         resource_location(rsc, node, -PCMK_SCORE_INFINITY,
rsc              1644 lib/pacemaker/pcmk_sched_primitive.c                           PCMK_OPT_SHUTDOWN_LOCK, rsc->priv->scheduler);
rsc              1650 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_shutdown_lock(pcmk_resource_t *rsc)
rsc              1654 lib/pacemaker/pcmk_sched_primitive.c     pcmk__assert(pcmk__is_primitive(rsc));
rsc              1655 lib/pacemaker/pcmk_sched_primitive.c     scheduler = rsc->priv->scheduler;
rsc              1658 lib/pacemaker/pcmk_sched_primitive.c     if (pcmk_any_flags_set(rsc->flags, pcmk__rsc_fence_device
rsc              1663 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->priv->lock_node != NULL) {
rsc              1666 lib/pacemaker/pcmk_sched_primitive.c         if (rsc->priv->active_nodes != NULL) {
rsc              1671 lib/pacemaker/pcmk_sched_primitive.c             pcmk__rsc_info(rsc,
rsc              1673 lib/pacemaker/pcmk_sched_primitive.c                            "because %s is already active", rsc->id);
rsc              1674 lib/pacemaker/pcmk_sched_primitive.c             pe__clear_resource_history(rsc, rsc->priv->lock_node);
rsc              1675 lib/pacemaker/pcmk_sched_primitive.c             rsc->priv->lock_node = NULL;
rsc              1676 lib/pacemaker/pcmk_sched_primitive.c             rsc->priv->lock_time = 0;
rsc              1680 lib/pacemaker/pcmk_sched_primitive.c     } else if (pcmk__list_of_1(rsc->priv->active_nodes)) {
rsc              1681 lib/pacemaker/pcmk_sched_primitive.c         pcmk_node_t *node = rsc->priv->active_nodes->data;
rsc              1685 lib/pacemaker/pcmk_sched_primitive.c                 pcmk__rsc_debug(rsc,
rsc              1687 lib/pacemaker/pcmk_sched_primitive.c                                 rsc->id, pcmk__node_name(node));
rsc              1689 lib/pacemaker/pcmk_sched_primitive.c                 rsc->priv->lock_node = node;
rsc              1690 lib/pacemaker/pcmk_sched_primitive.c                 rsc->priv->lock_time = shutdown_time(node);
rsc              1695 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->priv->lock_node == NULL) {
rsc              1701 lib/pacemaker/pcmk_sched_primitive.c         time_t lock_expiration = rsc->priv->lock_time
rsc              1704 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_info(rsc, "Locking %s to %s due to shutdown (expires @%lld)",
rsc              1705 lib/pacemaker/pcmk_sched_primitive.c                        rsc->id, pcmk__node_name(rsc->priv->lock_node),
rsc              1710 lib/pacemaker/pcmk_sched_primitive.c         pcmk__rsc_info(rsc, "Locking %s to %s due to shutdown",
rsc              1711 lib/pacemaker/pcmk_sched_primitive.c                        rsc->id, pcmk__node_name(rsc->priv->lock_node));
rsc              1715 lib/pacemaker/pcmk_sched_primitive.c     g_list_foreach(scheduler->nodes, ban_if_not_locked, rsc);
rsc                28 lib/pacemaker/pcmk_sched_probes.c add_expected_result(pcmk_action_t *probe, const pcmk_resource_t *rsc,
rsc                32 lib/pacemaker/pcmk_sched_probes.c     pcmk_node_t *running = pe_find_node_id(rsc->priv->active_nodes,
rsc                39 lib/pacemaker/pcmk_sched_probes.c     } else if (rsc->priv->orig_role == pcmk_role_promoted) {
rsc                59 lib/pacemaker/pcmk_sched_probes.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc                61 lib/pacemaker/pcmk_sched_probes.c         if (rsc->priv->cmds->create_probe(rsc, node)) {
rsc               135 lib/pacemaker/pcmk_sched_probes.c probe_action(pcmk_resource_t *rsc, pcmk_node_t *node)
rsc               138 lib/pacemaker/pcmk_sched_probes.c     char *key = pcmk__op_key(rsc->id, PCMK_ACTION_MONITOR, 0);
rsc               141 lib/pacemaker/pcmk_sched_probes.c               pcmk_role_text(rsc->priv->orig_role), rsc->id,
rsc               144 lib/pacemaker/pcmk_sched_probes.c     probe = custom_action(rsc, key, PCMK_ACTION_MONITOR, node, FALSE,
rsc               145 lib/pacemaker/pcmk_sched_probes.c                           rsc->priv->scheduler);
rsc               148 lib/pacemaker/pcmk_sched_probes.c     pcmk__order_vs_unfence(rsc, node, probe, pcmk__ar_ordered);
rsc               149 lib/pacemaker/pcmk_sched_probes.c     add_expected_result(probe, rsc, node);
rsc               165 lib/pacemaker/pcmk_sched_probes.c pcmk__probe_rsc_on_node(pcmk_resource_t *rsc, pcmk_node_t *node)
rsc               170 lib/pacemaker/pcmk_sched_probes.c     pcmk_resource_t *top = uber_parent(rsc);
rsc               173 lib/pacemaker/pcmk_sched_probes.c     pcmk__assert((rsc != NULL) && (node != NULL));
rsc               175 lib/pacemaker/pcmk_sched_probes.c     if (!pcmk_is_set(rsc->priv->scheduler->flags,
rsc               182 lib/pacemaker/pcmk_sched_probes.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_fence_device)) {
rsc               187 lib/pacemaker/pcmk_sched_probes.c                    && pe__resource_contains_guest_node(rsc->priv->scheduler,
rsc               188 lib/pacemaker/pcmk_sched_probes.c                                                        rsc)) {
rsc               192 lib/pacemaker/pcmk_sched_probes.c         } else if (pcmk_is_set(rsc->flags, pcmk__rsc_is_remote_connection)) {
rsc               199 lib/pacemaker/pcmk_sched_probes.c     if (rsc->priv->children != NULL) {
rsc               200 lib/pacemaker/pcmk_sched_probes.c         return pcmk__probe_resource_list(rsc->priv->children, node);
rsc               203 lib/pacemaker/pcmk_sched_probes.c     if ((rsc->priv->launcher != NULL)
rsc               204 lib/pacemaker/pcmk_sched_probes.c         && !pcmk_is_set(rsc->flags, pcmk__rsc_is_remote_connection)) {
rsc               208 lib/pacemaker/pcmk_sched_probes.c     } else if (pcmk_is_set(rsc->flags, pcmk__rsc_removed)) {
rsc               212 lib/pacemaker/pcmk_sched_probes.c     } else if (g_hash_table_lookup(rsc->priv->probed_nodes,
rsc               218 lib/pacemaker/pcmk_sched_probes.c     allowed = g_hash_table_lookup(rsc->priv->allowed_nodes,
rsc               221 lib/pacemaker/pcmk_sched_probes.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_exclusive_probes)
rsc               264 lib/pacemaker/pcmk_sched_probes.c                                NULL, pcmk__ar_ordered, rsc->priv->scheduler);
rsc               270 lib/pacemaker/pcmk_sched_probes.c     probe = probe_action(rsc, node);
rsc               278 lib/pacemaker/pcmk_sched_probes.c         top = rsc;
rsc               290 lib/pacemaker/pcmk_sched_probes.c     pcmk__new_ordering(rsc, NULL, probe,
rsc               292 lib/pacemaker/pcmk_sched_probes.c                        flags, rsc->priv->scheduler);
rsc               293 lib/pacemaker/pcmk_sched_probes.c     pcmk__new_ordering(rsc, NULL, probe, top, reload_key(rsc), NULL,
rsc               294 lib/pacemaker/pcmk_sched_probes.c                        pcmk__ar_ordered, rsc->priv->scheduler);
rsc               299 lib/pacemaker/pcmk_sched_probes.c     pcmk__rsc_trace(rsc,
rsc               301 lib/pacemaker/pcmk_sched_probes.c                     rsc->id, node->priv->id, reason);
rsc               499 lib/pacemaker/pcmk_sched_probes.c     if ((after->action->rsc->priv->variant <= pcmk__rsc_variant_group)
rsc               503 lib/pacemaker/pcmk_sched_probes.c         || (pe__const_top_resource(probe->rsc, false) != after->action->rsc)
rsc               519 lib/pacemaker/pcmk_sched_probes.c         if ((then->action->rsc->priv->active_nodes != NULL)
rsc               520 lib/pacemaker/pcmk_sched_probes.c             || (pe__const_top_resource(then->action->rsc, false)
rsc               521 lib/pacemaker/pcmk_sched_probes.c                 != after->action->rsc)
rsc               562 lib/pacemaker/pcmk_sched_probes.c     if ((after == NULL) || (probe == NULL) || !pcmk__is_primitive(probe->rsc)
rsc               580 lib/pacemaker/pcmk_sched_probes.c     if (pcmk__is_primitive(after->rsc) && (probe->rsc != after->rsc)) {
rsc               585 lib/pacemaker/pcmk_sched_probes.c                 then_actions = pe__resource_actions(after->rsc, NULL,
rsc               590 lib/pacemaker/pcmk_sched_probes.c                 then_actions = pe__resource_actions(after->rsc, NULL,
rsc               608 lib/pacemaker/pcmk_sched_probes.c     if ((after->rsc != NULL)
rsc               609 lib/pacemaker/pcmk_sched_probes.c         && (after->rsc->priv->variant > pcmk__rsc_variant_group)) {
rsc               611 lib/pacemaker/pcmk_sched_probes.c         interleave = crm_is_true(g_hash_table_lookup(after->rsc->priv->meta,
rsc               614 lib/pacemaker/pcmk_sched_probes.c             compatible_rsc = pcmk__find_compatible_instance(probe->rsc,
rsc               615 lib/pacemaker/pcmk_sched_probes.c                                                             after->rsc,
rsc               646 lib/pacemaker/pcmk_sched_probes.c             if ((after->rsc == NULL)
rsc               647 lib/pacemaker/pcmk_sched_probes.c                 || (after->rsc->priv->variant < pcmk__rsc_variant_group)
rsc               648 lib/pacemaker/pcmk_sched_probes.c                 || (probe->rsc->priv->parent == after->rsc)
rsc               649 lib/pacemaker/pcmk_sched_probes.c                 || (after_wrapper->action->rsc == NULL)) {
rsc               652 lib/pacemaker/pcmk_sched_probes.c             chained_rsc = after_wrapper->action->rsc;
rsc               655 lib/pacemaker/pcmk_sched_probes.c                 || (after->rsc != chained_rsc->priv->parent)) {
rsc               662 lib/pacemaker/pcmk_sched_probes.c             if ((after->rsc->priv->variant > pcmk__rsc_variant_group)
rsc               708 lib/pacemaker/pcmk_sched_probes.c     pcmk_resource_t *rsc = data;
rsc               712 lib/pacemaker/pcmk_sched_probes.c     if (!pcmk__is_primitive(rsc)) {
rsc               713 lib/pacemaker/pcmk_sched_probes.c         g_list_foreach(rsc->priv->children,
rsc               719 lib/pacemaker/pcmk_sched_probes.c     probes = pe__resource_actions(rsc, NULL, PCMK_ACTION_MONITOR, FALSE);
rsc               732 lib/pacemaker/pcmk_sched_probes.c             clear_actions_tracking_flag(rsc->priv->scheduler);
rsc               782 lib/pacemaker/pcmk_sched_probes.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               788 lib/pacemaker/pcmk_sched_probes.c         actions = pe__resource_actions(rsc, NULL, PCMK_ACTION_START, FALSE);
rsc               796 lib/pacemaker/pcmk_sched_probes.c             crm_debug("No start action for %s", rsc->id);
rsc               800 lib/pacemaker/pcmk_sched_probes.c         probes = pe__resource_actions(rsc, NULL, PCMK_ACTION_MONITOR, FALSE);
rsc               808 lib/pacemaker/pcmk_sched_probes.c             pcmk_resource_t *first_rsc = first->rsc;
rsc               820 lib/pacemaker/pcmk_sched_probes.c                     pcmk__assert(before->action->rsc != NULL);
rsc               821 lib/pacemaker/pcmk_sched_probes.c                     first_rsc = before->action->rsc;
rsc               834 lib/pacemaker/pcmk_sched_probes.c                        == pe__const_top_resource(start->rsc, false)) {
rsc                81 lib/pacemaker/pcmk_sched_promotable.c check_for_role_change(const pcmk_resource_t *rsc, bool *demoting,
rsc                87 lib/pacemaker/pcmk_sched_promotable.c     if (rsc->priv->children != NULL) {
rsc                88 lib/pacemaker/pcmk_sched_promotable.c         for (iter = rsc->priv->children; iter != NULL; iter = iter->next) {
rsc                95 lib/pacemaker/pcmk_sched_promotable.c     for (iter = rsc->priv->actions; iter != NULL; iter = iter->next) {
rsc               166 lib/pacemaker/pcmk_sched_promotable.c node_to_be_promoted_on(const pcmk_resource_t *rsc)
rsc               173 lib/pacemaker/pcmk_sched_promotable.c     for (GList *iter = rsc->priv->children;
rsc               179 lib/pacemaker/pcmk_sched_promotable.c             pcmk__rsc_trace(rsc,
rsc               181 lib/pacemaker/pcmk_sched_promotable.c                             rsc->id, child->id);
rsc               186 lib/pacemaker/pcmk_sched_promotable.c     node = rsc->priv->fns->location(rsc, NULL, pcmk__rsc_node_assigned);
rsc               188 lib/pacemaker/pcmk_sched_promotable.c         pcmk__rsc_trace(rsc, "%s can't be promoted because it won't be active",
rsc               189 lib/pacemaker/pcmk_sched_promotable.c                         rsc->id);
rsc               192 lib/pacemaker/pcmk_sched_promotable.c     } else if (!pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               193 lib/pacemaker/pcmk_sched_promotable.c         if (rsc->priv->fns->state(rsc, TRUE) == pcmk_role_promoted) {
rsc               195 lib/pacemaker/pcmk_sched_promotable.c                        rsc->id, pcmk__node_name(node));
rsc               197 lib/pacemaker/pcmk_sched_promotable.c             pcmk__rsc_trace(rsc, "%s can't be promoted because it is unmanaged",
rsc               198 lib/pacemaker/pcmk_sched_promotable.c                             rsc->id);
rsc               202 lib/pacemaker/pcmk_sched_promotable.c     } else if (rsc->priv->priority < 0) {
rsc               203 lib/pacemaker/pcmk_sched_promotable.c         pcmk__rsc_trace(rsc,
rsc               206 lib/pacemaker/pcmk_sched_promotable.c                         rsc->id, rsc->priv->priority);
rsc               210 lib/pacemaker/pcmk_sched_promotable.c         pcmk__rsc_trace(rsc,
rsc               212 lib/pacemaker/pcmk_sched_promotable.c                         rsc->id, pcmk__node_name(node));
rsc               216 lib/pacemaker/pcmk_sched_promotable.c     parent = pe__const_top_resource(rsc, false);
rsc               225 lib/pacemaker/pcmk_sched_promotable.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               229 lib/pacemaker/pcmk_sched_promotable.c                             rsc->id, parent->id, pcmk__node_name(node));
rsc               234 lib/pacemaker/pcmk_sched_promotable.c                && pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               235 lib/pacemaker/pcmk_sched_promotable.c         pcmk__rsc_trace(rsc,
rsc               238 lib/pacemaker/pcmk_sched_promotable.c                         rsc->id, pcmk__node_name(node));
rsc               568 lib/pacemaker/pcmk_sched_promotable.c is_allowed(const pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc               570 lib/pacemaker/pcmk_sched_promotable.c     pcmk_node_t *allowed = g_hash_table_lookup(rsc->priv->allowed_nodes,
rsc               586 lib/pacemaker/pcmk_sched_promotable.c promotion_score_applies(const pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc               588 lib/pacemaker/pcmk_sched_promotable.c     char *id = clone_strip(rsc->id);
rsc               589 lib/pacemaker/pcmk_sched_promotable.c     const pcmk_resource_t *parent = pe__const_top_resource(rsc, false);
rsc               594 lib/pacemaker/pcmk_sched_promotable.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_unique)) {
rsc               598 lib/pacemaker/pcmk_sched_promotable.c         if (active == rsc) {
rsc               616 lib/pacemaker/pcmk_sched_promotable.c     if ((rsc->priv->active_nodes == NULL)
rsc               617 lib/pacemaker/pcmk_sched_promotable.c         && (g_hash_table_size(rsc->priv->probed_nodes) == 0)) {
rsc               625 lib/pacemaker/pcmk_sched_promotable.c     if ((g_hash_table_lookup(rsc->priv->probed_nodes,
rsc               627 lib/pacemaker/pcmk_sched_promotable.c         || (pe_find_node_id(rsc->priv->active_nodes,
rsc               631 lib/pacemaker/pcmk_sched_promotable.c         pcmk__rsc_trace(rsc,
rsc               634 lib/pacemaker/pcmk_sched_promotable.c                         rsc->id, id, pcmk__node_name(node));
rsc               640 lib/pacemaker/pcmk_sched_promotable.c     if (is_allowed(rsc, node)) {
rsc               641 lib/pacemaker/pcmk_sched_promotable.c         pcmk__rsc_trace(rsc, "Counting %s promotion score (for %s) on %s: %s",
rsc               642 lib/pacemaker/pcmk_sched_promotable.c                         rsc->id, id, pcmk__node_name(node), reason);
rsc               647 lib/pacemaker/pcmk_sched_promotable.c     pcmk__rsc_trace(rsc,
rsc               649 lib/pacemaker/pcmk_sched_promotable.c                     rsc->id, id, pcmk__node_name(node));
rsc               665 lib/pacemaker/pcmk_sched_promotable.c promotion_attr_value(const pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               673 lib/pacemaker/pcmk_sched_promotable.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_unassigned)) {
rsc               677 lib/pacemaker/pcmk_sched_promotable.c     target = g_hash_table_lookup(rsc->priv->meta,
rsc               696 lib/pacemaker/pcmk_sched_promotable.c promotion_score(const pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               708 lib/pacemaker/pcmk_sched_promotable.c     CRM_CHECK((rsc != NULL) && (node != NULL), return 0);
rsc               713 lib/pacemaker/pcmk_sched_promotable.c     if (rsc->priv->children != NULL) {
rsc               716 lib/pacemaker/pcmk_sched_promotable.c         for (const GList *iter = rsc->priv->children;
rsc               731 lib/pacemaker/pcmk_sched_promotable.c     if (!promotion_score_applies(rsc, node)) {
rsc               739 lib/pacemaker/pcmk_sched_promotable.c     name = pcmk__s(rsc->priv->history_id, rsc->id);
rsc               741 lib/pacemaker/pcmk_sched_promotable.c     attr_value = promotion_attr_value(rsc, node, name);
rsc               743 lib/pacemaker/pcmk_sched_promotable.c         pcmk__rsc_trace(rsc, "Promotion score for %s on %s = %s",
rsc               746 lib/pacemaker/pcmk_sched_promotable.c     } else if (!pcmk_is_set(rsc->flags, pcmk__rsc_unique)) {
rsc               751 lib/pacemaker/pcmk_sched_promotable.c         char *rsc_name = clone_strip(rsc->id);
rsc               753 lib/pacemaker/pcmk_sched_promotable.c         if (strcmp(rsc->id, rsc_name) != 0) {
rsc               754 lib/pacemaker/pcmk_sched_promotable.c             attr_value = promotion_attr_value(rsc, node, rsc_name);
rsc               755 lib/pacemaker/pcmk_sched_promotable.c             pcmk__rsc_trace(rsc, "Promotion score for %s on %s (for %s) = %s",
rsc               756 lib/pacemaker/pcmk_sched_promotable.c                             rsc_name, pcmk__node_name(node), rsc->id,
rsc               774 lib/pacemaker/pcmk_sched_promotable.c                  rsc->id, pcmk__node_name(node), attr_value);
rsc               786 lib/pacemaker/pcmk_sched_promotable.c pcmk__add_promotion_scores(pcmk_resource_t *rsc)
rsc               788 lib/pacemaker/pcmk_sched_promotable.c     if (pe__set_clone_flag(rsc,
rsc               793 lib/pacemaker/pcmk_sched_promotable.c     for (GList *iter = rsc->priv->children;
rsc               816 lib/pacemaker/pcmk_sched_promotable.c                     pcmk__rsc_trace(rsc,
rsc               826 lib/pacemaker/pcmk_sched_promotable.c                 pcmk__rsc_trace(rsc,
rsc               847 lib/pacemaker/pcmk_sched_promotable.c     pcmk_resource_t *rsc = (pcmk_resource_t *) data;
rsc               849 lib/pacemaker/pcmk_sched_promotable.c     if (rsc->priv->orig_role == pcmk_role_started) {
rsc               851 lib/pacemaker/pcmk_sched_promotable.c         rsc->priv->orig_role = pcmk_role_unpromoted;
rsc               853 lib/pacemaker/pcmk_sched_promotable.c     g_list_foreach(rsc->priv->children, set_current_role_unpromoted, NULL);
rsc               866 lib/pacemaker/pcmk_sched_promotable.c     pcmk_resource_t *rsc = (pcmk_resource_t *) data;
rsc               869 lib/pacemaker/pcmk_sched_promotable.c     rsc->priv->fns->location(rsc, &assigned, pcmk__rsc_node_assigned);
rsc               871 lib/pacemaker/pcmk_sched_promotable.c         pe__set_next_role(rsc, pcmk_role_stopped, "stopped instance");
rsc               873 lib/pacemaker/pcmk_sched_promotable.c         pe__set_next_role(rsc, pcmk_role_unpromoted, "unpromoted instance");
rsc               876 lib/pacemaker/pcmk_sched_promotable.c     g_list_foreach(rsc->priv->children, set_next_role_unpromoted, NULL);
rsc               889 lib/pacemaker/pcmk_sched_promotable.c     pcmk_resource_t *rsc = (pcmk_resource_t *) data;
rsc               891 lib/pacemaker/pcmk_sched_promotable.c     if (rsc->priv->next_role == pcmk_role_unknown) {
rsc               892 lib/pacemaker/pcmk_sched_promotable.c         pe__set_next_role(rsc, pcmk_role_promoted, "promoted instance");
rsc               894 lib/pacemaker/pcmk_sched_promotable.c     g_list_foreach(rsc->priv->children, set_next_role_promoted, NULL);
rsc              1088 lib/pacemaker/pcmk_sched_promotable.c pcmk__set_instance_roles(pcmk_resource_t *rsc)
rsc              1095 lib/pacemaker/pcmk_sched_promotable.c     g_hash_table_iter_init(&iter, rsc->priv->allowed_nodes);
rsc              1101 lib/pacemaker/pcmk_sched_promotable.c     g_list_foreach(rsc->priv->children, set_instance_priority, rsc);
rsc              1102 lib/pacemaker/pcmk_sched_promotable.c     sort_promotable_instances(rsc);
rsc              1105 lib/pacemaker/pcmk_sched_promotable.c     g_list_foreach(rsc->priv->children, set_instance_role, &promoted);
rsc              1106 lib/pacemaker/pcmk_sched_promotable.c     pcmk__rsc_info(rsc, "%s: Promoted %d instances of a possible %d",
rsc              1107 lib/pacemaker/pcmk_sched_promotable.c                    rsc->id, promoted, pe__clone_promoted_max(rsc));
rsc                62 lib/pacemaker/pcmk_sched_recurring.c is_op_dup(const pcmk_resource_t *rsc, const char *name, guint interval_ms)
rsc                66 lib/pacemaker/pcmk_sched_recurring.c     for (xmlNode *op = pcmk__xe_first_child(rsc->priv->ops_xml, PCMK_XE_OP,
rsc               130 lib/pacemaker/pcmk_sched_recurring.c is_recurring_history(const pcmk_resource_t *rsc, const xmlNode *xml,
rsc               154 lib/pacemaker/pcmk_sched_recurring.c     if (is_op_dup(rsc, op->name, op->interval_ms)) {
rsc               172 lib/pacemaker/pcmk_sched_recurring.c     if (pcmk__find_action_config(rsc, op->name, op->interval_ms,
rsc               174 lib/pacemaker/pcmk_sched_recurring.c         pcmk__rsc_trace(rsc,
rsc               178 lib/pacemaker/pcmk_sched_recurring.c                         op->name, rsc->id);
rsc               182 lib/pacemaker/pcmk_sched_recurring.c     op->key = pcmk__op_key(rsc->id, op->name, op->interval_ms);
rsc               198 lib/pacemaker/pcmk_sched_recurring.c active_recurring_should_be_optional(const pcmk_resource_t *rsc,
rsc               205 lib/pacemaker/pcmk_sched_recurring.c         pcmk__rsc_trace(rsc,
rsc               211 lib/pacemaker/pcmk_sched_recurring.c     if (!pcmk_is_set(rsc->priv->cmds->action_flags(start, NULL),
rsc               213 lib/pacemaker/pcmk_sched_recurring.c         pcmk__rsc_trace(rsc, "%s will be mandatory because %s is",
rsc               218 lib/pacemaker/pcmk_sched_recurring.c     possible_matches = find_actions_exact(rsc->priv->actions, key, node);
rsc               220 lib/pacemaker/pcmk_sched_recurring.c         pcmk__rsc_trace(rsc,
rsc               232 lib/pacemaker/pcmk_sched_recurring.c             pcmk__rsc_trace(rsc,
rsc               254 lib/pacemaker/pcmk_sched_recurring.c recurring_op_for_active(pcmk_resource_t *rsc, pcmk_action_t *start,
rsc               267 lib/pacemaker/pcmk_sched_recurring.c     is_optional = active_recurring_should_be_optional(rsc, node, op->key,
rsc               273 lib/pacemaker/pcmk_sched_recurring.c         role_match = (rsc->priv->next_role != pcmk_role_promoted);
rsc               275 lib/pacemaker/pcmk_sched_recurring.c         role_match = (rsc->priv->next_role == monitor_role);
rsc               281 lib/pacemaker/pcmk_sched_recurring.c             pcmk_action_t *cancel_op = pcmk__new_cancel_action(rsc, op->name,
rsc               285 lib/pacemaker/pcmk_sched_recurring.c             switch (rsc->priv->orig_role) {
rsc               288 lib/pacemaker/pcmk_sched_recurring.c                     if (rsc->priv->next_role == pcmk_role_promoted) {
rsc               289 lib/pacemaker/pcmk_sched_recurring.c                         after_key = promote_key(rsc);
rsc               291 lib/pacemaker/pcmk_sched_recurring.c                     } else if (rsc->priv->next_role == pcmk_role_stopped) {
rsc               292 lib/pacemaker/pcmk_sched_recurring.c                         after_key = stop_key(rsc);
rsc               297 lib/pacemaker/pcmk_sched_recurring.c                     after_key = demote_key(rsc);
rsc               304 lib/pacemaker/pcmk_sched_recurring.c                 pcmk__new_ordering(rsc, NULL, cancel_op, rsc, after_key, NULL,
rsc               306 lib/pacemaker/pcmk_sched_recurring.c                                    rsc->priv->scheduler);
rsc               315 lib/pacemaker/pcmk_sched_recurring.c                    pcmk_role_text(rsc->priv->next_role));
rsc               319 lib/pacemaker/pcmk_sched_recurring.c     pcmk__rsc_trace(rsc,
rsc               322 lib/pacemaker/pcmk_sched_recurring.c                     op->id, rsc->id, pcmk_role_text(rsc->priv->next_role),
rsc               325 lib/pacemaker/pcmk_sched_recurring.c     mon = custom_action(rsc, strdup(op->key), op->name, node, is_optional,
rsc               326 lib/pacemaker/pcmk_sched_recurring.c                         rsc->priv->scheduler);
rsc               329 lib/pacemaker/pcmk_sched_recurring.c         pcmk__rsc_trace(rsc, "%s is unrunnable because start is", mon->uuid);
rsc               334 lib/pacemaker/pcmk_sched_recurring.c         pcmk__rsc_trace(rsc, "%s is unrunnable because no node is available",
rsc               339 lib/pacemaker/pcmk_sched_recurring.c         pcmk__rsc_info(rsc, "Start %s-interval %s for %s on %s",
rsc               341 lib/pacemaker/pcmk_sched_recurring.c                        rsc->id, pcmk__node_name(node));
rsc               344 lib/pacemaker/pcmk_sched_recurring.c     if (rsc->priv->next_role == pcmk_role_promoted) {
rsc               349 lib/pacemaker/pcmk_sched_recurring.c     if ((node == NULL) || pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               350 lib/pacemaker/pcmk_sched_recurring.c         pcmk__new_ordering(rsc, start_key(rsc), NULL,
rsc               354 lib/pacemaker/pcmk_sched_recurring.c                            rsc->priv->scheduler);
rsc               356 lib/pacemaker/pcmk_sched_recurring.c         pcmk__new_ordering(rsc, reload_key(rsc), NULL,
rsc               360 lib/pacemaker/pcmk_sched_recurring.c                            rsc->priv->scheduler);
rsc               362 lib/pacemaker/pcmk_sched_recurring.c         if (rsc->priv->next_role == pcmk_role_promoted) {
rsc               363 lib/pacemaker/pcmk_sched_recurring.c             pcmk__new_ordering(rsc, promote_key(rsc), NULL,
rsc               364 lib/pacemaker/pcmk_sched_recurring.c                                rsc, NULL, mon,
rsc               367 lib/pacemaker/pcmk_sched_recurring.c                                rsc->priv->scheduler);
rsc               369 lib/pacemaker/pcmk_sched_recurring.c         } else if (rsc->priv->orig_role == pcmk_role_promoted) {
rsc               370 lib/pacemaker/pcmk_sched_recurring.c             pcmk__new_ordering(rsc, demote_key(rsc), NULL,
rsc               371 lib/pacemaker/pcmk_sched_recurring.c                                rsc, NULL, mon,
rsc               374 lib/pacemaker/pcmk_sched_recurring.c                                rsc->priv->scheduler);
rsc               390 lib/pacemaker/pcmk_sched_recurring.c cancel_if_running(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               393 lib/pacemaker/pcmk_sched_recurring.c     GList *possible_matches = find_actions_exact(rsc->priv->actions, key,
rsc               402 lib/pacemaker/pcmk_sched_recurring.c     cancel_op = pcmk__new_cancel_action(rsc, name, interval_ms, node);
rsc               404 lib/pacemaker/pcmk_sched_recurring.c     switch (rsc->priv->next_role) {
rsc               412 lib/pacemaker/pcmk_sched_recurring.c             pcmk__new_ordering(rsc, NULL, cancel_op,
rsc               413 lib/pacemaker/pcmk_sched_recurring.c                                rsc, start_key(rsc), NULL,
rsc               415 lib/pacemaker/pcmk_sched_recurring.c                                rsc->priv->scheduler);
rsc               420 lib/pacemaker/pcmk_sched_recurring.c     pcmk__rsc_info(rsc,
rsc               423 lib/pacemaker/pcmk_sched_recurring.c                    pcmk__readable_interval(interval_ms), name, rsc->id,
rsc               425 lib/pacemaker/pcmk_sched_recurring.c                    pcmk_role_text(rsc->priv->next_role));
rsc               437 lib/pacemaker/pcmk_sched_recurring.c order_after_probes(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               440 lib/pacemaker/pcmk_sched_recurring.c     GList *probes = pe__resource_actions(rsc, node, PCMK_ACTION_MONITOR, FALSE);
rsc               458 lib/pacemaker/pcmk_sched_recurring.c order_after_stops(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               461 lib/pacemaker/pcmk_sched_recurring.c     GList *stop_ops = pe__resource_actions(rsc, node, PCMK_ACTION_STOP, TRUE);
rsc               468 lib/pacemaker/pcmk_sched_recurring.c             && !pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               469 lib/pacemaker/pcmk_sched_recurring.c             pcmk__rsc_trace(rsc, "%s optional on %s: unmanaged",
rsc               480 lib/pacemaker/pcmk_sched_recurring.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               481 lib/pacemaker/pcmk_sched_recurring.c             pcmk__new_ordering(rsc, stop_key(rsc), stop,
rsc               485 lib/pacemaker/pcmk_sched_recurring.c                                rsc->priv->scheduler);
rsc               500 lib/pacemaker/pcmk_sched_recurring.c recurring_op_for_inactive(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               510 lib/pacemaker/pcmk_sched_recurring.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_unique)) {
rsc               516 lib/pacemaker/pcmk_sched_recurring.c     pcmk__rsc_trace(rsc,
rsc               518 lib/pacemaker/pcmk_sched_recurring.c                     "where it should not be running", op->id, rsc->id);
rsc               520 lib/pacemaker/pcmk_sched_recurring.c     for (GList *iter = rsc->priv->scheduler->nodes;
rsc               532 lib/pacemaker/pcmk_sched_recurring.c             cancel_if_running(rsc, node, op->key, op->name, op->interval_ms);
rsc               537 lib/pacemaker/pcmk_sched_recurring.c         possible_matches = find_actions_exact(rsc->priv->actions, op->key,
rsc               542 lib/pacemaker/pcmk_sched_recurring.c         pcmk__rsc_trace(rsc,
rsc               546 lib/pacemaker/pcmk_sched_recurring.c                         op->key, op->id, rsc->id, pcmk__node_name(stop_node));
rsc               548 lib/pacemaker/pcmk_sched_recurring.c         stopped_mon = custom_action(rsc, strdup(op->key), op->name, stop_node,
rsc               549 lib/pacemaker/pcmk_sched_recurring.c                                     is_optional, rsc->priv->scheduler);
rsc               553 lib/pacemaker/pcmk_sched_recurring.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               554 lib/pacemaker/pcmk_sched_recurring.c             order_after_probes(rsc, stop_node, stopped_mon);
rsc               560 lib/pacemaker/pcmk_sched_recurring.c         order_after_stops(rsc, stop_node, stopped_mon);
rsc               563 lib/pacemaker/pcmk_sched_recurring.c             pcmk__rsc_debug(rsc, "%s unrunnable on %s: node unavailable)",
rsc               573 lib/pacemaker/pcmk_sched_recurring.c                        stopped_mon->task, rsc->id, pcmk__node_name(stop_node));
rsc               585 lib/pacemaker/pcmk_sched_recurring.c pcmk__create_recurring_actions(pcmk_resource_t *rsc)
rsc               589 lib/pacemaker/pcmk_sched_recurring.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_blocked)) {
rsc               590 lib/pacemaker/pcmk_sched_recurring.c         pcmk__rsc_trace(rsc,
rsc               592 lib/pacemaker/pcmk_sched_recurring.c                         rsc->id);
rsc               596 lib/pacemaker/pcmk_sched_recurring.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_maintenance)) {
rsc               597 lib/pacemaker/pcmk_sched_recurring.c         pcmk__rsc_trace(rsc,
rsc               599 lib/pacemaker/pcmk_sched_recurring.c                         "in maintenance mode", rsc->id);
rsc               603 lib/pacemaker/pcmk_sched_recurring.c     if (rsc->priv->assigned_node == NULL) {
rsc               606 lib/pacemaker/pcmk_sched_recurring.c     } else if (rsc->priv->assigned_node->details->maintenance) {
rsc               607 lib/pacemaker/pcmk_sched_recurring.c         pcmk__rsc_trace(rsc,
rsc               610 lib/pacemaker/pcmk_sched_recurring.c                         rsc->id, pcmk__node_name(rsc->priv->assigned_node));
rsc               612 lib/pacemaker/pcmk_sched_recurring.c     } else if ((rsc->priv->next_role != pcmk_role_stopped)
rsc               613 lib/pacemaker/pcmk_sched_recurring.c                || !pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               615 lib/pacemaker/pcmk_sched_recurring.c         start = start_action(rsc, rsc->priv->assigned_node, TRUE);
rsc               618 lib/pacemaker/pcmk_sched_recurring.c     pcmk__rsc_trace(rsc, "Creating any recurring actions needed for %s",
rsc               619 lib/pacemaker/pcmk_sched_recurring.c                     rsc->id);
rsc               621 lib/pacemaker/pcmk_sched_recurring.c     for (xmlNode *op = pcmk__xe_first_child(rsc->priv->ops_xml, PCMK_XE_OP,
rsc               627 lib/pacemaker/pcmk_sched_recurring.c         if (!is_recurring_history(rsc, op, &op_history)) {
rsc               632 lib/pacemaker/pcmk_sched_recurring.c             recurring_op_for_active(rsc, start, rsc->priv->assigned_node,
rsc               635 lib/pacemaker/pcmk_sched_recurring.c         recurring_op_for_inactive(rsc, rsc->priv->assigned_node,
rsc               654 lib/pacemaker/pcmk_sched_recurring.c pcmk__new_cancel_action(pcmk_resource_t *rsc, const char *task,
rsc               661 lib/pacemaker/pcmk_sched_recurring.c     pcmk__assert((rsc != NULL) && (task != NULL) && (node != NULL));
rsc               663 lib/pacemaker/pcmk_sched_recurring.c     key = pcmk__op_key(rsc->id, task, interval_ms);
rsc               668 lib/pacemaker/pcmk_sched_recurring.c     cancel_op = custom_action(rsc, key, PCMK_ACTION_CANCEL, node, FALSE,
rsc               669 lib/pacemaker/pcmk_sched_recurring.c                               rsc->priv->scheduler);
rsc               694 lib/pacemaker/pcmk_sched_recurring.c pcmk__schedule_cancel(pcmk_resource_t *rsc, const char *call_id,
rsc               700 lib/pacemaker/pcmk_sched_recurring.c     CRM_CHECK((rsc != NULL) && (task != NULL)
rsc               705 lib/pacemaker/pcmk_sched_recurring.c              pcmk__readable_interval(interval_ms), task, rsc->id,
rsc               707 lib/pacemaker/pcmk_sched_recurring.c     cancel = pcmk__new_cancel_action(rsc, task, interval_ms, node);
rsc               711 lib/pacemaker/pcmk_sched_recurring.c     pcmk__new_ordering(rsc, stop_key(rsc), NULL, rsc, NULL, cancel,
rsc               712 lib/pacemaker/pcmk_sched_recurring.c                        pcmk__ar_ordered, rsc->priv->scheduler);
rsc               725 lib/pacemaker/pcmk_sched_recurring.c pcmk__reschedule_recurring(pcmk_resource_t *rsc, const char *task,
rsc               730 lib/pacemaker/pcmk_sched_recurring.c     trigger_unfencing(rsc, node, "Device parameters changed (reschedule)",
rsc               731 lib/pacemaker/pcmk_sched_recurring.c                       NULL, rsc->priv->scheduler);
rsc               732 lib/pacemaker/pcmk_sched_recurring.c     op = custom_action(rsc, pcmk__op_key(rsc->id, task, interval_ms),
rsc               733 lib/pacemaker/pcmk_sched_recurring.c                        task, node, TRUE, rsc->priv->scheduler);
rsc                67 lib/pacemaker/pcmk_sched_remote.c                            then_action->rsc, NULL, then_action,
rsc                80 lib/pacemaker/pcmk_sched_remote.c         pcmk__new_ordering(first_action->rsc, NULL, first_action,
rsc               178 lib/pacemaker/pcmk_sched_remote.c     if (action->rsc == NULL) {
rsc               307 lib/pacemaker/pcmk_sched_remote.c     pcmk__assert(action->rsc != NULL);
rsc               317 lib/pacemaker/pcmk_sched_remote.c         pe_fence_node(action->rsc->priv->scheduler, action->node,
rsc               408 lib/pacemaker/pcmk_sched_remote.c         if (action->rsc == NULL) {
rsc               416 lib/pacemaker/pcmk_sched_remote.c         if (pcmk_is_set(action->rsc->flags, pcmk__rsc_is_remote_connection)
rsc               420 lib/pacemaker/pcmk_sched_remote.c             pcmk__new_ordering(action->rsc, NULL, action, action->rsc,
rsc               421 lib/pacemaker/pcmk_sched_remote.c                                pcmk__op_key(action->rsc->id, PCMK_ACTION_START,
rsc               459 lib/pacemaker/pcmk_sched_remote.c             for (GList *item = action->rsc->priv->actions; item != NULL;
rsc               467 lib/pacemaker/pcmk_sched_remote.c                                        action->rsc, NULL, rsc_action,
rsc               519 lib/pacemaker/pcmk_sched_remote.c pcmk__rsc_corresponds_to_guest(const pcmk_resource_t *rsc,
rsc               522 lib/pacemaker/pcmk_sched_remote.c     return (rsc != NULL) && (rsc->priv->launched != NULL) && (node != NULL)
rsc               524 lib/pacemaker/pcmk_sched_remote.c             && (node->priv->remote->priv->launcher == rsc);
rsc               568 lib/pacemaker/pcmk_sched_remote.c                   action->task, (action->rsc? action->rsc->id : "no resource"),
rsc               577 lib/pacemaker/pcmk_sched_remote.c                   action->task, (action->rsc? action->rsc->id : "no resource"),
rsc               586 lib/pacemaker/pcmk_sched_remote.c                   action->task, (action->rsc? action->rsc->id : "no resource"),
rsc               621 lib/pacemaker/pcmk_sched_remote.c                   action->task, (action->rsc? action->rsc->id : "no resource"),
rsc               633 lib/pacemaker/pcmk_sched_remote.c               action->task, (action->rsc? action->rsc->id : "no resource"),
rsc               652 lib/pacemaker/pcmk_sched_remote.c pcmk__substitute_remote_addr(pcmk_resource_t *rsc, GHashTable *params)
rsc               657 lib/pacemaker/pcmk_sched_remote.c         GHashTable *base = pe_rsc_params(rsc, NULL, rsc->priv->scheduler);
rsc               724 lib/pacemaker/pcmk_sched_remote.c             g_hash_table_lookup(action->rsc->priv->meta,
rsc               111 lib/pacemaker/pcmk_sched_resource.c pcmk__rsc_agent_changed(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc               122 lib/pacemaker/pcmk_sched_resource.c         const char *value = crm_element_value(rsc->priv->xml, attr_list[i]);
rsc               127 lib/pacemaker/pcmk_sched_resource.c             trigger_unfencing(rsc, node, "Device definition changed", NULL,
rsc               128 lib/pacemaker/pcmk_sched_resource.c                               rsc->priv->scheduler);
rsc               132 lib/pacemaker/pcmk_sched_resource.c                            rsc->id, pcmk__node_name(node), attr_list[i],
rsc               139 lib/pacemaker/pcmk_sched_resource.c         custom_action(rsc, stop_key(rsc), PCMK_ACTION_STOP, node, FALSE,
rsc               140 lib/pacemaker/pcmk_sched_resource.c                       rsc->priv->scheduler);
rsc               141 lib/pacemaker/pcmk_sched_resource.c         pcmk__set_rsc_flags(rsc, pcmk__rsc_start_pending);
rsc               157 lib/pacemaker/pcmk_sched_resource.c add_rsc_if_matching(GList *result, pcmk_resource_t *rsc, const char *id)
rsc               159 lib/pacemaker/pcmk_sched_resource.c     if (pcmk__str_eq(id, rsc->id, pcmk__str_none)
rsc               160 lib/pacemaker/pcmk_sched_resource.c         || pcmk__str_eq(id, rsc->priv->history_id, pcmk__str_none)) {
rsc               161 lib/pacemaker/pcmk_sched_resource.c         result = g_list_prepend(result, rsc);
rsc               164 lib/pacemaker/pcmk_sched_resource.c     for (GList *iter = rsc->priv->children;
rsc               211 lib/pacemaker/pcmk_sched_resource.c     pcmk_resource_t *rsc = data;
rsc               213 lib/pacemaker/pcmk_sched_resource.c     rsc->priv->cmds = &assignment_methods[rsc->priv->variant];
rsc               214 lib/pacemaker/pcmk_sched_resource.c     g_list_foreach(rsc->priv->children, set_assignment_methods_for_rsc,
rsc               242 lib/pacemaker/pcmk_sched_resource.c add_colocated_resources(const pcmk_resource_t *rsc,
rsc               245 lib/pacemaker/pcmk_sched_resource.c     *list = rsc->priv->cmds->colocated_resources(rsc, orig_rsc, *list);
rsc               250 lib/pacemaker/pcmk_sched_resource.c pcmk__colocated_resources(const pcmk_resource_t *rsc,
rsc               258 lib/pacemaker/pcmk_sched_resource.c         orig_rsc = rsc;
rsc               261 lib/pacemaker/pcmk_sched_resource.c     if ((rsc == NULL) || (g_list_find(colocated_rscs, rsc) != NULL)) {
rsc               266 lib/pacemaker/pcmk_sched_resource.c                     rsc->id, orig_rsc->id);
rsc               267 lib/pacemaker/pcmk_sched_resource.c     colocated_rscs = g_list_prepend(colocated_rscs, (gpointer) rsc);
rsc               270 lib/pacemaker/pcmk_sched_resource.c     colocations = pcmk__this_with_colocations(rsc);
rsc               280 lib/pacemaker/pcmk_sched_resource.c             (pcmk__colocation_affects(rsc, primary, constraint,
rsc               288 lib/pacemaker/pcmk_sched_resource.c     colocations = pcmk__with_this_colocations(rsc);
rsc               297 lib/pacemaker/pcmk_sched_resource.c         if (pcmk__is_clone(rsc) && !pcmk__is_clone(dependent)) {
rsc               302 lib/pacemaker/pcmk_sched_resource.c             (pcmk__colocation_affects(dependent, rsc, constraint,
rsc               314 lib/pacemaker/pcmk_sched_resource.c pcmk__noop_add_graph_meta(const pcmk_resource_t *rsc, xmlNode *xml)
rsc               325 lib/pacemaker/pcmk_sched_resource.c pcmk__output_resource_actions(pcmk_resource_t *rsc)
rsc               331 lib/pacemaker/pcmk_sched_resource.c     pcmk__assert(rsc != NULL);
rsc               333 lib/pacemaker/pcmk_sched_resource.c     out = rsc->priv->scheduler->priv->out;
rsc               334 lib/pacemaker/pcmk_sched_resource.c     if (rsc->priv->children != NULL) {
rsc               336 lib/pacemaker/pcmk_sched_resource.c         for (GList *iter = rsc->priv->children;
rsc               346 lib/pacemaker/pcmk_sched_resource.c     next = rsc->priv->assigned_node;
rsc               347 lib/pacemaker/pcmk_sched_resource.c     if (rsc->priv->active_nodes != NULL) {
rsc               348 lib/pacemaker/pcmk_sched_resource.c         current = pcmk__current_node(rsc);
rsc               349 lib/pacemaker/pcmk_sched_resource.c         if (rsc->priv->orig_role == pcmk_role_stopped) {
rsc               353 lib/pacemaker/pcmk_sched_resource.c             rsc->priv->orig_role = pcmk_role_started;
rsc               357 lib/pacemaker/pcmk_sched_resource.c     if ((current == NULL) && pcmk_is_set(rsc->flags, pcmk__rsc_removed)) {
rsc               362 lib/pacemaker/pcmk_sched_resource.c     out->message(out, "rsc-action", rsc, current, next);
rsc               373 lib/pacemaker/pcmk_sched_resource.c add_assigned_resource(pcmk_node_t *node, pcmk_resource_t *rsc)
rsc               376 lib/pacemaker/pcmk_sched_resource.c         g_list_prepend(node->priv->assigned_resources, rsc);
rsc               415 lib/pacemaker/pcmk_sched_resource.c pcmk__assign_resource(pcmk_resource_t *rsc, pcmk_node_t *node, bool force,
rsc               421 lib/pacemaker/pcmk_sched_resource.c     pcmk__assert(rsc != NULL);
rsc               422 lib/pacemaker/pcmk_sched_resource.c     scheduler = rsc->priv->scheduler;
rsc               424 lib/pacemaker/pcmk_sched_resource.c     if (rsc->priv->children != NULL) {
rsc               426 lib/pacemaker/pcmk_sched_resource.c         for (GList *iter = rsc->priv->children;
rsc               445 lib/pacemaker/pcmk_sched_resource.c         pcmk__rsc_debug(rsc,
rsc               448 lib/pacemaker/pcmk_sched_resource.c                         rsc->id, pcmk__node_name(node),
rsc               453 lib/pacemaker/pcmk_sched_resource.c             pe__set_next_role(rsc, pcmk_role_stopped, "node availability");
rsc               458 lib/pacemaker/pcmk_sched_resource.c     if (rsc->priv->assigned_node != NULL) {
rsc               459 lib/pacemaker/pcmk_sched_resource.c         changed = !pcmk__same_node(rsc->priv->assigned_node, node);
rsc               463 lib/pacemaker/pcmk_sched_resource.c     pcmk__unassign_resource(rsc);
rsc               464 lib/pacemaker/pcmk_sched_resource.c     pcmk__clear_rsc_flags(rsc, pcmk__rsc_unassigned);
rsc               469 lib/pacemaker/pcmk_sched_resource.c         pcmk__rsc_debug(rsc, "Could not assign %s to a node", rsc->id);
rsc               474 lib/pacemaker/pcmk_sched_resource.c         pe__set_next_role(rsc, pcmk_role_stopped, "unable to assign");
rsc               476 lib/pacemaker/pcmk_sched_resource.c         for (GList *iter = rsc->priv->actions;
rsc               481 lib/pacemaker/pcmk_sched_resource.c             pcmk__rsc_debug(rsc, "Updating %s for %s assignment failure",
rsc               482 lib/pacemaker/pcmk_sched_resource.c                             op->uuid, rsc->id);
rsc               515 lib/pacemaker/pcmk_sched_resource.c     pcmk__rsc_debug(rsc, "Assigning %s to %s", rsc->id, pcmk__node_name(node));
rsc               516 lib/pacemaker/pcmk_sched_resource.c     rsc->priv->assigned_node = pe__copy_node(node);
rsc               518 lib/pacemaker/pcmk_sched_resource.c     add_assigned_resource(node, rsc);
rsc               521 lib/pacemaker/pcmk_sched_resource.c     pcmk__consume_node_capacity(node->priv->utilization, rsc);
rsc               526 lib/pacemaker/pcmk_sched_resource.c         out->message(out, "resource-util", rsc, node, __func__);
rsc               543 lib/pacemaker/pcmk_sched_resource.c pcmk__unassign_resource(pcmk_resource_t *rsc)
rsc               545 lib/pacemaker/pcmk_sched_resource.c     pcmk_node_t *old = rsc->priv->assigned_node;
rsc               548 lib/pacemaker/pcmk_sched_resource.c         crm_info("Unassigning %s", rsc->id);
rsc               550 lib/pacemaker/pcmk_sched_resource.c         crm_info("Unassigning %s from %s", rsc->id, pcmk__node_name(old));
rsc               553 lib/pacemaker/pcmk_sched_resource.c     pcmk__set_rsc_flags(rsc, pcmk__rsc_unassigned);
rsc               555 lib/pacemaker/pcmk_sched_resource.c     if (rsc->priv->children == NULL) {
rsc               559 lib/pacemaker/pcmk_sched_resource.c         rsc->priv->assigned_node = NULL;
rsc               565 lib/pacemaker/pcmk_sched_resource.c             g_list_remove(old->priv->assigned_resources, rsc);
rsc               567 lib/pacemaker/pcmk_sched_resource.c         pcmk__release_node_capacity(old->priv->utilization, rsc);
rsc               572 lib/pacemaker/pcmk_sched_resource.c     for (GList *iter = rsc->priv->children;
rsc               591 lib/pacemaker/pcmk_sched_resource.c pcmk__threshold_reached(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               595 lib/pacemaker/pcmk_sched_resource.c     pcmk_resource_t *rsc_to_ban = rsc;
rsc               598 lib/pacemaker/pcmk_sched_resource.c     if (rsc->priv->ban_after_failures == 0) {
rsc               603 lib/pacemaker/pcmk_sched_resource.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_ignore_failure)) {
rsc               608 lib/pacemaker/pcmk_sched_resource.c     fail_count = pe_get_failcount(node, rsc, NULL,
rsc               615 lib/pacemaker/pcmk_sched_resource.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_unique)) {
rsc               616 lib/pacemaker/pcmk_sched_resource.c         rsc_to_ban = uber_parent(rsc);
rsc               620 lib/pacemaker/pcmk_sched_resource.c     remaining_tries = rsc->priv->ban_after_failures - fail_count;
rsc               623 lib/pacemaker/pcmk_sched_resource.c         pcmk__sched_warn(rsc->priv->scheduler,
rsc               629 lib/pacemaker/pcmk_sched_resource.c                          rsc->priv->ban_after_failures);
rsc               639 lib/pacemaker/pcmk_sched_resource.c              pcmk__node_name(node), rsc->priv->ban_after_failures);
rsc                32 lib/pacemaker/pcmk_sched_tickets.c     pcmk_resource_t *rsc;
rsc                48 lib/pacemaker/pcmk_sched_tickets.c ticket_role_matches(const pcmk_resource_t *rsc, const rsc_ticket_t *rsc_ticket)
rsc                51 lib/pacemaker/pcmk_sched_tickets.c         || (rsc_ticket->role == rsc->priv->orig_role)) {
rsc                54 lib/pacemaker/pcmk_sched_tickets.c     pcmk__rsc_trace(rsc, "Skipping constraint: \"%s\" state filter",
rsc                66 lib/pacemaker/pcmk_sched_tickets.c constraints_for_ticket(pcmk_resource_t *rsc, const rsc_ticket_t *rsc_ticket)
rsc                70 lib/pacemaker/pcmk_sched_tickets.c     CRM_CHECK((rsc != NULL) && (rsc_ticket != NULL), return);
rsc                77 lib/pacemaker/pcmk_sched_tickets.c     if (rsc->priv->children != NULL) {
rsc                78 lib/pacemaker/pcmk_sched_tickets.c         pcmk__rsc_trace(rsc, "Processing ticket dependencies from %s", rsc->id);
rsc                79 lib/pacemaker/pcmk_sched_tickets.c         for (iter = rsc->priv->children; iter != NULL; iter = iter->next) {
rsc                85 lib/pacemaker/pcmk_sched_tickets.c     pcmk__rsc_trace(rsc, "%s: Processing ticket dependency on %s (%s, %s)",
rsc                86 lib/pacemaker/pcmk_sched_tickets.c                     rsc->id, rsc_ticket->ticket->id, rsc_ticket->id,
rsc                90 lib/pacemaker/pcmk_sched_tickets.c         && (rsc->priv->active_nodes != NULL)) {
rsc                94 lib/pacemaker/pcmk_sched_tickets.c                 resource_location(rsc, NULL, -PCMK_SCORE_INFINITY,
rsc                96 lib/pacemaker/pcmk_sched_tickets.c                                   rsc->priv->scheduler);
rsc               102 lib/pacemaker/pcmk_sched_tickets.c                     resource_location(rsc, NULL, -PCMK_SCORE_INFINITY,
rsc               104 lib/pacemaker/pcmk_sched_tickets.c                                       rsc->priv->scheduler);
rsc               109 lib/pacemaker/pcmk_sched_tickets.c                 if (!ticket_role_matches(rsc, rsc_ticket)) {
rsc               113 lib/pacemaker/pcmk_sched_tickets.c                 resource_location(rsc, NULL, -PCMK_SCORE_INFINITY,
rsc               115 lib/pacemaker/pcmk_sched_tickets.c                                   rsc->priv->scheduler);
rsc               117 lib/pacemaker/pcmk_sched_tickets.c                 for (iter = rsc->priv->active_nodes;
rsc               120 lib/pacemaker/pcmk_sched_tickets.c                     pe_fence_node(rsc->priv->scheduler,
rsc               127 lib/pacemaker/pcmk_sched_tickets.c                 if (!ticket_role_matches(rsc, rsc_ticket)) {
rsc               130 lib/pacemaker/pcmk_sched_tickets.c                 if (rsc->priv->active_nodes != NULL) {
rsc               131 lib/pacemaker/pcmk_sched_tickets.c                     pcmk__clear_rsc_flags(rsc, pcmk__rsc_managed);
rsc               132 lib/pacemaker/pcmk_sched_tickets.c                     pcmk__set_rsc_flags(rsc, pcmk__rsc_blocked);
rsc               141 lib/pacemaker/pcmk_sched_tickets.c             resource_location(rsc, NULL, -PCMK_SCORE_INFINITY,
rsc               142 lib/pacemaker/pcmk_sched_tickets.c                               "__no_ticket__", rsc->priv->scheduler);
rsc               149 lib/pacemaker/pcmk_sched_tickets.c             resource_location(rsc, NULL, -PCMK_SCORE_INFINITY,
rsc               150 lib/pacemaker/pcmk_sched_tickets.c                               "__ticket_standby__", rsc->priv->scheduler);
rsc               156 lib/pacemaker/pcmk_sched_tickets.c rsc_ticket_new(const char *id, pcmk_resource_t *rsc, pcmk__ticket_t *ticket,
rsc               162 lib/pacemaker/pcmk_sched_tickets.c     if (rsc == NULL) {
rsc               175 lib/pacemaker/pcmk_sched_tickets.c     new_rsc_ticket->rsc = rsc;
rsc               179 lib/pacemaker/pcmk_sched_tickets.c         if (pcmk_is_set(rsc->priv->scheduler->flags,
rsc               192 lib/pacemaker/pcmk_sched_tickets.c                   new_rsc_ticket->ticket->id, new_rsc_ticket->rsc->id,
rsc               197 lib/pacemaker/pcmk_sched_tickets.c                   new_rsc_ticket->ticket->id, new_rsc_ticket->rsc->id,
rsc               203 lib/pacemaker/pcmk_sched_tickets.c                   new_rsc_ticket->ticket->id, new_rsc_ticket->rsc->id,
rsc               209 lib/pacemaker/pcmk_sched_tickets.c                   new_rsc_ticket->ticket->id, new_rsc_ticket->rsc->id,
rsc               216 lib/pacemaker/pcmk_sched_tickets.c                       new_rsc_ticket->ticket->id, new_rsc_ticket->rsc->id,
rsc               222 lib/pacemaker/pcmk_sched_tickets.c                       new_rsc_ticket->ticket->id, new_rsc_ticket->rsc->id,
rsc               228 lib/pacemaker/pcmk_sched_tickets.c     pcmk__rsc_trace(rsc, "%s (%s) ==> %s",
rsc               229 lib/pacemaker/pcmk_sched_tickets.c                     rsc->id, pcmk_role_text(new_rsc_ticket->role), ticket->id);
rsc               231 lib/pacemaker/pcmk_sched_tickets.c     rsc->priv->ticket_constraints =
rsc               232 lib/pacemaker/pcmk_sched_tickets.c         g_list_append(rsc->priv->ticket_constraints, new_rsc_ticket);
rsc               236 lib/pacemaker/pcmk_sched_tickets.c         constraints_for_ticket(rsc, new_rsc_ticket);
rsc               294 lib/pacemaker/pcmk_sched_tickets.c     pcmk_resource_t *rsc = NULL;
rsc               324 lib/pacemaker/pcmk_sched_tickets.c         rsc = pcmk__find_constraint_resource(scheduler->priv->resources,
rsc               328 lib/pacemaker/pcmk_sched_tickets.c     if (rsc == NULL) {
rsc               334 lib/pacemaker/pcmk_sched_tickets.c     rsc_ticket_new(id, rsc, ticket, state, loss_policy);
rsc               346 lib/pacemaker/pcmk_sched_tickets.c     pcmk_resource_t *rsc = NULL;
rsc               374 lib/pacemaker/pcmk_sched_tickets.c     if (!pcmk__valid_resource_or_tag(scheduler, rsc_id, &rsc, &tag)) {
rsc               379 lib/pacemaker/pcmk_sched_tickets.c     } else if (rsc != NULL) {
rsc               507 lib/pacemaker/pcmk_sched_tickets.c pcmk__require_promotion_tickets(pcmk_resource_t *rsc)
rsc               509 lib/pacemaker/pcmk_sched_tickets.c     for (GList *item = rsc->priv->ticket_constraints;
rsc               518 lib/pacemaker/pcmk_sched_tickets.c             resource_location(rsc, NULL, -PCMK_SCORE_INFINITY,
rsc               520 lib/pacemaker/pcmk_sched_tickets.c                               rsc->priv->scheduler);
rsc               172 lib/pacemaker/pcmk_sched_utilization.c                             const pcmk_resource_t *rsc)
rsc               179 lib/pacemaker/pcmk_sched_utilization.c     g_hash_table_foreach(rsc->priv->utilization, update_utilization_value,
rsc               192 lib/pacemaker/pcmk_sched_utilization.c                             const pcmk_resource_t *rsc)
rsc               199 lib/pacemaker/pcmk_sched_utilization.c     g_hash_table_foreach(rsc->priv->utilization, update_utilization_value,
rsc               285 lib/pacemaker/pcmk_sched_utilization.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               287 lib/pacemaker/pcmk_sched_utilization.c         rsc->priv->cmds->add_utilization(rsc, orig_rsc, rscs, utilization);
rsc               302 lib/pacemaker/pcmk_sched_utilization.c pcmk__ban_insufficient_capacity(pcmk_resource_t *rsc)
rsc               312 lib/pacemaker/pcmk_sched_utilization.c     CRM_CHECK(rsc != NULL, return NULL);
rsc               315 lib/pacemaker/pcmk_sched_utilization.c     if (pcmk__str_eq(rsc->priv->scheduler->priv->placement_strategy,
rsc               321 lib/pacemaker/pcmk_sched_utilization.c     colocated_rscs = rsc->priv->cmds->colocated_resources(rsc, NULL, NULL);
rsc               326 lib/pacemaker/pcmk_sched_utilization.c     rscs_id = crm_strdup_printf("%s and its colocated resources", rsc->id);
rsc               329 lib/pacemaker/pcmk_sched_utilization.c     if (g_list_find(colocated_rscs, rsc) == NULL) {
rsc               330 lib/pacemaker/pcmk_sched_utilization.c         colocated_rscs = g_list_append(colocated_rscs, rsc);
rsc               334 lib/pacemaker/pcmk_sched_utilization.c     unassigned_utilization = sum_resource_utilization(rsc, colocated_rscs);
rsc               337 lib/pacemaker/pcmk_sched_utilization.c     g_hash_table_iter_init(&iter, rsc->priv->allowed_nodes);
rsc               356 lib/pacemaker/pcmk_sched_utilization.c         g_hash_table_iter_init(&iter, rsc->priv->allowed_nodes);
rsc               361 lib/pacemaker/pcmk_sched_utilization.c                 pcmk__rsc_debug(rsc, "%s does not have enough capacity for %s",
rsc               363 lib/pacemaker/pcmk_sched_utilization.c                 resource_location(rsc, node, -PCMK_SCORE_INFINITY,
rsc               365 lib/pacemaker/pcmk_sched_utilization.c                                   rsc->priv->scheduler);
rsc               372 lib/pacemaker/pcmk_sched_utilization.c         g_hash_table_iter_init(&iter, rsc->priv->allowed_nodes);
rsc               375 lib/pacemaker/pcmk_sched_utilization.c                 && !have_enough_capacity(node, rsc->id,
rsc               376 lib/pacemaker/pcmk_sched_utilization.c                                          rsc->priv->utilization)) {
rsc               377 lib/pacemaker/pcmk_sched_utilization.c                 pcmk__rsc_debug(rsc, "%s does not have enough capacity for %s",
rsc               378 lib/pacemaker/pcmk_sched_utilization.c                                 pcmk__node_name(node), rsc->id);
rsc               379 lib/pacemaker/pcmk_sched_utilization.c                 resource_location(rsc, node, -PCMK_SCORE_INFINITY,
rsc               381 lib/pacemaker/pcmk_sched_utilization.c                                   rsc->priv->scheduler);
rsc               390 lib/pacemaker/pcmk_sched_utilization.c     pe__show_node_scores(true, rsc, "Post-utilization",
rsc               391 lib/pacemaker/pcmk_sched_utilization.c                          rsc->priv->allowed_nodes, rsc->priv->scheduler);
rsc               427 lib/pacemaker/pcmk_sched_utilization.c pcmk__create_utilization_constraints(pcmk_resource_t *rsc,
rsc               433 lib/pacemaker/pcmk_sched_utilization.c     pcmk__rsc_trace(rsc,
rsc               435 lib/pacemaker/pcmk_sched_utilization.c                     rsc->id, rsc->priv->scheduler->priv->placement_strategy);
rsc               438 lib/pacemaker/pcmk_sched_utilization.c     for (iter = rsc->priv->active_nodes; iter != NULL; iter = iter->next) {
rsc               440 lib/pacemaker/pcmk_sched_utilization.c         pcmk__new_ordering(rsc, stop_key(rsc), NULL, NULL, NULL, load_stopped,
rsc               442 lib/pacemaker/pcmk_sched_utilization.c                            rsc->priv->scheduler);
rsc               448 lib/pacemaker/pcmk_sched_utilization.c         pcmk__new_ordering(NULL, NULL, load_stopped, rsc, start_key(rsc), NULL,
rsc               450 lib/pacemaker/pcmk_sched_utilization.c                            rsc->priv->scheduler);
rsc               452 lib/pacemaker/pcmk_sched_utilization.c                            rsc,
rsc               453 lib/pacemaker/pcmk_sched_utilization.c                            pcmk__op_key(rsc->id, PCMK_ACTION_MIGRATE_TO, 0),
rsc               456 lib/pacemaker/pcmk_sched_utilization.c                            rsc->priv->scheduler);
rsc                43 lib/pacemaker/pcmk_scheduler.c check_params(pcmk_resource_t *rsc, pcmk_node_t *node, const xmlNode *rsc_op,
rsc                51 lib/pacemaker/pcmk_scheduler.c             if (pcmk__check_action_config(rsc, node, rsc_op)
rsc                52 lib/pacemaker/pcmk_scheduler.c                 && pe_get_failcount(node, rsc, NULL, pcmk__fc_effective,
rsc                59 lib/pacemaker/pcmk_scheduler.c             digest_data = rsc_action_digest_cmp(rsc, rsc_op, node,
rsc                60 lib/pacemaker/pcmk_scheduler.c                                                 rsc->priv->scheduler);
rsc                65 lib/pacemaker/pcmk_scheduler.c                               rsc->id, pcmk__xe_id(rsc_op), node->priv->id);
rsc                76 lib/pacemaker/pcmk_scheduler.c         pe__clear_failcount(rsc, node, reason, rsc->priv->scheduler);
rsc                92 lib/pacemaker/pcmk_scheduler.c                               const pcmk_resource_t *rsc)
rsc                94 lib/pacemaker/pcmk_scheduler.c     GList *list = pe__resource_actions(rsc, node, PCMK_ACTION_CLEAR_FAILCOUNT,
rsc               114 lib/pacemaker/pcmk_scheduler.c     pcmk_resource_t *rsc = data;
rsc               118 lib/pacemaker/pcmk_scheduler.c     if (rsc->priv->children != NULL) {
rsc               119 lib/pacemaker/pcmk_scheduler.c         g_list_foreach(rsc->priv->children, check_failure_threshold,
rsc               124 lib/pacemaker/pcmk_scheduler.c     if (!failcount_clear_action_exists(node, rsc)) {
rsc               137 lib/pacemaker/pcmk_scheduler.c         if (pcmk__threshold_reached(rsc, node, &failed)) {
rsc               139 lib/pacemaker/pcmk_scheduler.c                               "__fail_limit__", rsc->priv->scheduler);
rsc               160 lib/pacemaker/pcmk_scheduler.c     pcmk_resource_t *rsc = data;
rsc               163 lib/pacemaker/pcmk_scheduler.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_exclusive_probes)
rsc               164 lib/pacemaker/pcmk_scheduler.c         || pcmk_is_set(pe__const_top_resource(rsc, false)->flags,
rsc               169 lib/pacemaker/pcmk_scheduler.c         g_list_foreach(rsc->priv->children, apply_exclusive_discovery,
rsc               172 lib/pacemaker/pcmk_scheduler.c         match = g_hash_table_lookup(rsc->priv->allowed_nodes,
rsc               191 lib/pacemaker/pcmk_scheduler.c     pcmk_resource_t *rsc = data;
rsc               195 lib/pacemaker/pcmk_scheduler.c     if (rsc->priv->children != NULL) {
rsc               196 lib/pacemaker/pcmk_scheduler.c         g_list_foreach(rsc->priv->children, apply_stickiness, NULL);
rsc               203 lib/pacemaker/pcmk_scheduler.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_managed)
rsc               204 lib/pacemaker/pcmk_scheduler.c         || (rsc->priv->stickiness < 1)
rsc               205 lib/pacemaker/pcmk_scheduler.c         || !pcmk__list_of_1(rsc->priv->active_nodes)) {
rsc               209 lib/pacemaker/pcmk_scheduler.c     node = rsc->priv->active_nodes->data;
rsc               216 lib/pacemaker/pcmk_scheduler.c     if (!pcmk_is_set(rsc->priv->scheduler->flags,
rsc               218 lib/pacemaker/pcmk_scheduler.c         && (g_hash_table_lookup(rsc->priv->allowed_nodes,
rsc               220 lib/pacemaker/pcmk_scheduler.c         pcmk__rsc_debug(rsc,
rsc               223 lib/pacemaker/pcmk_scheduler.c                         rsc->id, pcmk__node_name(node));
rsc               227 lib/pacemaker/pcmk_scheduler.c     pcmk__rsc_debug(rsc, "Resource %s has %d stickiness on %s",
rsc               228 lib/pacemaker/pcmk_scheduler.c                     rsc->id, rsc->priv->stickiness, pcmk__node_name(node));
rsc               229 lib/pacemaker/pcmk_scheduler.c     resource_location(rsc, node, rsc->priv->stickiness, "stickiness",
rsc               230 lib/pacemaker/pcmk_scheduler.c                       rsc->priv->scheduler);
rsc               248 lib/pacemaker/pcmk_scheduler.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               250 lib/pacemaker/pcmk_scheduler.c         rsc->priv->cmds->shutdown_lock(rsc);
rsc               309 lib/pacemaker/pcmk_scheduler.c             pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               310 lib/pacemaker/pcmk_scheduler.c             const pcmk_node_t *target = rsc->priv->partial_migration_target;
rsc               312 lib/pacemaker/pcmk_scheduler.c             if (pcmk_is_set(rsc->flags, pcmk__rsc_is_remote_connection)) {
rsc               313 lib/pacemaker/pcmk_scheduler.c                 pcmk__rsc_trace(rsc, "Assigning remote connection resource '%s'",
rsc               314 lib/pacemaker/pcmk_scheduler.c                                 rsc->id);
rsc               315 lib/pacemaker/pcmk_scheduler.c                 rsc->priv->cmds->assign(rsc, target, true);
rsc               322 lib/pacemaker/pcmk_scheduler.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               324 lib/pacemaker/pcmk_scheduler.c         if (!pcmk_is_set(rsc->flags, pcmk__rsc_is_remote_connection)) {
rsc               325 lib/pacemaker/pcmk_scheduler.c             pcmk__rsc_trace(rsc, "Assigning %s resource '%s'",
rsc               326 lib/pacemaker/pcmk_scheduler.c                             rsc->priv->xml->name, rsc->id);
rsc               327 lib/pacemaker/pcmk_scheduler.c             rsc->priv->cmds->assign(rsc, NULL, true);
rsc               344 lib/pacemaker/pcmk_scheduler.c     pcmk_resource_t *rsc = data;
rsc               346 lib/pacemaker/pcmk_scheduler.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_removed)) {
rsc               349 lib/pacemaker/pcmk_scheduler.c     crm_trace("Clear fail counts for orphaned resource %s", rsc->id);
rsc               355 lib/pacemaker/pcmk_scheduler.c     for (GList *iter = rsc->priv->scheduler->nodes;
rsc               364 lib/pacemaker/pcmk_scheduler.c         if (pe_get_failcount(node, rsc, NULL, pcmk__fc_effective, NULL) == 0) {
rsc               368 lib/pacemaker/pcmk_scheduler.c         clear_op = pe__clear_failcount(rsc, node, "it is orphaned",
rsc               369 lib/pacemaker/pcmk_scheduler.c                                        rsc->priv->scheduler);
rsc               374 lib/pacemaker/pcmk_scheduler.c         pcmk__new_ordering(clear_op->rsc, NULL, clear_op, rsc, stop_key(rsc),
rsc               375 lib/pacemaker/pcmk_scheduler.c                            NULL, pcmk__ar_ordered, rsc->priv->scheduler);
rsc               406 lib/pacemaker/pcmk_scheduler.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               408 lib/pacemaker/pcmk_scheduler.c         rsc->priv->cmds->create_actions(rsc);
rsc               421 lib/pacemaker/pcmk_scheduler.c is_managed(const pcmk_resource_t *rsc)
rsc               423 lib/pacemaker/pcmk_scheduler.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               426 lib/pacemaker/pcmk_scheduler.c     for (GList *iter = rsc->priv->children;
rsc               665 lib/pacemaker/pcmk_scheduler.c         pcmk_resource_t *rsc = (pcmk_resource_t *) item->data;
rsc               668 lib/pacemaker/pcmk_scheduler.c         if (!pcmk_is_set(rsc->flags, pcmk__rsc_removed)
rsc               669 lib/pacemaker/pcmk_scheduler.c             || (rsc->priv->orig_role != pcmk_role_stopped)) {
rsc               670 lib/pacemaker/pcmk_scheduler.c             out->message(out, (const char *) rsc->priv->xml->name, 0UL,
rsc               671 lib/pacemaker/pcmk_scheduler.c                          rsc, all, all);
rsc                63 lib/pacemaker/pcmk_simulate.c     if (action->rsc != NULL) {
rsc                64 lib/pacemaker/pcmk_simulate.c         history_id = action->rsc->priv->history_id;
rsc               105 lib/pacemaker/pcmk_simulate.c     } else if (action->rsc && action_host) {
rsc               248 lib/pacemaker/pcmk_simulate.c         } else if ((action->rsc != NULL)
rsc               249 lib/pacemaker/pcmk_simulate.c                    && !pcmk_is_set(action->rsc->flags, pcmk__rsc_managed)) {
rsc               684 lib/pacemaker/pcmk_simulate.c     xmlNode *rsc = pcmk__xe_first_child(action->xml, PCMK_XE_PRIMITIVE, NULL,
rsc               688 lib/pacemaker/pcmk_simulate.c     out->message(out, "inject-cluster-action", node, task, rsc);
rsc                72 lib/pacemaker/tests/pcmk_resource/pcmk_resource_delete_test.c find_rsc(const char *rsc)
rsc                83 lib/pacemaker/tests/pcmk_resource/pcmk_resource_delete_test.c                    "//*[@" PCMK_XA_ID "=\"", rsc, "\"]", NULL);
rsc                79 lib/pengine/bundle.c #define get_bundle_variant_data(data, rsc) do { \
rsc                80 lib/pengine/bundle.c         pcmk__assert(pcmk__is_bundle(rsc));     \
rsc                81 lib/pengine/bundle.c         data = rsc->priv->variant_opaque;       \
rsc                93 lib/pengine/bundle.c pe__bundle_max(const pcmk_resource_t *rsc)
rsc                97 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, pe__const_top_resource(rsc, true));
rsc               110 lib/pengine/bundle.c pe__bundled_resource(const pcmk_resource_t *rsc)
rsc               114 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, pe__const_top_resource(rsc, true));
rsc               312 lib/pengine/bundle.c     xmlNode *rsc = pcmk__xe_create(NULL, PCMK_XE_PRIMITIVE);
rsc               314 lib/pengine/bundle.c     crm_xml_add(rsc, PCMK_XA_ID, name);
rsc               315 lib/pengine/bundle.c     crm_xml_add(rsc, PCMK_XA_CLASS, PCMK_RESOURCE_CLASS_OCF);
rsc               316 lib/pengine/bundle.c     crm_xml_add(rsc, PCMK_XA_PROVIDER, provider);
rsc               317 lib/pengine/bundle.c     crm_xml_add(rsc, PCMK_XA_TYPE, kind);
rsc               319 lib/pengine/bundle.c     return rsc;
rsc               632 lib/pengine/bundle.c disallow_node(pcmk_resource_t *rsc, const char *uname)
rsc               634 lib/pengine/bundle.c     gpointer match = g_hash_table_lookup(rsc->priv->allowed_nodes, uname);
rsc               640 lib/pengine/bundle.c     g_list_foreach(rsc->priv->children, (GFunc) disallow_node,
rsc               890 lib/pengine/bundle.c pe__bundle_needs_remote_name(pcmk_resource_t *rsc)
rsc               895 lib/pengine/bundle.c     if (rsc == NULL) {
rsc               900 lib/pengine/bundle.c     params = pe_rsc_params(rsc, NULL, rsc->priv->scheduler);
rsc               904 lib/pengine/bundle.c            && xml_contains_remote_node(rsc->priv->xml);
rsc               908 lib/pengine/bundle.c pe__add_bundle_remote_name(pcmk_resource_t *rsc, xmlNode *xml,
rsc               916 lib/pengine/bundle.c     if (!pe__bundle_needs_remote_name(rsc)) {
rsc               920 lib/pengine/bundle.c     replica = replica_for_remote(rsc);
rsc               934 lib/pengine/bundle.c         crm_trace("Cannot determine address for bundle connection %s", rsc->id);
rsc               939 lib/pengine/bundle.c               rsc->id, pcmk__node_name(node));
rsc               954 lib/pengine/bundle.c pe__unpack_bundle(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler)
rsc               963 lib/pengine/bundle.c     pcmk__assert(rsc != NULL);
rsc               964 lib/pengine/bundle.c     pcmk__rsc_trace(rsc, "Processing resource %s...", rsc->id);
rsc               967 lib/pengine/bundle.c     rsc->priv->variant_opaque = bundle_data;
rsc               968 lib/pengine/bundle.c     bundle_data->prefix = strdup(rsc->id);
rsc               970 lib/pengine/bundle.c     xml_obj = pcmk__xe_first_child(rsc->priv->xml, PCMK_XE_DOCKER, NULL,
rsc               977 lib/pengine/bundle.c         xml_obj = pcmk__xe_first_child(rsc->priv->xml, PCMK_XE_PODMAN, NULL,
rsc              1010 lib/pengine/bundle.c         pcmk__clear_rsc_flags(rsc, pcmk__rsc_unique);
rsc              1021 lib/pengine/bundle.c     xml_obj = pcmk__xe_first_child(rsc->priv->xml, PCMK_XE_NETWORK, NULL,
rsc              1068 lib/pengine/bundle.c     xml_obj = pcmk__xe_first_child(rsc->priv->xml, PCMK_XE_STORAGE, NULL,
rsc              1097 lib/pengine/bundle.c     xml_obj = pcmk__xe_first_child(rsc->priv->xml, PCMK_XE_PRIMITIVE, NULL,
rsc              1150 lib/pengine/bundle.c                          rsc->id, pcmk__xe_id(xml_obj));
rsc              1160 lib/pengine/bundle.c         if (pe__unpack_resource(xml_resource, &(bundle_data->child), rsc,
rsc              1238 lib/pengine/bundle.c             pcmk__insert_dup(rsc->priv->meta,
rsc              1266 lib/pengine/bundle.c         if (create_replica_resources(rsc, bundle_data, replica) != pcmk_rc_ok) {
rsc              1267 lib/pengine/bundle.c             pcmk__config_err("Failed unpacking resource %s", rsc->id);
rsc              1268 lib/pengine/bundle.c             rsc->priv->fns->free(rsc);
rsc              1299 lib/pengine/bundle.c         rsc->priv->children = g_list_append(rsc->priv->children,
rsc              1306 lib/pengine/bundle.c replica_resource_active(pcmk_resource_t *rsc, gboolean all)
rsc              1308 lib/pengine/bundle.c     if (rsc) {
rsc              1309 lib/pengine/bundle.c         gboolean child_active = rsc->priv->fns->active(rsc, all);
rsc              1321 lib/pengine/bundle.c pe__bundle_active(pcmk_resource_t *rsc, gboolean all)
rsc              1326 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, rsc);
rsc              1394 lib/pengine/bundle.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              1405 lib/pengine/bundle.c     pcmk__assert(rsc != NULL);
rsc              1406 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, rsc);
rsc              1408 lib/pengine/bundle.c     if (rsc->priv->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc              1412 lib/pengine/bundle.c     print_everything = pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches);
rsc              1448 lib/pengine/bundle.c             const char *unique = pcmk__flag_text(rsc->flags, pcmk__rsc_unique);
rsc              1449 lib/pengine/bundle.c             const char *maintenance = pcmk__flag_text(rsc->flags,
rsc              1451 lib/pengine/bundle.c             const char *managed = pcmk__flag_text(rsc->flags,
rsc              1453 lib/pengine/bundle.c             const char *failed = pcmk__flag_text(rsc->flags, pcmk__rsc_failed);
rsc              1457 lib/pengine/bundle.c             desc = pe__resource_description(rsc, show_opts);
rsc              1460 lib/pengine/bundle.c                                           PCMK_XA_ID, rsc->id,
rsc              1514 lib/pengine/bundle.c     pcmk_resource_t *rsc = replica->child;
rsc              1519 lib/pengine/bundle.c     if(rsc == NULL) {
rsc              1520 lib/pengine/bundle.c         rsc = replica->container;
rsc              1535 lib/pengine/bundle.c     pe__common_output_html(out, rsc, buffer, node, show_opts);
rsc              1548 lib/pengine/bundle.c get_unmanaged_str(const pcmk_resource_t *rsc)
rsc              1550 lib/pengine/bundle.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_maintenance)) {
rsc              1553 lib/pengine/bundle.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc              1565 lib/pengine/bundle.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              1574 lib/pengine/bundle.c     pcmk__assert(rsc != NULL);
rsc              1575 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, rsc);
rsc              1577 lib/pengine/bundle.c     desc = pe__resource_description(rsc, show_opts);
rsc              1579 lib/pengine/bundle.c     if (rsc->priv->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc              1583 lib/pengine/bundle.c     print_everything = pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches);
rsc              1621 lib/pengine/bundle.c                                      rsc->id, bundle_data->image,
rsc              1622 lib/pengine/bundle.c                                      pcmk_is_set(rsc->flags, pcmk__rsc_unique)? " (unique)" : "",
rsc              1624 lib/pengine/bundle.c                                      get_unmanaged_str(rsc));
rsc              1658 lib/pengine/bundle.c                                      rsc->id, bundle_data->image,
rsc              1659 lib/pengine/bundle.c                                      pcmk_is_set(rsc->flags, pcmk__rsc_unique)? " (unique)" : "",
rsc              1661 lib/pengine/bundle.c                                      get_unmanaged_str(rsc));
rsc              1678 lib/pengine/bundle.c     const pcmk_resource_t *rsc = replica->child;
rsc              1683 lib/pengine/bundle.c     if(rsc == NULL) {
rsc              1684 lib/pengine/bundle.c         rsc = replica->container;
rsc              1699 lib/pengine/bundle.c     pe__common_output_text(out, rsc, buffer, node, show_opts);
rsc              1708 lib/pengine/bundle.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              1717 lib/pengine/bundle.c     desc = pe__resource_description(rsc, show_opts);
rsc              1719 lib/pengine/bundle.c     pcmk__assert(rsc != NULL);
rsc              1720 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, rsc);
rsc              1722 lib/pengine/bundle.c     if (rsc->priv->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc              1726 lib/pengine/bundle.c     print_everything = pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches);
rsc              1764 lib/pengine/bundle.c                                      rsc->id, bundle_data->image,
rsc              1765 lib/pengine/bundle.c                                      pcmk_is_set(rsc->flags, pcmk__rsc_unique)? " (unique)" : "",
rsc              1767 lib/pengine/bundle.c                                      get_unmanaged_str(rsc));
rsc              1801 lib/pengine/bundle.c                                      rsc->id, bundle_data->image,
rsc              1802 lib/pengine/bundle.c                                      pcmk_is_set(rsc->flags, pcmk__rsc_unique)? " (unique)" : "",
rsc              1804 lib/pengine/bundle.c                                      get_unmanaged_str(rsc));
rsc              1846 lib/pengine/bundle.c pe__free_bundle(pcmk_resource_t *rsc)
rsc              1849 lib/pengine/bundle.c     CRM_CHECK(rsc != NULL, return);
rsc              1851 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, rsc);
rsc              1852 lib/pengine/bundle.c     pcmk__rsc_trace(rsc, "Freeing %s", rsc->id);
rsc              1869 lib/pengine/bundle.c     g_list_free(rsc->priv->children);
rsc              1876 lib/pengine/bundle.c     common_free(rsc);
rsc              1880 lib/pengine/bundle.c pe__bundle_resource_state(const pcmk_resource_t *rsc, gboolean current)
rsc              1894 lib/pengine/bundle.c pe_bundle_replicas(const pcmk_resource_t *rsc)
rsc              1896 lib/pengine/bundle.c     if (pcmk__is_bundle(rsc)) {
rsc              1899 lib/pengine/bundle.c         get_bundle_variant_data(bundle_data, rsc);
rsc              1906 lib/pengine/bundle.c pe__count_bundle(pcmk_resource_t *rsc)
rsc              1910 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, rsc);
rsc              1930 lib/pengine/bundle.c pe__bundle_is_filtered(const pcmk_resource_t *rsc, GList *only_rsc,
rsc              1936 lib/pengine/bundle.c     if (pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches)) {
rsc              1939 lib/pengine/bundle.c         get_bundle_variant_data(bundle_data, rsc);
rsc              2001 lib/pengine/bundle.c pe__bundle_active_node(const pcmk_resource_t *rsc, unsigned int *count_all,
rsc              2018 lib/pengine/bundle.c     if (rsc == NULL) {
rsc              2025 lib/pengine/bundle.c     get_bundle_variant_data(data, rsc);
rsc              2063 lib/pengine/bundle.c                 && !pe__count_active_node(rsc, node, &active, count_all,
rsc              2085 lib/pengine/bundle.c pe__bundle_max_per_node(const pcmk_resource_t *rsc)
rsc              2089 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, rsc);
rsc                42 lib/pengine/clone.c #define get_clone_variant_data(data, rsc) do {  \
rsc                43 lib/pengine/clone.c         pcmk__assert(pcmk__is_clone(rsc));      \
rsc                44 lib/pengine/clone.c         data = rsc->priv->variant_opaque;       \
rsc               164 lib/pengine/clone.c clone_header(pcmk__output_t *out, int *rc, const pcmk_resource_t *rsc,
rsc               169 lib/pengine/clone.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_promotable)) {
rsc               173 lib/pengine/clone.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_unique)) {
rsc               177 lib/pengine/clone.c     if (pe__resource_is_disabled(rsc)) {
rsc               181 lib/pengine/clone.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_maintenance)) {
rsc               184 lib/pengine/clone.c     } else if (!pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               190 lib/pengine/clone.c                                  rsc->id,
rsc               197 lib/pengine/clone.c                                  rsc->id,
rsc               205 lib/pengine/clone.c pe__force_anon(const char *standard, pcmk_resource_t *rsc, const char *rid,
rsc               208 lib/pengine/clone.c     if (pcmk__is_clone(rsc)) {
rsc               209 lib/pengine/clone.c         clone_variant_data_t *clone_data = rsc->priv->variant_opaque;
rsc               213 lib/pengine/clone.c                           "anonymous clones", rsc->id, standard, rid);
rsc               222 lib/pengine/clone.c pe__create_clone_child(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler)
rsc               231 lib/pengine/clone.c     get_clone_variant_data(clone_data, rsc);
rsc               248 lib/pengine/clone.c     if (pe__unpack_resource(child_copy, &child_rsc, rsc,
rsc               258 lib/pengine/clone.c     rsc->priv->children = g_list_append(rsc->priv->children, child_rsc);
rsc               264 lib/pengine/clone.c     pcmk__rsc_trace(rsc, "Added %s instance %s", rsc->id, child_rsc->id);
rsc               287 lib/pengine/clone.c unpack_meta_int(const pcmk_resource_t *rsc, const char *meta_name,
rsc               291 lib/pengine/clone.c     const char *value = g_hash_table_lookup(rsc->priv->meta, meta_name);
rsc               294 lib/pengine/clone.c         value = g_hash_table_lookup(rsc->priv->meta, deprecated_name);
rsc               304 lib/pengine/clone.c                                 rsc->id);
rsc               312 lib/pengine/clone.c                                 rsc->id);
rsc               323 lib/pengine/clone.c clone_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler)
rsc               327 lib/pengine/clone.c     xmlNode *xml_obj = rsc->priv->xml;
rsc               330 lib/pengine/clone.c     pcmk__rsc_trace(rsc, "Processing resource %s...", rsc->id);
rsc               333 lib/pengine/clone.c     rsc->priv->variant_opaque = clone_data;
rsc               335 lib/pengine/clone.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_promotable)) {
rsc               339 lib/pengine/clone.c             unpack_meta_int(rsc, PCMK_META_PROMOTED_MAX,
rsc               345 lib/pengine/clone.c             unpack_meta_int(rsc, PCMK_META_PROMOTED_NODE_MAX,
rsc               350 lib/pengine/clone.c     clone_data->clone_node_max = unpack_meta_int(rsc, PCMK_META_CLONE_NODE_MAX,
rsc               356 lib/pengine/clone.c     clone_data->clone_max = unpack_meta_int(rsc, PCMK_META_CLONE_MAX, NULL,
rsc               359 lib/pengine/clone.c     if (crm_is_true(g_hash_table_lookup(rsc->priv->meta,
rsc               362 lib/pengine/clone.c                                                "Clone", rsc->id,
rsc               368 lib/pengine/clone.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_unique)
rsc               373 lib/pengine/clone.c                          "per node", clone_data->clone_node_max, rsc->id);
rsc               377 lib/pengine/clone.c     pcmk__rsc_trace(rsc, "Options for %s", rsc->id);
rsc               378 lib/pengine/clone.c     pcmk__rsc_trace(rsc, "\tClone max: %d", clone_data->clone_max);
rsc               379 lib/pengine/clone.c     pcmk__rsc_trace(rsc, "\tClone node max: %d", clone_data->clone_node_max);
rsc               380 lib/pengine/clone.c     pcmk__rsc_trace(rsc, "\tClone is unique: %s",
rsc               381 lib/pengine/clone.c                     pcmk__flag_text(rsc->flags, pcmk__rsc_unique));
rsc               382 lib/pengine/clone.c     pcmk__rsc_trace(rsc, "\tClone is promotable: %s",
rsc               383 lib/pengine/clone.c                     pcmk__flag_text(rsc->flags, pcmk__rsc_promotable));
rsc               397 lib/pengine/clone.c         pcmk__config_err("%s has nothing to clone", rsc->id);
rsc               407 lib/pengine/clone.c     if (g_hash_table_lookup(rsc->priv->meta,
rsc               409 lib/pengine/clone.c         pcmk__insert_meta(rsc->priv, PCMK_META_RESOURCE_STICKINESS, "1");
rsc               416 lib/pengine/clone.c     pcmk__insert_meta(rsc->priv, PCMK_META_GLOBALLY_UNIQUE,
rsc               417 lib/pengine/clone.c                       pcmk__flag_text(rsc->flags, pcmk__rsc_unique));
rsc               423 lib/pengine/clone.c         if (pe__create_clone_child(rsc, scheduler) == NULL) {
rsc               430 lib/pengine/clone.c             if (pe__create_clone_child(rsc, scheduler) == NULL) {
rsc               436 lib/pengine/clone.c     pcmk__rsc_trace(rsc, "Added %d children to resource %s...",
rsc               437 lib/pengine/clone.c                     clone_data->clone_max, rsc->id);
rsc               442 lib/pengine/clone.c clone_active(pcmk_resource_t * rsc, gboolean all)
rsc               444 lib/pengine/clone.c     for (GList *gIter = rsc->priv->children;
rsc               465 lib/pengine/clone.c configured_role_str(pcmk_resource_t * rsc)
rsc               467 lib/pengine/clone.c     const char *target_role = g_hash_table_lookup(rsc->priv->meta,
rsc               470 lib/pengine/clone.c     if ((target_role == NULL) && (rsc->priv->children != NULL)) {
rsc               472 lib/pengine/clone.c         pcmk_resource_t *instance = rsc->priv->children->data;
rsc               481 lib/pengine/clone.c configured_role(pcmk_resource_t *rsc)
rsc               484 lib/pengine/clone.c     const char *target_role = configured_role_str(rsc);
rsc               490 lib/pengine/clone.c                              " for resource %s", rsc->id);
rsc               497 lib/pengine/clone.c is_set_recursive(const pcmk_resource_t *rsc, long long flag, bool any)
rsc               501 lib/pengine/clone.c     if (pcmk_is_set(rsc->flags, flag)) {
rsc               509 lib/pengine/clone.c     for (GList *gIter = rsc->priv->children;
rsc               534 lib/pengine/clone.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               543 lib/pengine/clone.c     if (rsc->priv->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc               547 lib/pengine/clone.c     print_everything = pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches) ||
rsc               548 lib/pengine/clone.c                        (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches));
rsc               552 lib/pengine/clone.c     for (GList *gIter = rsc->priv->children;
rsc               567 lib/pengine/clone.c             const char *multi_state = pcmk__flag_text(rsc->flags,
rsc               569 lib/pengine/clone.c             const char *unique = pcmk__flag_text(rsc->flags, pcmk__rsc_unique);
rsc               570 lib/pengine/clone.c             const char *maintenance = pcmk__flag_text(rsc->flags,
rsc               572 lib/pengine/clone.c             const char *managed = pcmk__flag_text(rsc->flags,
rsc               574 lib/pengine/clone.c             const char *disabled = pcmk__btoa(pe__resource_is_disabled(rsc));
rsc               575 lib/pengine/clone.c             const char *failed = pcmk__flag_text(rsc->flags, pcmk__rsc_failed);
rsc               576 lib/pengine/clone.c             const char *ignored = pcmk__flag_text(rsc->flags,
rsc               578 lib/pengine/clone.c             const char *target_role = configured_role_str(rsc);
rsc               579 lib/pengine/clone.c             const char *desc = pe__resource_description(rsc, show_opts);
rsc               584 lib/pengine/clone.c                                           PCMK_XA_ID, rsc->id,
rsc               616 lib/pengine/clone.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               635 lib/pengine/clone.c     desc = pe__resource_description(rsc, show_opts);
rsc               637 lib/pengine/clone.c     get_clone_variant_data(clone_data, rsc);
rsc               639 lib/pengine/clone.c     if (rsc->priv->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc               643 lib/pengine/clone.c     print_everything = pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches) ||
rsc               644 lib/pengine/clone.c                        (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches));
rsc               646 lib/pengine/clone.c     for (gIter = rsc->priv->children; gIter != NULL; gIter = gIter->next) {
rsc               665 lib/pengine/clone.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_unique)) {
rsc               668 lib/pengine/clone.c                 || !pcmk_is_set(rsc->flags, pcmk__rsc_removed)) {
rsc               736 lib/pengine/clone.c             clone_header(out, &rc, rsc, clone_data, desc);
rsc               767 lib/pengine/clone.c         clone_header(out, &rc, rsc, clone_data, desc);
rsc               790 lib/pengine/clone.c         clone_header(out, &rc, rsc, clone_data, desc);
rsc               792 lib/pengine/clone.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_promotable)) {
rsc               793 lib/pengine/clone.c             enum rsc_role_e role = configured_role(rsc);
rsc               816 lib/pengine/clone.c         if (!pcmk_is_set(rsc->flags, pcmk__rsc_unique)
rsc               820 lib/pengine/clone.c             GList *list = g_hash_table_get_values(rsc->priv->allowed_nodes);
rsc               833 lib/pengine/clone.c                 list = g_hash_table_get_values(rsc->priv->probed_nodes);
rsc               840 lib/pengine/clone.c                 if ((pcmk__find_node_in_list(rsc->priv->active_nodes,
rsc               848 lib/pengine/clone.c                     if (configured_role(rsc) == pcmk_role_stopped) {
rsc               856 lib/pengine/clone.c                     probe_op = pe__failed_probe_for_rsc(rsc,
rsc               878 lib/pengine/clone.c             clone_header(out, &rc, rsc, clone_data, desc);
rsc               904 lib/pengine/clone.c             clone_header(out, &rc, rsc, clone_data, desc);
rsc               915 lib/pengine/clone.c clone_free(pcmk_resource_t * rsc)
rsc               919 lib/pengine/clone.c     get_clone_variant_data(clone_data, rsc);
rsc               921 lib/pengine/clone.c     pcmk__rsc_trace(rsc, "Freeing %s", rsc->id);
rsc               923 lib/pengine/clone.c     for (GList *gIter = rsc->priv->children;
rsc               938 lib/pengine/clone.c     g_list_free(rsc->priv->children);
rsc               947 lib/pengine/clone.c     common_free(rsc);
rsc               951 lib/pengine/clone.c clone_resource_state(const pcmk_resource_t * rsc, gboolean current)
rsc               955 lib/pengine/clone.c     for (GList *gIter = rsc->priv->children;
rsc               967 lib/pengine/clone.c     pcmk__rsc_trace(rsc, "%s role: %s", rsc->id, pcmk_role_text(clone_role));
rsc               979 lib/pengine/clone.c pe__is_universal_clone(const pcmk_resource_t *rsc,
rsc               982 lib/pengine/clone.c     if (pcmk__is_clone(rsc)) {
rsc               983 lib/pengine/clone.c         clone_variant_data_t *clone_data = rsc->priv->variant_opaque;
rsc               993 lib/pengine/clone.c pe__clone_is_filtered(const pcmk_resource_t *rsc, GList *only_rsc,
rsc               999 lib/pengine/clone.c     if (pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches)) {
rsc              1002 lib/pengine/clone.c         get_clone_variant_data(clone_data, rsc);
rsc              1007 lib/pengine/clone.c             for (const GList *iter = rsc->priv->children;
rsc              1025 lib/pengine/clone.c pe__clone_child_id(const pcmk_resource_t *rsc)
rsc              1028 lib/pengine/clone.c     get_clone_variant_data(clone_data, rsc);
rsc              1251 lib/pengine/clone.c pe__clone_max_per_node(const pcmk_resource_t *rsc)
rsc              1255 lib/pengine/clone.c     get_clone_variant_data(clone_data, rsc);
rsc                22 lib/pengine/complex.c static pcmk_node_t *active_node(const pcmk_resource_t *rsc,
rsc               129 lib/pengine/complex.c expand_parents_fixed_nvpairs(pcmk_resource_t *rsc,
rsc               134 lib/pengine/complex.c     pcmk_resource_t *p = rsc->priv->parent;
rsc               175 lib/pengine/complex.c get_meta_attributes(GHashTable * meta_hash, pcmk_resource_t * rsc,
rsc               179 lib/pengine/complex.c         .standard = crm_element_value(rsc->priv->xml, PCMK_XA_CLASS),
rsc               180 lib/pengine/complex.c         .provider = crm_element_value(rsc->priv->xml, PCMK_XA_PROVIDER),
rsc               181 lib/pengine/complex.c         .agent = crm_element_value(rsc->priv->xml, PCMK_XA_TYPE)
rsc               192 lib/pengine/complex.c     for (xmlAttrPtr a = pcmk__xe_first_attr(rsc->priv->xml);
rsc               201 lib/pengine/complex.c     pe__unpack_dataset_nvpairs(rsc->priv->xml, PCMK_XE_META_ATTRIBUTES,
rsc               208 lib/pengine/complex.c     if (rsc->priv->parent != NULL) {
rsc               209 lib/pengine/complex.c         expand_parents_fixed_nvpairs(rsc, &rule_data, meta_hash, scheduler);
rsc               221 lib/pengine/complex.c     if (rsc->priv->parent != NULL) {
rsc               222 lib/pengine/complex.c         g_hash_table_foreach(rsc->priv->parent->priv->meta, dup_attr,
rsc               236 lib/pengine/complex.c get_rsc_attributes(GHashTable *instance_attrs, const pcmk_resource_t *rsc,
rsc               247 lib/pengine/complex.c     CRM_CHECK((instance_attrs != NULL) && (rsc != NULL) && (scheduler != NULL),
rsc               256 lib/pengine/complex.c     pe__unpack_dataset_nvpairs(rsc->priv->xml, PCMK_XE_INSTANCE_ATTRIBUTES,
rsc               258 lib/pengine/complex.c     if (rsc->priv->parent != NULL) {
rsc               259 lib/pengine/complex.c         get_rsc_attributes(instance_attrs, rsc->priv->parent, node, scheduler);
rsc               436 lib/pengine/complex.c detect_unique(const pcmk_resource_t *rsc)
rsc               438 lib/pengine/complex.c     const char *value = g_hash_table_lookup(rsc->priv->meta,
rsc               442 lib/pengine/complex.c         value = g_hash_table_lookup(rsc->priv->meta,
rsc               476 lib/pengine/complex.c pe_rsc_params(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               488 lib/pengine/complex.c     if ((rsc == NULL) || (scheduler == NULL)) {
rsc               496 lib/pengine/complex.c     if (rsc->priv->parameter_cache == NULL) {
rsc               497 lib/pengine/complex.c         rsc->priv->parameter_cache = pcmk__strikey_table(free,
rsc               500 lib/pengine/complex.c         params_on_node = g_hash_table_lookup(rsc->priv->parameter_cache,
rsc               507 lib/pengine/complex.c         get_rsc_attributes(params_on_node, rsc, node, scheduler);
rsc               508 lib/pengine/complex.c         g_hash_table_insert(rsc->priv->parameter_cache, strdup(node_name),
rsc               523 lib/pengine/complex.c unpack_requires(pcmk_resource_t *rsc, const char *value, bool is_default)
rsc               525 lib/pengine/complex.c     const pcmk_scheduler_t *scheduler = rsc->priv->scheduler;
rsc               530 lib/pengine/complex.c         pcmk__set_rsc_flags(rsc, pcmk__rsc_needs_quorum);
rsc               533 lib/pengine/complex.c         pcmk__set_rsc_flags(rsc, pcmk__rsc_needs_fencing);
rsc               536 lib/pengine/complex.c                               rsc->id);
rsc               540 lib/pengine/complex.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_fence_device)) {
rsc               543 lib/pengine/complex.c                               "devices cannot require unfencing", rsc->id);
rsc               544 lib/pengine/complex.c             unpack_requires(rsc, PCMK_VALUE_QUORUM, true);
rsc               550 lib/pengine/complex.c                               "disabled", rsc->id);
rsc               551 lib/pengine/complex.c             unpack_requires(rsc, PCMK_VALUE_QUORUM, true);
rsc               555 lib/pengine/complex.c             pcmk__set_rsc_flags(rsc, pcmk__rsc_needs_fencing
rsc               562 lib/pengine/complex.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_fence_device)) {
rsc               565 lib/pengine/complex.c         } else if (pcmk__is_primitive(rsc)
rsc               566 lib/pengine/complex.c                    && xml_contains_remote_node(rsc->priv->xml)) {
rsc               585 lib/pengine/complex.c                               rsc->id, value, orig_value);
rsc               587 lib/pengine/complex.c         unpack_requires(rsc, value, true);
rsc               591 lib/pengine/complex.c     pcmk__rsc_trace(rsc, "\tRequired to start: %s%s", value,
rsc               602 lib/pengine/complex.c unpack_priority(pcmk_resource_t *rsc)
rsc               604 lib/pengine/complex.c     const char *value = g_hash_table_lookup(rsc->priv->meta,
rsc               606 lib/pengine/complex.c     int rc = pcmk_parse_score(value, &(rsc->priv->priority), 0);
rsc               612 lib/pengine/complex.c                           rsc->id, value, pcmk_rc_str(rc));
rsc               623 lib/pengine/complex.c unpack_stickiness(pcmk_resource_t *rsc)
rsc               625 lib/pengine/complex.c     const char *value = g_hash_table_lookup(rsc->priv->meta,
rsc               636 lib/pengine/complex.c         int rc = pcmk_parse_score(value, &(rsc->priv->stickiness), 0);
rsc               642 lib/pengine/complex.c                               rsc->id, value, pcmk_rc_str(rc));
rsc               654 lib/pengine/complex.c unpack_migration_threshold(pcmk_resource_t *rsc)
rsc               656 lib/pengine/complex.c     const char *value = g_hash_table_lookup(rsc->priv->meta,
rsc               666 lib/pengine/complex.c         rsc->priv->ban_after_failures = PCMK_SCORE_INFINITY;
rsc               668 lib/pengine/complex.c         int rc = pcmk_parse_score(value, &(rsc->priv->ban_after_failures),
rsc               671 lib/pengine/complex.c         if ((rc != pcmk_rc_ok) || (rsc->priv->ban_after_failures < 0)) {
rsc               676 lib/pengine/complex.c                               rsc->id, value, pcmk_rc_str(rc));
rsc               677 lib/pengine/complex.c             rsc->priv->ban_after_failures = PCMK_SCORE_INFINITY;
rsc               700 lib/pengine/complex.c pe__unpack_resource(xmlNode *xml_obj, pcmk_resource_t **rsc,
rsc               719 lib/pengine/complex.c     CRM_CHECK(rsc != NULL, return EINVAL);
rsc               721 lib/pengine/complex.c               *rsc = NULL;
rsc               739 lib/pengine/complex.c     *rsc = calloc(1, sizeof(pcmk_resource_t));
rsc               740 lib/pengine/complex.c     if (*rsc == NULL) {
rsc               746 lib/pengine/complex.c     (*rsc)->priv = calloc(1, sizeof(pcmk__resource_private_t));
rsc               747 lib/pengine/complex.c     if ((*rsc)->priv == NULL) {
rsc               750 lib/pengine/complex.c         free(*rsc);
rsc               753 lib/pengine/complex.c     rsc_private = (*rsc)->priv;
rsc               780 lib/pengine/complex.c         common_free(*rsc);
rsc               781 lib/pengine/complex.c         *rsc = NULL;
rsc               792 lib/pengine/complex.c         (*rsc)->id = crm_strdup_printf("%s:%s", id, value);
rsc               796 lib/pengine/complex.c         (*rsc)->id = strdup(id);
rsc               801 lib/pengine/complex.c     get_meta_attributes(rsc_private->meta, *rsc, NULL, scheduler);
rsc               803 lib/pengine/complex.c     (*rsc)->flags = 0;
rsc               804 lib/pengine/complex.c     pcmk__set_rsc_flags(*rsc, pcmk__rsc_unassigned);
rsc               807 lib/pengine/complex.c         pcmk__set_rsc_flags(*rsc, pcmk__rsc_managed);
rsc               813 lib/pengine/complex.c     unpack_priority(*rsc);
rsc               817 lib/pengine/complex.c         pcmk__set_rsc_flags(*rsc, pcmk__rsc_critical);
rsc               822 lib/pengine/complex.c         pcmk__set_rsc_flags(*rsc, pcmk__rsc_notify);
rsc               826 lib/pengine/complex.c         pcmk__set_rsc_flags(*rsc, pcmk__rsc_is_remote_connection);
rsc               836 lib/pengine/complex.c         pcmk__set_rsc_flags(*rsc, pcmk__rsc_migratable);
rsc               845 lib/pengine/complex.c         pcmk__set_rsc_flags(*rsc, pcmk__rsc_migratable);
rsc               857 lib/pengine/complex.c             pcmk__set_rsc_flags(*rsc, pcmk__rsc_managed);
rsc               859 lib/pengine/complex.c             pcmk__clear_rsc_flags(*rsc, pcmk__rsc_managed);
rsc               865 lib/pengine/complex.c         pcmk__clear_rsc_flags(*rsc, pcmk__rsc_managed);
rsc               866 lib/pengine/complex.c         pcmk__set_rsc_flags(*rsc, pcmk__rsc_maintenance);
rsc               869 lib/pengine/complex.c         pcmk__clear_rsc_flags(*rsc, pcmk__rsc_managed);
rsc               870 lib/pengine/complex.c         pcmk__set_rsc_flags(*rsc, pcmk__rsc_maintenance);
rsc               873 lib/pengine/complex.c     if (pcmk__is_clone(pe__const_top_resource(*rsc, false))) {
rsc               874 lib/pengine/complex.c         if (detect_unique(*rsc)) {
rsc               875 lib/pengine/complex.c             pcmk__set_rsc_flags(*rsc, pcmk__rsc_unique);
rsc               877 lib/pengine/complex.c         if (crm_is_true(g_hash_table_lookup((*rsc)->priv->meta,
rsc               879 lib/pengine/complex.c             pcmk__set_rsc_flags(*rsc, pcmk__rsc_promotable);
rsc               882 lib/pengine/complex.c         pcmk__set_rsc_flags(*rsc, pcmk__rsc_unique);
rsc               888 lib/pengine/complex.c         pcmk__rsc_trace(*rsc, "%s multiple running resource recovery: stop only",
rsc               889 lib/pengine/complex.c                         (*rsc)->id);
rsc               893 lib/pengine/complex.c         pcmk__rsc_trace(*rsc, "%s multiple running resource recovery: block",
rsc               894 lib/pengine/complex.c                         (*rsc)->id);
rsc               899 lib/pengine/complex.c         pcmk__rsc_trace(*rsc,
rsc               902 lib/pengine/complex.c                         (*rsc)->id);
rsc               914 lib/pengine/complex.c         pcmk__rsc_trace(*rsc,
rsc               916 lib/pengine/complex.c                         (*rsc)->id);
rsc               919 lib/pengine/complex.c     unpack_stickiness(*rsc);
rsc               920 lib/pengine/complex.c     unpack_migration_threshold(*rsc);
rsc               925 lib/pengine/complex.c         pcmk__set_rsc_flags(*rsc, pcmk__rsc_fence_device);
rsc               929 lib/pengine/complex.c     unpack_requires(*rsc, value, false);
rsc               937 lib/pengine/complex.c         GHashTable *params = pe_rsc_params(*rsc, NULL, scheduler);
rsc               960 lib/pengine/complex.c     get_target_role(*rsc, &(rsc_private->next_role));
rsc               961 lib/pengine/complex.c     pcmk__rsc_trace(*rsc, "%s desired next state: %s", (*rsc)->id,
rsc               965 lib/pengine/complex.c     if (rsc_private->fns->unpack(*rsc, scheduler) == FALSE) {
rsc               966 lib/pengine/complex.c         rsc_private->fns->free(*rsc);
rsc               967 lib/pengine/complex.c         *rsc = NULL;
rsc               973 lib/pengine/complex.c         resource_location(*rsc, NULL, 0, "symmetric_default", scheduler);
rsc               978 lib/pengine/complex.c         resource_location(*rsc, NULL, 0, "remote_connection_default",
rsc               982 lib/pengine/complex.c     pcmk__rsc_trace(*rsc, "%s action notification: %s", (*rsc)->id,
rsc               983 lib/pengine/complex.c                     pcmk_is_set((*rsc)->flags, pcmk__rsc_notify)? "required" : "not required");
rsc               991 lib/pengine/complex.c             rsc_private->fns->free(*rsc);
rsc               992 lib/pengine/complex.c             *rsc = NULL;
rsc              1000 lib/pengine/complex.c is_parent(pcmk_resource_t *child, pcmk_resource_t *rsc)
rsc              1004 lib/pengine/complex.c     if (parent == NULL || rsc == NULL) {
rsc              1008 lib/pengine/complex.c         if (parent->priv->parent == rsc) {
rsc              1017 lib/pengine/complex.c uber_parent(pcmk_resource_t *rsc)
rsc              1019 lib/pengine/complex.c     pcmk_resource_t *parent = rsc;
rsc              1043 lib/pengine/complex.c pe__const_top_resource(const pcmk_resource_t *rsc, bool include_bundle)
rsc              1045 lib/pengine/complex.c     const pcmk_resource_t *parent = rsc;
rsc              1060 lib/pengine/complex.c common_free(pcmk_resource_t * rsc)
rsc              1062 lib/pengine/complex.c     if (rsc == NULL) {
rsc              1066 lib/pengine/complex.c     pcmk__rsc_trace(rsc, "Freeing %s", rsc->id);
rsc              1068 lib/pengine/complex.c     if (rsc->priv->parameter_cache != NULL) {
rsc              1069 lib/pengine/complex.c         g_hash_table_destroy(rsc->priv->parameter_cache);
rsc              1072 lib/pengine/complex.c     if ((rsc->priv->parent == NULL)
rsc              1073 lib/pengine/complex.c         && pcmk_is_set(rsc->flags, pcmk__rsc_removed)) {
rsc              1075 lib/pengine/complex.c         pcmk__xml_free(rsc->priv->xml);
rsc              1076 lib/pengine/complex.c         rsc->priv->xml = NULL;
rsc              1077 lib/pengine/complex.c         pcmk__xml_free(rsc->priv->orig_xml);
rsc              1078 lib/pengine/complex.c         rsc->priv->orig_xml = NULL;
rsc              1080 lib/pengine/complex.c     } else if (rsc->priv->orig_xml != NULL) {
rsc              1082 lib/pengine/complex.c         pcmk__xml_free(rsc->priv->xml);
rsc              1083 lib/pengine/complex.c         rsc->priv->xml = NULL;
rsc              1085 lib/pengine/complex.c     free(rsc->id);
rsc              1087 lib/pengine/complex.c     free(rsc->priv->variant_opaque);
rsc              1088 lib/pengine/complex.c     free(rsc->priv->history_id);
rsc              1089 lib/pengine/complex.c     free(rsc->priv->pending_action);
rsc              1090 lib/pengine/complex.c     pcmk__free_node_copy(rsc->priv->assigned_node);
rsc              1092 lib/pengine/complex.c     g_list_free(rsc->priv->actions);
rsc              1093 lib/pengine/complex.c     g_list_free(rsc->priv->active_nodes);
rsc              1094 lib/pengine/complex.c     g_list_free(rsc->priv->launched);
rsc              1095 lib/pengine/complex.c     g_list_free(rsc->priv->dangling_migration_sources);
rsc              1096 lib/pengine/complex.c     g_list_free(rsc->priv->with_this_colocations);
rsc              1097 lib/pengine/complex.c     g_list_free(rsc->priv->this_with_colocations);
rsc              1098 lib/pengine/complex.c     g_list_free(rsc->priv->location_constraints);
rsc              1099 lib/pengine/complex.c     g_list_free(rsc->priv->ticket_constraints);
rsc              1101 lib/pengine/complex.c     if (rsc->priv->meta != NULL) {
rsc              1102 lib/pengine/complex.c         g_hash_table_destroy(rsc->priv->meta);
rsc              1104 lib/pengine/complex.c     if (rsc->priv->utilization != NULL) {
rsc              1105 lib/pengine/complex.c         g_hash_table_destroy(rsc->priv->utilization);
rsc              1107 lib/pengine/complex.c     if (rsc->priv->probed_nodes != NULL) {
rsc              1108 lib/pengine/complex.c         g_hash_table_destroy(rsc->priv->probed_nodes);
rsc              1110 lib/pengine/complex.c     if (rsc->priv->allowed_nodes != NULL) {
rsc              1111 lib/pengine/complex.c         g_hash_table_destroy(rsc->priv->allowed_nodes);
rsc              1114 lib/pengine/complex.c     free(rsc->priv);
rsc              1116 lib/pengine/complex.c     free(rsc);
rsc              1134 lib/pengine/complex.c pe__count_active_node(const pcmk_resource_t *rsc, pcmk_node_t *node,
rsc              1141 lib/pengine/complex.c     CRM_CHECK((rsc != NULL) && (node != NULL) && (active != NULL),
rsc              1156 lib/pengine/complex.c     if (rsc->priv->partial_migration_source != NULL) {
rsc              1157 lib/pengine/complex.c         if (pcmk__same_node(node, rsc->priv->partial_migration_source)) {
rsc              1162 lib/pengine/complex.c     } else if (!pcmk_is_set(rsc->flags, pcmk__rsc_needs_fencing)) {
rsc              1178 lib/pengine/complex.c active_node(const pcmk_resource_t *rsc, unsigned int *count_all,
rsc              1189 lib/pengine/complex.c     if (rsc == NULL) {
rsc              1192 lib/pengine/complex.c     for (GList *iter = rsc->priv->active_nodes;
rsc              1195 lib/pengine/complex.c         if (!pe__count_active_node(rsc, (pcmk_node_t *) iter->data, &active,
rsc              1217 lib/pengine/complex.c pe__find_active_requires(const pcmk_resource_t *rsc, unsigned int *count)
rsc              1219 lib/pengine/complex.c     if (rsc == NULL) {
rsc              1226 lib/pengine/complex.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_needs_fencing)) {
rsc              1227 lib/pengine/complex.c         return rsc->priv->fns->active_node(rsc, count, NULL);
rsc              1229 lib/pengine/complex.c         return rsc->priv->fns->active_node(rsc, NULL, count);
rsc              1234 lib/pengine/complex.c pe__count_common(pcmk_resource_t *rsc)
rsc              1236 lib/pengine/complex.c     if (rsc->priv->children != NULL) {
rsc              1237 lib/pengine/complex.c         for (GList *item = rsc->priv->children;
rsc              1244 lib/pengine/complex.c     } else if (!pcmk_is_set(rsc->flags, pcmk__rsc_removed)
rsc              1245 lib/pengine/complex.c                || (rsc->priv->orig_role > pcmk_role_stopped)) {
rsc              1246 lib/pengine/complex.c         rsc->priv->scheduler->priv->ninstances++;
rsc              1247 lib/pengine/complex.c         if (pe__resource_is_disabled(rsc)) {
rsc              1248 lib/pengine/complex.c             rsc->priv->scheduler->priv->disabled_resources++;
rsc              1250 lib/pengine/complex.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_blocked)) {
rsc              1251 lib/pengine/complex.c             rsc->priv->scheduler->priv->blocked_resources++;
rsc              1265 lib/pengine/complex.c pe__set_next_role(pcmk_resource_t *rsc, enum rsc_role_e role, const char *why)
rsc              1267 lib/pengine/complex.c     pcmk__assert((rsc != NULL) && (why != NULL));
rsc              1268 lib/pengine/complex.c     if (rsc->priv->next_role != role) {
rsc              1269 lib/pengine/complex.c         pcmk__rsc_trace(rsc, "Resetting next role for %s from %s to %s (%s)",
rsc              1270 lib/pengine/complex.c                         rsc->id, pcmk_role_text(rsc->priv->next_role),
rsc              1272 lib/pengine/complex.c         rsc->priv->next_role = role;
rsc                77 lib/pengine/failcounts.c block_failure(const pcmk_node_t *node, pcmk_resource_t *rsc,
rsc                80 lib/pengine/failcounts.c     char *xml_name = clone_strip(rsc->id);
rsc                99 lib/pengine/failcounts.c     xmlXPathObject *xpathObj = xpath_search(rsc->priv->xml, xpath);
rsc               140 lib/pengine/failcounts.c                 lrm_op_xpathObj = xpath_search(rsc->priv->scheduler->input,
rsc               185 lib/pengine/failcounts.c rsc_fail_name(const pcmk_resource_t *rsc)
rsc               187 lib/pengine/failcounts.c     const char *name = pcmk__s(rsc->priv->history_id, rsc->id);
rsc               189 lib/pengine/failcounts.c     return pcmk_is_set(rsc->flags, pcmk__rsc_unique)? strdup(name) : clone_strip(name);
rsc               242 lib/pengine/failcounts.c generate_fail_regexes(const pcmk_resource_t *rsc, regex_t *failcount_re,
rsc               246 lib/pengine/failcounts.c     char *rsc_name = rsc_fail_name(rsc);
rsc               249 lib/pengine/failcounts.c                             pcmk_is_set(rsc->flags, pcmk__rsc_unique),
rsc               254 lib/pengine/failcounts.c                                    pcmk_is_set(rsc->flags, pcmk__rsc_unique),
rsc               267 lib/pengine/failcounts.c     pcmk_resource_t *rsc;     // Resource to check for fail count
rsc               302 lib/pengine/failcounts.c         pcmk__rsc_trace(fc_data->rsc, "Added %s (%s) to %s fail count (now %s)",
rsc               304 lib/pengine/failcounts.c                         fc_data->rsc->id,
rsc               344 lib/pengine/failcounts.c #define readable_expiration(rsc)    \
rsc               345 lib/pengine/failcounts.c     pcmk__readable_interval((rsc)->priv->failure_expiration_ms)
rsc               364 lib/pengine/failcounts.c pe_get_failcount(const pcmk_node_t *node, pcmk_resource_t *rsc,
rsc               369 lib/pengine/failcounts.c         .rsc = rsc,
rsc               377 lib/pengine/failcounts.c     CRM_CHECK(generate_fail_regexes(rsc, &fc_data.failcount_re,
rsc               386 lib/pengine/failcounts.c     if ((fc_data.failcount > 0) && (rsc->priv->failure_expiration_ms > 0)
rsc               387 lib/pengine/failcounts.c         && block_failure(node, rsc, xml_op)) {
rsc               392 lib/pengine/failcounts.c                           readable_expiration(rsc), rsc->id);
rsc               393 lib/pengine/failcounts.c         rsc->priv->failure_expiration_ms = 0;
rsc               399 lib/pengine/failcounts.c         && (rsc->priv->failure_expiration_ms > 0)) {
rsc               401 lib/pengine/failcounts.c         time_t now = get_effective_time(rsc->priv->scheduler);
rsc               402 lib/pengine/failcounts.c         const guint expiration = pcmk__timeout_ms2s(rsc->priv->failure_expiration_ms);
rsc               405 lib/pengine/failcounts.c             pcmk__rsc_debug(rsc, "Failcount for %s on %s expired after %s",
rsc               406 lib/pengine/failcounts.c                             rsc->id, pcmk__node_name(node),
rsc               407 lib/pengine/failcounts.c                             readable_expiration(rsc));
rsc               423 lib/pengine/failcounts.c         && (rsc->priv->launched != NULL) && !pcmk__is_bundled(rsc)) {
rsc               425 lib/pengine/failcounts.c         g_list_foreach(rsc->priv->launched, update_launched_failcount,
rsc               428 lib/pengine/failcounts.c             pcmk__rsc_info(rsc,
rsc               431 lib/pengine/failcounts.c                            rsc->id, pcmk_readable_score(fc_data.failcount),
rsc               437 lib/pengine/failcounts.c         pcmk__rsc_info(rsc, "%s has failed %s time%s on %s",
rsc               438 lib/pengine/failcounts.c                        rsc->id, pcmk_readable_score(fc_data.failcount),
rsc               464 lib/pengine/failcounts.c pe__clear_failcount(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               470 lib/pengine/failcounts.c     CRM_CHECK(rsc && node && reason && scheduler, return NULL);
rsc               472 lib/pengine/failcounts.c     key = pcmk__op_key(rsc->id, PCMK_ACTION_CLEAR_FAILCOUNT, 0);
rsc               473 lib/pengine/failcounts.c     clear = custom_action(rsc, key, PCMK_ACTION_CLEAR_FAILCOUNT, node, FALSE,
rsc               477 lib/pengine/failcounts.c                rsc->id, pcmk__node_name(node), reason, clear->uuid);
rsc               102 lib/pengine/group.c inactive_resources(pcmk_resource_t *rsc)
rsc               106 lib/pengine/group.c     for (GList *gIter = rsc->priv->children;
rsc               120 lib/pengine/group.c group_header(pcmk__output_t *out, int *rc, const pcmk_resource_t *rsc,
rsc               131 lib/pengine/group.c     if (pe__resource_is_disabled(rsc)) {
rsc               135 lib/pengine/group.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_maintenance)) {
rsc               138 lib/pengine/group.c     } else if (!pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               144 lib/pengine/group.c                                  rsc->id,
rsc               150 lib/pengine/group.c                                  rsc->id,
rsc               157 lib/pengine/group.c skip_child_rsc(pcmk_resource_t *rsc, pcmk_resource_t *child,
rsc               184 lib/pengine/group.c group_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler)
rsc               186 lib/pengine/group.c     xmlNode *xml_obj = rsc->priv->xml;
rsc               191 lib/pengine/group.c     pcmk__rsc_trace(rsc, "Processing resource %s...", rsc->id);
rsc               195 lib/pengine/group.c     rsc->priv->variant_opaque = group_data;
rsc               198 lib/pengine/group.c     set_group_flag(rsc, PCMK_META_ORDERED, pcmk__group_ordered,
rsc               200 lib/pengine/group.c     set_group_flag(rsc, "collocated", pcmk__group_colocated,
rsc               203 lib/pengine/group.c     clone_id = crm_element_value(rsc->priv->xml, PCMK__META_CLONE);
rsc               213 lib/pengine/group.c         if (pe__unpack_resource(xml_native_rsc, &new_rsc, rsc,
rsc               218 lib/pengine/group.c         rsc->priv->children = g_list_append(rsc->priv->children, new_rsc);
rsc               220 lib/pengine/group.c         pcmk__rsc_trace(rsc, "Added %s member %s", rsc->id, new_rsc->id);
rsc               223 lib/pengine/group.c     if (rsc->priv->children == NULL) {
rsc               226 lib/pengine/group.c         rsc->priv->variant_opaque = NULL;
rsc               227 lib/pengine/group.c         pcmk__config_err("Group %s has no members", rsc->id);
rsc               235 lib/pengine/group.c group_active(pcmk_resource_t *rsc, gboolean all)
rsc               240 lib/pengine/group.c     for (GList *gIter = rsc->priv->children;
rsc               266 lib/pengine/group.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               274 lib/pengine/group.c     gboolean parent_passes = pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches) ||
rsc               275 lib/pengine/group.c                              (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches));
rsc               277 lib/pengine/group.c     desc = pe__resource_description(rsc, show_opts);
rsc               279 lib/pengine/group.c     if (rsc->priv->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc               283 lib/pengine/group.c     for (GList *gIter = rsc->priv->children;
rsc               288 lib/pengine/group.c         if (skip_child_rsc(rsc, child_rsc, parent_passes, only_rsc, show_opts)) {
rsc               294 lib/pengine/group.c             const char *maintenance = pcmk__flag_text(rsc->flags,
rsc               296 lib/pengine/group.c             const char *managed = pcmk__flag_text(rsc->flags,
rsc               298 lib/pengine/group.c             const char *disabled = pcmk__btoa(pe__resource_is_disabled(rsc));
rsc               301 lib/pengine/group.c                                           PCMK_XA_ID, rsc->id,
rsc               329 lib/pengine/group.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               336 lib/pengine/group.c     gboolean parent_passes = pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches) ||
rsc               337 lib/pengine/group.c                              (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches));
rsc               339 lib/pengine/group.c     gboolean active = rsc->priv->fns->active(rsc, TRUE);
rsc               340 lib/pengine/group.c     gboolean partially_active = rsc->priv->fns->active(rsc, FALSE);
rsc               342 lib/pengine/group.c     desc = pe__resource_description(rsc, show_opts);
rsc               344 lib/pengine/group.c     if (rsc->priv->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc               349 lib/pengine/group.c         GList *rscs = pe__filter_rsc_list(rsc->priv->children, only_rsc);
rsc               352 lib/pengine/group.c             group_header(out, &rc, rsc, !active && partially_active ? inactive_resources(rsc) : 0,
rsc               361 lib/pengine/group.c         for (GList *gIter = rsc->priv->children;
rsc               365 lib/pengine/group.c             if (skip_child_rsc(rsc, child_rsc, parent_passes, only_rsc, show_opts)) {
rsc               369 lib/pengine/group.c             group_header(out, &rc, rsc, !active && partially_active ? inactive_resources(rsc) : 0,
rsc               382 lib/pengine/group.c group_free(pcmk_resource_t * rsc)
rsc               384 lib/pengine/group.c     CRM_CHECK(rsc != NULL, return);
rsc               386 lib/pengine/group.c     pcmk__rsc_trace(rsc, "Freeing %s", rsc->id);
rsc               388 lib/pengine/group.c     for (GList *gIter = rsc->priv->children;
rsc               398 lib/pengine/group.c     pcmk__rsc_trace(rsc, "Freeing child list");
rsc               399 lib/pengine/group.c     g_list_free(rsc->priv->children);
rsc               401 lib/pengine/group.c     common_free(rsc);
rsc               405 lib/pengine/group.c group_resource_state(const pcmk_resource_t * rsc, gboolean current)
rsc               409 lib/pengine/group.c     for (GList *gIter = rsc->priv->children;
rsc               421 lib/pengine/group.c     pcmk__rsc_trace(rsc, "%s role: %s", rsc->id, pcmk_role_text(group_role));
rsc               426 lib/pengine/group.c pe__group_is_filtered(const pcmk_resource_t *rsc, GList *only_rsc,
rsc               432 lib/pengine/group.c         && pcmk__str_in_list(rsc_printable_id(pe__const_top_resource(rsc,
rsc               436 lib/pengine/group.c     } else if (pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches)) {
rsc               438 lib/pengine/group.c     } else if (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches)) {
rsc               441 lib/pengine/group.c         for (const GList *iter = rsc->priv->children;
rsc               466 lib/pengine/group.c pe__group_max_per_node(const pcmk_resource_t *rsc)
rsc               468 lib/pengine/group.c     pcmk__assert(pcmk__is_group(rsc));
rsc                27 lib/pengine/native.c is_multiply_active(const pcmk_resource_t *rsc)
rsc                31 lib/pengine/native.c     if (pcmk__is_primitive(rsc)) {
rsc                32 lib/pengine/native.c         pe__find_active_requires(rsc, &count);
rsc                38 lib/pengine/native.c native_priority_to_node(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc                42 lib/pengine/native.c     const bool promoted = (rsc->priv->orig_role == pcmk_role_promoted);
rsc                44 lib/pengine/native.c     if ((rsc->priv->priority == 0) || failed) {
rsc                50 lib/pengine/native.c         priority = rsc->priv->priority + 1;
rsc                53 lib/pengine/native.c         priority = rsc->priv->priority;
rsc                57 lib/pengine/native.c     pcmk__rsc_trace(rsc, "%s now has priority %d with %s'%s' (priority: %d%s)",
rsc                60 lib/pengine/native.c                     rsc->id, rsc->priv->priority, (promoted? " + 1" : ""));
rsc                75 lib/pengine/native.c             pcmk__rsc_trace(rsc,
rsc                79 lib/pengine/native.c                             (promoted? "promoted " : ""), rsc->id,
rsc                80 lib/pengine/native.c                             rsc->priv->priority, (promoted? " + 1" : ""),
rsc                87 lib/pengine/native.c native_add_running(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc                90 lib/pengine/native.c     pcmk_resource_t *parent = rsc->priv->parent;
rsc                94 lib/pengine/native.c     for (GList *gIter = rsc->priv->active_nodes;
rsc               104 lib/pengine/native.c     pcmk__rsc_trace(rsc, "Adding %s to %s %s", rsc->id, pcmk__node_name(node),
rsc               105 lib/pengine/native.c                     pcmk_is_set(rsc->flags, pcmk__rsc_managed)? "" : "(unmanaged)");
rsc               107 lib/pengine/native.c     rsc->priv->active_nodes = g_list_append(rsc->priv->active_nodes, node);
rsc               108 lib/pengine/native.c     if (pcmk__is_primitive(rsc)) {
rsc               109 lib/pengine/native.c         node->details->running_rsc = g_list_append(node->details->running_rsc, rsc);
rsc               110 lib/pengine/native.c         native_priority_to_node(rsc, node, failed);
rsc               112 lib/pengine/native.c             pcmk__clear_rsc_flags(rsc, pcmk__rsc_managed);
rsc               113 lib/pengine/native.c             pcmk__set_rsc_flags(rsc, pcmk__rsc_maintenance);
rsc               117 lib/pengine/native.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               120 lib/pengine/native.c         pcmk__rsc_info(rsc, "resource %s isn't managed", rsc->id);
rsc               121 lib/pengine/native.c         resource_location(rsc, node, PCMK_SCORE_INFINITY,
rsc               132 lib/pengine/native.c     if (is_multiply_active(rsc)) {
rsc               133 lib/pengine/native.c         switch (rsc->priv->multiply_active_policy) {
rsc               140 lib/pengine/native.c                     if (rsc->priv->allowed_nodes != NULL) {
rsc               141 lib/pengine/native.c                         g_hash_table_destroy(rsc->priv->allowed_nodes);
rsc               143 lib/pengine/native.c                     rsc->priv->allowed_nodes =
rsc               145 lib/pengine/native.c                     g_hash_table_iter_init(&gIter, rsc->priv->allowed_nodes);
rsc               152 lib/pengine/native.c                 pcmk__clear_rsc_flags(rsc, pcmk__rsc_managed);
rsc               153 lib/pengine/native.c                 pcmk__set_rsc_flags(rsc, pcmk__rsc_blocked);
rsc               181 lib/pengine/native.c                   rsc->id, pcmk__node_name(node),
rsc               182 lib/pengine/native.c                   pcmk__multiply_active_text(rsc));
rsc               185 lib/pengine/native.c         pcmk__rsc_trace(rsc, "Resource %s is active on %s",
rsc               186 lib/pengine/native.c                         rsc->id, pcmk__node_name(node));
rsc               195 lib/pengine/native.c recursive_clear_unique(pcmk_resource_t *rsc, gpointer user_data)
rsc               197 lib/pengine/native.c     pcmk__clear_rsc_flags(rsc, pcmk__rsc_unique);
rsc               198 lib/pengine/native.c     pcmk__insert_meta(rsc->priv, PCMK_META_GLOBALLY_UNIQUE,
rsc               200 lib/pengine/native.c     g_list_foreach(rsc->priv->children, (GFunc) recursive_clear_unique,
rsc               205 lib/pengine/native.c native_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler)
rsc               207 lib/pengine/native.c     pcmk_resource_t *parent = uber_parent(rsc);
rsc               208 lib/pengine/native.c     const char *standard = crm_element_value(rsc->priv->xml, PCMK_XA_CLASS);
rsc               211 lib/pengine/native.c     pcmk__rsc_trace(rsc, "Processing resource %s...", rsc->id);
rsc               215 lib/pengine/native.c         && pcmk_is_set(rsc->flags, pcmk__rsc_unique)
rsc               223 lib/pengine/native.c         pe__force_anon(standard, parent, rsc->id, scheduler);
rsc               231 lib/pengine/native.c         recursive_clear_unique(rsc, NULL);
rsc               238 lib/pengine/native.c                          rsc->id, standard);
rsc               245 lib/pengine/native.c rsc_is_on_node(pcmk_resource_t *rsc, const pcmk_node_t *node, int flags)
rsc               247 lib/pengine/native.c     pcmk__rsc_trace(rsc, "Checking whether %s is on %s",
rsc               248 lib/pengine/native.c                     rsc->id, pcmk__node_name(node));
rsc               251 lib/pengine/native.c         && (rsc->priv->active_nodes != NULL)) {
rsc               253 lib/pengine/native.c         for (GList *iter = rsc->priv->active_nodes;
rsc               262 lib/pengine/native.c                && (rsc->priv->assigned_node != NULL)
rsc               263 lib/pengine/native.c                && pcmk__same_node(rsc->priv->assigned_node, node)) {
rsc               270 lib/pengine/native.c native_find_rsc(pcmk_resource_t *rsc, const char *id,
rsc               276 lib/pengine/native.c     CRM_CHECK(id && rsc && rsc->id, return NULL);
rsc               279 lib/pengine/native.c         const char *rid = pcmk__xe_id(rsc->priv->xml);
rsc               281 lib/pengine/native.c         if (!pcmk__is_clone(pe__const_top_resource(rsc, false))) {
rsc               284 lib/pengine/native.c         } else if (!strcmp(id, rsc->id) || pcmk__str_eq(id, rid, pcmk__str_none)) {
rsc               288 lib/pengine/native.c     } else if (!strcmp(id, rsc->id)) {
rsc               292 lib/pengine/native.c                && pcmk__str_eq(rsc->priv->history_id, id, pcmk__str_none)) {
rsc               297 lib/pengine/native.c                    && !pcmk_is_set(rsc->flags, pcmk__rsc_unique))) {
rsc               298 lib/pengine/native.c         match = pe_base_name_eq(rsc, id);
rsc               302 lib/pengine/native.c         if (!rsc_is_on_node(rsc, on_node, flags)) {
rsc               308 lib/pengine/native.c         return rsc;
rsc               311 lib/pengine/native.c     for (GList *gIter = rsc->priv->children;
rsc               316 lib/pengine/native.c         result = rsc->priv->fns->find_rsc(child, id, on_node, flags);
rsc               326 lib/pengine/native.c native_parameter(pcmk_resource_t *rsc, pcmk_node_t *node, gboolean create,
rsc               332 lib/pengine/native.c     CRM_CHECK(rsc != NULL, return NULL);
rsc               335 lib/pengine/native.c     pcmk__rsc_trace(rsc, "Looking up %s in %s", name, rsc->id);
rsc               336 lib/pengine/native.c     params = pe_rsc_params(rsc, node, scheduler);
rsc               340 lib/pengine/native.c         value = g_hash_table_lookup(rsc->priv->meta, name);
rsc               346 lib/pengine/native.c native_active(pcmk_resource_t * rsc, gboolean all)
rsc               348 lib/pengine/native.c     for (GList *gIter = rsc->priv->active_nodes;
rsc               354 lib/pengine/native.c             pcmk__rsc_trace(rsc, "Resource %s: %s is unclean",
rsc               355 lib/pengine/native.c                             rsc->id, pcmk__node_name(a_node));
rsc               358 lib/pengine/native.c                    && pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               359 lib/pengine/native.c             pcmk__rsc_trace(rsc, "Resource %s: %s is offline",
rsc               360 lib/pengine/native.c                             rsc->id, pcmk__node_name(a_node));
rsc               362 lib/pengine/native.c             pcmk__rsc_trace(rsc, "Resource %s active on %s",
rsc               363 lib/pengine/native.c                             rsc->id, pcmk__node_name(a_node));
rsc               376 lib/pengine/native.c native_pending_state(const pcmk_resource_t *rsc)
rsc               380 lib/pengine/native.c     if (pcmk__str_eq(rsc->priv->pending_action, PCMK_ACTION_START,
rsc               384 lib/pengine/native.c     } else if (pcmk__str_eq(rsc->priv->pending_action, PCMK_ACTION_STOP,
rsc               388 lib/pengine/native.c     } else if (pcmk__str_eq(rsc->priv->pending_action, PCMK_ACTION_MIGRATE_TO,
rsc               392 lib/pengine/native.c     } else if (pcmk__str_eq(rsc->priv->pending_action,
rsc               397 lib/pengine/native.c     } else if (pcmk__str_eq(rsc->priv->pending_action, PCMK_ACTION_PROMOTE,
rsc               401 lib/pengine/native.c     } else if (pcmk__str_eq(rsc->priv->pending_action, PCMK_ACTION_DEMOTE,
rsc               410 lib/pengine/native.c native_pending_action(const pcmk_resource_t *rsc)
rsc               414 lib/pengine/native.c     if (pcmk__str_eq(rsc->priv->pending_action, PCMK_ACTION_MONITOR,
rsc               424 lib/pengine/native.c     } else if (pcmk__str_eq(rsc->private->pending_action, "probe",
rsc               434 lib/pengine/native.c native_displayable_role(const pcmk_resource_t *rsc)
rsc               436 lib/pengine/native.c     enum rsc_role_e role = rsc->priv->orig_role;
rsc               439 lib/pengine/native.c         && pcmk_is_set(pe__const_top_resource(rsc, false)->flags,
rsc               448 lib/pengine/native.c native_displayable_state(const pcmk_resource_t *rsc, bool print_pending)
rsc               453 lib/pengine/native.c         rsc_state = native_pending_state(rsc);
rsc               456 lib/pengine/native.c         rsc_state = pcmk_role_text(native_displayable_role(rsc));
rsc               494 lib/pengine/native.c pcmk__native_output_string(const pcmk_resource_t *rsc, const char *name,
rsc               498 lib/pengine/native.c     const char *class = crm_element_value(rsc->priv->xml, PCMK_XA_CLASS);
rsc               500 lib/pengine/native.c     const char *kind = crm_element_value(rsc->priv->xml, PCMK_XA_TYPE);
rsc               504 lib/pengine/native.c     if (!pcmk__is_primitive(rsc)) {
rsc               513 lib/pengine/native.c         provider = crm_element_value(rsc->priv->xml, PCMK_XA_PROVIDER);
rsc               516 lib/pengine/native.c     if ((node == NULL) && (rsc->priv->lock_node != NULL)) {
rsc               517 lib/pengine/native.c         node = rsc->priv->lock_node;
rsc               520 lib/pengine/native.c         || pcmk__list_of_multiple(rsc->priv->active_nodes)) {
rsc               532 lib/pengine/native.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_removed)) {
rsc               535 lib/pengine/native.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_failed)) {
rsc               536 lib/pengine/native.c         enum rsc_role_e role = native_displayable_role(rsc);
rsc               545 lib/pengine/native.c         pcmk__add_word(&outstr, 0, native_displayable_state(rsc, show_pending));
rsc               552 lib/pengine/native.c     if (native_displayable_role(rsc) == pcmk_role_stopped) {
rsc               553 lib/pengine/native.c         xmlNode *probe_op = pe__failed_probe_for_rsc(rsc,
rsc               568 lib/pengine/native.c     if ((node != NULL) && pcmk__same_node(node, rsc->priv->lock_node)) {
rsc               572 lib/pengine/native.c         const char *pending_action = native_pending_action(rsc);
rsc               582 lib/pengine/native.c                                  " %s for resource %s", target_role, rsc->id);
rsc               590 lib/pengine/native.c                 if (pcmk_is_set(pe__const_top_resource(rsc, false)->flags,
rsc               609 lib/pengine/native.c     if (pcmk_any_flags_set(rsc->flags,
rsc               611 lib/pengine/native.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_blocked)) {
rsc               614 lib/pengine/native.c         } else if (pcmk_is_set(rsc->flags, pcmk__rsc_maintenance)) {
rsc               617 lib/pengine/native.c     } else if (!pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               621 lib/pengine/native.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_ignore_failure)) {
rsc               632 lib/pengine/native.c         || pcmk__list_of_multiple(rsc->priv->active_nodes)) {
rsc               633 lib/pengine/native.c         const char *desc = crm_element_value(rsc->priv->xml,
rsc               645 lib/pengine/native.c         && pcmk__list_of_multiple(rsc->priv->active_nodes)) {
rsc               648 lib/pengine/native.c         for (GList *iter = rsc->priv->active_nodes;
rsc               664 lib/pengine/native.c pe__common_output_html(pcmk__output_t *out, const pcmk_resource_t *rsc,
rsc               668 lib/pengine/native.c     const char *kind = crm_element_value(rsc->priv->xml, PCMK_XA_TYPE);
rsc               675 lib/pengine/native.c     pcmk__assert((kind != NULL) && pcmk__is_primitive(rsc));
rsc               677 lib/pengine/native.c     if (crm_is_true(g_hash_table_lookup(rsc->priv->meta,
rsc               681 lib/pengine/native.c         crm_trace("skipping print of internal resource %s", rsc->id);
rsc               684 lib/pengine/native.c     target_role = g_hash_table_lookup(rsc->priv->meta,
rsc               687 lib/pengine/native.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               690 lib/pengine/native.c     } else if (pcmk_is_set(rsc->flags, pcmk__rsc_failed)) {
rsc               693 lib/pengine/native.c     } else if (pcmk__is_primitive(rsc)
rsc               694 lib/pengine/native.c                && (rsc->priv->active_nodes == NULL)) {
rsc               697 lib/pengine/native.c     } else if (pcmk__list_of_multiple(rsc->priv->active_nodes)) {
rsc               700 lib/pengine/native.c     } else if (pcmk_is_set(rsc->flags, pcmk__rsc_ignore_failure)) {
rsc               709 lib/pengine/native.c     content = pcmk__native_output_string(rsc, name, node, show_opts,
rsc               718 lib/pengine/native.c pe__common_output_text(pcmk__output_t *out, const pcmk_resource_t *rsc,
rsc               724 lib/pengine/native.c     pcmk__assert(pcmk__is_primitive(rsc));
rsc               726 lib/pengine/native.c     if (crm_is_true(g_hash_table_lookup(rsc->priv->meta,
rsc               730 lib/pengine/native.c         crm_trace("skipping print of internal resource %s", rsc->id);
rsc               733 lib/pengine/native.c     target_role = g_hash_table_lookup(rsc->priv->meta,
rsc               737 lib/pengine/native.c         gchar *s = pcmk__native_output_string(rsc, name, node, show_opts,
rsc               753 lib/pengine/native.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               759 lib/pengine/native.c     const char *class = crm_element_value(rsc->priv->xml, PCMK_XA_CLASS);
rsc               760 lib/pengine/native.c     const char *prov = crm_element_value(rsc->priv->xml, PCMK_XA_PROVIDER);
rsc               763 lib/pengine/native.c     const char *rsc_state = native_displayable_state(rsc, print_pending);
rsc               765 lib/pengine/native.c     const char *active = pcmk__btoa(rsc->priv->fns->active(rsc, TRUE));
rsc               766 lib/pengine/native.c     const char *orphaned = pcmk__flag_text(rsc->flags, pcmk__rsc_removed);
rsc               767 lib/pengine/native.c     const char *blocked = pcmk__flag_text(rsc->flags, pcmk__rsc_blocked);
rsc               768 lib/pengine/native.c     const char *maintenance = pcmk__flag_text(rsc->flags,
rsc               770 lib/pengine/native.c     const char *managed = pcmk__flag_text(rsc->flags, pcmk__rsc_managed);
rsc               771 lib/pengine/native.c     const char *failed = pcmk__flag_text(rsc->flags, pcmk__rsc_failed);
rsc               772 lib/pengine/native.c     const char *ignored = pcmk__flag_text(rsc->flags, pcmk__rsc_ignore_failure);
rsc               774 lib/pengine/native.c     const char *pending = print_pending? native_pending_action(rsc) : NULL;
rsc               776 lib/pengine/native.c     const char *desc = pe__resource_description(rsc, show_opts);
rsc               778 lib/pengine/native.c     pcmk__assert(pcmk__is_primitive(rsc));
rsc               780 lib/pengine/native.c     if (rsc->priv->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc               787 lib/pengine/native.c              crm_element_value(rsc->priv->xml, PCMK_XA_TYPE));
rsc               789 lib/pengine/native.c     target_role = g_hash_table_lookup(rsc->priv->meta,
rsc               792 lib/pengine/native.c     nodes_running_on = pcmk__itoa(g_list_length(rsc->priv->active_nodes));
rsc               794 lib/pengine/native.c     if (rsc->priv->lock_node != NULL) {
rsc               795 lib/pengine/native.c         locked_to = rsc->priv->lock_node->priv->name;
rsc               799 lib/pengine/native.c                                   PCMK_XA_ID, rsc_printable_id(rsc),
rsc               819 lib/pengine/native.c     for (GList *gIter = rsc->priv->active_nodes;
rsc               843 lib/pengine/native.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               847 lib/pengine/native.c     const pcmk_node_t *node = pcmk__current_node(rsc);
rsc               849 lib/pengine/native.c     if (rsc->priv->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc               853 lib/pengine/native.c     pcmk__assert(pcmk__is_primitive(rsc));
rsc               857 lib/pengine/native.c         node = rsc->priv->pending_node;
rsc               859 lib/pengine/native.c     return pe__common_output_html(out, rsc, rsc_printable_id(rsc), node, show_opts);
rsc               868 lib/pengine/native.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               872 lib/pengine/native.c     const pcmk_node_t *node = pcmk__current_node(rsc);
rsc               874 lib/pengine/native.c     pcmk__assert(pcmk__is_primitive(rsc));
rsc               876 lib/pengine/native.c     if (rsc->priv->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc               882 lib/pengine/native.c         node = rsc->priv->pending_node;
rsc               884 lib/pengine/native.c     return pe__common_output_text(out, rsc, rsc_printable_id(rsc), node, show_opts);
rsc               888 lib/pengine/native.c native_free(pcmk_resource_t * rsc)
rsc               890 lib/pengine/native.c     pcmk__rsc_trace(rsc, "Freeing resource action list (not the data)");
rsc               891 lib/pengine/native.c     common_free(rsc);
rsc               895 lib/pengine/native.c native_resource_state(const pcmk_resource_t * rsc, gboolean current)
rsc               897 lib/pengine/native.c     enum rsc_role_e role = rsc->priv->next_role;
rsc               900 lib/pengine/native.c         role = rsc->priv->orig_role;
rsc               902 lib/pengine/native.c     pcmk__rsc_trace(rsc, "%s state: %s", rsc->id, pcmk_role_text(role));
rsc               918 lib/pengine/native.c native_location(const pcmk_resource_t *rsc, GList **list, uint32_t target)
rsc               923 lib/pengine/native.c     if (rsc->priv->children != NULL) {
rsc               925 lib/pengine/native.c         for (GList *gIter = rsc->priv->children;
rsc               935 lib/pengine/native.c             result = g_list_copy(rsc->priv->active_nodes);
rsc               938 lib/pengine/native.c             && (rsc->priv->pending_node != NULL)
rsc               939 lib/pengine/native.c             && !pe_find_node_id(result, rsc->priv->pending_node->priv->id)) {
rsc               940 lib/pengine/native.c             result = g_list_append(result, (gpointer) rsc->priv->pending_node);
rsc               943 lib/pengine/native.c             && (rsc->priv->assigned_node != NULL)) {
rsc               944 lib/pengine/native.c             result = g_list_append(result, rsc->priv->assigned_node);
rsc               975 lib/pengine/native.c         pcmk_resource_t *rsc = (pcmk_resource_t *) gIter->data;
rsc               977 lib/pengine/native.c         const char *class = crm_element_value(rsc->priv->xml, PCMK_XA_CLASS);
rsc               978 lib/pengine/native.c         const char *kind = crm_element_value(rsc->priv->xml, PCMK_XA_TYPE);
rsc               986 lib/pengine/native.c         if (!pcmk__is_primitive(rsc)) {
rsc               992 lib/pengine/native.c             const char *prov = crm_element_value(rsc->priv->xml,
rsc              1014 lib/pengine/native.c             for (GList *gIter2 = rsc->priv->active_nodes;
rsc              1021 lib/pengine/native.c                     pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc              1150 lib/pengine/native.c pe__native_is_filtered(const pcmk_resource_t *rsc, GList *only_rsc,
rsc              1153 lib/pengine/native.c     if (pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches) ||
rsc              1154 lib/pengine/native.c         pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches)) {
rsc              1156 lib/pengine/native.c     } else if (check_parent && (rsc->priv->parent != NULL)) {
rsc              1157 lib/pengine/native.c         const pcmk_resource_t *up = pe__const_top_resource(rsc, true);
rsc              1174 lib/pengine/native.c pe__primitive_max_per_node(const pcmk_resource_t *rsc)
rsc              1176 lib/pengine/native.c     pcmk__assert(pcmk__is_primitive(rsc));
rsc                60 lib/pengine/pe_actions.c find_existing_action(const char *key, const pcmk_resource_t *rsc,
rsc                67 lib/pengine/pe_actions.c     GList *actions = (rsc == NULL)? scheduler->priv->actions : rsc->priv->actions;
rsc                92 lib/pengine/pe_actions.c find_exact_action_config(const pcmk_resource_t *rsc, const char *action_name,
rsc                95 lib/pengine/pe_actions.c     for (xmlNode *operation = pcmk__xe_first_child(rsc->priv->ops_xml,
rsc               137 lib/pengine/pe_actions.c pcmk__find_action_config(const pcmk_resource_t *rsc, const char *action_name,
rsc               143 lib/pengine/pe_actions.c     action_config = find_exact_action_config(rsc, action_name, interval_ms,
rsc               151 lib/pengine/pe_actions.c         action_config = find_exact_action_config(rsc, "migrate", 0,
rsc               174 lib/pengine/pe_actions.c new_action(char *key, const char *task, pcmk_resource_t *rsc,
rsc               179 lib/pengine/pe_actions.c     action->rsc = rsc;
rsc               200 lib/pengine/pe_actions.c     if (rsc == NULL) {
rsc               206 lib/pengine/pe_actions.c         action->op_entry = pcmk__find_action_config(rsc, task, interval_ms,
rsc               213 lib/pengine/pe_actions.c             action->op_entry = find_exact_action_config(rsc, PCMK_ACTION_NOTIFY,
rsc               220 lib/pengine/pe_actions.c     pcmk__rsc_trace(rsc, "Created %s action %d (%s): %s for %s on %s",
rsc               223 lib/pengine/pe_actions.c                     ((rsc == NULL)? "no resource" : rsc->id),
rsc               228 lib/pengine/pe_actions.c     if (rsc == NULL) {
rsc               231 lib/pengine/pe_actions.c         rsc->priv->actions = g_list_prepend(rsc->priv->actions, action);
rsc               277 lib/pengine/pe_actions.c     if ((action->rsc != NULL) && (action->node != NULL)
rsc               279 lib/pengine/pe_actions.c         && !pcmk_is_set(action->rsc->flags, pcmk__rsc_managed)
rsc               281 lib/pengine/pe_actions.c             pcmk__rsc_debug(action->rsc,
rsc               284 lib/pengine/pe_actions.c                             action->rsc->id);
rsc               295 lib/pengine/pe_actions.c effective_quorum_policy(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler)
rsc               303 lib/pengine/pe_actions.c         switch (rsc->priv->orig_role) {
rsc               306 lib/pengine/pe_actions.c                 if (rsc->priv->next_role > pcmk_role_unpromoted) {
rsc               307 lib/pengine/pe_actions.c                     pe__set_next_role(rsc, pcmk_role_unpromoted,
rsc               333 lib/pengine/pe_actions.c     pcmk_resource_t *rsc = action->rsc;
rsc               340 lib/pengine/pe_actions.c         pcmk__rsc_trace(rsc, "%s is unrunnable (unallocated)", action->uuid);
rsc               351 lib/pengine/pe_actions.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_managed)
rsc               373 lib/pengine/pe_actions.c             pcmk__rsc_debug(rsc,
rsc               379 lib/pengine/pe_actions.c             pcmk__rsc_trace(rsc,
rsc               386 lib/pengine/pe_actions.c         switch (effective_quorum_policy(rsc, scheduler)) {
rsc               388 lib/pengine/pe_actions.c                 pcmk__rsc_debug(rsc, "%s on %s is unrunnable (no quorum)",
rsc               395 lib/pengine/pe_actions.c                 if (!rsc->priv->fns->active(rsc, TRUE)
rsc               396 lib/pengine/pe_actions.c                     || (rsc->priv->next_role > rsc->priv->orig_role)) {
rsc               397 lib/pengine/pe_actions.c                     pcmk__rsc_debug(rsc, "%s on %s is unrunnable (no quorum)",
rsc               431 lib/pengine/pe_actions.c validate_on_fail(const pcmk_resource_t *rsc, const char *action_name,
rsc               446 lib/pengine/pe_actions.c                          "allowed for stop", rsc->id, value);
rsc               461 lib/pengine/pe_actions.c         for (xmlNode *operation = pcmk__xe_first_child(rsc->priv->ops_xml,
rsc               533 lib/pengine/pe_actions.c                              "allowed for it", rsc->id, name);
rsc               626 lib/pengine/pe_actions.c most_frequent_monitor(const pcmk_resource_t *rsc)
rsc               631 lib/pengine/pe_actions.c     for (xmlNode *operation = pcmk__xe_first_child(rsc->priv->ops_xml,
rsc               682 lib/pengine/pe_actions.c pcmk__unpack_action_meta(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               691 lib/pengine/pe_actions.c         .standard = crm_element_value(rsc->priv->xml, PCMK_XA_CLASS),
rsc               692 lib/pengine/pe_actions.c         .provider = crm_element_value(rsc->priv->xml, PCMK_XA_PROVIDER),
rsc               693 lib/pengine/pe_actions.c         .agent = crm_element_value(rsc->priv->xml, PCMK_XA_TYPE),
rsc               705 lib/pengine/pe_actions.c         .now = rsc->priv->scheduler->priv->now,
rsc               717 lib/pengine/pe_actions.c                                    rsc->priv->scheduler);
rsc               734 lib/pengine/pe_actions.c         xmlNode *min_interval_mon = most_frequent_monitor(rsc);
rsc               744 lib/pengine/pe_actions.c                 pcmk__rsc_trace(rsc,
rsc               747 lib/pengine/pe_actions.c                                 rsc->id, timeout_spec);
rsc               754 lib/pengine/pe_actions.c     pe__unpack_dataset_nvpairs(rsc->priv->scheduler->priv->op_defaults,
rsc               756 lib/pengine/pe_actions.c                                rsc->priv->scheduler);
rsc               784 lib/pengine/pe_actions.c         GHashTable *params = pe_rsc_params(rsc, node, rsc->priv->scheduler);
rsc               788 lib/pengine/pe_actions.c             pcmk__rsc_trace(rsc,
rsc               791 lib/pengine/pe_actions.c                             rsc->id, action_name, timeout_spec);
rsc               802 lib/pengine/pe_actions.c     validate_on_fail(rsc, action_name, action_config, meta);
rsc               813 lib/pengine/pe_actions.c                                    rsc->priv->scheduler->priv->now,
rsc               832 lib/pengine/pe_actions.c pcmk__action_requires(const pcmk_resource_t *rsc, const char *action_name)
rsc               837 lib/pengine/pe_actions.c     CRM_CHECK((rsc != NULL) && (action_name != NULL), return requires);
rsc               843 lib/pengine/pe_actions.c     } else if (pcmk_is_set(rsc->flags, pcmk__rsc_needs_fencing)) {
rsc               847 lib/pengine/pe_actions.c     } else if (pcmk_is_set(rsc->flags, pcmk__rsc_needs_quorum)) {
rsc               854 lib/pengine/pe_actions.c     pcmk__rsc_trace(rsc, "%s of %s requires %s", action_name, rsc->id, value);
rsc               870 lib/pengine/pe_actions.c pcmk__parse_on_fail(const pcmk_resource_t *rsc, const char *action_name,
rsc               879 lib/pengine/pe_actions.c     pcmk__assert((rsc != NULL) && (action_name != NULL));
rsc               880 lib/pengine/pe_actions.c     scheduler = rsc->priv->scheduler;
rsc               897 lib/pengine/pe_actions.c                              action_name, rsc->id);
rsc               925 lib/pengine/pe_actions.c         if (rsc->priv->launcher == NULL) {
rsc               926 lib/pengine/pe_actions.c             pcmk__rsc_debug(rsc,
rsc               929 lib/pengine/pe_actions.c                             action_name, rsc->id);
rsc               942 lib/pengine/pe_actions.c                          action_name, rsc->id, value);
rsc               950 lib/pengine/pe_actions.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_is_remote_connection)
rsc               951 lib/pengine/pe_actions.c         && pcmk__is_remote_node(pcmk_find_node(scheduler, rsc->id))
rsc               955 lib/pengine/pe_actions.c         if (!pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               963 lib/pengine/pe_actions.c     } else if (rsc->priv->launcher != NULL) {
rsc               968 lib/pengine/pe_actions.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               994 lib/pengine/pe_actions.c     pcmk__rsc_trace(rsc, "Failure handling for %s-interval %s of %s: %s",
rsc               996 lib/pengine/pe_actions.c                     rsc->id, desc);
rsc              1012 lib/pengine/pe_actions.c pcmk__role_after_failure(const pcmk_resource_t *rsc, const char *action_name,
rsc              1024 lib/pengine/pe_actions.c             if (rsc->priv->remote_reconnect_ms != 0U) {
rsc              1041 lib/pengine/pe_actions.c     pcmk__rsc_trace(rsc, "Role after %s %s failure is: %s",
rsc              1042 lib/pengine/pe_actions.c                     rsc->id, action_name, pcmk_role_text(role));
rsc              1064 lib/pengine/pe_actions.c     action->meta = pcmk__unpack_action_meta(action->rsc, action->node,
rsc              1066 lib/pengine/pe_actions.c     action->needs = pcmk__action_requires(action->rsc, action->task);
rsc              1069 lib/pengine/pe_actions.c     action->on_fail = pcmk__parse_on_fail(action->rsc, action->task,
rsc              1072 lib/pengine/pe_actions.c     action->fail_role = pcmk__role_after_failure(action->rsc, action->task,
rsc              1093 lib/pengine/pe_actions.c custom_action(pcmk_resource_t *rsc, char *key, const char *task,
rsc              1101 lib/pengine/pe_actions.c     action = find_existing_action(key, rsc, on_node, scheduler);
rsc              1103 lib/pengine/pe_actions.c         action = new_action(key, task, rsc, on_node, optional, scheduler);
rsc              1110 lib/pengine/pe_actions.c     if (rsc != NULL) {
rsc              1383 lib/pengine/pe_actions.c get_complex_task(const pcmk_resource_t *rsc, const char *name)
rsc              1387 lib/pengine/pe_actions.c     if (pcmk__is_primitive(rsc)) {
rsc              1394 lib/pengine/pe_actions.c                           name, rsc->id);
rsc              1517 lib/pengine/pe_actions.c pe__resource_actions(const pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc              1521 lib/pengine/pe_actions.c     char *key = pcmk__op_key(rsc->id, task, 0);
rsc              1524 lib/pengine/pe_actions.c         result = find_actions_exact(rsc->priv->actions, key, node);
rsc              1526 lib/pengine/pe_actions.c         result = find_actions(rsc->priv->actions, key, node);
rsc              1563 lib/pengine/pe_actions.c                              (action->rsc == NULL)? "" : " ",
rsc              1564 lib/pengine/pe_actions.c                              (action->rsc == NULL)? "" : action->rsc->id,
rsc              1572 lib/pengine/pe_actions.c         pcmk__rsc_trace(action->rsc, "Changing %s reason from '%s' to '%s'",
rsc              1576 lib/pengine/pe_actions.c         pcmk__rsc_trace(action->rsc, "Set %s reason to '%s'",
rsc              1594 lib/pengine/pe_actions.c pe__clear_resource_history(pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc              1596 lib/pengine/pe_actions.c     pcmk__assert((rsc != NULL) && (node != NULL));
rsc              1598 lib/pengine/pe_actions.c     custom_action(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_LRM_DELETE, 0),
rsc              1599 lib/pengine/pe_actions.c                   PCMK_ACTION_LRM_DELETE, node, FALSE, rsc->priv->scheduler);
rsc              1750 lib/pengine/pe_actions.c pe__new_rsc_pseudo_action(pcmk_resource_t *rsc, const char *task, bool optional,
rsc              1755 lib/pengine/pe_actions.c     pcmk__assert((rsc != NULL) && (task != NULL));
rsc              1757 lib/pengine/pe_actions.c     action = custom_action(rsc, pcmk__op_key(rsc->id, task, 0), task, NULL,
rsc              1758 lib/pengine/pe_actions.c                            optional, rsc->priv->scheduler);
rsc                98 lib/pengine/pe_digest.c calculate_main_digest(pcmk__op_digest_t *data, pcmk_resource_t *rsc,
rsc               111 lib/pengine/pe_digest.c     (void) pe__add_bundle_remote_name(rsc, data->params_all,
rsc               136 lib/pengine/pe_digest.c     action_config = pcmk__find_action_config(rsc, task, *interval_ms, true);
rsc               157 lib/pengine/pe_digest.c     params = pcmk__unpack_action_meta(rsc, node, task, *interval_ms,
rsc               186 lib/pengine/pe_digest.c calculate_secure_digest(pcmk__op_digest_t *data, const pcmk_resource_t *rsc,
rsc               190 lib/pengine/pe_digest.c     const char *class = crm_element_value(rsc->priv->xml, PCMK_XA_CLASS);
rsc               303 lib/pengine/pe_digest.c pe__calculate_digests(pcmk_resource_t *rsc, const char *task,
rsc               336 lib/pengine/pe_digest.c     params = pe_rsc_params(rsc, node, scheduler);
rsc               337 lib/pengine/pe_digest.c     calculate_main_digest(data, rsc, node, params, task, interval_ms, xml_op,
rsc               340 lib/pengine/pe_digest.c         calculate_secure_digest(data, rsc, params, xml_op, op_version,
rsc               362 lib/pengine/pe_digest.c rsc_action_digest(pcmk_resource_t *rsc, const char *task, guint interval_ms,
rsc               367 lib/pengine/pe_digest.c     char *key = pcmk__op_key(rsc->id, task, interval_ms);
rsc               371 lib/pengine/pe_digest.c         data = pe__calculate_digests(rsc, task, &interval_ms, node, xml_op,
rsc               392 lib/pengine/pe_digest.c rsc_action_digest_cmp(pcmk_resource_t *rsc, const xmlNode *xml_op,
rsc               410 lib/pengine/pe_digest.c     data = rsc_action_digest(rsc, task, interval_ms, node, xml_op,
rsc               416 lib/pengine/pe_digest.c         pcmk__rsc_info(rsc,
rsc               419 lib/pengine/pe_digest.c                        interval_ms, task, rsc->id, pcmk__node_name(node),
rsc               440 lib/pengine/pe_digest.c             pcmk__rsc_info(rsc,
rsc               444 lib/pengine/pe_digest.c                            interval_ms, task, rsc->id, pcmk__node_name(node),
rsc               451 lib/pengine/pe_digest.c             pcmk__rsc_info(rsc,
rsc               454 lib/pengine/pe_digest.c                            interval_ms, task, rsc->id, pcmk__node_name(node),
rsc               549 lib/pengine/pe_digest.c pe__compare_fencing_digest(pcmk_resource_t *rsc, const char *agent,
rsc               555 lib/pengine/pe_digest.c     pcmk__op_digest_t *data = rsc_action_digest(rsc, STONITH_DIGEST_TASK, 0U,
rsc               567 lib/pengine/pe_digest.c     if (unfencing_digest_matches(rsc->id, agent, data->digest_all_calc,
rsc               576 lib/pengine/pe_digest.c     if (unfencing_digest_matches(rsc->id, agent, data->digest_secure_calc,
rsc               583 lib/pengine/pe_digest.c                       "for unfencing %s changed", rsc->id,
rsc               596 lib/pengine/pe_digest.c             char *digest = create_unfencing_summary(rsc->id, agent,
rsc               600 lib/pengine/pe_digest.c                       "%s changed, try '%s'", rsc->id,
rsc               604 lib/pengine/pe_digest.c             char *digest = create_unfencing_summary(rsc->id, agent,
rsc               608 lib/pengine/pe_digest.c                    rsc->id, pcmk__node_name(node), digest);
rsc                19 lib/pengine/pe_notif.c     const pcmk_resource_t *rsc;
rsc                55 lib/pengine/pe_notif.c     if ((entry_a->rsc == NULL) && (entry_b->rsc == NULL)) {
rsc                58 lib/pengine/pe_notif.c     if (entry_a->rsc == NULL) {
rsc                61 lib/pengine/pe_notif.c     if (entry_b->rsc == NULL) {
rsc                66 lib/pengine/pe_notif.c     tmp = strcmp(entry_a->rsc->id, entry_b->rsc->id);
rsc               100 lib/pengine/pe_notif.c     dup->rsc = entry->rsc;
rsc               201 lib/pengine/pe_notif.c         CRM_LOG_ASSERT((entry != NULL) && (entry->rsc != NULL)
rsc               202 lib/pengine/pe_notif.c                        && (entry->rsc->id != NULL));
rsc               203 lib/pengine/pe_notif.c         if ((entry == NULL) || (entry->rsc == NULL)
rsc               204 lib/pengine/pe_notif.c             || (entry->rsc->id == NULL)) {
rsc               215 lib/pengine/pe_notif.c         if (pcmk__str_eq(entry->rsc->id, last_rsc_id, pcmk__str_none)) {
rsc               218 lib/pengine/pe_notif.c         last_rsc_id = entry->rsc->id;
rsc               221 lib/pengine/pe_notif.c             pcmk__add_word(rsc_names, 1024, entry->rsc->id);
rsc               285 lib/pengine/pe_notif.c new_notify_pseudo_action(pcmk_resource_t *rsc, const pcmk_action_t *action,
rsc               290 lib/pengine/pe_notif.c     notify = custom_action(rsc,
rsc               291 lib/pengine/pe_notif.c                            pcmk__notify_key(rsc->id, notif_type, action->task),
rsc               294 lib/pengine/pe_notif.c                            rsc->priv->scheduler);
rsc               314 lib/pengine/pe_notif.c new_notify_action(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               324 lib/pengine/pe_notif.c     CRM_CHECK((rsc != NULL) && (node != NULL), return NULL);
rsc               337 lib/pengine/pe_notif.c         pcmk__rsc_trace(rsc, "Skipping notify action for %s on %s: %s",
rsc               338 lib/pengine/pe_notif.c                         rsc->id, pcmk__node_name(node), skip_reason);
rsc               345 lib/pengine/pe_notif.c     pcmk__rsc_trace(rsc, "Creating notify action for %s on %s (%s-%s)",
rsc               346 lib/pengine/pe_notif.c                     rsc->id, pcmk__node_name(node), value, task);
rsc               349 lib/pengine/pe_notif.c     key = pcmk__notify_key(rsc->id, value, task);
rsc               350 lib/pengine/pe_notif.c     notify_action = custom_action(rsc, key, op->task, node,
rsc               352 lib/pengine/pe_notif.c                                   rsc->priv->scheduler);
rsc               373 lib/pengine/pe_notif.c new_post_notify_action(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               381 lib/pengine/pe_notif.c     notify = new_notify_action(rsc, node, n_data->post, n_data->post_done,
rsc               391 lib/pengine/pe_notif.c     for (GList *iter = rsc->priv->actions; iter != NULL; iter = iter->next) {
rsc               436 lib/pengine/pe_notif.c pe__action_notif_pseudo_ops(pcmk_resource_t *rsc, const char *task,
rsc               441 lib/pengine/pe_notif.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_notify)) {
rsc               452 lib/pengine/pe_notif.c         n_data->pre = new_notify_pseudo_action(rsc, action, PCMK_ACTION_NOTIFY,
rsc               459 lib/pengine/pe_notif.c         n_data->pre_done = new_notify_pseudo_action(rsc, action,
rsc               474 lib/pengine/pe_notif.c         n_data->post = new_notify_pseudo_action(rsc, complete,
rsc               486 lib/pengine/pe_notif.c         n_data->post_done = new_notify_pseudo_action(rsc, complete,
rsc               523 lib/pengine/pe_notif.c new_notify_entry(const pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc               527 lib/pengine/pe_notif.c     entry->rsc = rsc;
rsc               541 lib/pengine/pe_notif.c collect_resource_data(pcmk_resource_t *rsc, bool activity,
rsc               553 lib/pengine/pe_notif.c         n_data->allowed_nodes = rsc->priv->allowed_nodes;
rsc               557 lib/pengine/pe_notif.c     if (rsc->priv->children != NULL) {
rsc               558 lib/pengine/pe_notif.c         for (iter = rsc->priv->children; iter != NULL; iter = iter->next) {
rsc               568 lib/pengine/pe_notif.c     if (rsc->priv->active_nodes != NULL) {
rsc               569 lib/pengine/pe_notif.c         node = rsc->priv->active_nodes->data; // First is sufficient
rsc               571 lib/pengine/pe_notif.c     entry = new_notify_entry(rsc, node);
rsc               574 lib/pengine/pe_notif.c     switch (rsc->priv->orig_role) {
rsc               596 lib/pengine/pe_notif.c             pcmk__sched_err(rsc->priv->scheduler,
rsc               599 lib/pengine/pe_notif.c                             rsc->id, pcmk__node_name(node),
rsc               600 lib/pengine/pe_notif.c                             pcmk_role_text(rsc->priv->orig_role));
rsc               610 lib/pengine/pe_notif.c     for (iter = rsc->priv->actions; iter != NULL; iter = iter->next) {
rsc               623 lib/pengine/pe_notif.c             entry = new_notify_entry(rsc, op->node);
rsc               672 lib/pengine/pe_notif.c add_notif_keys(const pcmk_resource_t *rsc, notify_data_t *n_data)
rsc               756 lib/pengine/pe_notif.c     source = g_hash_table_lookup(rsc->priv->meta,
rsc               759 lib/pengine/pe_notif.c         get_node_names(rsc->priv->scheduler->nodes, &node_list, &metal_list);
rsc               762 lib/pengine/pe_notif.c         get_node_names(rsc->priv->scheduler->nodes, &node_list, NULL);
rsc               808 lib/pengine/pe_notif.c create_notify_actions(pcmk_resource_t *rsc, notify_data_t *n_data)
rsc               816 lib/pengine/pe_notif.c     if (rsc->priv->children != NULL) {
rsc               817 lib/pengine/pe_notif.c         g_list_foreach(rsc->priv->children, (GFunc) create_notify_actions,
rsc               823 lib/pengine/pe_notif.c     for (iter = rsc->priv->actions; iter != NULL; iter = iter->next) {
rsc               845 lib/pengine/pe_notif.c                 pcmk__rsc_trace(rsc, "No notify action needed for %s %s",
rsc               846 lib/pengine/pe_notif.c                                 rsc->id, n_data->action);
rsc               853 lib/pengine/pe_notif.c                 pcmk__rsc_trace(rsc, "No notify action needed for %s %s",
rsc               854 lib/pengine/pe_notif.c                                 rsc->id, n_data->action);
rsc               861 lib/pengine/pe_notif.c                 pcmk__rsc_trace(rsc, "No notify action needed for %s %s",
rsc               862 lib/pengine/pe_notif.c                                 rsc->id, n_data->action);
rsc               872 lib/pengine/pe_notif.c     pcmk__rsc_trace(rsc, "Creating notify actions for %s %s",
rsc               873 lib/pengine/pe_notif.c                     rsc->id, n_data->action);
rsc               876 lib/pengine/pe_notif.c     if ((rsc->priv->orig_role != pcmk_role_stopped)
rsc               879 lib/pengine/pe_notif.c         stop = find_first_action(rsc->priv->actions, NULL, PCMK_ACTION_STOP,
rsc               882 lib/pengine/pe_notif.c         for (iter = rsc->priv->active_nodes;
rsc               898 lib/pengine/pe_notif.c             new_notify_action(rsc, current_node, n_data->pre,
rsc               903 lib/pengine/pe_notif.c                 new_post_notify_action(rsc, current_node, n_data);
rsc               909 lib/pengine/pe_notif.c     if ((rsc->priv->next_role != pcmk_role_stopped)
rsc               912 lib/pengine/pe_notif.c         start = find_first_action(rsc->priv->actions, NULL,
rsc               927 lib/pengine/pe_notif.c         if (rsc->priv->assigned_node == NULL) {
rsc               928 lib/pengine/pe_notif.c             pcmk__sched_err(rsc->priv->scheduler,
rsc               930 lib/pengine/pe_notif.c                             pcmk_role_text(rsc->priv->next_role), rsc->id);
rsc               936 lib/pengine/pe_notif.c             new_notify_action(rsc, rsc->priv->assigned_node, n_data->pre,
rsc               939 lib/pengine/pe_notif.c         new_post_notify_action(rsc, rsc->priv->assigned_node, n_data);
rsc               951 lib/pengine/pe_notif.c pe__create_action_notifications(pcmk_resource_t *rsc, notify_data_t *n_data)
rsc               953 lib/pengine/pe_notif.c     if ((rsc == NULL) || (n_data == NULL)) {
rsc               956 lib/pengine/pe_notif.c     collect_resource_data(rsc, true, n_data);
rsc               957 lib/pengine/pe_notif.c     add_notif_keys(rsc, n_data);
rsc               958 lib/pengine/pe_notif.c     create_notify_actions(rsc, n_data);
rsc              1000 lib/pengine/pe_notif.c pe__order_notifs_after_fencing(const pcmk_action_t *stop, pcmk_resource_t *rsc,
rsc              1006 lib/pengine/pe_notif.c     n_data = pe__action_notif_pseudo_ops(rsc, PCMK_ACTION_STOP, NULL,
rsc              1010 lib/pengine/pe_notif.c         collect_resource_data(rsc, false, n_data);
rsc              1011 lib/pengine/pe_notif.c         add_notify_env(n_data, "notify_stop_resource", rsc->id);
rsc              1013 lib/pengine/pe_notif.c         create_notify_actions(uber_parent(rsc), n_data);
rsc                22 lib/pengine/pe_output.c pe__resource_description(const pcmk_resource_t *rsc, uint32_t show_opts)
rsc                28 lib/pengine/pe_output.c         desc = crm_element_value(rsc->priv->xml, PCMK_XA_DESCRIPTION);
rsc                71 lib/pengine/pe_output.c         pcmk_resource_t *rsc = (pcmk_resource_t *) gIter->data;
rsc                72 lib/pengine/pe_output.c         const char *type = g_hash_table_lookup(rsc->priv->meta,
rsc                77 lib/pengine/pe_output.c         if (rsc->priv->children != NULL) {
rsc                78 lib/pengine/pe_output.c             if (add_extra_info(node, rsc->priv->children, scheduler,
rsc                88 lib/pengine/pe_output.c         params = pe_rsc_params(rsc, node, scheduler);
rsc               307 lib/pengine/pe_output.c resource_history_string(pcmk_resource_t *rsc, const char *rsc_id, bool all,
rsc               311 lib/pengine/pe_output.c     if (rsc == NULL) {
rsc               331 lib/pengine/pe_output.c                                 rsc_id, rsc->priv->ban_after_failures,
rsc               389 lib/pengine/pe_output.c formatted_xml_buf(const pcmk_resource_t *rsc, GString *xml_buf, bool raw)
rsc               391 lib/pengine/pe_output.c     if (raw && (rsc->priv->orig_xml != NULL)) {
rsc               392 lib/pengine/pe_output.c         pcmk__xml_string(rsc->priv->orig_xml, pcmk__xml_fmt_pretty, xml_buf,
rsc               395 lib/pengine/pe_output.c         pcmk__xml_string(rsc->priv->xml, pcmk__xml_fmt_pretty, xml_buf, 0);
rsc               657 lib/pengine/pe_output.c                                   location->id, location->rsc->id,
rsc               677 lib/pengine/pe_output.c                    location->id, location->rsc->id,
rsc               696 lib/pengine/pe_output.c                                  PCMK_XA_RESOURCE, location->rsc->id,
rsc               730 lib/pengine/pe_output.c         const pcmk_resource_t *rsc = location->rsc;
rsc               736 lib/pengine/pe_output.c         if (!pcmk__str_in_list(rsc_printable_id(rsc), only_rsc,
rsc               738 lib/pengine/pe_output.c             && !pcmk__str_in_list(rsc_printable_id(pe__const_top_resource(rsc, false)),
rsc              1679 lib/pengine/pe_output.c         char *rsc = NULL;
rsc              1691 lib/pengine/pe_output.c         if (!parse_op_key(pcmk__xe_history_key(xml_op), &rsc, NULL, NULL)) {
rsc              1695 lib/pengine/pe_output.c         if (!pcmk__str_in_list(rsc, only_rsc, pcmk__str_star_matches)) {
rsc              1696 lib/pengine/pe_output.c             free(rsc);
rsc              1700 lib/pengine/pe_output.c         free(rsc);
rsc              1826 lib/pengine/pe_output.c                 pcmk_resource_t *rsc = (pcmk_resource_t *) lpc2->data;
rsc              1831 lib/pengine/pe_output.c                 out->message(out, (const char *) rsc->priv->xml->name,
rsc              1832 lib/pengine/pe_output.c                              show_opts, rsc, only_node, only_rsc);
rsc              1968 lib/pengine/pe_output.c                     pcmk_resource_t *rsc = (pcmk_resource_t *) gIter2->data;
rsc              1971 lib/pengine/pe_output.c                     out->message(out, (const char *) rsc->priv->xml->name,
rsc              1972 lib/pengine/pe_output.c                                  show_opts, rsc, only_node, only_rsc);
rsc              2101 lib/pengine/pe_output.c                 pcmk_resource_t *rsc = (pcmk_resource_t *) lpc->data;
rsc              2104 lib/pengine/pe_output.c                 out->message(out, (const char *) rsc->priv->xml->name,
rsc              2105 lib/pengine/pe_output.c                              show_opts, rsc, only_node, only_rsc);
rsc              2194 lib/pengine/pe_output.c     pcmk_resource_t *rsc = NULL;
rsc              2205 lib/pengine/pe_output.c     rsc = pe_find_resource(scheduler->priv->resources, op_rsc);
rsc              2207 lib/pengine/pe_output.c     if (rsc) {
rsc              2208 lib/pengine/pe_output.c         const pcmk_node_t *node = pcmk__current_node(rsc);
rsc              2209 lib/pengine/pe_output.c         const char *target_role = g_hash_table_lookup(rsc->priv->meta,
rsc              2214 lib/pengine/pe_output.c             node = rsc->priv->pending_node;
rsc              2217 lib/pengine/pe_output.c         node_str = pcmk__native_output_string(rsc, rsc_printable_id(rsc), node,
rsc              2252 lib/pengine/pe_output.c     pcmk_resource_t *rsc = NULL;
rsc              2274 lib/pengine/pe_output.c     rsc = pe_find_resource(scheduler->priv->resources, op_rsc);
rsc              2276 lib/pengine/pe_output.c     if (rsc) {
rsc              2277 lib/pengine/pe_output.c         const char *class = crm_element_value(rsc->priv->xml, PCMK_XA_CLASS);
rsc              2278 lib/pengine/pe_output.c         const char *provider = crm_element_value(rsc->priv->xml,
rsc              2280 lib/pengine/pe_output.c         const char *kind = crm_element_value(rsc->priv->xml, PCMK_XA_TYPE);
rsc              2290 lib/pengine/pe_output.c                            PCMK_XA_RSC, rsc_printable_id(rsc),
rsc              2460 lib/pengine/pe_output.c         pcmk_resource_t *rsc = NULL;
rsc              2467 lib/pengine/pe_output.c         rsc = pe_find_resource(scheduler->priv->resources, rsc_id);
rsc              2468 lib/pengine/pe_output.c         if (rsc == NULL) {
rsc              2480 lib/pengine/pe_output.c         parent = pe__const_top_resource(rsc, false);
rsc              2482 lib/pengine/pe_output.c             if (!pcmk__str_in_list(rsc_printable_id(rsc), only_rsc,
rsc              2488 lib/pengine/pe_output.c         } else if (rsc->priv->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc              2494 lib/pengine/pe_output.c             int failcount = pe_get_failcount(node, rsc, &last_failure,
rsc              2507 lib/pengine/pe_output.c             out->message(out, "resource-history", rsc, rsc_id, false,
rsc              2511 lib/pengine/pe_output.c             pcmk_resource_t *rsc = NULL;
rsc              2517 lib/pengine/pe_output.c             rsc = pe_find_resource(scheduler->priv->resources,
rsc              2526 lib/pengine/pe_output.c             out->message(out, "resource-operation-list", scheduler, rsc, node,
rsc              2751 lib/pengine/pe_output.c     const pcmk_resource_t *rsc = va_arg(args, const pcmk_resource_t *);
rsc              2756 lib/pengine/pe_output.c     if (rsc) {
rsc              2758 lib/pengine/pe_output.c                        prefix, rsc->id, uname, score);
rsc              2771 lib/pengine/pe_output.c     const pcmk_resource_t *rsc = va_arg(args, const pcmk_resource_t *);
rsc              2782 lib/pengine/pe_output.c     if (rsc) {
rsc              2783 lib/pengine/pe_output.c         crm_xml_add(node, PCMK_XA_ID, rsc->id);
rsc              2906 lib/pengine/pe_output.c     const pcmk_resource_t *rsc = va_arg(args, const pcmk_resource_t *);
rsc              2910 lib/pengine/pe_output.c     formatted_xml_buf(rsc, xml_buf, raw);
rsc              2929 lib/pengine/pe_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              2936 lib/pengine/pe_output.c     char *buf = resource_history_string(rsc, rsc_id, all, failcount, last_failure);
rsc              2952 lib/pengine/pe_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              2964 lib/pengine/pe_output.c     if (rsc == NULL) {
rsc              2967 lib/pengine/pe_output.c         char *migration_s = pcmk__itoa(rsc->priv->ban_after_failures);
rsc              3053 lib/pengine/pe_output.c         pcmk_resource_t *rsc = (pcmk_resource_t *) rsc_iter->data;
rsc              3057 lib/pengine/pe_output.c         gboolean is_active = rsc->priv->fns->active(rsc, TRUE);
rsc              3058 lib/pengine/pe_output.c         gboolean partially_active = rsc->priv->fns->active(rsc, FALSE);
rsc              3061 lib/pengine/pe_output.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_removed) && !is_active) {
rsc              3072 lib/pengine/pe_output.c                    && pcmk__is_primitive(rsc)) {
rsc              3081 lib/pengine/pe_output.c         } else if (partially_active && !pe__rsc_running_on_any(rsc, only_node)) {
rsc              3092 lib/pengine/pe_output.c         x = out->message(out, (const char *) rsc->priv->xml->name,
rsc              3093 lib/pengine/pe_output.c                          show_opts, rsc, only_node, only_rsc);
rsc              3129 lib/pengine/pe_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              3157 lib/pengine/pe_output.c             int failcount = pe_get_failcount(node, rsc, &last_failure,
rsc              3160 lib/pengine/pe_output.c             out->message(out, "resource-history", rsc, rsc_printable_id(rsc), true,
rsc              3182 lib/pengine/pe_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              3187 lib/pengine/pe_output.c                                         fn, rsc->id, pcmk__node_name(node));
rsc              3189 lib/pengine/pe_output.c     g_hash_table_foreach(rsc->priv->utilization, append_dump_text,
rsc              3202 lib/pengine/pe_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              3210 lib/pengine/pe_output.c                                             PCMK_XA_RESOURCE, rsc->id,
rsc              3214 lib/pengine/pe_output.c     g_hash_table_foreach(rsc->priv->utilization, add_dump_node, xml_node);
rsc                54 lib/pengine/pe_status_private.h pcmk_resource_t *pe__create_clone_child(pcmk_resource_t *rsc,
rsc                58 lib/pengine/pe_status_private.h void pe__create_action_notifications(pcmk_resource_t *rsc,
rsc                65 lib/pengine/pe_status_private.h notify_data_t *pe__action_notif_pseudo_ops(pcmk_resource_t *rsc,
rsc                71 lib/pengine/pe_status_private.h void pe__force_anon(const char *standard, pcmk_resource_t *rsc, const char *rid,
rsc                78 lib/pengine/pe_status_private.h gboolean pe__unpack_resource(xmlNode *xml_obj, pcmk_resource_t **rsc,
rsc               106 lib/pengine/pe_status_private.h pcmk__op_digest_t *pe__compare_fencing_digest(pcmk_resource_t *rsc,
rsc               117 lib/pengine/pe_status_private.h unsigned int pe__primitive_max_per_node(const pcmk_resource_t *rsc);
rsc               122 lib/pengine/pe_status_private.h unsigned int pe__group_max_per_node(const pcmk_resource_t *rsc);
rsc               127 lib/pengine/pe_status_private.h unsigned int pe__clone_max_per_node(const pcmk_resource_t *rsc);
rsc               132 lib/pengine/pe_status_private.h pcmk_node_t *pe__bundle_active_node(const pcmk_resource_t *rsc,
rsc               137 lib/pengine/pe_status_private.h unsigned int pe__bundle_max_per_node(const pcmk_resource_t *rsc);
rsc                30 lib/pengine/remote.c                                  const pcmk_resource_t *rsc)
rsc                32 lib/pengine/remote.c     if ((rsc != NULL) && (scheduler != NULL)
rsc                35 lib/pengine/remote.c         for (GList *gIter = rsc->priv->launched;
rsc                97 lib/pengine/remote.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc                99 lib/pengine/remote.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_is_remote_connection)
rsc               100 lib/pengine/remote.c             && (rsc->priv->launcher != NULL)) {
rsc               101 lib/pengine/remote.c             pcmk_node_t *guest_node = pcmk_find_node(scheduler, rsc->id);
rsc               186 lib/pengine/remote.c     pcmk_resource_t *rsc;   // Known resource corresponding to history entry
rsc               192 lib/pengine/remote.c pe__add_param_check(const xmlNode *rsc_op, pcmk_resource_t *rsc,
rsc               198 lib/pengine/remote.c     CRM_CHECK(scheduler && rsc_op && rsc && node, return);
rsc               205 lib/pengine/remote.c     check_op->rsc = rsc;
rsc               230 lib/pengine/remote.c         cb(check_op->rsc, check_op->node, check_op->rsc_op,
rsc               185 lib/pengine/status.c             pcmk_resource_t *rsc = item->data;
rsc               187 lib/pengine/status.c             rsc->priv->fns->count(item->data);
rsc               222 lib/pengine/status.c     pcmk_resource_t *rsc = NULL;
rsc               226 lib/pengine/status.c         rsc = (pcmk_resource_t *) iterator->data;
rsc               228 lib/pengine/status.c         rsc->priv->fns->free(rsc);
rsc                40 lib/pengine/tags.c         pcmk_resource_t *rsc =
rsc                43 lib/pengine/tags.c         if (!rsc) {
rsc                47 lib/pengine/tags.c         retval = g_list_append(retval, strdup(rsc_printable_id(rsc)));
rsc                60 lib/pengine/tests/native/native_find_rsc_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc                62 lib/pengine/tests/native/native_find_rsc_test.c         if (strcmp(rsc->id, "exim-group") == 0) {
rsc                63 lib/pengine/tests/native/native_find_rsc_test.c             exim_group = rsc;
rsc                64 lib/pengine/tests/native/native_find_rsc_test.c         } else if (strcmp(rsc->id, "httpd-bundle") == 0) {
rsc                65 lib/pengine/tests/native/native_find_rsc_test.c             httpd_bundle = rsc;
rsc                66 lib/pengine/tests/native/native_find_rsc_test.c         } else if (strcmp(rsc->id, "inactive-clone") == 0) {
rsc                67 lib/pengine/tests/native/native_find_rsc_test.c             inactive_clone = rsc;
rsc                68 lib/pengine/tests/native/native_find_rsc_test.c         } else if (strcmp(rsc->id, "inactive-group") == 0) {
rsc                69 lib/pengine/tests/native/native_find_rsc_test.c             inactive_group = rsc;
rsc                70 lib/pengine/tests/native/native_find_rsc_test.c         } else if (strcmp(rsc->id, "mysql-clone-group") == 0) {
rsc                71 lib/pengine/tests/native/native_find_rsc_test.c             mysql_clone_group = rsc;
rsc                72 lib/pengine/tests/native/native_find_rsc_test.c         } else if (strcmp(rsc->id, "promotable-clone") == 0) {
rsc                73 lib/pengine/tests/native/native_find_rsc_test.c             promotable_clone = rsc;
rsc                89 lib/pengine/tests/native/native_find_rsc_test.c     pcmk_resource_t *rsc = g_list_first(scheduler->priv->resources)->data;
rsc                90 lib/pengine/tests/native/native_find_rsc_test.c     char *id = rsc->id;
rsc                93 lib/pengine/tests/native/native_find_rsc_test.c     assert_non_null(rsc);
rsc                96 lib/pengine/tests/native/native_find_rsc_test.c     assert_null(native_find_rsc(rsc, NULL, NULL, 0));
rsc                99 lib/pengine/tests/native/native_find_rsc_test.c     name = crm_strdup_printf("%sX", rsc->id);
rsc               100 lib/pengine/tests/native/native_find_rsc_test.c     assert_null(native_find_rsc(rsc, name, NULL, 0));
rsc               103 lib/pengine/tests/native/native_find_rsc_test.c     name = crm_strdup_printf("x%s", rsc->id);
rsc               104 lib/pengine/tests/native/native_find_rsc_test.c     assert_null(native_find_rsc(rsc, name, NULL, 0));
rsc               107 lib/pengine/tests/native/native_find_rsc_test.c     name = g_ascii_strup(rsc->id, -1);
rsc               108 lib/pengine/tests/native/native_find_rsc_test.c     assert_null(native_find_rsc(rsc, name, NULL, 0));
rsc               112 lib/pengine/tests/native/native_find_rsc_test.c     rsc->id = NULL;
rsc               113 lib/pengine/tests/native/native_find_rsc_test.c     assert_null(native_find_rsc(rsc, id, NULL, 0));
rsc               114 lib/pengine/tests/native/native_find_rsc_test.c     rsc->id = id;
rsc               125 lib/pengine/tests/native/native_find_rsc_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               127 lib/pengine/tests/native/native_find_rsc_test.c         if (strcmp(rsc->id, "dummy") == 0) {
rsc               128 lib/pengine/tests/native/native_find_rsc_test.c             dummy = rsc;
rsc               220 lib/pengine/tests/native/native_find_rsc_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               222 lib/pengine/tests/native/native_find_rsc_test.c         if (strcmp(rsc->id, "Public-IP") == 0) {
rsc               223 lib/pengine/tests/native/native_find_rsc_test.c             public_ip = rsc;
rsc               263 lib/pengine/tests/native/native_find_rsc_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               265 lib/pengine/tests/native/native_find_rsc_test.c         if (strcmp(rsc->id, "inactive-dummy-1") == 0) {
rsc               266 lib/pengine/tests/native/native_find_rsc_test.c             inactive_dummy_1 = rsc;
rsc               365 lib/pengine/tests/native/native_find_rsc_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               367 lib/pengine/tests/native/native_find_rsc_test.c         if (strcmp(rsc->id, "promotable-rsc:0") == 0) {
rsc               368 lib/pengine/tests/native/native_find_rsc_test.c             promotable_0 = rsc;
rsc               369 lib/pengine/tests/native/native_find_rsc_test.c         } else if (strcmp(rsc->id, "promotable-rsc:1") == 0) {
rsc               370 lib/pengine/tests/native/native_find_rsc_test.c             promotable_1 = rsc;
rsc               506 lib/pengine/tests/native/native_find_rsc_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               508 lib/pengine/tests/native/native_find_rsc_test.c         if (strcmp(rsc->id, "promotable-rsc:0") == 0) {
rsc               509 lib/pengine/tests/native/native_find_rsc_test.c             promotable_0 = rsc;
rsc               510 lib/pengine/tests/native/native_find_rsc_test.c         } else if (strcmp(rsc->id, "promotable-rsc:1") == 0) {
rsc               511 lib/pengine/tests/native/native_find_rsc_test.c             promotable_1 = rsc;
rsc               677 lib/pengine/tests/native/native_find_rsc_test.c clone_group_rsc(void **rsc) {
rsc               719 lib/pengine/tests/native/native_find_rsc_test.c clone_group_instance_rsc(void **rsc) {
rsc               727 lib/pengine/tests/native/native_find_rsc_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               729 lib/pengine/tests/native/native_find_rsc_test.c         if (strcmp(rsc->id, "mysql-group:0") == 0) {
rsc               730 lib/pengine/tests/native/native_find_rsc_test.c             mysql_group_0 = rsc;
rsc               731 lib/pengine/tests/native/native_find_rsc_test.c         } else if (strcmp(rsc->id, "mysql-group:1") == 0) {
rsc               732 lib/pengine/tests/native/native_find_rsc_test.c             mysql_group_1 = rsc;
rsc               867 lib/pengine/tests/native/native_find_rsc_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               869 lib/pengine/tests/native/native_find_rsc_test.c         if (strcmp(rsc->id, "mysql-group:0") == 0) {
rsc               870 lib/pengine/tests/native/native_find_rsc_test.c             for (GList *iter2 = rsc->priv->children;
rsc                54 lib/pengine/tests/native/pe_base_name_eq_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc                56 lib/pengine/tests/native/pe_base_name_eq_test.c         if (strcmp(rsc->id, "dummy") == 0) {
rsc                57 lib/pengine/tests/native/pe_base_name_eq_test.c             dummy = rsc;
rsc                59 lib/pengine/tests/native/pe_base_name_eq_test.c         } else if (strcmp(rsc->id, "exim-group") == 0) {
rsc                60 lib/pengine/tests/native/pe_base_name_eq_test.c             exim_group = rsc;
rsc                62 lib/pengine/tests/native/pe_base_name_eq_test.c         } else if (strcmp(rsc->id, "httpd-bundle") == 0) {
rsc                63 lib/pengine/tests/native/pe_base_name_eq_test.c             httpd_bundle = rsc;
rsc                65 lib/pengine/tests/native/pe_base_name_eq_test.c         } else if (strcmp(rsc->id, "mysql-clone-group") == 0) {
rsc                66 lib/pengine/tests/native/pe_base_name_eq_test.c             for (GList *iter = rsc->priv->children;
rsc                78 lib/pengine/tests/native/pe_base_name_eq_test.c         } else if (strcmp(rsc->id, "promotable-clone") == 0) {
rsc                79 lib/pengine/tests/native/pe_base_name_eq_test.c             for (GList *iter = rsc->priv->children;
rsc                31 lib/pengine/unpack.c     pcmk_resource_t *rsc;       // Resource that history is for
rsc                70 lib/pengine/unpack.c static void unpack_rsc_op(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc               121 lib/pengine/unpack.c         pcmk_resource_t *rsc = node->priv->remote->priv->launcher;
rsc               123 lib/pengine/unpack.c         if (!pcmk_is_set(rsc->flags, pcmk__rsc_failed)) {
rsc               124 lib/pengine/unpack.c             if (!pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               128 lib/pengine/unpack.c                            pcmk__node_name(node), reason, rsc->id);
rsc               133 lib/pengine/unpack.c                                  pcmk__node_name(node), rsc->id, reason);
rsc               140 lib/pengine/unpack.c                 pcmk__set_rsc_flags(rsc,
rsc               154 lib/pengine/unpack.c         pcmk_resource_t *rsc = node->priv->remote;
rsc               156 lib/pengine/unpack.c         if ((rsc != NULL) && !pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc               653 lib/pengine/unpack.c unpack_launcher(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler)
rsc               657 lib/pengine/unpack.c     if (rsc->priv->children != NULL) {
rsc               658 lib/pengine/unpack.c         g_list_foreach(rsc->priv->children, (GFunc) unpack_launcher,
rsc               663 lib/pengine/unpack.c     launcher_id = g_hash_table_lookup(rsc->priv->meta, PCMK__META_CONTAINER);
rsc               665 lib/pengine/unpack.c         && !pcmk__str_eq(launcher_id, rsc->id, pcmk__str_none)) {
rsc               670 lib/pengine/unpack.c             rsc->priv->launcher = launcher;
rsc               672 lib/pengine/unpack.c                 g_list_append(launcher->priv->launched, rsc);
rsc               673 lib/pengine/unpack.c             pcmk__rsc_trace(rsc, "Resource %s's launcher is %s",
rsc               674 lib/pengine/unpack.c                             rsc->id, launcher_id);
rsc               677 lib/pengine/unpack.c                              rsc->id, launcher_id);
rsc               860 lib/pengine/unpack.c         pcmk_resource_t *rsc = (pcmk_resource_t *) gIter->data;
rsc               862 lib/pengine/unpack.c         unpack_launcher(rsc, scheduler);
rsc               863 lib/pengine/unpack.c         link_rsc2remotenode(scheduler, rsc);
rsc              1055 lib/pengine/unpack.c     pcmk_resource_t *rsc = NULL;
rsc              1076 lib/pengine/unpack.c     rsc = this_node->priv->remote;
rsc              1098 lib/pengine/unpack.c         || ((rsc != NULL) && !pcmk_is_set(rsc->flags, pcmk__rsc_managed))) {
rsc              1344 lib/pengine/unpack.c             pcmk_resource_t *rsc = this_node->priv->remote;
rsc              1346 lib/pengine/unpack.c             if ((rsc == NULL)
rsc              1348 lib/pengine/unpack.c                     && (rsc->priv->orig_role != pcmk_role_started))) {
rsc              1759 lib/pengine/unpack.c     pcmk_resource_t *rsc = this_node->priv->remote;
rsc              1764 lib/pengine/unpack.c     if (rsc == NULL) {
rsc              1775 lib/pengine/unpack.c     launcher = rsc->priv->launcher;
rsc              1778 lib/pengine/unpack.c         if (pcmk__list_of_1(rsc->priv->active_nodes)) {
rsc              1779 lib/pengine/unpack.c             host = rsc->priv->active_nodes->data;
rsc              1784 lib/pengine/unpack.c     if (rsc->priv->orig_role == pcmk_role_started) {
rsc              1789 lib/pengine/unpack.c     if ((rsc->priv->orig_role == pcmk_role_started)
rsc              1790 lib/pengine/unpack.c         && (rsc->priv->next_role == pcmk_role_stopped)) {
rsc              1804 lib/pengine/unpack.c     } else if (pcmk_is_set(rsc->flags, pcmk__rsc_failed)) {
rsc              1809 lib/pengine/unpack.c     } else if ((rsc->priv->orig_role == pcmk_role_stopped)
rsc              1985 lib/pengine/unpack.c     pcmk_resource_t *rsc = NULL;
rsc              1992 lib/pengine/unpack.c     if (pe__unpack_resource(xml_rsc, &rsc, NULL, scheduler) != pcmk_rc_ok) {
rsc              2005 lib/pengine/unpack.c         link_rsc2remotenode(scheduler, rsc);
rsc              2017 lib/pengine/unpack.c         pcmk__set_rsc_flags(rsc, pcmk__rsc_removed_launched);
rsc              2019 lib/pengine/unpack.c     pcmk__set_rsc_flags(rsc, pcmk__rsc_removed);
rsc              2020 lib/pengine/unpack.c     scheduler->priv->resources = g_list_append(scheduler->priv->resources, rsc);
rsc              2021 lib/pengine/unpack.c     return rsc;
rsc              2071 lib/pengine/unpack.c     pcmk_resource_t *rsc = NULL;
rsc              2082 lib/pengine/unpack.c          (rIter != NULL) && (rsc == NULL); rIter = rIter->next) {
rsc              2119 lib/pengine/unpack.c                 rsc = parent->priv->fns->find_rsc(child, rsc_id, NULL,
rsc              2121 lib/pengine/unpack.c                 if (rsc) {
rsc              2129 lib/pengine/unpack.c                     if (rsc->priv->active_nodes != NULL) {
rsc              2134 lib/pengine/unpack.c                         rsc = NULL;
rsc              2136 lib/pengine/unpack.c                         pcmk__rsc_trace(parent, "Resource %s, active", rsc->id);
rsc              2167 lib/pengine/unpack.c     if ((rsc == NULL) && !skip_inactive && (inactive_instance != NULL)) {
rsc              2170 lib/pengine/unpack.c         rsc = inactive_instance;
rsc              2186 lib/pengine/unpack.c     if ((rsc != NULL) && !pcmk_is_set(rsc->flags, pcmk__rsc_needs_fencing)
rsc              2191 lib/pengine/unpack.c         rsc = NULL;
rsc              2194 lib/pengine/unpack.c     if (rsc == NULL) {
rsc              2195 lib/pengine/unpack.c         rsc = create_anonymous_orphan(parent, rsc_id, node, scheduler);
rsc              2196 lib/pengine/unpack.c         pcmk__rsc_trace(parent, "Resource %s, orphan", rsc->id);
rsc              2198 lib/pengine/unpack.c     return rsc;
rsc              2205 lib/pengine/unpack.c     pcmk_resource_t *rsc = NULL;
rsc              2209 lib/pengine/unpack.c     rsc = pe_find_resource(scheduler->priv->resources, rsc_id);
rsc              2211 lib/pengine/unpack.c     if (rsc == NULL) {
rsc              2221 lib/pengine/unpack.c             rsc = clone0;
rsc              2230 lib/pengine/unpack.c     } else if (rsc->priv->variant > pcmk__rsc_variant_primitive) {
rsc              2236 lib/pengine/unpack.c         parent = uber_parent(rsc);
rsc              2242 lib/pengine/unpack.c             rsc = pe__find_bundle_replica(parent->priv->parent, node);
rsc              2246 lib/pengine/unpack.c             rsc = find_anonymous_clone(scheduler, node, parent, base);
rsc              2248 lib/pengine/unpack.c             pcmk__assert(rsc != NULL);
rsc              2252 lib/pengine/unpack.c     if (rsc && !pcmk__str_eq(rsc_id, rsc->id, pcmk__str_none)
rsc              2253 lib/pengine/unpack.c         && !pcmk__str_eq(rsc_id, rsc->priv->history_id, pcmk__str_none)) {
rsc              2255 lib/pengine/unpack.c         pcmk__str_update(&(rsc->priv->history_id), rsc_id);
rsc              2256 lib/pengine/unpack.c         pcmk__rsc_debug(rsc, "Internally renamed %s on %s to %s%s",
rsc              2257 lib/pengine/unpack.c                         rsc_id, pcmk__node_name(node), rsc->id,
rsc              2258 lib/pengine/unpack.c                         pcmk_is_set(rsc->flags, pcmk__rsc_removed)? " (ORPHAN)" : "");
rsc              2260 lib/pengine/unpack.c     return rsc;
rsc              2267 lib/pengine/unpack.c     pcmk_resource_t *rsc = NULL;
rsc              2272 lib/pengine/unpack.c     rsc = create_fake_resource(rsc_id, rsc_entry, scheduler);
rsc              2273 lib/pengine/unpack.c     if (rsc == NULL) {
rsc              2278 lib/pengine/unpack.c         pcmk__clear_rsc_flags(rsc, pcmk__rsc_managed);
rsc              2281 lib/pengine/unpack.c         CRM_CHECK(rsc != NULL, return NULL);
rsc              2282 lib/pengine/unpack.c         pcmk__rsc_trace(rsc, "Added orphan %s", rsc->id);
rsc              2283 lib/pengine/unpack.c         resource_location(rsc, NULL, -PCMK_SCORE_INFINITY,
rsc              2286 lib/pengine/unpack.c     return rsc;
rsc              2290 lib/pengine/unpack.c process_rsc_state(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc              2299 lib/pengine/unpack.c     pcmk__assert(rsc != NULL);
rsc              2300 lib/pengine/unpack.c     scheduler = rsc->priv->scheduler;
rsc              2301 lib/pengine/unpack.c     known_active = (rsc->priv->orig_role > pcmk_role_stopped);
rsc              2302 lib/pengine/unpack.c     pcmk__rsc_trace(rsc, "Resource %s is %s on %s: on_fail=%s",
rsc              2303 lib/pengine/unpack.c                     rsc->id, pcmk_role_text(rsc->priv->orig_role),
rsc              2307 lib/pengine/unpack.c     if (rsc->priv->orig_role != pcmk_role_unknown) {
rsc              2308 lib/pengine/unpack.c         pcmk_resource_t *iter = rsc;
rsc              2315 lib/pengine/unpack.c                 pcmk__rsc_trace(rsc, "%s (%s in history) known on %s",
rsc              2316 lib/pengine/unpack.c                                 rsc->id,
rsc              2317 lib/pengine/unpack.c                                 pcmk__s(rsc->priv->history_id, "the same"),
rsc              2331 lib/pengine/unpack.c         && pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc              2343 lib/pengine/unpack.c             pcmk__set_rsc_flags(rsc, pcmk__rsc_failed|pcmk__rsc_stop_if_failed);
rsc              2362 lib/pengine/unpack.c                                            rsc->id);
rsc              2369 lib/pengine/unpack.c                reason = crm_strdup_printf("%s is thought to be active there", rsc->id);
rsc              2392 lib/pengine/unpack.c             pcmk__set_rsc_flags(rsc, pcmk__rsc_failed);
rsc              2393 lib/pengine/unpack.c             demote_action(rsc, node, FALSE);
rsc              2400 lib/pengine/unpack.c             reason = crm_strdup_printf("%s failed there", rsc->id);
rsc              2414 lib/pengine/unpack.c             pcmk__clear_rsc_flags(rsc, pcmk__rsc_managed);
rsc              2415 lib/pengine/unpack.c             pcmk__set_rsc_flags(rsc, pcmk__rsc_blocked);
rsc              2422 lib/pengine/unpack.c             resource_location(rsc, node, -PCMK_SCORE_INFINITY,
rsc              2427 lib/pengine/unpack.c             pe__set_next_role(rsc, pcmk_role_stopped,
rsc              2433 lib/pengine/unpack.c                 pcmk__set_rsc_flags(rsc,
rsc              2435 lib/pengine/unpack.c                 stop_action(rsc, node, FALSE);
rsc              2440 lib/pengine/unpack.c             pcmk__set_rsc_flags(rsc, pcmk__rsc_failed|pcmk__rsc_stop_if_failed);
rsc              2441 lib/pengine/unpack.c             if ((rsc->priv->launcher != NULL) && pcmk__is_bundled(rsc)) {
rsc              2449 lib/pengine/unpack.c                                    rsc->priv->launcher);
rsc              2450 lib/pengine/unpack.c             } else if (rsc->priv->launcher != NULL) {
rsc              2451 lib/pengine/unpack.c                 stop_action(rsc->priv->launcher, node, FALSE);
rsc              2453 lib/pengine/unpack.c                 stop_action(rsc, node, FALSE);
rsc              2458 lib/pengine/unpack.c             pcmk__set_rsc_flags(rsc, pcmk__rsc_failed|pcmk__rsc_stop_if_failed);
rsc              2461 lib/pengine/unpack.c                 if (pcmk_is_set(rsc->flags, pcmk__rsc_is_remote_connection)) {
rsc              2462 lib/pengine/unpack.c                     tmpnode = pcmk_find_node(scheduler, rsc->id);
rsc              2477 lib/pengine/unpack.c                 stop_action(rsc, node, FALSE);
rsc              2482 lib/pengine/unpack.c             if (rsc->priv->remote_reconnect_ms > 0U) {
rsc              2483 lib/pengine/unpack.c                 pe__set_next_role(rsc, pcmk_role_stopped, "remote reset");
rsc              2493 lib/pengine/unpack.c     if (pcmk_all_flags_set(rsc->flags,
rsc              2495 lib/pengine/unpack.c         tmpnode = pcmk_find_node(scheduler, rsc->id);
rsc              2502 lib/pengine/unpack.c         if (pcmk_is_set(rsc->flags, pcmk__rsc_removed)) {
rsc              2503 lib/pengine/unpack.c             if (pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc              2506 lib/pengine/unpack.c                            rsc->id, pcmk__node_name(node));
rsc              2510 lib/pengine/unpack.c                            " is set to false", rsc->id, pcmk__node_name(node));
rsc              2514 lib/pengine/unpack.c         native_add_running(rsc, node, scheduler,
rsc              2521 lib/pengine/unpack.c                 pcmk__set_rsc_flags(rsc, pcmk__rsc_failed);
rsc              2524 lib/pengine/unpack.c                 pcmk__set_rsc_flags(rsc,
rsc              2529 lib/pengine/unpack.c     } else if ((rsc->priv->history_id != NULL)
rsc              2530 lib/pengine/unpack.c                && (strchr(rsc->priv->history_id, ':') != NULL)) {
rsc              2534 lib/pengine/unpack.c         pcmk__rsc_trace(rsc, "Clearing history ID %s for %s (stopped)",
rsc              2535 lib/pengine/unpack.c                         rsc->priv->history_id, rsc->id);
rsc              2536 lib/pengine/unpack.c         free(rsc->priv->history_id);
rsc              2537 lib/pengine/unpack.c         rsc->priv->history_id = NULL;
rsc              2540 lib/pengine/unpack.c         GList *possible_matches = pe__resource_actions(rsc, node,
rsc              2556 lib/pengine/unpack.c     if ((rsc->priv->orig_role == pcmk_role_stopped)
rsc              2557 lib/pengine/unpack.c         && (rsc->priv->active_nodes != NULL)
rsc              2558 lib/pengine/unpack.c         && (rsc->priv->partial_migration_target != NULL)
rsc              2559 lib/pengine/unpack.c         && pcmk__same_node(rsc->priv->partial_migration_source, node)) {
rsc              2561 lib/pengine/unpack.c         rsc->priv->orig_role = pcmk_role_started;
rsc              2567 lib/pengine/unpack.c process_recurring(pcmk_node_t *node, pcmk_resource_t *rsc,
rsc              2576 lib/pengine/unpack.c     pcmk__assert(rsc != NULL);
rsc              2577 lib/pengine/unpack.c     pcmk__rsc_trace(rsc, "%s: Start index %d, stop index = %d",
rsc              2578 lib/pengine/unpack.c                     rsc->id, start_index, stop_index);
rsc              2590 lib/pengine/unpack.c             pcmk__rsc_trace(rsc, "Skipping %s on %s: node is offline",
rsc              2591 lib/pengine/unpack.c                             rsc->id, pcmk__node_name(node));
rsc              2596 lib/pengine/unpack.c             pcmk__rsc_trace(rsc, "Skipping %s on %s: resource is not active",
rsc              2601 lib/pengine/unpack.c             pcmk__rsc_trace(rsc, "Skipping %s on %s: old %d",
rsc              2608 lib/pengine/unpack.c             pcmk__rsc_trace(rsc, "Skipping %s on %s: non-recurring",
rsc              2615 lib/pengine/unpack.c             pcmk__rsc_trace(rsc, "Skipping %s on %s: status",
rsc              2621 lib/pengine/unpack.c         key = pcmk__op_key(rsc->id, task, interval_ms);
rsc              2622 lib/pengine/unpack.c         pcmk__rsc_trace(rsc, "Creating %s on %s", key, pcmk__node_name(node));
rsc              2623 lib/pengine/unpack.c         custom_action(rsc, key, task, node, TRUE, scheduler);
rsc              2681 lib/pengine/unpack.c unpack_shutdown_lock(const xmlNode *rsc_entry, pcmk_resource_t *rsc,
rsc              2692 lib/pengine/unpack.c             pcmk__rsc_info(rsc, "Shutdown lock for %s on %s expired",
rsc              2693 lib/pengine/unpack.c                            rsc->id, pcmk__node_name(node));
rsc              2694 lib/pengine/unpack.c             pe__clear_resource_history(rsc, node);
rsc              2696 lib/pengine/unpack.c             rsc->priv->lock_node = node;
rsc              2697 lib/pengine/unpack.c             rsc->priv->lock_time = lock_time;
rsc              2723 lib/pengine/unpack.c     pcmk_resource_t *rsc = NULL;
rsc              2760 lib/pengine/unpack.c     rsc = unpack_find_resource(scheduler, node, rsc_id);
rsc              2761 lib/pengine/unpack.c     if (rsc == NULL) {
rsc              2766 lib/pengine/unpack.c             rsc = process_orphan_resource(lrm_resource, node, scheduler);
rsc              2769 lib/pengine/unpack.c     pcmk__assert(rsc != NULL);
rsc              2773 lib/pengine/unpack.c         unpack_shutdown_lock(lrm_resource, rsc, node, scheduler);
rsc              2777 lib/pengine/unpack.c     saved_role = rsc->priv->orig_role;
rsc              2778 lib/pengine/unpack.c     rsc->priv->orig_role = pcmk_role_unknown;
rsc              2784 lib/pengine/unpack.c         unpack_rsc_op(rsc, node, rsc_op, &last_failure, &on_fail);
rsc              2789 lib/pengine/unpack.c     process_recurring(node, rsc, start_index, stop_index, sorted_op_list,
rsc              2795 lib/pengine/unpack.c     process_rsc_state(rsc, node, on_fail);
rsc              2797 lib/pengine/unpack.c     if (get_target_role(rsc, &req_role)) {
rsc              2798 lib/pengine/unpack.c         if ((rsc->priv->next_role == pcmk_role_unknown)
rsc              2799 lib/pengine/unpack.c             || (req_role < rsc->priv->next_role)) {
rsc              2801 lib/pengine/unpack.c             pe__set_next_role(rsc, req_role, PCMK_META_TARGET_ROLE);
rsc              2803 lib/pengine/unpack.c         } else if (req_role > rsc->priv->next_role) {
rsc              2804 lib/pengine/unpack.c             pcmk__rsc_info(rsc,
rsc              2807 lib/pengine/unpack.c                            rsc->id, pcmk_role_text(rsc->priv->next_role),
rsc              2812 lib/pengine/unpack.c     if (saved_role > rsc->priv->orig_role) {
rsc              2813 lib/pengine/unpack.c         rsc->priv->orig_role = saved_role;
rsc              2816 lib/pengine/unpack.c     return rsc;
rsc              2829 lib/pengine/unpack.c         pcmk_resource_t *rsc;
rsc              2845 lib/pengine/unpack.c         rsc = pe_find_resource(scheduler->priv->resources, rsc_id);
rsc              2846 lib/pengine/unpack.c         if ((rsc == NULL) || (rsc->priv->launcher != NULL)
rsc              2847 lib/pengine/unpack.c             || !pcmk_is_set(rsc->flags, pcmk__rsc_removed_launched)) {
rsc              2851 lib/pengine/unpack.c         pcmk__rsc_trace(rsc, "Mapped launcher of removed resource %s to %s",
rsc              2852 lib/pengine/unpack.c                         rsc->id, launcher_id);
rsc              2853 lib/pengine/unpack.c         rsc->priv->launcher = launcher;
rsc              2855 lib/pengine/unpack.c                                                     rsc);
rsc              2890 lib/pengine/unpack.c         pcmk_resource_t *rsc = unpack_lrm_resource(node, rsc_entry, scheduler);
rsc              2892 lib/pengine/unpack.c         if ((rsc != NULL)
rsc              2893 lib/pengine/unpack.c             && pcmk_is_set(rsc->flags, pcmk__rsc_removed_launched)) {
rsc              2907 lib/pengine/unpack.c set_active(pcmk_resource_t *rsc)
rsc              2909 lib/pengine/unpack.c     const pcmk_resource_t *top = pe__const_top_resource(rsc, false);
rsc              2912 lib/pengine/unpack.c         rsc->priv->orig_role = pcmk_role_unpromoted;
rsc              2914 lib/pengine/unpack.c         rsc->priv->orig_role = pcmk_role_started;
rsc              3015 lib/pengine/unpack.c unknown_on_node(pcmk_resource_t *rsc, const char *node_name)
rsc              3025 lib/pengine/unpack.c                               node_name, rsc->id, PCMK_OCF_UNKNOWN);
rsc              3027 lib/pengine/unpack.c     search = xpath_search(rsc->priv->scheduler->input, xpath);
rsc              3206 lib/pengine/unpack.c add_dangling_migration(pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc              3208 lib/pengine/unpack.c     pcmk__rsc_trace(rsc, "Dangling migration of %s requires stop on %s",
rsc              3209 lib/pengine/unpack.c                     rsc->id, pcmk__node_name(node));
rsc              3210 lib/pengine/unpack.c     rsc->priv->orig_role = pcmk_role_stopped;
rsc              3211 lib/pengine/unpack.c     rsc->priv->dangling_migration_sources =
rsc              3212 lib/pengine/unpack.c         g_list_prepend(rsc->priv->dangling_migration_sources,
rsc              3265 lib/pengine/unpack.c     pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
rsc              3274 lib/pengine/unpack.c     source_newer_op = non_monitor_after(history->rsc->id, source, history->xml,
rsc              3278 lib/pengine/unpack.c     migrate_from = find_lrm_op(history->rsc->id, PCMK_ACTION_MIGRATE_FROM,
rsc              3295 lib/pengine/unpack.c     target_newer_state = newer_state_after_migrate(history->rsc->id, target,
rsc              3307 lib/pengine/unpack.c         add_dangling_migration(history->rsc, history->node);
rsc              3314 lib/pengine/unpack.c     history->rsc->priv->orig_role = pcmk_role_started;
rsc              3322 lib/pengine/unpack.c             native_add_running(history->rsc, target_node, scheduler, TRUE);
rsc              3325 lib/pengine/unpack.c             pcmk__set_rsc_flags(history->rsc,
rsc              3327 lib/pengine/unpack.c             pcmk__clear_rsc_flags(history->rsc, pcmk__rsc_migratable);
rsc              3339 lib/pengine/unpack.c         && unknown_on_node(history->rsc, target)) {
rsc              3346 lib/pengine/unpack.c         native_add_running(history->rsc, target_node, scheduler, FALSE);
rsc              3354 lib/pengine/unpack.c             history->rsc->priv->partial_migration_target = target_node;
rsc              3355 lib/pengine/unpack.c             history->rsc->priv->partial_migration_source = source_node;
rsc              3360 lib/pengine/unpack.c         pcmk__set_rsc_flags(history->rsc,
rsc              3362 lib/pengine/unpack.c         pcmk__clear_rsc_flags(history->rsc, pcmk__rsc_migratable);
rsc              3378 lib/pengine/unpack.c     pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
rsc              3389 lib/pengine/unpack.c     history->rsc->priv->orig_role = pcmk_role_started;
rsc              3392 lib/pengine/unpack.c     target_migrate_from = find_lrm_op(history->rsc->id,
rsc              3401 lib/pengine/unpack.c         !unknown_on_node(history->rsc, target)
rsc              3405 lib/pengine/unpack.c         && !newer_state_after_migrate(history->rsc->id, target, history->xml,
rsc              3414 lib/pengine/unpack.c             native_add_running(history->rsc, target_node, scheduler, FALSE);
rsc              3417 lib/pengine/unpack.c     } else if (!non_monitor_after(history->rsc->id, source, history->xml,
rsc              3425 lib/pengine/unpack.c         history->rsc->priv->dangling_migration_sources =
rsc              3426 lib/pengine/unpack.c             g_list_prepend(history->rsc->priv->dangling_migration_sources,
rsc              3443 lib/pengine/unpack.c     pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
rsc              3454 lib/pengine/unpack.c     history->rsc->priv->orig_role = pcmk_role_started;
rsc              3457 lib/pengine/unpack.c     source_migrate_to = find_lrm_op(history->rsc->id, PCMK_ACTION_MIGRATE_TO,
rsc              3465 lib/pengine/unpack.c         !unknown_on_node(history->rsc, source)
rsc              3469 lib/pengine/unpack.c         && !newer_state_after_migrate(history->rsc->id, source,
rsc              3478 lib/pengine/unpack.c             native_add_running(history->rsc, source_node, scheduler, TRUE);
rsc              3492 lib/pengine/unpack.c     const pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
rsc              3516 lib/pengine/unpack.c     crm_xml_add(history->xml, PCMK__XA_RSC_ID, history->rsc->id);
rsc              3552 lib/pengine/unpack.c ban_from_all_nodes(pcmk_resource_t *rsc)
rsc              3555 lib/pengine/unpack.c     const pcmk_scheduler_t *scheduler = rsc->priv->scheduler;
rsc              3557 lib/pengine/unpack.c     if (rsc->priv->parent != NULL) {
rsc              3558 lib/pengine/unpack.c         pcmk_resource_t *parent = uber_parent(rsc);
rsc              3565 lib/pengine/unpack.c             rsc = parent;
rsc              3570 lib/pengine/unpack.c     crm_notice("%s will not be started under current conditions", rsc->id);
rsc              3571 lib/pengine/unpack.c     if (rsc->priv->allowed_nodes != NULL) {
rsc              3572 lib/pengine/unpack.c         g_hash_table_destroy(rsc->priv->allowed_nodes);
rsc              3574 lib/pengine/unpack.c     rsc->priv->allowed_nodes = pe__node_list2table(scheduler->nodes);
rsc              3575 lib/pengine/unpack.c     g_hash_table_foreach(rsc->priv->allowed_nodes, set_node_score, &score);
rsc              3591 lib/pengine/unpack.c     xmlNode *config = pcmk__find_action_config(history->rsc, history->task,
rsc              3594 lib/pengine/unpack.c     GHashTable *meta = pcmk__unpack_action_meta(history->rsc, history->node,
rsc              3600 lib/pengine/unpack.c     *on_fail = pcmk__parse_on_fail(history->rsc, history->task,
rsc              3602 lib/pengine/unpack.c     *fail_role = pcmk__role_after_failure(history->rsc, history->task, *on_fail,
rsc              3625 lib/pengine/unpack.c     pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
rsc              3639 lib/pengine/unpack.c                   (is_probe? "probe" : history->task), history->rsc->id,
rsc              3649 lib/pengine/unpack.c                          (is_probe? "probe" : history->task), history->rsc->id,
rsc              3663 lib/pengine/unpack.c                        history->rsc->id, pcmk__node_name(history->node));
rsc              3672 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc, "on-fail %s -> %s for %s",
rsc              3679 lib/pengine/unpack.c         resource_location(history->rsc, history->node, -PCMK_SCORE_INFINITY,
rsc              3689 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_promoted;
rsc              3693 lib/pengine/unpack.c             history->rsc->priv->orig_role = pcmk_role_promoted;
rsc              3694 lib/pengine/unpack.c             pe__set_next_role(history->rsc, pcmk_role_stopped,
rsc              3698 lib/pengine/unpack.c             history->rsc->priv->orig_role = pcmk_role_stopped;
rsc              3706 lib/pengine/unpack.c             history->rsc->priv->orig_role = pcmk_role_unpromoted;
rsc              3712 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc, "Leaving %s stopped", history->rsc->id);
rsc              3713 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_stopped;
rsc              3715 lib/pengine/unpack.c     } else if (history->rsc->priv->orig_role < pcmk_role_started) {
rsc              3716 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc, "Setting %s active", history->rsc->id);
rsc              3717 lib/pengine/unpack.c         set_active(history->rsc);
rsc              3720 lib/pengine/unpack.c     pcmk__rsc_trace(history->rsc,
rsc              3722 lib/pengine/unpack.c                     history->rsc->id,
rsc              3723 lib/pengine/unpack.c                     pcmk_role_text(history->rsc->priv->orig_role),
rsc              3729 lib/pengine/unpack.c         && (history->rsc->priv->next_role < fail_role)) {
rsc              3730 lib/pengine/unpack.c         pe__set_next_role(history->rsc, fail_role, "failure");
rsc              3734 lib/pengine/unpack.c         ban_from_all_nodes(history->rsc);
rsc              3764 lib/pengine/unpack.c                     history->rsc->id, history->task,
rsc              3773 lib/pengine/unpack.c     pcmk__clear_rsc_flags(history->rsc, pcmk__rsc_managed);
rsc              3774 lib/pengine/unpack.c     pcmk__set_rsc_flags(history->rsc, pcmk__rsc_blocked);
rsc              3838 lib/pengine/unpack.c     if (!pcmk__is_bundled(history->rsc)
rsc              3893 lib/pengine/unpack.c         pcmk__rsc_debug(history->rsc,
rsc              3911 lib/pengine/unpack.c                 pcmk__rsc_info(history->rsc,
rsc              3913 lib/pengine/unpack.c                                history->rsc->id, pcmk__node_name(history->node),
rsc              3922 lib/pengine/unpack.c                 || !pcmk_is_set(history->rsc->flags, pcmk__rsc_managed)) {
rsc              3929 lib/pengine/unpack.c                 history->rsc->priv->orig_role = pcmk_role_stopped;
rsc              3931 lib/pengine/unpack.c                 pe__set_next_role(history->rsc, pcmk_role_unknown,
rsc              3942 lib/pengine/unpack.c                 pcmk__rsc_info(history->rsc,
rsc              3944 lib/pengine/unpack.c                                 history->rsc->id,
rsc              3950 lib/pengine/unpack.c                 history->rsc->priv->orig_role = pcmk_role_promoted;
rsc              3956 lib/pengine/unpack.c                 history->rsc->priv->orig_role = pcmk_role_promoted;
rsc              3999 lib/pengine/unpack.c                          history->exit_status, task, history->rsc->id,
rsc              4010 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc,
rsc              4023 lib/pengine/unpack.c                               pcmk_resource_t *rsc, pcmk_node_t *node)
rsc              4026 lib/pengine/unpack.c         if (pe__bundle_needs_remote_name(rsc)) {
rsc              4031 lib/pengine/unpack.c             pe__add_param_check(xml_op, rsc, node, pcmk__check_last_failure,
rsc              4032 lib/pengine/unpack.c                                 rsc->priv->scheduler);
rsc              4037 lib/pengine/unpack.c             digest_data = rsc_action_digest_cmp(rsc, xml_op, node,
rsc              4038 lib/pengine/unpack.c                                                 rsc->priv->scheduler);
rsc              4043 lib/pengine/unpack.c                               rsc->id, pcmk__xe_history_key(xml_op),
rsc              4072 lib/pengine/unpack.c should_ignore_failure_timeout(const pcmk_resource_t *rsc, const char *task,
rsc              4095 lib/pengine/unpack.c     if ((rsc->priv->remote_reconnect_ms > 0U)
rsc              4096 lib/pengine/unpack.c         && pcmk_is_set(rsc->priv->scheduler->flags,
rsc              4101 lib/pengine/unpack.c         pcmk_node_t *remote_node = pcmk_find_node(rsc->priv->scheduler,
rsc              4102 lib/pengine/unpack.c                                                   rsc->id);
rsc              4108 lib/pengine/unpack.c                          " until fencing has occurred", rsc->id);
rsc              4143 lib/pengine/unpack.c         pcmk__timeout_ms2s(history->rsc->priv->failure_expiration_ms);
rsc              4144 lib/pengine/unpack.c     pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
rsc              4147 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc,
rsc              4167 lib/pengine/unpack.c             && !should_ignore_failure_timeout(history->rsc, history->task,
rsc              4174 lib/pengine/unpack.c         unexpired_fail_count = pe_get_failcount(history->node, history->rsc,
rsc              4194 lib/pengine/unpack.c         if (pe_get_failcount(history->node, history->rsc, NULL,
rsc              4209 lib/pengine/unpack.c                 pcmk__rsc_trace(history->rsc,
rsc              4217 lib/pengine/unpack.c                    && (history->rsc->priv->remote_reconnect_ms > 0U)) {
rsc              4227 lib/pengine/unpack.c                                          history->rsc, history->node)) {
rsc              4235 lib/pengine/unpack.c         clear_op = pe__clear_failcount(history->rsc, history->node,
rsc              4239 lib/pengine/unpack.c             && (history->rsc->priv->remote_reconnect_ms > 0)) {
rsc              4250 lib/pengine/unpack.c                      history->task, history->rsc->id);
rsc              4251 lib/pengine/unpack.c             order_after_remote_fencing(clear_op, history->rsc, scheduler);
rsc              4264 lib/pengine/unpack.c                 pcmk__rsc_trace(history->rsc,
rsc              4306 lib/pengine/unpack.c         || (!pcmk__is_bundled(history->rsc)
rsc              4308 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_stopped;
rsc              4320 lib/pengine/unpack.c         if (history->rsc->priv->orig_role < pcmk_role_started) {
rsc              4321 lib/pengine/unpack.c             set_active(history->rsc);
rsc              4325 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_started;
rsc              4329 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_stopped;
rsc              4334 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_promoted;
rsc              4345 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_unpromoted;
rsc              4349 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_started;
rsc              4356 lib/pengine/unpack.c     } else if (history->rsc->priv->orig_role < pcmk_role_started) {
rsc              4357 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc, "%s active on %s",
rsc              4358 lib/pengine/unpack.c                         history->rsc->id, pcmk__node_name(history->node));
rsc              4359 lib/pengine/unpack.c         set_active(history->rsc);
rsc              4371 lib/pengine/unpack.c             pcmk__rsc_trace(history->rsc,
rsc              4373 lib/pengine/unpack.c                             history->rsc->id, pcmk__on_fail_text(*on_fail),
rsc              4383 lib/pengine/unpack.c             pe__set_next_role(history->rsc, pcmk_role_unknown,
rsc              4388 lib/pengine/unpack.c             if (history->rsc->priv->remote_reconnect_ms == 0U) {
rsc              4396 lib/pengine/unpack.c                 pe__set_next_role(history->rsc, pcmk_role_unknown,
rsc              4439 lib/pengine/unpack.c                          history->id, history->rsc->id,
rsc              4451 lib/pengine/unpack.c                          history->id, history->rsc->id,
rsc              4475 lib/pengine/unpack.c     if (!pcmk__is_bundled(history->rsc)
rsc              4479 lib/pengine/unpack.c         if (history->rsc->priv->orig_role <= pcmk_role_stopped) {
rsc              4480 lib/pengine/unpack.c             history->rsc->priv->orig_role = pcmk_role_unknown;
rsc              4484 lib/pengine/unpack.c                   history->id, history->rsc->id,
rsc              4496 lib/pengine/unpack.c                    history->id, history->task, history->rsc->id,
rsc              4515 lib/pengine/unpack.c                    history->rsc->id, pcmk__node_name(history->node));
rsc              4538 lib/pengine/unpack.c     pcmk_resource_t *ban_rsc = history->rsc;
rsc              4540 lib/pengine/unpack.c     if (!pcmk_is_set(history->rsc->flags, pcmk__rsc_unique)) {
rsc              4541 lib/pengine/unpack.c         ban_rsc = uber_parent(history->rsc);
rsc              4545 lib/pengine/unpack.c                crm_exit_str(orig_exit_status), history->rsc->id,
rsc              4629 lib/pengine/unpack.c         pcmk__set_rsc_flags(history->rsc, pcmk__rsc_start_pending);
rsc              4630 lib/pengine/unpack.c         set_active(history->rsc);
rsc              4633 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_promoted;
rsc              4645 lib/pengine/unpack.c         target = pcmk_find_node(history->rsc->priv->scheduler,
rsc              4648 lib/pengine/unpack.c             stop_action(history->rsc, target, FALSE);
rsc              4652 lib/pengine/unpack.c     if (history->rsc->priv->pending_action != NULL) {
rsc              4666 lib/pengine/unpack.c         history->rsc->private->pending_action = strdup("probe");
rsc              4667 lib/pengine/unpack.c         history->rsc->private->pending_node = history->node;
rsc              4670 lib/pengine/unpack.c         history->rsc->priv->pending_action = strdup(history->task);
rsc              4671 lib/pengine/unpack.c         history->rsc->priv->pending_node = history->node;
rsc              4676 lib/pengine/unpack.c unpack_rsc_op(pcmk_resource_t *rsc, pcmk_node_t *node, xmlNode *xml_op,
rsc              4681 lib/pengine/unpack.c     pcmk_resource_t *parent = rsc;
rsc              4686 lib/pengine/unpack.c         .rsc = rsc,
rsc              4692 lib/pengine/unpack.c     CRM_CHECK(rsc && node && xml_op, return);
rsc              4697 lib/pengine/unpack.c                          "without ID", rsc->id, pcmk__node_name(node));
rsc              4706 lib/pengine/unpack.c                          history.id, rsc->id, pcmk__node_name(node));
rsc              4711 lib/pengine/unpack.c         pcmk__rsc_trace(rsc,
rsc              4714 lib/pengine/unpack.c                         history.id, rsc->id, pcmk__node_name(node),
rsc              4727 lib/pengine/unpack.c     pcmk__rsc_trace(rsc, "Unpacking %s (%s call %d on %s): %s (%s)",
rsc              4734 lib/pengine/unpack.c         pcmk__rsc_trace(rsc,
rsc              4737 lib/pengine/unpack.c                         rsc->id, pcmk__node_name(node));
rsc              4749 lib/pengine/unpack.c     if (!pcmk__is_bundled(rsc) && pcmk_xe_mask_probe_failure(xml_op)) {
rsc              4754 lib/pengine/unpack.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_unique)) {
rsc              4755 lib/pengine/unpack.c         parent = uber_parent(rsc);
rsc              4774 lib/pengine/unpack.c                          history.task, rsc->id, pcmk__node_name(node),
rsc              4783 lib/pengine/unpack.c                               "hard-error", rsc->priv->scheduler);
rsc              4826 lib/pengine/unpack.c                  pcmk__s(history.exit_reason, ""), rsc->id,
rsc              4833 lib/pengine/unpack.c         pcmk__set_rsc_flags(rsc, pcmk__rsc_ignore_failure);
rsc              4860 lib/pengine/unpack.c                               "hard-error", rsc->priv->scheduler);
rsc              4863 lib/pengine/unpack.c             pcmk__sched_err(rsc->priv->scheduler,
rsc              4870 lib/pengine/unpack.c                               "fatal-error", rsc->priv->scheduler);
rsc              4875 lib/pengine/unpack.c     pcmk__rsc_trace(rsc, "%s role on %s after %s is %s (next %s)",
rsc              4876 lib/pengine/unpack.c                     rsc->id, pcmk__node_name(node), history.id,
rsc              4877 lib/pengine/unpack.c                     pcmk_role_text(rsc->priv->orig_role),
rsc              4878 lib/pengine/unpack.c                     pcmk_role_text(rsc->priv->next_role));
rsc              4976 lib/pengine/unpack.c extract_operations(const char *node, const char *rsc, xmlNode * rsc_entry, gboolean active_filter)
rsc              4996 lib/pengine/unpack.c         crm_xml_add(rsc_op, PCMK_XA_RESOURCE, rsc);
rsc              5038 lib/pengine/unpack.c find_operations(const char *rsc, const char *node, gboolean active_filter,
rsc              5097 lib/pengine/unpack.c                 if ((rsc != NULL)
rsc              5098 lib/pengine/unpack.c                     && !pcmk__str_eq(rsc_id, rsc, pcmk__str_none)) {
rsc                42 lib/pengine/utils.c         pcmk_resource_t *rsc = node->priv->remote->priv->launcher;
rsc                44 lib/pengine/utils.c         for (GList *n = rsc->priv->active_nodes; n != NULL; n = n->next) {
rsc               179 lib/pengine/utils.c pe__output_node_weights(const pcmk_resource_t *rsc, const char *comment,
rsc               191 lib/pengine/utils.c         out->message(out, "node-weight", rsc, comment, node->priv->name,
rsc               210 lib/pengine/utils.c                      const pcmk_resource_t *rsc, const char *comment,
rsc               221 lib/pengine/utils.c         if (rsc) {
rsc               225 lib/pengine/utils.c                                         comment, rsc->id,
rsc               253 lib/pengine/utils.c                         bool to_log, const pcmk_resource_t *rsc,
rsc               257 lib/pengine/utils.c     if ((rsc != NULL) && pcmk_is_set(rsc->flags, pcmk__rsc_removed)) {
rsc               267 lib/pengine/utils.c         pe__log_node_weights(file, function, line, rsc, comment, nodes);
rsc               269 lib/pengine/utils.c         pe__output_node_weights(rsc, comment, nodes, scheduler);
rsc               272 lib/pengine/utils.c     if (rsc == NULL) {
rsc               277 lib/pengine/utils.c     for (GList *gIter = rsc->priv->children;
rsc               326 lib/pengine/utils.c resource_node_score(pcmk_resource_t *rsc, const pcmk_node_t *node, int score,
rsc               331 lib/pengine/utils.c     if ((pcmk_is_set(rsc->flags, pcmk__rsc_exclusive_probes)
rsc               341 lib/pengine/utils.c         for (GList *gIter = rsc->priv->children;
rsc               350 lib/pengine/utils.c     match = g_hash_table_lookup(rsc->priv->allowed_nodes, node->priv->id);
rsc               353 lib/pengine/utils.c         g_hash_table_insert(rsc->priv->allowed_nodes,
rsc               357 lib/pengine/utils.c     pcmk__rsc_trace(rsc,
rsc               359 lib/pengine/utils.c                     tag, pcmk_readable_score(score), rsc->id,
rsc               365 lib/pengine/utils.c resource_location(pcmk_resource_t *rsc, const pcmk_node_t *node, int score,
rsc               369 lib/pengine/utils.c         resource_node_score(rsc, node, score, tag);
rsc               377 lib/pengine/utils.c             resource_node_score(rsc, node_iter, score, tag);
rsc               384 lib/pengine/utils.c         g_hash_table_iter_init(&iter, rsc->priv->allowed_nodes);
rsc               386 lib/pengine/utils.c             resource_node_score(rsc, node_iter, score, tag);
rsc               391 lib/pengine/utils.c         && (rsc->priv->assigned_node != NULL)) {
rsc               395 lib/pengine/utils.c                  rsc->id, pcmk__node_name(rsc->priv->assigned_node));
rsc               396 lib/pengine/utils.c         pcmk__free_node_copy(rsc->priv->assigned_node);
rsc               397 lib/pengine/utils.c         rsc->priv->assigned_node = NULL;
rsc               417 lib/pengine/utils.c get_target_role(const pcmk_resource_t *rsc, enum rsc_role_e *role)
rsc               420 lib/pengine/utils.c     const char *value = g_hash_table_lookup(rsc->priv->meta,
rsc               441 lib/pengine/utils.c                          "because '%s' is not valid", rsc->id, value);
rsc               445 lib/pengine/utils.c         if (pcmk_is_set(pe__const_top_resource(rsc, false)->flags,
rsc               455 lib/pengine/utils.c                              "clones", rsc->id, value);
rsc               563 lib/pengine/utils.c rsc_printable_id(const pcmk_resource_t *rsc)
rsc               565 lib/pengine/utils.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_unique)) {
rsc               566 lib/pengine/utils.c         return rsc->id;
rsc               568 lib/pengine/utils.c     return pcmk__xe_id(rsc->priv->xml);
rsc               572 lib/pengine/utils.c pe__clear_resource_flags_recursive(pcmk_resource_t *rsc, uint64_t flags)
rsc               574 lib/pengine/utils.c     pcmk__clear_rsc_flags(rsc, flags);
rsc               576 lib/pengine/utils.c     for (GList *gIter = rsc->priv->children;
rsc               597 lib/pengine/utils.c pe__set_resource_flags_recursive(pcmk_resource_t *rsc, uint64_t flags)
rsc               599 lib/pengine/utils.c     pcmk__set_rsc_flags(rsc, flags);
rsc               601 lib/pengine/utils.c     for (GList *gIter = rsc->priv->children;
rsc               610 lib/pengine/utils.c trigger_unfencing(pcmk_resource_t *rsc, pcmk_node_t *node, const char *reason,
rsc               617 lib/pengine/utils.c     } else if ((rsc != NULL)
rsc               618 lib/pengine/utils.c                && !pcmk_is_set(rsc->flags, pcmk__rsc_fence_device)) {
rsc               633 lib/pengine/utils.c     } else if(rsc) {
rsc               636 lib/pengine/utils.c         g_hash_table_iter_init(&iter, rsc->priv->allowed_nodes);
rsc               639 lib/pengine/utils.c                 trigger_unfencing(rsc, node, reason, dependency, scheduler);
rsc               731 lib/pengine/utils.c pe__resource_is_disabled(const pcmk_resource_t *rsc)
rsc               735 lib/pengine/utils.c     CRM_CHECK(rsc != NULL, return false);
rsc               736 lib/pengine/utils.c     target_role = g_hash_table_lookup(rsc->priv->meta,
rsc               744 lib/pengine/utils.c                 && pcmk_is_set(pe__const_top_resource(rsc, false)->flags,
rsc               762 lib/pengine/utils.c pe__rsc_running_on_only(const pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc               764 lib/pengine/utils.c     return (rsc != NULL) && pcmk__list_of_1(rsc->priv->active_nodes)
rsc               766 lib/pengine/utils.c                               rsc->priv->active_nodes->data, node);
rsc               770 lib/pengine/utils.c pe__rsc_running_on_any(pcmk_resource_t *rsc, GList *node_list)
rsc               772 lib/pengine/utils.c     if (rsc != NULL) {
rsc               773 lib/pengine/utils.c         for (GList *ele = rsc->priv->active_nodes; ele; ele = ele->next) {
rsc               785 lib/pengine/utils.c pcmk__rsc_filtered_by_node(pcmk_resource_t *rsc, GList *only_node)
rsc               787 lib/pengine/utils.c     return rsc->priv->fns->active(rsc, FALSE)
rsc               788 lib/pengine/utils.c            && !pe__rsc_running_on_any(rsc, only_node);
rsc               797 lib/pengine/utils.c         pcmk_resource_t *rsc = (pcmk_resource_t *) gIter->data;
rsc               802 lib/pengine/utils.c         if (pcmk__str_in_list(rsc_printable_id(rsc), filter, pcmk__str_star_matches) ||
rsc               803 lib/pengine/utils.c             ((rsc->priv->parent != NULL)
rsc               804 lib/pengine/utils.c              && pcmk__str_in_list(rsc_printable_id(rsc->priv->parent),
rsc               806 lib/pengine/utils.c             retval = g_list_prepend(retval, rsc);
rsc               855 lib/pengine/utils.c         pcmk_resource_t *rsc =
rsc               858 lib/pengine/utils.c         if (rsc) {
rsc               865 lib/pengine/utils.c                 resources = g_list_prepend(resources, strdup(rsc->id));
rsc               867 lib/pengine/utils.c                 resources = g_list_prepend(resources, strdup(rsc_printable_id(rsc)));
rsc               882 lib/pengine/utils.c pe__failed_probe_for_rsc(const pcmk_resource_t *rsc, const char *name)
rsc               884 lib/pengine/utils.c     const pcmk_resource_t *parent = pe__const_top_resource(rsc, false);
rsc               885 lib/pengine/utils.c     const char *rsc_id = rsc->id;
rsc               886 lib/pengine/utils.c     const pcmk_scheduler_t *scheduler = rsc->priv->scheduler;
rsc               117 lib/services/services.c expand_resource_class(const char *rsc, const char *standard, const char *agent)
rsc               126 lib/services/services.c             crm_debug("Found %s agent %s for %s", found_class, agent, rsc);
rsc               139 lib/services/services.c                      default_standard, agent, rsc);
rsc               220 lib/services/services.c     op->rsc = strdup(name);
rsc               221 lib/services/services.c     if (op->rsc == NULL) {
rsc               499 lib/services/services.c         crm_trace("Removing timer for call %s to %s", op->action, op->rsc);
rsc               599 lib/services/services.c     free(op->rsc);
rsc               817 lib/services/services.c     if (op->rsc) {
rsc               865 lib/services/services.c         && op->rsc && is_op_blocked(op->rsc)) {
rsc               883 lib/services/services.c is_op_blocked(const char *rsc)
rsc               890 lib/services/services.c         if (pcmk__str_eq(op->rsc, rsc, pcmk__str_none)) {
rsc               916 lib/services/services.c         if (is_op_blocked(op->rsc)) {
rsc              1014 lib/services/services.c               op->rsc, op->action, op->interval_ms, op->opaque->exec, op->rc);
rsc               472 lib/services/services_linux.c     if (op->rsc) {
rsc               473 lib/services/services_linux.c         set_ocf_env("OCF_RESOURCE_INSTANCE", op->rsc, NULL);
rsc               983 lib/services/services_linux.c     rc = pcmk__substitute_secrets(op->rsc, op->params);
rsc               988 lib/services/services_linux.c                      op->rsc, pcmk_rc_str(rc));
rsc               992 lib/services/services_linux.c                     op->rsc, pcmk_rc_str(rc));
rsc               101 lib/services/services_private.h gboolean is_op_blocked(const char *rsc);
rsc               315 lib/services/systemd.c                       error->name, pcmk__s(op->rsc, "unknown resource"));
rsc               327 lib/services/systemd.c              ((op->rsc == NULL)? "" : " for resource "), pcmk__s(op->rsc, ""),
rsc               752 lib/services/systemd.c                  op->action, pcmk__s(op->rsc, "unknown resource"));
rsc               763 lib/services/systemd.c                   op->action, pcmk__s(op->rsc, "unknown resource"), path);
rsc               917 lib/services/systemd.c               pcmk__s(op->rsc, "(unspecified)"), name,
rsc              1005 lib/services/systemd.c               ((op->rsc == NULL)? "" : " for resource "), pcmk__s(op->rsc, ""));
rsc              1055 lib/services/systemd.c              op->action, op->agent, op->rsc);
rsc              1098 lib/services/systemd.c               ((op->rsc == NULL)? "" : " for resource "), pcmk__s(op->rsc, ""));
rsc              1671 tools/crm_mon.c send_custom_trap(const char *node, const char *rsc, const char *task, int target_rc, int rc,
rsc              1683 tools/crm_mon.c     if(rsc) {
rsc              1684 tools/crm_mon.c         setenv("CRM_notify_rsc", rsc, 1);
rsc              1722 tools/crm_mon.c     char *rsc = NULL;
rsc              1751 tools/crm_mon.c     if (parse_op_key(id, &rsc, &task, NULL) == FALSE) {
rsc              1782 tools/crm_mon.c         crm_notice("%s of %s on %s completed: %s", task, rsc, node, desc);
rsc              1789 tools/crm_mon.c         crm_warn("%s of %s on %s failed: %s", task, rsc, node, desc);
rsc              1793 tools/crm_mon.c         crm_warn("%s of %s on %s failed: %s", task, rsc, node, desc);
rsc              1797 tools/crm_mon.c         send_custom_trap(node, rsc, task, target_rc, rc, status, desc);
rsc              1801 tools/crm_mon.c     free(rsc);
rsc               826 tools/crm_resource.c ban_or_move(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc               833 tools/crm_resource.c     CRM_CHECK(rsc != NULL, return EINVAL);
rsc               835 tools/crm_resource.c     current = pe__find_active_requires(rsc, &nactive);
rsc               842 tools/crm_resource.c     } else if (pcmk_is_set(rsc->flags, pcmk__rsc_promotable)) {
rsc               847 tools/crm_resource.c         for (iter = rsc->priv->children; iter != NULL; iter = iter->next) {
rsc               887 tools/crm_resource.c cleanup(pcmk__output_t *out, pcmk_resource_t *rsc, pcmk_node_t *node)
rsc               892 tools/crm_resource.c         rsc = uber_parent(rsc);
rsc               896 tools/crm_resource.c               rsc->id, options.rsc_id, (options.host_uname? options.host_uname: "all nodes"));
rsc               897 tools/crm_resource.c     rc = cli_resource_delete(controld_api, options.host_uname, rsc,
rsc               903 tools/crm_resource.c         cli_resource_check(out, rsc, node);
rsc              1065 tools/crm_resource.c refresh_resource(pcmk__output_t *out, pcmk_resource_t *rsc, pcmk_node_t *node)
rsc              1070 tools/crm_resource.c         rsc = uber_parent(rsc);
rsc              1074 tools/crm_resource.c               rsc->id, options.rsc_id, (options.host_uname? options.host_uname: "all nodes"));
rsc              1075 tools/crm_resource.c     rc = cli_resource_delete(controld_api, options.host_uname, rsc, NULL, 0,
rsc              1080 tools/crm_resource.c         cli_resource_check(out, rsc, node);
rsc              1439 tools/crm_resource.c     pcmk_resource_t *rsc = NULL;
rsc              1652 tools/crm_resource.c         rsc = pe_find_resource_with_flags(scheduler->priv->resources,
rsc              1654 tools/crm_resource.c         if (rsc == NULL) {
rsc              1664 tools/crm_resource.c         if (pcmk__is_clone(rsc->priv->parent)
rsc              1768 tools/crm_resource.c             rc = cli_resource_restart(out, rsc, node, options.move_lifetime,
rsc              1786 tools/crm_resource.c                 exit_code = cli_resource_execute(rsc, options.rsc_id,
rsc              1798 tools/crm_resource.c                 rc = pcmk__resource_digests(out, rsc, node,
rsc              1804 tools/crm_resource.c             rc = out->message(out, "locations-and-colocations", rsc,
rsc              1836 tools/crm_resource.c             GList *nodes = cli_resource_search(rsc, options.rsc_id, scheduler);
rsc              1843 tools/crm_resource.c             rc = cli_resource_print(rsc, scheduler, true);
rsc              1847 tools/crm_resource.c             rc = cli_resource_print(rsc, scheduler, false);
rsc              1855 tools/crm_resource.c                                   scheduler->priv->resources, rsc, node);
rsc              1865 tools/crm_resource.c                 rc = ban_or_move(out, rsc, options.move_lifetime);
rsc              1867 tools/crm_resource.c                 rc = cli_resource_move(rsc, options.rsc_id, options.host_uname,
rsc              1882 tools/crm_resource.c                 rc = ban_or_move(out, rsc, options.move_lifetime);
rsc              1902 tools/crm_resource.c             pcmk_node_t *current = rsc->priv->fns->active_node(rsc, &count,
rsc              1909 tools/crm_resource.c                          " returning the default value for %s", rsc->id,
rsc              1914 tools/crm_resource.c             crm_debug("Looking up %s in %s", options.prop_name, rsc->id);
rsc              1918 tools/crm_resource.c                 params = pe_rsc_params(rsc, current, scheduler);
rsc              1926 tools/crm_resource.c                 get_meta_attributes(params, rsc, NULL, scheduler);
rsc              1932 tools/crm_resource.c                 value = crm_element_value(rsc->priv->xml, options.prop_name);
rsc              1941 tools/crm_resource.c                 pe__unpack_dataset_nvpairs(rsc->priv->xml, PCMK_XE_UTILIZATION,
rsc              1947 tools/crm_resource.c             rc = out->message(out, "attribute-list", rsc, options.prop_name, value);
rsc              1964 tools/crm_resource.c             rc = cli_resource_update_attribute(rsc, options.rsc_id,
rsc              1976 tools/crm_resource.c             rc = cli_resource_delete_attribute(rsc, options.rsc_id,
rsc              1985 tools/crm_resource.c             if (rsc == NULL) {
rsc              1993 tools/crm_resource.c                 cleanup(out, rsc, node);
rsc              1998 tools/crm_resource.c             if (rsc == NULL) {
rsc              2001 tools/crm_resource.c                 refresh_resource(out, rsc, node);
rsc                44 tools/crm_resource.h     pcmk_resource_t *rsc;
rsc                56 tools/crm_resource.h     pcmk_resource_t *rsc;   // Resource being checked
rsc                61 tools/crm_resource.h resource_checks_t *cli_check_resource(pcmk_resource_t *rsc, char *role_s,
rsc                75 tools/crm_resource.h                                    const char *rsc, const char *node, gboolean promoted_role_only);
rsc                78 tools/crm_resource.h void cli_resource_print_cts(pcmk_resource_t *rsc, pcmk__output_t *out);
rsc                81 tools/crm_resource.h int cli_resource_print(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler,
rsc                87 tools/crm_resource.h int cli_resource_check(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc                91 tools/crm_resource.h GList *cli_resource_search(pcmk_resource_t *rsc, const char *requested_name,
rsc                94 tools/crm_resource.h                         const pcmk_resource_t *rsc, const char *operation,
rsc               100 tools/crm_resource.h int cli_resource_restart(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc               104 tools/crm_resource.h int cli_resource_move(const pcmk_resource_t *rsc, const char *rsc_id,
rsc               115 tools/crm_resource.h crm_exit_t cli_resource_execute(pcmk_resource_t *rsc,
rsc               122 tools/crm_resource.h int cli_resource_update_attribute(pcmk_resource_t *rsc,
rsc               129 tools/crm_resource.h int cli_resource_delete_attribute(pcmk_resource_t *rsc,
rsc               140 tools/crm_resource.h bool resource_is_running_on(pcmk_resource_t *rsc, const char *host);
rsc               357 tools/crm_resource_ban.c                          const char *rsc, const char *node,
rsc               377 tools/crm_resource_ban.c     if ((node != NULL) || (rsc != NULL) || promoted_role_only) {
rsc               383 tools/crm_resource_ban.c             if (promoted_role_only || (rsc != NULL)) {
rsc               388 tools/crm_resource_ban.c         if ((rsc != NULL) && promoted_role_only) {
rsc               391 tools/crm_resource_ban.c                            "@" PCMK_XA_RSC "='", rsc, "' "
rsc               394 tools/crm_resource_ban.c         } else if (rsc != NULL) {
rsc               397 tools/crm_resource_ban.c                            "@" PCMK_XA_RSC "='", rsc, "'", NULL);
rsc               438 tools/crm_resource_ban.c cli_resource_clear_all_expired(xmlNode *root, cib_t *cib_conn, const char *rsc,
rsc               461 tools/crm_resource_ban.c         build_clear_xpath_string(buf, constraint_node, rsc, node,
rsc                56 tools/crm_resource_print.c cli_resource_print_cts(pcmk_resource_t *rsc, pcmk__output_t *out)
rsc                60 tools/crm_resource_print.c     const char *rtype = crm_element_value(rsc->priv->xml, PCMK_XA_TYPE);
rsc                61 tools/crm_resource_print.c     const char *rprov = crm_element_value(rsc->priv->xml, PCMK_XA_PROVIDER);
rsc                62 tools/crm_resource_print.c     const char *rclass = crm_element_value(rsc->priv->xml, PCMK_XA_CLASS);
rsc                63 tools/crm_resource_print.c     pcmk_node_t *node = pcmk__current_node(rsc);
rsc                65 tools/crm_resource_print.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_fence_device)) {
rsc                76 tools/crm_resource_print.c               rsc->priv->xml->name, rsc->id,
rsc                77 tools/crm_resource_print.c               pcmk__s(rsc->priv->history_id, rsc->id),
rsc                78 tools/crm_resource_print.c               ((rsc->priv->parent == NULL)? "NA" : rsc->priv->parent->id),
rsc                79 tools/crm_resource_print.c               rprov ? rprov : "NA", rclass, rtype, host ? host : "NA", needs_quorum, rsc->flags,
rsc                80 tools/crm_resource_print.c               rsc->flags);
rsc                82 tools/crm_resource_print.c     g_list_foreach(rsc->priv->children, (GFunc) cli_resource_print_cts, out);
rsc               112 tools/crm_resource_print.c cli_resource_print(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler,
rsc               122 tools/crm_resource_print.c     out->message(out, (const char *) rsc->priv->xml->name, show_opts, rsc, all,
rsc               124 tools/crm_resource_print.c     out->message(out, "resource-config", rsc, !expanded);
rsc               155 tools/crm_resource_print.c                                    (const char *) ud->rsc->priv->xml->name,
rsc               156 tools/crm_resource_print.c                                    PCMK_XA_ID, ud->rsc->id,
rsc               218 tools/crm_resource_print.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               228 tools/crm_resource_print.c         out->err(out, "Attribute '%s' not found for '%s'", attr, rsc->id);
rsc               314 tools/crm_resource_print.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               322 tools/crm_resource_print.c         out->err(out, "Attribute '%s' not found for '%s'", attr, rsc->id);
rsc               497 tools/crm_resource_print.c     const pcmk_resource_t *parent = pe__const_top_resource(checks->rsc, false);
rsc               498 tools/crm_resource_print.c     const pcmk_scheduler_t *scheduler = checks->rsc->priv->scheduler;
rsc               544 tools/crm_resource_print.c     const pcmk_resource_t *parent = pe__const_top_resource(checks->rsc, false);
rsc               649 tools/crm_resource_print.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               656 tools/crm_resource_print.c     if ((rsc == NULL) && (host_uname == NULL)) {
rsc               661 tools/crm_resource_print.c             pcmk_resource_t *rsc = (pcmk_resource_t *) lpc->data;
rsc               663 tools/crm_resource_print.c             rsc->priv->fns->location(rsc, &hosts, pcmk__rsc_node_current);
rsc               666 tools/crm_resource_print.c                 out->list_item(out, "reason", "Resource %s is not running", rsc->id);
rsc               668 tools/crm_resource_print.c                 out->list_item(out, "reason", "Resource %s is running", rsc->id);
rsc               671 tools/crm_resource_print.c             cli_resource_check(out, rsc, NULL);
rsc               676 tools/crm_resource_print.c     } else if ((rsc != NULL) && (host_uname != NULL)) {
rsc               677 tools/crm_resource_print.c         if (resource_is_running_on(rsc, host_uname)) {
rsc               679 tools/crm_resource_print.c                            rsc->id, host_uname);
rsc               682 tools/crm_resource_print.c                            rsc->id, host_uname);
rsc               685 tools/crm_resource_print.c         cli_resource_check(out, rsc, node);
rsc               687 tools/crm_resource_print.c     } else if ((rsc == NULL) && (host_uname != NULL)) {
rsc               695 tools/crm_resource_print.c             pcmk_resource_t *rsc = (pcmk_resource_t *) lpc->data;
rsc               697 tools/crm_resource_print.c                            rsc->id, host_uname);
rsc               698 tools/crm_resource_print.c             cli_resource_check(out, rsc, node);
rsc               702 tools/crm_resource_print.c             pcmk_resource_t *rsc = (pcmk_resource_t *) lpc->data;
rsc               704 tools/crm_resource_print.c                            rsc->id, host_uname);
rsc               705 tools/crm_resource_print.c             cli_resource_check(out, rsc, node);
rsc               712 tools/crm_resource_print.c     } else if ((rsc != NULL) && (host_uname == NULL)) {
rsc               715 tools/crm_resource_print.c         rsc->priv->fns->location(rsc, &hosts, pcmk__rsc_node_current);
rsc               717 tools/crm_resource_print.c                        rsc->id, (hosts? "" : "not "));
rsc               718 tools/crm_resource_print.c         cli_resource_check(out, rsc, NULL);
rsc               732 tools/crm_resource_print.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               740 tools/crm_resource_print.c     if ((rsc == NULL) && (host_uname == NULL)) {
rsc               747 tools/crm_resource_print.c             pcmk_resource_t *rsc = (pcmk_resource_t *) lpc->data;
rsc               750 tools/crm_resource_print.c             rsc->priv->fns->location(rsc, &hosts, pcmk__rsc_node_current);
rsc               754 tools/crm_resource_print.c                                            PCMK_XA_ID, rsc->id,
rsc               758 tools/crm_resource_print.c             cli_resource_check(out, rsc, NULL);
rsc               766 tools/crm_resource_print.c     } else if ((rsc != NULL) && (host_uname != NULL)) {
rsc               767 tools/crm_resource_print.c         if (resource_is_running_on(rsc, host_uname)) {
rsc               771 tools/crm_resource_print.c         cli_resource_check(out, rsc, node);
rsc               773 tools/crm_resource_print.c     } else if ((rsc == NULL) && (host_uname != NULL)) {
rsc               783 tools/crm_resource_print.c             pcmk_resource_t *rsc = (pcmk_resource_t *) lpc->data;
rsc               786 tools/crm_resource_print.c                                            PCMK_XA_ID, rsc->id,
rsc               791 tools/crm_resource_print.c             cli_resource_check(out, rsc, node);
rsc               796 tools/crm_resource_print.c             pcmk_resource_t *rsc = (pcmk_resource_t *) lpc->data;
rsc               799 tools/crm_resource_print.c                                            PCMK_XA_ID, rsc->id,
rsc               804 tools/crm_resource_print.c             cli_resource_check(out, rsc, node);
rsc               813 tools/crm_resource_print.c     } else if ((rsc != NULL) && (host_uname == NULL)) {
rsc               816 tools/crm_resource_print.c         rsc->priv->fns->location(rsc, &hosts, pcmk__rsc_node_current);
rsc               818 tools/crm_resource_print.c         cli_resource_check(out, rsc, NULL);
rsc               827 tools/crm_resource_print.c add_resource_name(pcmk_resource_t *rsc, pcmk__output_t *out)
rsc               829 tools/crm_resource_print.c     if (rsc->priv->children == NULL) {
rsc               834 tools/crm_resource_print.c         out->list_item(out, PCMK_XE_RESOURCE, "%s", rsc->id);
rsc               836 tools/crm_resource_print.c         g_list_foreach(rsc->priv->children, (GFunc) add_resource_name, out);
rsc                25 tools/crm_resource_runtime.c build_node_info_list(const pcmk_resource_t *rsc)
rsc                29 tools/crm_resource_runtime.c     for (const GList *iter = rsc->priv->children;
rsc                41 tools/crm_resource_runtime.c             if (pcmk_is_set(rsc->flags, pcmk__rsc_promotable)
rsc                55 tools/crm_resource_runtime.c cli_resource_search(pcmk_resource_t *rsc, const char *requested_name,
rsc                59 tools/crm_resource_runtime.c     const pcmk_resource_t *parent = pe__const_top_resource(rsc, false);
rsc                61 tools/crm_resource_runtime.c     if (pcmk__is_clone(rsc)) {
rsc                62 tools/crm_resource_runtime.c         retval = build_node_info_list(rsc);
rsc                66 tools/crm_resource_runtime.c                && !pcmk_is_set(rsc->flags, pcmk__rsc_unique)
rsc                67 tools/crm_resource_runtime.c                && (rsc->priv->history_id != NULL)
rsc                68 tools/crm_resource_runtime.c                && pcmk__str_eq(requested_name, rsc->priv->history_id,
rsc                70 tools/crm_resource_runtime.c                && !pcmk__str_eq(requested_name, rsc->id, pcmk__str_none)) {
rsc                75 tools/crm_resource_runtime.c         for (GList *iter = rsc->priv->active_nodes;
rsc                82 tools/crm_resource_runtime.c             if (rsc->priv->fns->state(rsc, TRUE) == pcmk_role_promoted) {
rsc                96 tools/crm_resource_runtime.c                    const char *rsc, const char *attr_set_type, const char *set_name,
rsc               120 tools/crm_resource_runtime.c                    xpath_base, "//*[@" PCMK_XA_ID "=\"", rsc, "\"]", NULL);
rsc               171 tools/crm_resource_runtime.c                                        pcmk_resource_t *rsc, const char * attr_set,
rsc               176 tools/crm_resource_runtime.c     char *lookup_id = clone_strip(rsc->id);
rsc               178 tools/crm_resource_runtime.c     for (GList *gIter = rsc->priv->children;
rsc               186 tools/crm_resource_runtime.c         if (pcmk__is_clone(rsc)) {
rsc               197 tools/crm_resource_runtime.c         *result = g_list_append(*result, rsc);
rsc               206 tools/crm_resource_runtime.c find_matching_attr_resources(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc               220 tools/crm_resource_runtime.c         return g_list_append(result, rsc);
rsc               222 tools/crm_resource_runtime.c     if (pcmk__is_clone(rsc->priv->parent)) {
rsc               227 tools/crm_resource_runtime.c             rsc = rsc->priv->parent;
rsc               229 tools/crm_resource_runtime.c                       cmd, attr_name, rsc->id, rsc_id);
rsc               231 tools/crm_resource_runtime.c         return g_list_append(result, rsc);
rsc               233 tools/crm_resource_runtime.c     } else if ((rsc->priv->parent == NULL)
rsc               234 tools/crm_resource_runtime.c                && (rsc->priv->children != NULL) && pcmk__is_clone(rsc)) {
rsc               236 tools/crm_resource_runtime.c         pcmk_resource_t *child = rsc->priv->children->data;
rsc               244 tools/crm_resource_runtime.c                 rsc = child;
rsc               251 tools/crm_resource_runtime.c         return g_list_append(result, rsc);
rsc               254 tools/crm_resource_runtime.c     find_matching_attr_resources_recursive(out, &result, rsc, attr_set,
rsc               270 tools/crm_resource_runtime.c get_cib_rsc(xmlNode *cib_xml, const pcmk_resource_t *rsc)
rsc               274 tools/crm_resource_runtime.c                                     pcmk__xe_id(rsc->priv->xml));
rsc               282 tools/crm_resource_runtime.c update_element_attribute(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc               287 tools/crm_resource_runtime.c     xmlNode *rsc_xml = rsc->priv->xml;
rsc               289 tools/crm_resource_runtime.c     rsc_xml = get_cib_rsc(cib_xml_orig, rsc);
rsc               307 tools/crm_resource_runtime.c resources_with_attr(pcmk__output_t *out, cib_t *cib, pcmk_resource_t *rsc,
rsc               346 tools/crm_resource_runtime.c         *resources = g_list_append(*resources, rsc);
rsc               349 tools/crm_resource_runtime.c         *resources = find_matching_attr_resources(out, rsc, requested_name,
rsc               388 tools/crm_resource_runtime.c update_attribute(pcmk_resource_t *rsc, const char *requested_name,
rsc               394 tools/crm_resource_runtime.c     pcmk__output_t *out = rsc->priv->scheduler->priv->out;
rsc               398 tools/crm_resource_runtime.c     const char *top_id = pe__const_top_resource(rsc, false)->id;
rsc               405 tools/crm_resource_runtime.c     rc = resources_with_attr(out, cib, rsc, requested_name, attr_set, attr_set_type,
rsc               420 tools/crm_resource_runtime.c         xmlNode *rsc_xml = rsc->priv->xml;
rsc               425 tools/crm_resource_runtime.c         rsc = (pcmk_resource_t *) iter->data;
rsc               427 tools/crm_resource_runtime.c         lookup_id = clone_strip(rsc->id); /* Could be a cloned group! */
rsc               451 tools/crm_resource_runtime.c                 rsc_xml = get_cib_rsc(cib_xml_orig, rsc);
rsc               507 tools/crm_resource_runtime.c             ud->rsc = rsc;
rsc               527 tools/crm_resource_runtime.c             pcmk__set_rsc_flags(rsc, pcmk__rsc_detect_loop);
rsc               528 tools/crm_resource_runtime.c             for (GList *lpc = rsc->priv->with_this_colocations;
rsc               554 tools/crm_resource_runtime.c cli_resource_update_attribute(pcmk_resource_t *rsc, const char *requested_name,
rsc               564 tools/crm_resource_runtime.c     pcmk__output_t *out = rsc->priv->scheduler->priv->out;
rsc               572 tools/crm_resource_runtime.c         return update_element_attribute(out, rsc, cib, cib_xml_orig, attr_name,
rsc               579 tools/crm_resource_runtime.c         pcmk__unpack_constraints(rsc->priv->scheduler);
rsc               580 tools/crm_resource_runtime.c         pe__clear_resource_flags_on_all(rsc->priv->scheduler,
rsc               584 tools/crm_resource_runtime.c     rc = update_attribute(rsc, requested_name, attr_set, attr_set_type,
rsc               602 tools/crm_resource_runtime.c cli_resource_delete_attribute(pcmk_resource_t *rsc, const char *requested_name,
rsc               607 tools/crm_resource_runtime.c     pcmk__output_t *out = rsc->priv->scheduler->priv->out;
rsc               615 tools/crm_resource_runtime.c                            pe__const_top_resource(rsc, false)->id, NULL,
rsc               620 tools/crm_resource_runtime.c         xmlNode *rsc_xml = rsc->priv->xml;
rsc               622 tools/crm_resource_runtime.c         rsc_xml = get_cib_rsc(cib_xml_orig, rsc);
rsc               637 tools/crm_resource_runtime.c         resources = find_matching_attr_resources(out, rsc, requested_name,
rsc               642 tools/crm_resource_runtime.c         resources = g_list_append(resources, rsc);
rsc               652 tools/crm_resource_runtime.c         rsc = (pcmk_resource_t *) iter->data;
rsc               658 tools/crm_resource_runtime.c         lookup_id = clone_strip(rsc->id);
rsc               721 tools/crm_resource_runtime.c     pcmk_resource_t *rsc = pe_find_resource(scheduler->priv->resources, rsc_id);
rsc               723 tools/crm_resource_runtime.c     if (rsc == NULL) {
rsc               727 tools/crm_resource_runtime.c     } else if (!pcmk__is_primitive(rsc)) {
rsc               732 tools/crm_resource_runtime.c     rsc_class = crm_element_value(rsc->priv->xml, PCMK_XA_CLASS);
rsc               733 tools/crm_resource_runtime.c     rsc_provider = crm_element_value(rsc->priv->xml, PCMK_XA_PROVIDER);
rsc               734 tools/crm_resource_runtime.c     rsc_type = crm_element_value(rsc->priv->xml, PCMK_XA_TYPE);
rsc               767 tools/crm_resource_runtime.c     if (rsc->priv->history_id != NULL) {
rsc               768 tools/crm_resource_runtime.c         rsc_api_id = rsc->priv->history_id;
rsc               769 tools/crm_resource_runtime.c         rsc_long_id = rsc->id;
rsc               771 tools/crm_resource_runtime.c         rsc_api_id = rsc->id;
rsc               794 tools/crm_resource_runtime.c rsc_fail_name(const pcmk_resource_t *rsc)
rsc               796 tools/crm_resource_runtime.c     const char *name = pcmk__s(rsc->priv->history_id, rsc->id);
rsc               798 tools/crm_resource_runtime.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_unique)) {
rsc               920 tools/crm_resource_runtime.c clear_rsc_fail_attrs(const pcmk_resource_t *rsc, const char *operation,
rsc               925 tools/crm_resource_runtime.c     char *rsc_name = rsc_fail_name(rsc);
rsc               941 tools/crm_resource_runtime.c                     const pcmk_resource_t *rsc, const char *operation,
rsc               949 tools/crm_resource_runtime.c     if (rsc == NULL) {
rsc               952 tools/crm_resource_runtime.c     } else if (rsc->priv->children != NULL) {
rsc               954 tools/crm_resource_runtime.c         for (const GList *lpc = rsc->priv->children;
rsc               970 tools/crm_resource_runtime.c         GList *nodes = g_hash_table_get_values(rsc->priv->probed_nodes);
rsc               976 tools/crm_resource_runtime.c                    && pcmk_is_set(rsc->flags, pcmk__rsc_exclusive_probes)) {
rsc               980 tools/crm_resource_runtime.c             g_hash_table_iter_init(&iter, rsc->priv->allowed_nodes);
rsc               988 tools/crm_resource_runtime.c             nodes = g_hash_table_get_values(rsc->priv->allowed_nodes);
rsc               995 tools/crm_resource_runtime.c                 rc = cli_resource_delete(controld_api, node->priv->name, rsc,
rsc              1013 tools/crm_resource_runtime.c                  rsc->id, host_uname);
rsc              1019 tools/crm_resource_runtime.c                  rsc->id, host_uname);
rsc              1025 tools/crm_resource_runtime.c                  rsc->id, host_uname);
rsc              1029 tools/crm_resource_runtime.c     rc = clear_rsc_fail_attrs(rsc, operation, interval_spec, node);
rsc              1032 tools/crm_resource_runtime.c                  rsc->id, host_uname, pcmk_rc_str(rc));
rsc              1037 tools/crm_resource_runtime.c         rc = clear_rsc_failures(out, controld_api, host_uname, rsc->id, operation,
rsc              1040 tools/crm_resource_runtime.c         rc = clear_rsc_history(controld_api, host_uname, rsc->id, scheduler);
rsc              1044 tools/crm_resource_runtime.c                  rsc->id, host_uname, pcmk_rc_str(rc));
rsc              1046 tools/crm_resource_runtime.c         out->info(out, "Cleaned up %s on %s", rsc->id, host_uname);
rsc              1117 tools/crm_resource_runtime.c     const char *role_s = g_hash_table_lookup(checks->rsc->priv->meta,
rsc              1129 tools/crm_resource_runtime.c             if (pcmk_is_set(pe__const_top_resource(checks->rsc, false)->flags,
rsc              1143 tools/crm_resource_runtime.c     const char *managed_s = g_hash_table_lookup(checks->rsc->priv->meta,
rsc              1154 tools/crm_resource_runtime.c     const pcmk_node_t *lock_node = checks->rsc->priv->lock_node;
rsc              1200 tools/crm_resource_runtime.c         g_hash_table_iter_init(&iter, checks->rsc->priv->allowed_nodes);
rsc              1218 tools/crm_resource_runtime.c cli_resource_check(pcmk__output_t *out, pcmk_resource_t *rsc, pcmk_node_t *node)
rsc              1220 tools/crm_resource_runtime.c     resource_checks_t checks = { .rsc = rsc };
rsc              1240 tools/crm_resource_runtime.c generate_resource_params(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc              1252 tools/crm_resource_runtime.c     params = pe_rsc_params(rsc, node, scheduler);
rsc              1261 tools/crm_resource_runtime.c     get_meta_attributes(meta, rsc, NULL, scheduler);
rsc              1275 tools/crm_resource_runtime.c bool resource_is_running_on(pcmk_resource_t *rsc, const char *host)
rsc              1281 tools/crm_resource_runtime.c     if (rsc == NULL) {
rsc              1285 tools/crm_resource_runtime.c     rsc->priv->fns->location(rsc, &hosts, pcmk__rsc_node_current);
rsc              1291 tools/crm_resource_runtime.c             crm_trace("Resource %s is running on %s\n", rsc->id, host);
rsc              1297 tools/crm_resource_runtime.c         crm_trace("Resource %s is not running on: %s\n", rsc->id, host);
rsc              1301 tools/crm_resource_runtime.c         crm_trace("Resource %s is not running\n", rsc->id);
rsc              1326 tools/crm_resource_runtime.c         pcmk_resource_t *rsc = (pcmk_resource_t *) rIter->data;
rsc              1332 tools/crm_resource_runtime.c         if (pcmk__is_group(rsc)) {
rsc              1335 tools/crm_resource_runtime.c             member_active = get_active_resources(host, rsc->priv->children);
rsc              1337 tools/crm_resource_runtime.c         } else if (resource_is_running_on(rsc, host)) {
rsc              1338 tools/crm_resource_runtime.c             active = g_list_append(active, strdup(rsc->id));
rsc              1519 tools/crm_resource_runtime.c max_rsc_stop_timeout(pcmk_resource_t *rsc)
rsc              1526 tools/crm_resource_runtime.c     if (rsc == NULL) {
rsc              1531 tools/crm_resource_runtime.c     if (rsc->priv->children != NULL) {
rsc              1533 tools/crm_resource_runtime.c         for (GList *iter = rsc->priv->children;
rsc              1540 tools/crm_resource_runtime.c                 pcmk__rsc_trace(rsc,
rsc              1542 tools/crm_resource_runtime.c                                 "due to %s", rsc->id,
rsc              1551 tools/crm_resource_runtime.c     config = pcmk__find_action_config(rsc, PCMK_ACTION_STOP, 0, true);
rsc              1558 tools/crm_resource_runtime.c     meta = pcmk__unpack_action_meta(rsc, NULL, PCMK_ACTION_STOP, 0, config);
rsc              1590 tools/crm_resource_runtime.c         pcmk_resource_t *rsc = pe_find_resource(scheduler->priv->resources,
rsc              1592 tools/crm_resource_runtime.c         guint delay = max_rsc_stop_timeout(rsc);
rsc              1595 tools/crm_resource_runtime.c             pcmk__rsc_trace(rsc,
rsc              1597 tools/crm_resource_runtime.c                             pcmk__readable_interval(delay), rsc->id);
rsc              1630 tools/crm_resource_runtime.c cli_resource_restart(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc              1654 tools/crm_resource_runtime.c     pcmk_resource_t *parent = uber_parent(rsc);
rsc              1657 tools/crm_resource_runtime.c     const char *id = pcmk__s(rsc->priv->history_id, rsc->id);
rsc              1663 tools/crm_resource_runtime.c     if (pcmk__is_bundled(rsc)) {
rsc              1664 tools/crm_resource_runtime.c         rsc = parent->priv->parent;
rsc              1667 tools/crm_resource_runtime.c     running = resource_is_running_on(rsc, host);
rsc              1671 tools/crm_resource_runtime.c             lookup_id = strdup(rsc->id);
rsc              1673 tools/crm_resource_runtime.c             lookup_id = clone_strip(rsc->id);
rsc              1676 tools/crm_resource_runtime.c         rsc = parent->priv->fns->find_rsc(parent, lookup_id, node,
rsc              1680 tools/crm_resource_runtime.c         running = resource_is_running_on(rsc, host);
rsc              1692 tools/crm_resource_runtime.c     if (!pcmk_is_set(rsc->flags, pcmk__rsc_managed)) {
rsc              1697 tools/crm_resource_runtime.c     rsc_id = strdup(rsc->id);
rsc              1700 tools/crm_resource_runtime.c         lookup_id = strdup(rsc->id);
rsc              1702 tools/crm_resource_runtime.c         lookup_id = clone_strip(rsc->id);
rsc              1706 tools/crm_resource_runtime.c         if (pcmk__is_clone(rsc) || pe_bundle_replicas(rsc)) {
rsc              1776 tools/crm_resource_runtime.c         rc = cli_resource_update_attribute(rsc, rsc_id, NULL,
rsc              1858 tools/crm_resource_runtime.c         rc = cli_resource_update_attribute(rsc, rsc_id, NULL,
rsc              1866 tools/crm_resource_runtime.c         rc = cli_resource_delete_attribute(rsc, rsc_id, NULL,
rsc              1889 tools/crm_resource_runtime.c     while (waiting_for_starts(list_delta, rsc, host)) {
rsc              1897 tools/crm_resource_runtime.c         for (lpc = 0; (lpc < step_timeout_s) && waiting_for_starts(list_delta, rsc, host); lpc++) {
rsc              1943 tools/crm_resource_runtime.c         cli_resource_update_attribute(rsc, rsc_id, NULL,
rsc              1949 tools/crm_resource_runtime.c         cli_resource_delete_attribute(rsc, rsc_id, NULL,
rsc              2299 tools/crm_resource_runtime.c get_action_timeout(pcmk_resource_t *rsc, const char *action)
rsc              2302 tools/crm_resource_runtime.c     xmlNode *op = pcmk__find_action_config(rsc, action, 0, true);
rsc              2303 tools/crm_resource_runtime.c     GHashTable *meta = pcmk__unpack_action_meta(rsc, NULL, action, 0, op);
rsc              2315 tools/crm_resource_runtime.c cli_resource_execute(pcmk_resource_t *rsc, const char *requested_name,
rsc              2330 tools/crm_resource_runtime.c         if (pcmk__is_clone(rsc)) {
rsc              2331 tools/crm_resource_runtime.c             GList *nodes = cli_resource_search(rsc, requested_name, scheduler);
rsc              2334 tools/crm_resource_runtime.c                          rsc_action, rsc->id);
rsc              2346 tools/crm_resource_runtime.c     if (pcmk__is_clone(rsc)) {
rsc              2348 tools/crm_resource_runtime.c         rsc = rsc->priv->children->data;
rsc              2351 tools/crm_resource_runtime.c     if (pcmk__is_group(rsc)) {
rsc              2354 tools/crm_resource_runtime.c     } else if (pcmk__is_bundled(rsc)) {
rsc              2359 tools/crm_resource_runtime.c     rclass = crm_element_value(rsc->priv->xml, PCMK_XA_CLASS);
rsc              2360 tools/crm_resource_runtime.c     rprov = crm_element_value(rsc->priv->xml, PCMK_XA_PROVIDER);
rsc              2361 tools/crm_resource_runtime.c     rtype = crm_element_value(rsc->priv->xml, PCMK_XA_TYPE);
rsc              2363 tools/crm_resource_runtime.c     params = generate_resource_params(rsc, NULL /* @TODO use local node */,
rsc              2367 tools/crm_resource_runtime.c         timeout_ms = get_action_timeout(rsc, get_action(rsc_action));
rsc              2370 tools/crm_resource_runtime.c     if (!pcmk__is_anonymous_clone(rsc->priv->parent)) {
rsc              2371 tools/crm_resource_runtime.c         rid = rsc->id;
rsc              2382 tools/crm_resource_runtime.c cli_resource_move(const pcmk_resource_t *rsc, const char *rsc_id,
rsc              2399 tools/crm_resource_runtime.c         && !pcmk_is_set(rsc->flags, pcmk__rsc_promotable)) {
rsc              2401 tools/crm_resource_runtime.c         const pcmk_resource_t *p = pe__const_top_resource(rsc, false);
rsc              2404 tools/crm_resource_runtime.c             out->info(out, "Using parent '%s' for move instead of '%s'.", rsc->id, rsc_id);
rsc              2406 tools/crm_resource_runtime.c             rsc = p;
rsc              2415 tools/crm_resource_runtime.c     current = pe__find_active_requires(rsc, &count);
rsc              2417 tools/crm_resource_runtime.c     if (pcmk_is_set(rsc->flags, pcmk__rsc_promotable)) {
rsc              2421 tools/crm_resource_runtime.c         for (const GList *iter = rsc->priv->children;
rsc              2428 tools/crm_resource_runtime.c                 rsc = child;
rsc              2441 tools/crm_resource_runtime.c         if (pcmk__is_clone(rsc)) {
rsc              2471 tools/crm_resource_runtime.c               rsc->id, (promoted_role_only? " (promoted)" : ""),