rsc               457 daemons/attrd/attrd_corosync.c     const char *rsc = crm_element_value(xml, PCMK__XA_ATTR_RESOURCE);
rsc               468 daemons/attrd/attrd_corosync.c     if (attrd_failure_regex(&regex, rsc, op, interval_ms) != pcmk_ok) {
rsc               470 daemons/attrd/attrd_corosync.c                  pcmk__s(rsc, "all resources"));
rsc               483 daemons/attrd/attrd_corosync.c                       attr, pcmk__s(rsc, "all resources"));
rsc               102 daemons/attrd/attrd_ipc.c     const char *rsc, *op, *interval_spec;
rsc               113 daemons/attrd/attrd_ipc.c     rsc = crm_element_value(xml, PCMK__XA_ATTR_RESOURCE);
rsc               122 daemons/attrd/attrd_ipc.c     if (rsc) {
rsc               126 daemons/attrd/attrd_ipc.c             pattern = crm_strdup_printf(ATTRD_RE_CLEAR_ONE, rsc);
rsc               132 daemons/attrd/attrd_ipc.c                                         rsc, op, interval_ms);
rsc               198 daemons/attrd/attrd_utils.c attrd_failure_regex(regex_t *regex, const char *rsc, const char *op,
rsc               206 daemons/attrd/attrd_utils.c     if (rsc == NULL) {
rsc               209 daemons/attrd/attrd_utils.c         pattern = crm_strdup_printf(ATTRD_RE_CLEAR_ONE, rsc);
rsc               211 daemons/attrd/attrd_utils.c         pattern = crm_strdup_printf(ATTRD_RE_CLEAR_OP, rsc, op, interval_ms);
rsc                92 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               150 daemons/controld/controld_attrd.c                  "on %s node %s", interval_desc, op_desc, rsc,
rsc               152 daemons/controld/controld_attrd.c         rc = pcmk__attrd_api_clear_failures(attrd_api, host, rsc, op,
rsc               157 daemons/controld/controld_attrd.c                 CRM_XS " rc=%d", pcmk__s(rsc, "all resources"),
rsc               659 daemons/controld/controld_cib.c                                      const lrmd_rsc_info_t *rsc,
rsc               684 daemons/controld/controld_cib.c     if ((rsc == NULL) || (op->params == NULL)
rsc               685 daemons/controld/controld_cib.c         || !crm_op_needs_metadata(rsc->standard, op->op_type)) {
rsc               688 daemons/controld/controld_cib.c                   op->op_type, op->rsc_id, op->params, rsc);
rsc               705 daemons/controld/controld_cib.c     metadata = controld_get_rsc_metadata(lrm_state, rsc,
rsc               713 daemons/controld/controld_cib.c               rsc->standard, rsc->provider, rsc->type);
rsc               731 daemons/controld/controld_cib.c controld_record_pending_op(const char *node_name, const lrmd_rsc_info_t *rsc,
rsc               736 daemons/controld/controld_cib.c     CRM_CHECK((node_name != NULL) && (rsc != NULL) && (op != NULL),
rsc               760 daemons/controld/controld_cib.c     controld_update_resource_history(node_name, rsc, op, 0);
rsc               875 daemons/controld/controld_cib.c                                  const lrmd_rsc_info_t *rsc,
rsc               886 daemons/controld/controld_cib.c     if (rsc == NULL) {
rsc               888 daemons/controld/controld_cib.c         controld_ack_event_directly(NULL, NULL, rsc, op, op->rsc_id);
rsc               918 daemons/controld/controld_cib.c     crm_xml_add(xml, XML_AGENT_ATTR_CLASS, rsc->standard);
rsc               919 daemons/controld/controld_cib.c     crm_xml_add(xml, XML_AGENT_ATTR_PROVIDER, rsc->provider);
rsc               920 daemons/controld/controld_cib.c     crm_xml_add(xml, XML_ATTR_TYPE, rsc->type);
rsc               942 daemons/controld/controld_cib.c     controld_add_resource_history_xml(xml, rsc, op, node_name);
rsc                80 daemons/controld/controld_cib.h                                           const lrmd_rsc_info_t *rsc,
rsc                84 daemons/controld/controld_cib.h #define controld_add_resource_history_xml(parent, rsc, op, node_name)   \
rsc                85 daemons/controld/controld_cib.h     controld_add_resource_history_xml_as(__func__, (parent), (rsc),     \
rsc                89 daemons/controld/controld_cib.h                                 const lrmd_rsc_info_t *rsc,
rsc                93 daemons/controld/controld_cib.h                                       const lrmd_rsc_info_t *rsc,
rsc                33 daemons/controld/controld_execd.c     const char *rsc;
rsc                45 daemons/controld/controld_execd.c static void do_lrm_rsc_op(lrm_state_t *lrm_state, lrmd_rsc_info_t *rsc,
rsc                62 daemons/controld/controld_execd.c make_stop_id(const char *rsc, int call_id)
rsc                64 daemons/controld/controld_execd.c     return crm_strdup_printf("%s:%d", rsc, call_id);
rsc               146 daemons/controld/controld_execd.c     free(history->rsc.type);
rsc               147 daemons/controld/controld_execd.c     free(history->rsc.standard);
rsc               148 daemons/controld/controld_execd.c     free(history->rsc.provider);
rsc               158 daemons/controld/controld_execd.c update_history_cache(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, lrmd_event_data_t * op)
rsc               177 daemons/controld/controld_execd.c     if (entry == NULL && rsc) {
rsc               182 daemons/controld/controld_execd.c         entry->rsc.id = entry->id;
rsc               183 daemons/controld/controld_execd.c         entry->rsc.type = strdup(rsc->type);
rsc               184 daemons/controld/controld_execd.c         entry->rsc.standard = strdup(rsc->standard);
rsc               185 daemons/controld/controld_execd.c         pcmk__str_update(&entry->rsc.provider, rsc->provider);
rsc               266 daemons/controld/controld_execd.c                  const char *rsc_id, const lrmd_rsc_info_t *rsc,
rsc               272 daemons/controld/controld_execd.c     controld_ack_event_directly(ack_host, ack_sys, rsc, op, rsc_id);
rsc               545 daemons/controld/controld_execd.c         crm_xml_add(xml_rsc, XML_ATTR_TYPE, entry->rsc.type);
rsc               546 daemons/controld/controld_execd.c         crm_xml_add(xml_rsc, XML_AGENT_ATTR_CLASS, entry->rsc.standard);
rsc               547 daemons/controld/controld_execd.c         crm_xml_add(xml_rsc, XML_AGENT_ATTR_PROVIDER, entry->rsc.provider);
rsc               556 daemons/controld/controld_execd.c         controld_add_resource_history_xml(xml_rsc, &(entry->rsc), entry->failed,
rsc               558 daemons/controld/controld_execd.c         controld_add_resource_history_xml(xml_rsc, &(entry->rsc), entry->last,
rsc               561 daemons/controld/controld_execd.c             controld_add_resource_history_xml(xml_rsc, &(entry->rsc), gIter->data,
rsc               683 daemons/controld/controld_execd.c     if (pcmk__str_eq(event->rsc, op->rsc, pcmk__str_none)) {
rsc               684 daemons/controld/controld_execd.c         notify_deleted(event->lrm_state, op->input, event->rsc, event->rc);
rsc               693 daemons/controld/controld_execd.c     const char *rsc = user_data;
rsc               696 daemons/controld/controld_execd.c     if (pcmk__str_eq(rsc, pending->rsc_id, pcmk__str_none)) {
rsc               698 daemons/controld/controld_execd.c                  pending->op_key, pending->call_id, rsc);
rsc               736 daemons/controld/controld_execd.c     event.rsc = rsc_id;
rsc               849 daemons/controld/controld_execd.c     lrmd_rsc_info_t *rsc;
rsc               862 daemons/controld/controld_execd.c         remove = !cancel_op(data->lrm_state, data->rsc->id, key, op->call_id, data->remove);
rsc               868 daemons/controld/controld_execd.c cancel_op_key(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, const char *key, gboolean remove)
rsc               873 daemons/controld/controld_execd.c     CRM_CHECK(rsc != NULL, return FALSE);
rsc               877 daemons/controld/controld_execd.c     data.rsc = rsc;
rsc               963 daemons/controld/controld_execd.c delete_resource(lrm_state_t *lrm_state, const char *id, lrmd_rsc_info_t *rsc,
rsc               972 daemons/controld/controld_execd.c     if (rsc && unregister) {
rsc               985 daemons/controld/controld_execd.c             op->rsc = strdup(rsc->id);
rsc              1067 daemons/controld/controld_execd.c         delete_resource(lrm_state, entry->id, &entry->rsc, &gIter, from_sys,
rsc              1162 daemons/controld/controld_execd.c     lrmd_rsc_info_t *rsc = NULL;
rsc              1192 daemons/controld/controld_execd.c     if (get_lrm_resource(lrm_state, xml_rsc, TRUE, &rsc) == pcmk_ok) {
rsc              1193 daemons/controld/controld_execd.c         crm_info("Failing resource %s...", rsc->id);
rsc              1198 daemons/controld/controld_execd.c         lrmd_free_rsc_info(rsc);
rsc              1236 daemons/controld/controld_execd.c               lrmd_rsc_info_t *rsc, const char *from_host, const char *from_sys)
rsc              1261 daemons/controld/controld_execd.c     op_key = pcmk__op_key(rsc->id, op_task, interval_ms);
rsc              1272 daemons/controld/controld_execd.c         in_progress = cancel_op_key(lrm_state, rsc, op_key, TRUE);
rsc              1276 daemons/controld/controld_execd.c         in_progress = cancel_op(lrm_state, rsc->id, NULL, call, TRUE);
rsc              1280 daemons/controld/controld_execd.c     if (!in_progress || is_remote_lrmd_ra(NULL, NULL, rsc->id)) {
rsc              1281 daemons/controld/controld_execd.c         char *op_id = make_stop_id(rsc->id, call);
rsc              1283 daemons/controld/controld_execd.c         if (is_remote_lrmd_ra(NULL, NULL, rsc->id) == FALSE) {
rsc              1286 daemons/controld/controld_execd.c         controld_delete_action_history_by_key(rsc->id, lrm_state->node_name,
rsc              1288 daemons/controld/controld_execd.c         send_task_ok_ack(lrm_state, input, rsc->id, rsc, op_task,
rsc              1310 daemons/controld/controld_execd.c             send_task_ok_ack(lrm_state, input, rsc->id, rsc, op_task,
rsc              1321 daemons/controld/controld_execd.c               lrmd_rsc_info_t *rsc, const char *from_sys, const char *from_host,
rsc              1325 daemons/controld/controld_execd.c     int cib_rc = controld_delete_resource_history(rsc->id, lrm_state->node_name,
rsc              1332 daemons/controld/controld_execd.c         op = construct_op(lrm_state, input->xml, rsc->id, PCMK_ACTION_DELETE);
rsc              1338 daemons/controld/controld_execd.c         controld_ack_event_directly(from_host, from_sys, NULL, op, rsc->id);
rsc              1343 daemons/controld/controld_execd.c     if (crm_rsc_delete && is_remote_lrmd_ra(NULL, NULL, rsc->id)) {
rsc              1347 daemons/controld/controld_execd.c     delete_resource(lrm_state, rsc->id, rsc, NULL, from_sys,
rsc              1353 daemons/controld/controld_execd.c     lrmd_rsc_info_t *rsc;   // Copy of resource information
rsc              1358 daemons/controld/controld_execd.c new_metadata_cb_data(lrmd_rsc_info_t *rsc, xmlNode *input_xml)
rsc              1365 daemons/controld/controld_execd.c     data->rsc = lrmd_copy_rsc_info(rsc);
rsc              1372 daemons/controld/controld_execd.c     lrmd_free_rsc_info(data->rsc);
rsc              1394 daemons/controld/controld_execd.c         md = controld_cache_metadata(lrm_state->metadata_cache, data->rsc,
rsc              1398 daemons/controld/controld_execd.c         do_lrm_rsc_op(lrm_state, data->rsc, data->input_xml, md);
rsc              1489 daemons/controld/controld_execd.c         lrmd_rsc_info_t *rsc = NULL;
rsc              1498 daemons/controld/controld_execd.c         rc = get_lrm_resource(lrm_state, xml_rsc, create_rsc, &rsc);
rsc              1540 daemons/controld/controld_execd.c             if (!do_lrm_cancel(input, lrm_state, rsc, from_host, from_sys)) {
rsc              1546 daemons/controld/controld_execd.c             do_lrm_delete(input, lrm_state, rsc, from_sys, from_host,
rsc              1561 daemons/controld/controld_execd.c                 md = controld_get_rsc_metadata(lrm_state, rsc,
rsc              1565 daemons/controld/controld_execd.c             if ((md == NULL) && crm_op_needs_metadata(rsc->standard,
rsc              1580 daemons/controld/controld_execd.c                 data = new_metadata_cb_data(rsc, input->xml);
rsc              1582 daemons/controld/controld_execd.c                          rsc->id, rsc->standard,
rsc              1583 daemons/controld/controld_execd.c                          ((rsc->provider == NULL)? "" : ":"),
rsc              1584 daemons/controld/controld_execd.c                          ((rsc->provider == NULL)? "" : rsc->provider),
rsc              1585 daemons/controld/controld_execd.c                          rsc->type);
rsc              1586 daemons/controld/controld_execd.c                 (void) lrmd__metadata_async(rsc, metadata_complete,
rsc              1589 daemons/controld/controld_execd.c                 do_lrm_rsc_op(lrm_state, rsc, input->xml, md);
rsc              1593 daemons/controld/controld_execd.c         lrmd_free_rsc_info(rsc);
rsc              1739 daemons/controld/controld_execd.c                             const lrmd_rsc_info_t *rsc, lrmd_event_data_t *op,
rsc              1766 daemons/controld/controld_execd.c     controld_add_resource_history_xml(iter, rsc, op,
rsc              1806 daemons/controld/controld_execd.c     lrmd_rsc_info_t *rsc;
rsc              1818 daemons/controld/controld_execd.c         && pcmk__str_eq(op->rsc_id, event->rsc->id, pcmk__str_none)) {
rsc              1821 daemons/controld/controld_execd.c         remove = !cancel_op(event->lrm_state, event->rsc->id, key, op->call_id, FALSE);
rsc              1905 daemons/controld/controld_execd.c do_lrm_rsc_op(lrm_state_t *lrm_state, lrmd_rsc_info_t *rsc, xmlNode *msg,
rsc              1917 daemons/controld/controld_execd.c     CRM_CHECK((rsc != NULL) && (msg != NULL), return);
rsc              1931 daemons/controld/controld_execd.c                 operation, rsc->id, pcmk__s(transition, ""));
rsc              1953 daemons/controld/controld_execd.c     op = construct_op(lrm_state, msg, rsc->id, operation);
rsc              1956 daemons/controld/controld_execd.c     if (should_cancel_recurring(rsc->id, operation, op->interval_ms)) {
rsc              1960 daemons/controld/controld_execd.c         data.rsc = rsc;
rsc              1969 daemons/controld/controld_execd.c                       rsc->id, operation, op->interval_ms);
rsc              1976 daemons/controld/controld_execd.c                pcmk__readable_action(op->op_type, op->interval_ms), rsc->id,
rsc              1977 daemons/controld/controld_execd.c                lrm_state->node_name, pcmk__s(transition, ""), rsc->id,
rsc              1983 daemons/controld/controld_execd.c                    "(shutdown=%s)", operation, rsc->id,
rsc              1990 daemons/controld/controld_execd.c         controld_ack_event_directly(NULL, NULL, rsc, op, rsc->id);
rsc              1996 daemons/controld/controld_execd.c     controld_record_pending_op(lrm_state->node_name, rsc, op);
rsc              1998 daemons/controld/controld_execd.c     op_id = pcmk__op_key(rsc->id, op->op_type, op->interval_ms);
rsc              2002 daemons/controld/controld_execd.c         cancel_op_key(lrm_state, rsc, op_id, FALSE);
rsc              2005 daemons/controld/controld_execd.c     rc = controld_execute_resource_agent(lrm_state, rsc->id, op->op_type,
rsc              2013 daemons/controld/controld_execd.c         char *call_id_s = make_stop_id(rsc->id, call_id);
rsc              2023 daemons/controld/controld_execd.c         pending->rsc_id = strdup(rsc->id);
rsc              2039 daemons/controld/controld_execd.c             controld_ack_event_directly(NULL, NULL, rsc, op, rsc->id);
rsc              2047 daemons/controld/controld_execd.c                 CRM_XS " rc=%d", operation, rsc->id, pcmk_rc_str(rc), rc);
rsc              2056 daemons/controld/controld_execd.c                 operation, rsc->id, lrm_state->node_name, pcmk_rc_str(rc), rc);
rsc              2222 daemons/controld/controld_execd.c     lrmd_rsc_info_t *rsc = NULL;
rsc              2249 daemons/controld/controld_execd.c         rsc = lrm_state_get_rsc_info(lrm_state, op->rsc_id, 0);
rsc              2251 daemons/controld/controld_execd.c     if ((rsc == NULL) && action_xml) {
rsc              2262 daemons/controld/controld_execd.c             rsc = lrmd_new_rsc_info(op->rsc_id, standard, provider, type);
rsc              2306 daemons/controld/controld_execd.c             if (node_name && rsc) {
rsc              2310 daemons/controld/controld_execd.c                 controld_update_resource_history(node_name, rsc, op, lock_time);
rsc              2414 daemons/controld/controld_execd.c         } else if (rsc && (op->rc == PCMK_OCF_OK)) {
rsc              2417 daemons/controld/controld_execd.c             controld_cache_metadata(lrm_state->metadata_cache, rsc, metadata);
rsc              2434 daemons/controld/controld_execd.c     if (lrm_state && rsc) {
rsc              2435 daemons/controld/controld_execd.c         update_history_cache(lrm_state, rsc, op);
rsc              2438 daemons/controld/controld_execd.c     lrmd_free_rsc_info(rsc);
rsc                42 daemons/controld/controld_execd_state.c     free(op->rsc);
rsc               680 daemons/controld/controld_execd_state.c     lrmd_rsc_info_t *rsc = NULL;
rsc               689 daemons/controld/controld_execd_state.c     rsc = g_hash_table_lookup(lrm_state->rsc_info_cache, rsc_id);
rsc               690 daemons/controld/controld_execd_state.c     if (rsc == NULL) {
rsc               692 daemons/controld/controld_execd_state.c         rsc = ((lrmd_t *) lrm_state->conn)->cmds->get_rsc_info(lrm_state->conn, rsc_id, options);
rsc               693 daemons/controld/controld_execd_state.c         if (rsc == NULL) {
rsc               697 daemons/controld/controld_execd_state.c         g_hash_table_insert(lrm_state->rsc_info_cache, rsc->id, rsc);
rsc               700 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               178 daemons/controld/controld_lrm.h                                  const lrmd_rsc_info_t *rsc,
rsc               617 daemons/controld/controld_messages.c     const char *rsc = NULL;
rsc               630 daemons/controld/controld_messages.c             rsc = ID(xml_rsc);
rsc               642 daemons/controld/controld_messages.c     if ((rsc == NULL) || (uname == NULL)) {
rsc               653 daemons/controld/controld_messages.c               pcmk__readable_interval(interval_ms), rsc, uname);
rsc               658 daemons/controld/controld_messages.c     update_attrd_clear_failures(uname, rsc, op, interval_spec, is_remote_node);
rsc               661 daemons/controld/controld_messages.c     controld_cib_delete_last_failure(rsc, uname, op, interval_ms);
rsc               663 daemons/controld/controld_messages.c     lrm_clear_last_failure(rsc, uname, op, interval_ms);
rsc               123 daemons/controld/controld_metadata.c controld_cache_metadata(GHashTable *mdc, const lrmd_rsc_info_t *rsc,
rsc               134 daemons/controld/controld_metadata.c     CRM_CHECK(mdc && rsc && metadata_str, return NULL);
rsc               136 daemons/controld/controld_metadata.c     key = crm_generate_ra_key(rsc->standard, rsc->provider, rsc->type);
rsc               154 daemons/controld/controld_metadata.c     if (strcmp(rsc->standard, PCMK_RESOURCE_CLASS_OCF) == 0) {
rsc               199 daemons/controld/controld_metadata.c                      rsc->standard, rsc->provider, rsc->type);
rsc               236 daemons/controld/controld_metadata.c              rsc->id, rsc->standard, ((rsc->provider == NULL)? "" : ":"),
rsc               237 daemons/controld/controld_metadata.c              pcmk__s(rsc->provider, ""), rsc->type, reason);
rsc               256 daemons/controld/controld_metadata.c controld_get_rsc_metadata(lrm_state_t *lrm_state, const lrmd_rsc_info_t *rsc,
rsc               264 daemons/controld/controld_metadata.c     CRM_CHECK((lrm_state != NULL) && (rsc != NULL), return NULL);
rsc               267 daemons/controld/controld_metadata.c         key = crm_generate_ra_key(rsc->standard, rsc->provider, rsc->type);
rsc               274 daemons/controld/controld_metadata.c                       rsc->id, rsc->standard,
rsc               275 daemons/controld/controld_metadata.c                       ((rsc->provider == NULL)? "" : ":"),
rsc               276 daemons/controld/controld_metadata.c                       ((rsc->provider == NULL)? "" : rsc->provider),
rsc               277 daemons/controld/controld_metadata.c                       rsc->type);
rsc               301 daemons/controld/controld_metadata.c               rsc->id, rsc->standard,
rsc               302 daemons/controld/controld_metadata.c               ((rsc->provider == NULL)? "" : ":"),
rsc               303 daemons/controld/controld_metadata.c               ((rsc->provider == NULL)? "" : rsc->provider),
rsc               304 daemons/controld/controld_metadata.c               rsc->type);
rsc               305 daemons/controld/controld_metadata.c     rc = lrm_state_get_metadata(lrm_state, rsc->standard, rsc->provider,
rsc               306 daemons/controld/controld_metadata.c                                 rsc->type, &metadata_str, 0);
rsc               309 daemons/controld/controld_metadata.c                  rsc->id, rsc->standard,
rsc               310 daemons/controld/controld_metadata.c                  ((rsc->provider == NULL)? "" : ":"),
rsc               311 daemons/controld/controld_metadata.c                  ((rsc->provider == NULL)? "" : rsc->provider),
rsc               312 daemons/controld/controld_metadata.c                  rsc->type, pcmk_strerror(rc));
rsc               316 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               251 daemons/controld/controld_te_actions.c     xmlNode *rsc = NULL;
rsc               286 daemons/controld/controld_te_actions.c     rsc = create_xml_node(state, XML_CIB_TAG_LRM);
rsc               287 daemons/controld/controld_te_actions.c     crm_xml_add(rsc, XML_ATTR_ID, target_uuid);
rsc               289 daemons/controld/controld_te_actions.c     rsc = create_xml_node(rsc, XML_LRM_TAG_RESOURCES);
rsc               290 daemons/controld/controld_te_actions.c     rsc = create_xml_node(rsc, XML_LRM_TAG_RESOURCE);
rsc               291 daemons/controld/controld_te_actions.c     crm_xml_add(rsc, XML_ATTR_ID, rsc_id);
rsc               294 daemons/controld/controld_te_actions.c     crm_copy_xml_element(action_rsc, rsc, XML_ATTR_TYPE);
rsc               295 daemons/controld/controld_te_actions.c     crm_copy_xml_element(action_rsc, rsc, XML_AGENT_ATTR_CLASS);
rsc               296 daemons/controld/controld_te_actions.c     crm_copy_xml_element(action_rsc, rsc, XML_AGENT_ATTR_PROVIDER);
rsc               298 daemons/controld/controld_te_actions.c     pcmk__create_history_xml(rsc, op, CRM_FEATURE_SET, target_rc, target,
rsc               222 daemons/controld/controld_te_callbacks.c     xmlNode *rsc = NULL;
rsc               256 daemons/controld/controld_te_callbacks.c     for (rsc = pcmk__xml_first_child(xml); rsc != NULL;
rsc               257 daemons/controld/controld_te_callbacks.c          rsc = pcmk__xml_next(rsc)) {
rsc               258 daemons/controld/controld_te_callbacks.c         crm_trace("Processing %s", ID(rsc));
rsc               259 daemons/controld/controld_te_callbacks.c         process_lrm_resource_diff(rsc, node);
rsc                48 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               482 daemons/execd/cts-exec-helper.c     rsc = pe_find_resource_with_flags(scheduler->resources, options.rsc_id,
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 = calloc(1, sizeof(lrmd_rsc_t));
rsc               282 daemons/execd/execd_commands.c     crm_element_value_int(msg, F_LRMD_CALLOPTS, &rsc->call_opts);
rsc               284 daemons/execd/execd_commands.c     rsc->rsc_id = crm_element_value_copy(rsc_xml, F_LRMD_RSC_ID);
rsc               285 daemons/execd/execd_commands.c     rsc->class = crm_element_value_copy(rsc_xml, F_LRMD_CLASS);
rsc               286 daemons/execd/execd_commands.c     rsc->provider = crm_element_value_copy(rsc_xml, F_LRMD_PROVIDER);
rsc               287 daemons/execd/execd_commands.c     rsc->type = crm_element_value_copy(rsc_xml, F_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               371 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc;
rsc               379 daemons/execd/execd_commands.c     rsc = g_hash_table_lookup(rsc_list, cmd->rsc_id);
rsc               381 daemons/execd/execd_commands.c     CRM_ASSERT(rsc != NULL);
rsc               384 daemons/execd/execd_commands.c     rsc->recurring_ops = g_list_remove(rsc->recurring_ops, cmd);
rsc               385 daemons/execd/execd_commands.c     rsc->pending_ops = g_list_append(rsc->pending_ops, cmd);
rsc               389 daemons/execd/execd_commands.c     mainloop_set_trigger(rsc->work);
rsc               408 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = NULL;
rsc               411 daemons/execd/execd_commands.c     rsc = cmd->rsc_id ? g_hash_table_lookup(rsc_list, cmd->rsc_id) : NULL;
rsc               413 daemons/execd/execd_commands.c     if (rsc) {
rsc               414 daemons/execd/execd_commands.c         mainloop_set_trigger(rsc->work);
rsc               441 daemons/execd/execd_commands.c merge_recurring_duplicate(lrmd_rsc_t * rsc, lrmd_cmd_t * cmd)
rsc               451 daemons/execd/execd_commands.c     dup = find_duplicate_action(rsc->pending_ops, cmd);
rsc               454 daemons/execd/execd_commands.c         dup = find_duplicate_action(rsc->recurring_ops, cmd);
rsc               463 daemons/execd/execd_commands.c     if (pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH,
rsc               474 daemons/execd/execd_commands.c              rsc->rsc_id, normalize_action_name(rsc, dup->action),
rsc               491 daemons/execd/execd_commands.c         if (pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH,
rsc               496 daemons/execd/execd_commands.c             services_action_kick(rsc->rsc_id,
rsc               497 daemons/execd/execd_commands.c                                  normalize_action_name(rsc, dup->action),
rsc               505 daemons/execd/execd_commands.c schedule_lrmd_cmd(lrmd_rsc_t * rsc, lrmd_cmd_t * cmd)
rsc               508 daemons/execd/execd_commands.c     CRM_CHECK(rsc != NULL, return);
rsc               510 daemons/execd/execd_commands.c     crm_trace("Scheduling %s on %s", cmd->action, rsc->rsc_id);
rsc               512 daemons/execd/execd_commands.c     if (merge_recurring_duplicate(rsc, cmd)) {
rsc               521 daemons/execd/execd_commands.c         cancel_all_recurring(rsc, NULL);
rsc               524 daemons/execd/execd_commands.c     rsc->pending_ops = g_list_append(rsc->pending_ops, cmd);
rsc               528 daemons/execd/execd_commands.c     mainloop_set_trigger(rsc->work);
rsc               721 daemons/execd/execd_commands.c cmd_finalize(lrmd_cmd_t * cmd, lrmd_rsc_t * rsc)
rsc               724 daemons/execd/execd_commands.c               rsc ? rsc->active : NULL, cmd);
rsc               726 daemons/execd/execd_commands.c     if (rsc && (rsc->active == cmd)) {
rsc               727 daemons/execd/execd_commands.c         rsc->active = NULL;
rsc               728 daemons/execd/execd_commands.c         mainloop_set_trigger(rsc->work);
rsc               731 daemons/execd/execd_commands.c     if (!rsc) {
rsc               743 daemons/execd/execd_commands.c         if (rsc) {
rsc               744 daemons/execd/execd_commands.c             rsc->recurring_ops = g_list_remove(rsc->recurring_ops, cmd);
rsc               745 daemons/execd/execd_commands.c             rsc->pending_ops = g_list_remove(rsc->pending_ops, cmd);
rsc               749 daemons/execd/execd_commands.c         if (rsc) {
rsc               750 daemons/execd/execd_commands.c             rsc->pending_ops = g_list_remove(rsc->pending_ops, cmd);
rsc               792 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = NULL;
rsc               796 daemons/execd/execd_commands.c     while (g_hash_table_iter_next(&iter, (gpointer *) & key, (gpointer *) & rsc)) {
rsc               797 daemons/execd/execd_commands.c         if (pcmk_all_flags_set(rsc->call_opts, lrmd_opt_drop_recurring)) {
rsc               800 daemons/execd/execd_commands.c             cancel_all_recurring(rsc, client_id);
rsc               808 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc;
rsc               836 daemons/execd/execd_commands.c     rsc = cmd->rsc_id ? g_hash_table_lookup(rsc_list, cmd->rsc_id) : NULL;
rsc               839 daemons/execd/execd_commands.c     if (rsc && pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_SERVICE, pcmk__str_casei)) {
rsc               840 daemons/execd/execd_commands.c         rclass = resources_find_service_class(rsc->type);
rsc               841 daemons/execd/execd_commands.c     } else if(rsc) {
rsc               842 daemons/execd/execd_commands.c         rclass = rsc->class;
rsc               897 daemons/execd/execd_commands.c     if (rsc && pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_NAGIOS, pcmk__str_casei)) {
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     CRM_ASSERT(rsc);
rsc              1301 daemons/execd/execd_commands.c               rsc->rsc_id, cmd->action, rsc->class, rsc->provider, rsc->type);
rsc              1305 daemons/execd/execd_commands.c     if (pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_NAGIOS, pcmk__str_casei)
rsc              1309 daemons/execd/execd_commands.c         cmd_finalize(cmd, rsc);
rsc              1316 daemons/execd/execd_commands.c     action = services__create_resource_action(rsc->rsc_id, rsc->class, rsc->provider,
rsc              1317 daemons/execd/execd_commands.c                                      rsc->type,
rsc              1318 daemons/execd/execd_commands.c                                      normalize_action_name(rsc, cmd->action),
rsc              1325 daemons/execd/execd_commands.c         cmd_finalize(cmd, rsc);
rsc              1333 daemons/execd/execd_commands.c         cmd_finalize(cmd, rsc);
rsc              1366 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = (lrmd_rsc_t *) user_data;
rsc              1369 daemons/execd/execd_commands.c     CRM_CHECK(rsc != NULL, return FALSE);
rsc              1371 daemons/execd/execd_commands.c     if (rsc->active) {
rsc              1372 daemons/execd/execd_commands.c         crm_trace("%s is still active", rsc->rsc_id);
rsc              1376 daemons/execd/execd_commands.c     if (rsc->pending_ops) {
rsc              1377 daemons/execd/execd_commands.c         GList *first = rsc->pending_ops;
rsc              1386 daemons/execd/execd_commands.c         rsc->pending_ops = g_list_remove_link(rsc->pending_ops, first);
rsc              1396 daemons/execd/execd_commands.c         crm_trace("Nothing further to do for %s", rsc->rsc_id);
rsc              1400 daemons/execd/execd_commands.c     rsc->active = cmd;          /* only one op at a time for a rsc */
rsc              1402 daemons/execd/execd_commands.c         rsc->recurring_ops = g_list_append(rsc->recurring_ops, cmd);
rsc              1407 daemons/execd/execd_commands.c     if (pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH, pcmk__str_casei)) {
rsc              1408 daemons/execd/execd_commands.c         execute_stonith_action(rsc, cmd);
rsc              1410 daemons/execd/execd_commands.c         execute_nonstonith_action(rsc, cmd);
rsc              1420 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = data;
rsc              1421 daemons/execd/execd_commands.c     int is_stonith = pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH,
rsc              1424 daemons/execd/execd_commands.c     gIter = rsc->pending_ops;
rsc              1436 daemons/execd/execd_commands.c     g_list_free(rsc->pending_ops);
rsc              1438 daemons/execd/execd_commands.c     gIter = rsc->recurring_ops;
rsc              1449 daemons/execd/execd_commands.c             if (rsc->active != cmd) {
rsc              1457 daemons/execd/execd_commands.c             services_action_cancel(rsc->rsc_id,
rsc              1458 daemons/execd/execd_commands.c                                    normalize_action_name(rsc, cmd->action),
rsc              1465 daemons/execd/execd_commands.c     g_list_free(rsc->recurring_ops);
rsc              1467 daemons/execd/execd_commands.c     free(rsc->rsc_id);
rsc              1468 daemons/execd/execd_commands.c     free(rsc->class);
rsc              1469 daemons/execd/execd_commands.c     free(rsc->provider);
rsc              1470 daemons/execd/execd_commands.c     free(rsc->type);
rsc              1471 daemons/execd/execd_commands.c     mainloop_destroy_trigger(rsc->work);
rsc              1473 daemons/execd/execd_commands.c     free(rsc);
rsc              1524 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = build_rsc_from_xml(request);
rsc              1525 daemons/execd/execd_commands.c     lrmd_rsc_t *dup = g_hash_table_lookup(rsc_list, rsc->rsc_id);
rsc              1528 daemons/execd/execd_commands.c         pcmk__str_eq(rsc->class, dup->class, pcmk__str_casei) &&
rsc              1529 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              1531 daemons/execd/execd_commands.c         crm_notice("Ignoring duplicate registration of '%s'", rsc->rsc_id);
rsc              1532 daemons/execd/execd_commands.c         free_rsc(rsc);
rsc              1536 daemons/execd/execd_commands.c     g_hash_table_replace(rsc_list, rsc->rsc_id, rsc);
rsc              1537 daemons/execd/execd_commands.c     crm_info("Cached agent information for '%s'", rsc->rsc_id);
rsc              1548 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = NULL;
rsc              1553 daemons/execd/execd_commands.c         rsc = g_hash_table_lookup(rsc_list, rsc_id);
rsc              1554 daemons/execd/execd_commands.c         if (rsc == NULL) {
rsc              1561 daemons/execd/execd_commands.c     if (rsc) {
rsc              1562 daemons/execd/execd_commands.c         crm_xml_add(reply, F_LRMD_RSC_ID, rsc->rsc_id);
rsc              1563 daemons/execd/execd_commands.c         crm_xml_add(reply, F_LRMD_CLASS, rsc->class);
rsc              1564 daemons/execd/execd_commands.c         crm_xml_add(reply, F_LRMD_PROVIDER, rsc->provider);
rsc              1565 daemons/execd/execd_commands.c         crm_xml_add(reply, F_LRMD_TYPE, rsc->type);
rsc              1575 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              1614 daemons/execd/execd_commands.c     if (!(rsc = g_hash_table_lookup(rsc_list, rsc_id))) {
rsc              1625 daemons/execd/execd_commands.c     schedule_lrmd_cmd(rsc, cmd);
rsc              1634 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = g_hash_table_lookup(rsc_list, rsc_id);
rsc              1647 daemons/execd/execd_commands.c     if (!rsc) {
rsc              1651 daemons/execd/execd_commands.c     for (gIter = rsc->pending_ops; gIter != NULL; gIter = gIter->next) {
rsc              1656 daemons/execd/execd_commands.c             cmd_finalize(cmd, rsc);
rsc              1661 daemons/execd/execd_commands.c     if (pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH, pcmk__str_casei)) {
rsc              1664 daemons/execd/execd_commands.c         for (gIter = rsc->recurring_ops; gIter != NULL; gIter = gIter->next) {
rsc              1669 daemons/execd/execd_commands.c                 if (rsc->active != cmd) {
rsc              1670 daemons/execd/execd_commands.c                     cmd_finalize(cmd, rsc);
rsc              1676 daemons/execd/execd_commands.c                                       normalize_action_name(rsc, action),
rsc              1689 daemons/execd/execd_commands.c cancel_all_recurring(lrmd_rsc_t * rsc, const char *client_id)
rsc              1700 daemons/execd/execd_commands.c     if (rsc->recurring_ops) {
rsc              1701 daemons/execd/execd_commands.c         cmd_list = g_list_concat(cmd_list, g_list_copy(rsc->recurring_ops));
rsc              1703 daemons/execd/execd_commands.c     if (rsc->pending_ops) {
rsc              1704 daemons/execd/execd_commands.c         cmd_list = g_list_concat(cmd_list, g_list_copy(rsc->pending_ops));
rsc              1721 daemons/execd/execd_commands.c         cancel_op(rsc->rsc_id, cmd->action, cmd->interval_ms);
rsc              1745 daemons/execd/execd_commands.c add_recurring_op_xml(xmlNode *reply, lrmd_rsc_t *rsc)
rsc              1749 daemons/execd/execd_commands.c     crm_xml_add(rsc_xml, F_LRMD_RSC_ID, rsc->rsc_id);
rsc              1750 daemons/execd/execd_commands.c     for (GList *item = rsc->recurring_ops; item != NULL; item = item->next) {
rsc              1766 daemons/execd/execd_commands.c     lrmd_rsc_t *rsc = NULL;
rsc              1781 daemons/execd/execd_commands.c         rsc = g_hash_table_lookup(rsc_list, rsc_id);
rsc              1782 daemons/execd/execd_commands.c         if (rsc == NULL) {
rsc              1798 daemons/execd/execd_commands.c                                       (gpointer *) &rsc)) {
rsc              1799 daemons/execd/execd_commands.c             add_recurring_op_xml(reply, rsc);
rsc              1801 daemons/execd/execd_commands.c     } else if (rsc) {
rsc              1802 daemons/execd/execd_commands.c         add_recurring_op_xml(reply, rsc);
rsc                83 daemons/fenced/fenced_scheduler.c local_node_allowed_for(const pcmk_resource_t *rsc)
rsc                85 daemons/fenced/fenced_scheduler.c     if ((rsc != NULL) && (stonith_our_uname != NULL)) {
rsc                89 daemons/fenced/fenced_scheduler.c         g_hash_table_iter_init(&iter, rsc->allowed_nodes);
rsc               111 daemons/fenced/fenced_scheduler.c     pcmk_resource_t *rsc = data;
rsc               124 daemons/fenced/fenced_scheduler.c     if (rsc->children != NULL) {
rsc               125 daemons/fenced/fenced_scheduler.c         for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               127 daemons/fenced/fenced_scheduler.c             if (pe_rsc_is_clone(rsc)) {
rsc               134 daemons/fenced/fenced_scheduler.c     rclass = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
rsc               139 daemons/fenced/fenced_scheduler.c     if (pe__resource_is_disabled(rsc)) {
rsc               140 daemons/fenced/fenced_scheduler.c         crm_info("Ignoring fencing device %s because it is disabled", rsc->id);
rsc               145 daemons/fenced/fenced_scheduler.c         pcmk__str_eq(rsc->id, STONITH_WATCHDOG_ID, pcmk__str_none)) {
rsc               147 daemons/fenced/fenced_scheduler.c                  "because watchdog fencing is disabled", rsc->id);
rsc               152 daemons/fenced/fenced_scheduler.c     node = local_node_allowed_for(rsc);
rsc               155 daemons/fenced/fenced_scheduler.c                  "because local node is not allowed to run it", rsc->id);
rsc               161 daemons/fenced/fenced_scheduler.c                  rsc->id, pcmk_readable_score(node->weight));
rsc               166 daemons/fenced/fenced_scheduler.c     if ((rsc->parent != NULL)
rsc               167 daemons/fenced/fenced_scheduler.c         && (rsc->parent->variant == pcmk_rsc_variant_group)) {
rsc               168 daemons/fenced/fenced_scheduler.c         pcmk_node_t *group_node = local_node_allowed_for(rsc->parent);
rsc               173 daemons/fenced/fenced_scheduler.c                      rsc->id, pcmk_readable_score(group_node->weight));
rsc               178 daemons/fenced/fenced_scheduler.c     crm_debug("Reloading configuration of fencing device %s", rsc->id);
rsc               180 daemons/fenced/fenced_scheduler.c     agent = crm_element_value(rsc->xml, XML_EXPR_ATTR_TYPE);
rsc               182 daemons/fenced/fenced_scheduler.c     get_meta_attributes(rsc->meta, rsc, node, scheduler);
rsc               183 daemons/fenced/fenced_scheduler.c     rsc_provides = g_hash_table_lookup(rsc->meta, PCMK_STONITH_PROVIDES);
rsc               185 daemons/fenced/fenced_scheduler.c     g_hash_table_iter_init(&hash_iter, pe_rsc_params(rsc, node, scheduler));
rsc               194 daemons/fenced/fenced_scheduler.c     xml = create_device_registration_xml(pcmk__s(rsc->clone_name, rsc->id),
rsc               400 include/crm/common/actions.h     pcmk_resource_t *rsc;   //!< Resource to apply action to, if any
rsc               275 include/crm/common/resources.h     gboolean (*unpack)(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler);
rsc               287 include/crm/common/resources.h     pcmk_resource_t *(*find_rsc)(pcmk_resource_t *rsc, const char *search,
rsc               302 include/crm/common/resources.h     char *(*parameter)(pcmk_resource_t *rsc, pcmk_node_t *node, gboolean create,
rsc               306 include/crm/common/resources.h     void (*print)(pcmk_resource_t *rsc, const char *pre_text, long options,
rsc               317 include/crm/common/resources.h     gboolean (*active)(pcmk_resource_t *rsc, gboolean all);
rsc               327 include/crm/common/resources.h     enum rsc_role_e (*state)(const pcmk_resource_t *rsc, gboolean current);
rsc               339 include/crm/common/resources.h     pcmk_node_t *(*location)(const pcmk_resource_t *rsc, GList **list,
rsc               347 include/crm/common/resources.h     void (*free)(pcmk_resource_t *rsc);
rsc               357 include/crm/common/resources.h     void (*count)(pcmk_resource_t *rsc);
rsc               369 include/crm/common/resources.h     gboolean (*is_filtered)(const pcmk_resource_t *rsc, GList *only_rsc,
rsc               384 include/crm/common/resources.h     pcmk_node_t *(*active_node)(const pcmk_resource_t *rsc,
rsc               395 include/crm/common/resources.h     unsigned int (*max_per_node)(const pcmk_resource_t *rsc);
rsc                38 include/crm/lrmd_internal.h int lrmd__metadata_async(const lrmd_rsc_info_t *rsc,
rsc                23 include/crm/pengine/complex.h GHashTable *pe_rsc_params(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc                25 include/crm/pengine/complex.h void get_meta_attributes(GHashTable * meta_hash, pcmk_resource_t *rsc,
rsc                27 include/crm/pengine/complex.h void get_rsc_attributes(GHashTable *meta_hash, const pcmk_resource_t *rsc,
rsc                30 include/crm/pengine/complex.h gboolean is_parent(pcmk_resource_t *child, pcmk_resource_t *rsc);
rsc                31 include/crm/pengine/complex.h pcmk_resource_t *uber_parent(pcmk_resource_t *rsc);
rsc                24 include/crm/pengine/internal.h const char *pe__resource_description(const pcmk_resource_t *rsc,
rsc                35 include/crm/pengine/internal.h #  define pe_rsc_info(rsc, fmt, args...)  crm_log_tag(LOG_INFO,  rsc ? rsc->id : "<NULL>", fmt, ##args)
rsc                36 include/crm/pengine/internal.h #  define pe_rsc_debug(rsc, fmt, args...) crm_log_tag(LOG_DEBUG, rsc ? rsc->id : "<NULL>", fmt, ##args)
rsc                37 include/crm/pengine/internal.h #  define pe_rsc_trace(rsc, fmt, args...) crm_log_tag(LOG_TRACE, rsc ? rsc->id : "<NULL>", fmt, ##args)
rsc               181 include/crm/pengine/internal.h const pcmk_resource_t *pe__const_top_resource(const pcmk_resource_t *rsc,
rsc               196 include/crm/pengine/internal.h pcmk_action_t *pe__new_rsc_pseudo_action(pcmk_resource_t *rsc, const char *task,
rsc               206 include/crm/pengine/internal.h char *native_parameter(pcmk_resource_t *rsc, pcmk_node_t *node, gboolean create,
rsc               208 include/crm/pengine/internal.h pcmk_node_t *native_location(const pcmk_resource_t *rsc, GList **list,
rsc               214 include/crm/pengine/internal.h void native_add_running(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc               217 include/crm/pengine/internal.h gboolean native_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler);
rsc               218 include/crm/pengine/internal.h gboolean group_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler);
rsc               219 include/crm/pengine/internal.h gboolean clone_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler);
rsc               220 include/crm/pengine/internal.h gboolean pe__unpack_bundle(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler);
rsc               222 include/crm/pengine/internal.h pcmk_resource_t *native_find_rsc(pcmk_resource_t *rsc, const char *id,
rsc               225 include/crm/pengine/internal.h gboolean native_active(pcmk_resource_t *rsc, gboolean all);
rsc               226 include/crm/pengine/internal.h gboolean group_active(pcmk_resource_t *rsc, gboolean all);
rsc               227 include/crm/pengine/internal.h gboolean clone_active(pcmk_resource_t *rsc, gboolean all);
rsc               228 include/crm/pengine/internal.h gboolean pe__bundle_active(pcmk_resource_t *rsc, gboolean all);
rsc               231 include/crm/pengine/internal.h void native_print(pcmk_resource_t *rsc, const char *pre_text, long options,
rsc               235 include/crm/pengine/internal.h void group_print(pcmk_resource_t *rsc, const char *pre_text, long options,
rsc               239 include/crm/pengine/internal.h void clone_print(pcmk_resource_t *rsc, const char *pre_text, long options,
rsc               243 include/crm/pengine/internal.h void pe__print_bundle(pcmk_resource_t *rsc, const char *pre_text, long options,
rsc               246 include/crm/pengine/internal.h gchar *pcmk__native_output_string(const pcmk_resource_t *rsc, const char *name,
rsc               257 include/crm/pengine/internal.h                                     pcmk_resource_t *rsc,
rsc               262 include/crm/pengine/internal.h pe__rsc_bool_str(const pcmk_resource_t *rsc, uint64_t rsc_flag)
rsc               264 include/crm/pengine/internal.h     return pcmk__btoa(pcmk_is_set(rsc->flags, rsc_flag));
rsc               281 include/crm/pengine/internal.h void native_free(pcmk_resource_t *rsc);
rsc               282 include/crm/pengine/internal.h void group_free(pcmk_resource_t *rsc);
rsc               283 include/crm/pengine/internal.h void clone_free(pcmk_resource_t *rsc);
rsc               284 include/crm/pengine/internal.h void pe__free_bundle(pcmk_resource_t *rsc);
rsc               286 include/crm/pengine/internal.h enum rsc_role_e native_resource_state(const pcmk_resource_t *rsc,
rsc               288 include/crm/pengine/internal.h enum rsc_role_e group_resource_state(const pcmk_resource_t *rsc,
rsc               290 include/crm/pengine/internal.h enum rsc_role_e clone_resource_state(const pcmk_resource_t *rsc,
rsc               292 include/crm/pengine/internal.h enum rsc_role_e pe__bundle_resource_state(const pcmk_resource_t *rsc,
rsc               295 include/crm/pengine/internal.h void pe__count_common(pcmk_resource_t *rsc);
rsc               296 include/crm/pengine/internal.h void pe__count_bundle(pcmk_resource_t *rsc);
rsc               298 include/crm/pengine/internal.h void common_free(pcmk_resource_t *rsc);
rsc               305 include/crm/pengine/internal.h int pe_get_failcount(const pcmk_node_t *node, pcmk_resource_t *rsc,
rsc               309 include/crm/pengine/internal.h pcmk_action_t *pe__clear_failcount(pcmk_resource_t *rsc,
rsc               315 include/crm/pengine/internal.h bool pe__count_active_node(const pcmk_resource_t *rsc, pcmk_node_t *node,
rsc               319 include/crm/pengine/internal.h pcmk_node_t *pe__find_active_requires(const pcmk_resource_t *rsc,
rsc               323 include/crm/pengine/internal.h pe__current_node(const pcmk_resource_t *rsc)
rsc               325 include/crm/pengine/internal.h     return (rsc == NULL)? NULL : rsc->fns->active_node(rsc, NULL, NULL);
rsc               337 include/crm/pengine/internal.h                              int line, bool to_log, const pcmk_resource_t *rsc,
rsc               341 include/crm/pengine/internal.h #define pe__show_node_scores(level, rsc, text, nodes, scheduler)    \
rsc               343 include/crm/pengine/internal.h                                 (level), (rsc), (text), (nodes), (scheduler))
rsc               345 include/crm/pengine/internal.h GHashTable *pcmk__unpack_action_meta(pcmk_resource_t *rsc,
rsc               352 include/crm/pengine/internal.h xmlNode *pcmk__find_action_config(const pcmk_resource_t *rsc,
rsc               356 include/crm/pengine/internal.h enum rsc_start_requirement pcmk__action_requires(const pcmk_resource_t *rsc,
rsc               359 include/crm/pengine/internal.h enum action_fail_response pcmk__parse_on_fail(const pcmk_resource_t *rsc,
rsc               364 include/crm/pengine/internal.h enum rsc_role_e pcmk__role_after_failure(const pcmk_resource_t *rsc,
rsc               369 include/crm/pengine/internal.h pcmk_action_t *custom_action(pcmk_resource_t *rsc, char *key, const char *task,
rsc               373 include/crm/pengine/internal.h #  define delete_key(rsc) pcmk__op_key(rsc->id, PCMK_ACTION_DELETE, 0)
rsc               374 include/crm/pengine/internal.h #  define delete_action(rsc, node, optional) custom_action(		\
rsc               375 include/crm/pengine/internal.h 		rsc, delete_key(rsc), PCMK_ACTION_DELETE, node, \
rsc               376 include/crm/pengine/internal.h 		optional, rsc->cluster);
rsc               378 include/crm/pengine/internal.h #  define stop_key(rsc) pcmk__op_key(rsc->id, PCMK_ACTION_STOP, 0)
rsc               379 include/crm/pengine/internal.h #  define stop_action(rsc, node, optional) custom_action(			\
rsc               380 include/crm/pengine/internal.h 		rsc, stop_key(rsc), PCMK_ACTION_STOP, node,		\
rsc               381 include/crm/pengine/internal.h 		optional, rsc->cluster);
rsc               383 include/crm/pengine/internal.h #  define reload_key(rsc) pcmk__op_key(rsc->id, PCMK_ACTION_RELOAD_AGENT, 0)
rsc               384 include/crm/pengine/internal.h #  define start_key(rsc) pcmk__op_key(rsc->id, PCMK_ACTION_START, 0)
rsc               385 include/crm/pengine/internal.h #  define start_action(rsc, node, optional) custom_action(		\
rsc               386 include/crm/pengine/internal.h 		rsc, start_key(rsc), PCMK_ACTION_START, node,           \
rsc               387 include/crm/pengine/internal.h 		optional, rsc->cluster)
rsc               389 include/crm/pengine/internal.h #  define promote_key(rsc) pcmk__op_key(rsc->id, PCMK_ACTION_PROMOTE, 0)
rsc               390 include/crm/pengine/internal.h #  define promote_action(rsc, node, optional) custom_action(		\
rsc               391 include/crm/pengine/internal.h 		rsc, promote_key(rsc), PCMK_ACTION_PROMOTE, node,	\
rsc               392 include/crm/pengine/internal.h 		optional, rsc->cluster)
rsc               394 include/crm/pengine/internal.h #  define demote_key(rsc) pcmk__op_key(rsc->id, PCMK_ACTION_DEMOTE, 0)
rsc               395 include/crm/pengine/internal.h #  define demote_action(rsc, node, optional) custom_action(		\
rsc               396 include/crm/pengine/internal.h 		rsc, demote_key(rsc), PCMK_ACTION_DEMOTE, node, \
rsc               397 include/crm/pengine/internal.h 		optional, rsc->cluster)
rsc               399 include/crm/pengine/internal.h extern int pe_get_configured_timeout(pcmk_resource_t *rsc, const char *action,
rsc               405 include/crm/pengine/internal.h enum action_tasks get_complex_task(const pcmk_resource_t *rsc,
rsc               411 include/crm/pengine/internal.h GList *pe__resource_actions(const pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               416 include/crm/pengine/internal.h void resource_location(pcmk_resource_t *rsc, const pcmk_node_t *node, int score,
rsc               422 include/crm/pengine/internal.h gboolean get_target_role(const pcmk_resource_t *rsc, enum rsc_role_e *role);
rsc               423 include/crm/pengine/internal.h void pe__set_next_role(pcmk_resource_t *rsc, enum rsc_role_e role,
rsc               426 include/crm/pengine/internal.h pcmk_resource_t *find_clone_instance(const pcmk_resource_t *rsc,
rsc               438 include/crm/pengine/internal.h pe_base_name_eq(const pcmk_resource_t *rsc, const char *id)
rsc               440 include/crm/pengine/internal.h     if (id && rsc && rsc->id) {
rsc               442 include/crm/pengine/internal.h         size_t base_len = pe_base_name_end(rsc->id) - rsc->id + 1;
rsc               444 include/crm/pengine/internal.h         return (strlen(id) == base_len) && !strncmp(id, rsc->id, base_len);
rsc               452 include/crm/pengine/internal.h bool is_set_recursive(const pcmk_resource_t *rsc, long long flag, bool any);
rsc               464 include/crm/pengine/internal.h op_digest_cache_t *pe__calculate_digests(pcmk_resource_t *rsc, const char *task,
rsc               474 include/crm/pengine/internal.h op_digest_cache_t *rsc_action_digest_cmp(pcmk_resource_t *rsc,
rsc               482 include/crm/pengine/internal.h void trigger_unfencing(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc               491 include/crm/pengine/internal.h void pe__set_resource_flags_recursive(pcmk_resource_t *rsc, uint64_t flags);
rsc               492 include/crm/pengine/internal.h void pe__clear_resource_flags_recursive(pcmk_resource_t *rsc, uint64_t flags);
rsc               509 include/crm/pengine/internal.h void common_print(pcmk_resource_t *rsc, const char *pre_text, const char *name,
rsc               511 include/crm/pengine/internal.h int pe__common_output_text(pcmk__output_t *out, const pcmk_resource_t *rsc,
rsc               514 include/crm/pengine/internal.h int pe__common_output_html(pcmk__output_t *out, const pcmk_resource_t *rsc,
rsc               531 include/crm/pengine/internal.h int pe__bundle_max(const pcmk_resource_t *rsc);
rsc               534 include/crm/pengine/internal.h pcmk_resource_t *pe__bundled_resource(const pcmk_resource_t *rsc);
rsc               546 include/crm/pengine/internal.h bool pe__bundle_needs_remote_name(pcmk_resource_t *rsc);
rsc               547 include/crm/pengine/internal.h const char *pe__add_bundle_remote_name(pcmk_resource_t *rsc,
rsc               553 include/crm/pengine/internal.h                                           const pcmk_resource_t *rsc,
rsc               557 include/crm/pengine/internal.h bool pe__is_universal_clone(const pcmk_resource_t *rsc,
rsc               559 include/crm/pengine/internal.h void pe__add_param_check(const xmlNode *rsc_op, pcmk_resource_t *rsc,
rsc               586 include/crm/pengine/internal.h bool pe__resource_is_disabled(const pcmk_resource_t *rsc);
rsc               587 include/crm/pengine/internal.h void pe__clear_resource_history(pcmk_resource_t *rsc, const pcmk_node_t *node);
rsc               591 include/crm/pengine/internal.h bool pe__rsc_has_tag(pcmk_scheduler_t *scheduler, const char *rsc,
rsc               596 include/crm/pengine/internal.h bool pe__rsc_running_on_only(const pcmk_resource_t *rsc,
rsc               598 include/crm/pengine/internal.h bool pe__rsc_running_on_any(pcmk_resource_t *rsc, GList *node_list);
rsc               603 include/crm/pengine/internal.h bool pcmk__rsc_filtered_by_node(pcmk_resource_t *rsc, GList *only_node);
rsc               605 include/crm/pengine/internal.h gboolean pe__bundle_is_filtered(const pcmk_resource_t *rsc, GList *only_rsc,
rsc               607 include/crm/pengine/internal.h gboolean pe__clone_is_filtered(const pcmk_resource_t *rsc, GList *only_rsc,
rsc               609 include/crm/pengine/internal.h gboolean pe__group_is_filtered(const pcmk_resource_t *rsc, GList *only_rsc,
rsc               611 include/crm/pengine/internal.h gboolean pe__native_is_filtered(const pcmk_resource_t *rsc, GList *only_rsc,
rsc               614 include/crm/pengine/internal.h xmlNode *pe__failed_probe_for_rsc(const pcmk_resource_t *rsc, const char *name);
rsc               616 include/crm/pengine/internal.h const char *pe__clone_child_id(const pcmk_resource_t *rsc);
rsc                26 include/crm/pengine/remote_internal.h bool pe__resource_is_remote_conn(const pcmk_resource_t *rsc);
rsc                28 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                45 include/crm/pengine/status.h GList *find_operations(const char *rsc, const char *node, gboolean active_filter,
rsc                49 include/crm/pengine/status.h int pe_bundle_replicas(const pcmk_resource_t *rsc);
rsc                59 include/crm/pengine/status.h pe_rsc_is_clone(const pcmk_resource_t *rsc)
rsc                61 include/crm/pengine/status.h     return (rsc != NULL) && (rsc->variant == pcmk_rsc_variant_clone);
rsc                72 include/crm/pengine/status.h pe_rsc_is_unique_clone(const pcmk_resource_t *rsc)
rsc                74 include/crm/pengine/status.h     return pe_rsc_is_clone(rsc) && pcmk_is_set(rsc->flags, pcmk_rsc_unique);
rsc                85 include/crm/pengine/status.h pe_rsc_is_anon_clone(const pcmk_resource_t *rsc)
rsc                87 include/crm/pengine/status.h     return pe_rsc_is_clone(rsc) && !pcmk_is_set(rsc->flags, pcmk_rsc_unique);
rsc                98 include/crm/pengine/status.h pe_rsc_is_bundled(const pcmk_resource_t *rsc)
rsc               100 include/crm/pengine/status.h     if (rsc == NULL) {
rsc               103 include/crm/pengine/status.h     while (rsc->parent != NULL) {
rsc               104 include/crm/pengine/status.h         rsc = rsc->parent;
rsc               106 include/crm/pengine/status.h     return rsc->variant == pcmk_rsc_variant_bundle;
rsc               124 include/crm/services.h     char *rsc;
rsc               209 include/pacemaker.h int pcmk_resource_digests(xmlNodePtr *xml, pcmk_resource_t *rsc,
rsc                17 include/pcmki/pcmki_resource.h int pcmk__resource_digests(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc               145 include/pcmki/pcmki_transition.h     int (*rsc) (pcmk__graph_t *graph, pcmk__graph_action_t *action);
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              2425 lib/lrmd/lrmd_client.c lrmd__metadata_async(const lrmd_rsc_info_t *rsc,
rsc              2437 lib/lrmd/lrmd_client.c     if ((rsc == NULL) || (rsc->standard == NULL) || (rsc->type == NULL)) {
rsc              2446 lib/lrmd/lrmd_client.c     if (strcmp(rsc->standard, PCMK_RESOURCE_CLASS_STONITH) == 0) {
rsc              2447 lib/lrmd/lrmd_client.c         return stonith__metadata_async(rsc->type,
rsc              2452 lib/lrmd/lrmd_client.c     action = services__create_resource_action(pcmk__s(rsc->id, rsc->type),
rsc              2453 lib/lrmd/lrmd_client.c                                               rsc->standard, rsc->provider,
rsc              2454 lib/lrmd/lrmd_client.c                                               rsc->type,
rsc                90 lib/pacemaker/libpacemaker_private.h     pcmk_node_t *(*assign)(pcmk_resource_t *rsc, const pcmk_node_t *prefer,
rsc                99 lib/pacemaker/libpacemaker_private.h     void (*create_actions)(pcmk_resource_t *rsc);
rsc               110 lib/pacemaker/libpacemaker_private.h     bool (*create_probe)(pcmk_resource_t *rsc, pcmk_node_t *node);
rsc               118 lib/pacemaker/libpacemaker_private.h     void (*internal_constraints)(pcmk_resource_t *rsc);
rsc               155 lib/pacemaker/libpacemaker_private.h     GList *(*colocated_resources)(const pcmk_resource_t *rsc,
rsc               176 lib/pacemaker/libpacemaker_private.h     void (*with_this_colocations)(const pcmk_resource_t *rsc,
rsc               198 lib/pacemaker/libpacemaker_private.h     void (*this_with_colocations)(const pcmk_resource_t *rsc,
rsc               244 lib/pacemaker/libpacemaker_private.h     void (*apply_location)(pcmk_resource_t *rsc, pe__location_t *location);
rsc               295 lib/pacemaker/libpacemaker_private.h     void (*output_actions)(pcmk_resource_t *rsc);
rsc               303 lib/pacemaker/libpacemaker_private.h     void (*add_actions_to_graph)(pcmk_resource_t *rsc);
rsc               315 lib/pacemaker/libpacemaker_private.h     void (*add_graph_meta)(const pcmk_resource_t *rsc, xmlNode *xml);
rsc               332 lib/pacemaker/libpacemaker_private.h     void (*add_utilization)(const pcmk_resource_t *rsc,
rsc               342 lib/pacemaker/libpacemaker_private.h     void (*shutdown_lock)(pcmk_resource_t *rsc);
rsc               362 lib/pacemaker/libpacemaker_private.h pcmk_action_t *pcmk__new_cancel_action(pcmk_resource_t *rsc, const char *name,
rsc               379 lib/pacemaker/libpacemaker_private.h bool pcmk__check_action_config(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc               389 lib/pacemaker/libpacemaker_private.h void pcmk__create_recurring_actions(pcmk_resource_t *rsc);
rsc               392 lib/pacemaker/libpacemaker_private.h void pcmk__schedule_cancel(pcmk_resource_t *rsc, const char *call_id,
rsc               397 lib/pacemaker/libpacemaker_private.h void pcmk__reschedule_recurring(pcmk_resource_t *rsc, const char *task,
rsc               412 lib/pacemaker/libpacemaker_private.h void pcmk__add_rsc_actions_to_graph(pcmk_resource_t *rsc);
rsc               425 lib/pacemaker/libpacemaker_private.h void pcmk__order_vs_unfence(const pcmk_resource_t *rsc, pcmk_node_t *node,
rsc               457 lib/pacemaker/libpacemaker_private.h                                  const char *id, pcmk_resource_t **rsc,
rsc               474 lib/pacemaker/libpacemaker_private.h pe__location_t *pcmk__new_location(const char *id, pcmk_resource_t *rsc,
rsc               482 lib/pacemaker/libpacemaker_private.h void pcmk__apply_location(pcmk_resource_t *rsc, pe__location_t *constraint);
rsc               511 lib/pacemaker/libpacemaker_private.h                            const pcmk_resource_t *rsc)
rsc               513 lib/pacemaker/libpacemaker_private.h     const pcmk_resource_t *top = pe__const_top_resource(rsc, false);
rsc               515 lib/pacemaker/libpacemaker_private.h                             && pe_rsc_is_bundled(rsc)
rsc               516 lib/pacemaker/libpacemaker_private.h                             && (top == pe__bundled_resource(rsc));
rsc               518 lib/pacemaker/libpacemaker_private.h     return pe__node_attribute_calculated(node, attr, rsc,
rsc               563 lib/pacemaker/libpacemaker_private.h                          const pcmk_resource_t *rsc);
rsc               567 lib/pacemaker/libpacemaker_private.h                               const pcmk_resource_t *rsc);
rsc               571 lib/pacemaker/libpacemaker_private.h                          const pcmk_resource_t *rsc);
rsc               575 lib/pacemaker/libpacemaker_private.h                               const pcmk_resource_t *rsc);
rsc               578 lib/pacemaker/libpacemaker_private.h GList *pcmk__with_this_colocations(const pcmk_resource_t *rsc);
rsc               581 lib/pacemaker/libpacemaker_private.h GList *pcmk__this_with_colocations(const pcmk_resource_t *rsc);
rsc               606 lib/pacemaker/libpacemaker_private.h                                const pcmk_resource_t *rsc)
rsc               608 lib/pacemaker/libpacemaker_private.h     if (rsc == NULL) {
rsc               609 lib/pacemaker/libpacemaker_private.h         rsc = colocation->primary;
rsc               626 lib/pacemaker/libpacemaker_private.h         && !pcmk_is_set(rsc->flags, pcmk_rsc_failed)
rsc               627 lib/pacemaker/libpacemaker_private.h         && pcmk__list_of_1(rsc->running_on)) {
rsc               635 lib/pacemaker/libpacemaker_private.h            || (rsc->running_on == NULL);
rsc               701 lib/pacemaker/libpacemaker_private.h void pcmk__add_promotion_scores(pcmk_resource_t *rsc);
rsc               704 lib/pacemaker/libpacemaker_private.h void pcmk__require_promotion_tickets(pcmk_resource_t *rsc);
rsc               707 lib/pacemaker/libpacemaker_private.h void pcmk__set_instance_roles(pcmk_resource_t *rsc);
rsc               713 lib/pacemaker/libpacemaker_private.h void pcmk__promotable_restart_ordering(pcmk_resource_t *rsc);
rsc               740 lib/pacemaker/libpacemaker_private.h bool pcmk__rsc_corresponds_to_guest(const pcmk_resource_t *rsc,
rsc               747 lib/pacemaker/libpacemaker_private.h void pcmk__substitute_remote_addr(pcmk_resource_t *rsc, GHashTable *params);
rsc               757 lib/pacemaker/libpacemaker_private.h pcmk_node_t *pcmk__primitive_assign(pcmk_resource_t *rsc,
rsc               762 lib/pacemaker/libpacemaker_private.h void pcmk__primitive_create_actions(pcmk_resource_t *rsc);
rsc               765 lib/pacemaker/libpacemaker_private.h void pcmk__primitive_internal_constraints(pcmk_resource_t *rsc);
rsc               778 lib/pacemaker/libpacemaker_private.h void pcmk__with_primitive_colocations(const pcmk_resource_t *rsc,
rsc               783 lib/pacemaker/libpacemaker_private.h void pcmk__primitive_with_colocations(const pcmk_resource_t *rsc,
rsc               788 lib/pacemaker/libpacemaker_private.h void pcmk__schedule_cleanup(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               792 lib/pacemaker/libpacemaker_private.h void pcmk__primitive_add_graph_meta(const pcmk_resource_t *rsc, xmlNode *xml);
rsc               795 lib/pacemaker/libpacemaker_private.h void pcmk__primitive_add_utilization(const pcmk_resource_t *rsc,
rsc               800 lib/pacemaker/libpacemaker_private.h void pcmk__primitive_shutdown_lock(pcmk_resource_t *rsc);
rsc               806 lib/pacemaker/libpacemaker_private.h pcmk_node_t *pcmk__group_assign(pcmk_resource_t *rsc, const pcmk_node_t *prefer,
rsc               810 lib/pacemaker/libpacemaker_private.h void pcmk__group_create_actions(pcmk_resource_t *rsc);
rsc               813 lib/pacemaker/libpacemaker_private.h void pcmk__group_internal_constraints(pcmk_resource_t *rsc);
rsc               822 lib/pacemaker/libpacemaker_private.h void pcmk__with_group_colocations(const pcmk_resource_t *rsc,
rsc               827 lib/pacemaker/libpacemaker_private.h void pcmk__group_with_colocations(const pcmk_resource_t *rsc,
rsc               840 lib/pacemaker/libpacemaker_private.h void pcmk__group_apply_location(pcmk_resource_t *rsc, pe__location_t *location);
rsc               855 lib/pacemaker/libpacemaker_private.h GList *pcmk__group_colocated_resources(const pcmk_resource_t *rsc,
rsc               860 lib/pacemaker/libpacemaker_private.h void pcmk__group_add_utilization(const pcmk_resource_t *rsc,
rsc               865 lib/pacemaker/libpacemaker_private.h void pcmk__group_shutdown_lock(pcmk_resource_t *rsc);
rsc               871 lib/pacemaker/libpacemaker_private.h pcmk_node_t *pcmk__clone_assign(pcmk_resource_t *rsc, const pcmk_node_t *prefer,
rsc               875 lib/pacemaker/libpacemaker_private.h void pcmk__clone_create_actions(pcmk_resource_t *rsc);
rsc               878 lib/pacemaker/libpacemaker_private.h bool pcmk__clone_create_probe(pcmk_resource_t *rsc, pcmk_node_t *node);
rsc               881 lib/pacemaker/libpacemaker_private.h void pcmk__clone_internal_constraints(pcmk_resource_t *rsc);
rsc               890 lib/pacemaker/libpacemaker_private.h void pcmk__with_clone_colocations(const pcmk_resource_t *rsc,
rsc               895 lib/pacemaker/libpacemaker_private.h void pcmk__clone_with_colocations(const pcmk_resource_t *rsc,
rsc               900 lib/pacemaker/libpacemaker_private.h void pcmk__clone_apply_location(pcmk_resource_t *rsc,
rsc               908 lib/pacemaker/libpacemaker_private.h void pcmk__clone_add_actions_to_graph(pcmk_resource_t *rsc);
rsc               911 lib/pacemaker/libpacemaker_private.h void pcmk__clone_add_graph_meta(const pcmk_resource_t *rsc, xmlNode *xml);
rsc               914 lib/pacemaker/libpacemaker_private.h void pcmk__clone_add_utilization(const pcmk_resource_t *rsc,
rsc               919 lib/pacemaker/libpacemaker_private.h void pcmk__clone_shutdown_lock(pcmk_resource_t *rsc);
rsc               924 lib/pacemaker/libpacemaker_private.h pcmk_node_t *pcmk__bundle_assign(pcmk_resource_t *rsc,
rsc               928 lib/pacemaker/libpacemaker_private.h void pcmk__bundle_create_actions(pcmk_resource_t *rsc);
rsc               931 lib/pacemaker/libpacemaker_private.h bool pcmk__bundle_create_probe(pcmk_resource_t *rsc, pcmk_node_t *node);
rsc               934 lib/pacemaker/libpacemaker_private.h void pcmk__bundle_internal_constraints(pcmk_resource_t *rsc);
rsc               943 lib/pacemaker/libpacemaker_private.h void pcmk__with_bundle_colocations(const pcmk_resource_t *rsc,
rsc               948 lib/pacemaker/libpacemaker_private.h void pcmk__bundle_with_colocations(const pcmk_resource_t *rsc,
rsc               953 lib/pacemaker/libpacemaker_private.h void pcmk__bundle_apply_location(pcmk_resource_t *rsc,
rsc               961 lib/pacemaker/libpacemaker_private.h void pcmk__output_bundle_actions(pcmk_resource_t *rsc);
rsc               964 lib/pacemaker/libpacemaker_private.h void pcmk__bundle_add_actions_to_graph(pcmk_resource_t *rsc);
rsc               967 lib/pacemaker/libpacemaker_private.h void pcmk__bundle_add_utilization(const pcmk_resource_t *rsc,
rsc               972 lib/pacemaker/libpacemaker_private.h void pcmk__bundle_shutdown_lock(pcmk_resource_t *rsc);
rsc               982 lib/pacemaker/libpacemaker_private.h void pcmk__create_instance_actions(pcmk_resource_t *rsc, GList *instances);
rsc               991 lib/pacemaker/libpacemaker_private.h                                                 const pcmk_resource_t *rsc,
rsc              1049 lib/pacemaker/libpacemaker_private.h void pcmk__copy_node_tables(const pcmk_resource_t *rsc, GHashTable **copy);
rsc              1052 lib/pacemaker/libpacemaker_private.h void pcmk__restore_node_tables(pcmk_resource_t *rsc, GHashTable *backup);
rsc              1061 lib/pacemaker/libpacemaker_private.h pcmk_node_t *pcmk__top_allowed_node(const pcmk_resource_t *rsc,
rsc              1071 lib/pacemaker/libpacemaker_private.h bool pcmk__rsc_agent_changed(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc              1079 lib/pacemaker/libpacemaker_private.h GList *pcmk__colocated_resources(const pcmk_resource_t *rsc,
rsc              1084 lib/pacemaker/libpacemaker_private.h void pcmk__noop_add_graph_meta(const pcmk_resource_t *rsc, xmlNode *xml);
rsc              1087 lib/pacemaker/libpacemaker_private.h void pcmk__output_resource_actions(pcmk_resource_t *rsc);
rsc              1090 lib/pacemaker/libpacemaker_private.h bool pcmk__assign_resource(pcmk_resource_t *rsc, pcmk_node_t *node, bool force,
rsc              1094 lib/pacemaker/libpacemaker_private.h void pcmk__unassign_resource(pcmk_resource_t *rsc);
rsc              1097 lib/pacemaker/libpacemaker_private.h bool pcmk__threshold_reached(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc              1113 lib/pacemaker/libpacemaker_private.h bool pcmk__probe_rsc_on_node(pcmk_resource_t *rsc, pcmk_node_t *node);
rsc              1127 lib/pacemaker/libpacemaker_private.h void pcmk__create_migration_actions(pcmk_resource_t *rsc,
rsc              1132 lib/pacemaker/libpacemaker_private.h bool pcmk__rsc_can_migrate(const pcmk_resource_t *rsc,
rsc              1146 lib/pacemaker/libpacemaker_private.h                                  const pcmk_resource_t *rsc);
rsc              1150 lib/pacemaker/libpacemaker_private.h                                  const pcmk_resource_t *rsc);
rsc              1153 lib/pacemaker/libpacemaker_private.h const pcmk_node_t *pcmk__ban_insufficient_capacity(pcmk_resource_t *rsc);
rsc              1156 lib/pacemaker/libpacemaker_private.h void pcmk__create_utilization_constraints(pcmk_resource_t *rsc,
rsc               159 lib/pacemaker/pcmk_graph_consumer.c     CRM_ASSERT(graph_fns->rsc != NULL);
rsc               252 lib/pacemaker/pcmk_graph_consumer.c             return graph_fns->rsc(graph, action);
rsc               162 lib/pacemaker/pcmk_graph_producer.c     } else if (action->rsc && action->rsc->is_remote_node
rsc               175 lib/pacemaker/pcmk_graph_producer.c             if ((input->rsc != NULL)
rsc               176 lib/pacemaker/pcmk_graph_producer.c                 && pcmk__str_eq(action->rsc->id, input->rsc->id, pcmk__str_none)
rsc               185 lib/pacemaker/pcmk_graph_producer.c             add_node_to_xml_by_id(action->rsc->id, downed);
rsc               208 lib/pacemaker/pcmk_graph_producer.c         return pcmk__notify_key(action->rsc->clone_name, n_type, n_task);
rsc               211 lib/pacemaker/pcmk_graph_producer.c         return pcmk__op_key(action->rsc->clone_name, action->cancel_task,
rsc               214 lib/pacemaker/pcmk_graph_producer.c         return pcmk__op_key(action->rsc->clone_name, action->task, interval_ms);
rsc               259 lib/pacemaker/pcmk_graph_producer.c                        (long long) action->rsc->lock_time);
rsc               265 lib/pacemaker/pcmk_graph_producer.c                               (const char *) action->rsc->xml->name);
rsc               266 lib/pacemaker/pcmk_graph_producer.c     if (pcmk_is_set(action->rsc->flags, pcmk_rsc_removed)
rsc               267 lib/pacemaker/pcmk_graph_producer.c         && (action->rsc->clone_name != NULL)) {
rsc               277 lib/pacemaker/pcmk_graph_producer.c                   action->rsc->id, action->rsc->clone_name);
rsc               278 lib/pacemaker/pcmk_graph_producer.c         crm_xml_add(rsc_xml, XML_ATTR_ID, action->rsc->clone_name);
rsc               279 lib/pacemaker/pcmk_graph_producer.c         crm_xml_add(rsc_xml, XML_ATTR_ID_LONG, action->rsc->id);
rsc               281 lib/pacemaker/pcmk_graph_producer.c     } else if (!pcmk_is_set(action->rsc->flags, pcmk_rsc_unique)) {
rsc               282 lib/pacemaker/pcmk_graph_producer.c         const char *xml_id = ID(action->rsc->xml);
rsc               285 lib/pacemaker/pcmk_graph_producer.c                   xml_id, action->rsc->id, action->rsc->clone_name);
rsc               301 lib/pacemaker/pcmk_graph_producer.c         if ((action->rsc->clone_name != NULL)
rsc               302 lib/pacemaker/pcmk_graph_producer.c             && !pcmk__str_eq(xml_id, action->rsc->clone_name,
rsc               304 lib/pacemaker/pcmk_graph_producer.c             crm_xml_add(rsc_xml, XML_ATTR_ID_LONG, action->rsc->clone_name);
rsc               306 lib/pacemaker/pcmk_graph_producer.c             crm_xml_add(rsc_xml, XML_ATTR_ID_LONG, action->rsc->id);
rsc               310 lib/pacemaker/pcmk_graph_producer.c         CRM_ASSERT(action->rsc->clone_name == NULL);
rsc               311 lib/pacemaker/pcmk_graph_producer.c         crm_xml_add(rsc_xml, XML_ATTR_ID, action->rsc->id);
rsc               316 lib/pacemaker/pcmk_graph_producer.c                     g_hash_table_lookup(action->rsc->meta, attr_list[lpc]));
rsc               341 lib/pacemaker/pcmk_graph_producer.c     if ((action->rsc != NULL) && (action->node != NULL)) {
rsc               343 lib/pacemaker/pcmk_graph_producer.c         GHashTable *params = pe_rsc_params(action->rsc, action->node,
rsc               344 lib/pacemaker/pcmk_graph_producer.c                                            action->rsc->cluster);
rsc               346 lib/pacemaker/pcmk_graph_producer.c         pcmk__substitute_remote_addr(action->rsc, params);
rsc               350 lib/pacemaker/pcmk_graph_producer.c     } else if ((action->rsc != NULL)
rsc               351 lib/pacemaker/pcmk_graph_producer.c                && (action->rsc->variant <= pcmk_rsc_variant_primitive)) {
rsc               352 lib/pacemaker/pcmk_graph_producer.c         GHashTable *params = pe_rsc_params(action->rsc, NULL,
rsc               353 lib/pacemaker/pcmk_graph_producer.c                                            action->rsc->cluster);
rsc               359 lib/pacemaker/pcmk_graph_producer.c     if (action->rsc != NULL) {
rsc               360 lib/pacemaker/pcmk_graph_producer.c         pcmk_resource_t *parent = action->rsc;
rsc               442 lib/pacemaker/pcmk_graph_producer.c     if ((action->rsc != NULL) && (action->rsc->clone_name != NULL)) {
rsc               471 lib/pacemaker/pcmk_graph_producer.c     if ((action->rsc != NULL)
rsc               518 lib/pacemaker/pcmk_graph_producer.c     if ((action->rsc != NULL)
rsc               519 lib/pacemaker/pcmk_graph_producer.c         && !pcmk_is_set(action->rsc->flags, pcmk_rsc_managed)
rsc               533 lib/pacemaker/pcmk_graph_producer.c                       action->uuid, action->id, action->rsc->id);
rsc               670 lib/pacemaker/pcmk_graph_producer.c         if ((action->rsc != NULL)
rsc               674 lib/pacemaker/pcmk_graph_producer.c             pcmk_node_t *assigned = action->rsc->allocated_to;
rsc               730 lib/pacemaker/pcmk_graph_producer.c     } else if (input->action->rsc
rsc               731 lib/pacemaker/pcmk_graph_producer.c                && input->action->rsc != action->rsc
rsc               732 lib/pacemaker/pcmk_graph_producer.c                && pcmk_is_set(input->action->rsc->flags, pcmk_rsc_failed)
rsc               733 lib/pacemaker/pcmk_graph_producer.c                && !pcmk_is_set(input->action->rsc->flags, pcmk_rsc_managed)
rsc               735 lib/pacemaker/pcmk_graph_producer.c                && action->rsc && pe_rsc_is_clone(action->rsc)) {
rsc               859 lib/pacemaker/pcmk_graph_producer.c     if (action->rsc != NULL) {
rsc               860 lib/pacemaker/pcmk_graph_producer.c         synapse_priority = action->rsc->priority;
rsc               977 lib/pacemaker/pcmk_graph_producer.c pcmk__add_rsc_actions_to_graph(pcmk_resource_t *rsc)
rsc               981 lib/pacemaker/pcmk_graph_producer.c     CRM_ASSERT(rsc != NULL);
rsc               982 lib/pacemaker/pcmk_graph_producer.c     pe_rsc_trace(rsc, "Adding actions for %s to graph", rsc->id);
rsc               985 lib/pacemaker/pcmk_graph_producer.c     g_list_foreach(rsc->actions, add_action_to_graph, rsc->cluster);
rsc               988 lib/pacemaker/pcmk_graph_producer.c     for (iter = rsc->children; iter != NULL; iter = iter->next) {
rsc              1053 lib/pacemaker/pcmk_graph_producer.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc              1055 lib/pacemaker/pcmk_graph_producer.c         pe_rsc_trace(rsc, "Processing actions for %s", rsc->id);
rsc              1056 lib/pacemaker/pcmk_graph_producer.c         rsc->cmds->add_actions_to_graph(rsc);
rsc              1066 lib/pacemaker/pcmk_graph_producer.c         if ((action->rsc != NULL)
rsc              1069 lib/pacemaker/pcmk_graph_producer.c             && !pcmk_is_set(action->rsc->flags, pcmk_rsc_maintenance)
rsc              1079 lib/pacemaker/pcmk_graph_producer.c                 const bool managed = pcmk_is_set(action->rsc->flags,
rsc              1081 lib/pacemaker/pcmk_graph_producer.c                 const bool failed = pcmk_is_set(action->rsc->flags,
rsc              1086 lib/pacemaker/pcmk_graph_producer.c                          pe__node_name(action->node), action->rsc->id,
rsc               577 lib/pacemaker/pcmk_injections.c     const pcmk_resource_t *rsc = NULL;
rsc               593 lib/pacemaker/pcmk_injections.c     rsc = pe_find_resource(scheduler->resources, resource);
rsc               594 lib/pacemaker/pcmk_injections.c     if (rsc == NULL) {
rsc               599 lib/pacemaker/pcmk_injections.c     rclass = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
rsc               600 lib/pacemaker/pcmk_injections.c     rtype = crm_element_value(rsc->xml, XML_ATTR_TYPE);
rsc               601 lib/pacemaker/pcmk_injections.c     rprovider = crm_element_value(rsc->xml, XML_AGENT_ATTR_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                35 lib/pacemaker/pcmk_output.c                                    rsc->id, pcmk_readable_score(cons->score),
rsc                42 lib/pacemaker/pcmk_output.c colocations_xml_node(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc                71 lib/pacemaker/pcmk_output.c do_locations_list_xml(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc                75 lib/pacemaker/pcmk_output.c     GList *list = rsc->rsc_location;
rsc                92 lib/pacemaker/pcmk_output.c                                          "rsc", rsc->id,
rsc               114 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               137 lib/pacemaker/pcmk_output.c     len = strlen(rsc->id);
rsc               142 lib/pacemaker/pcmk_output.c     if ((rsc->role > pcmk_role_started)
rsc               143 lib/pacemaker/pcmk_output.c         || (rsc->next_role > pcmk_role_unpromoted)) {
rsc               151 lib/pacemaker/pcmk_output.c     if (rsc->role == rsc->next_role) {
rsc               157 lib/pacemaker/pcmk_output.c         details = crm_strdup_printf("%s -> %s %s", role2text(rsc->role),
rsc               158 lib/pacemaker/pcmk_output.c                                     role2text(rsc->next_role),
rsc               167 lib/pacemaker/pcmk_output.c         details = crm_strdup_printf("%s %s", role2text(rsc->role),
rsc               176 lib/pacemaker/pcmk_output.c         details = crm_strdup_printf("%s %s", role2text(rsc->role),
rsc               187 lib/pacemaker/pcmk_output.c                                     role2text(rsc->role));
rsc               196 lib/pacemaker/pcmk_output.c         details = crm_strdup_printf("%s -> %s %s", role2text(rsc->role),
rsc               197 lib/pacemaker/pcmk_output.c                                     role2text(rsc->next_role),
rsc               202 lib/pacemaker/pcmk_output.c         details = crm_strdup_printf("%s %s -> %s %s", role2text(rsc->role),
rsc               204 lib/pacemaker/pcmk_output.c                                     role2text(rsc->next_role),
rsc               226 lib/pacemaker/pcmk_output.c                    change, rsc_width, rsc->id, detail_width, details,
rsc               241 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               261 lib/pacemaker/pcmk_output.c     if ((rsc->role > pcmk_role_started)
rsc               262 lib/pacemaker/pcmk_output.c         || (rsc->next_role > pcmk_role_unpromoted)) {
rsc               270 lib/pacemaker/pcmk_output.c     if (rsc->role == rsc->next_role) {
rsc               277 lib/pacemaker/pcmk_output.c                                        "resource", rsc->id,
rsc               284 lib/pacemaker/pcmk_output.c                            "role", role2text(rsc->role),
rsc               285 lib/pacemaker/pcmk_output.c                            "next-role", role2text(rsc->next_role),
rsc               296 lib/pacemaker/pcmk_output.c                            "role", role2text(rsc->role),
rsc               307 lib/pacemaker/pcmk_output.c                            "role", role2text(rsc->role),
rsc               320 lib/pacemaker/pcmk_output.c                            "role", role2text(rsc->role),
rsc               333 lib/pacemaker/pcmk_output.c                            "role", role2text(rsc->role),
rsc               334 lib/pacemaker/pcmk_output.c                            "next-role", role2text(rsc->next_role),
rsc               341 lib/pacemaker/pcmk_output.c                            "role", role2text(rsc->role),
rsc               343 lib/pacemaker/pcmk_output.c                            "next-role", role2text(rsc->next_role),
rsc               369 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               374 lib/pacemaker/pcmk_output.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_detect_loop)) {
rsc               381 lib/pacemaker/pcmk_output.c     pe__set_resource_flags(rsc, pcmk_rsc_detect_loop);
rsc               382 lib/pacemaker/pcmk_output.c     for (GList *lpc = rsc->rsc_cons; lpc != NULL; lpc = lpc->next) {
rsc               387 lib/pacemaker/pcmk_output.c                                  "Resources %s is colocated with", rsc->id);
rsc               418 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               423 lib/pacemaker/pcmk_output.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_detect_loop)) {
rsc               430 lib/pacemaker/pcmk_output.c     pe__set_resource_flags(rsc, pcmk_rsc_detect_loop);
rsc               431 lib/pacemaker/pcmk_output.c     for (GList *lpc = rsc->rsc_cons; lpc != NULL; lpc = lpc->next) {
rsc               454 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               459 lib/pacemaker/pcmk_output.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_detect_loop)) {
rsc               467 lib/pacemaker/pcmk_output.c     pe__set_resource_flags(rsc, pcmk_rsc_detect_loop);
rsc               468 lib/pacemaker/pcmk_output.c     for (GList *lpc = rsc->rsc_cons_lhs; lpc != NULL; lpc = lpc->next) {
rsc               473 lib/pacemaker/pcmk_output.c                                  rsc->id);
rsc               504 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               509 lib/pacemaker/pcmk_output.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_detect_loop)) {
rsc               517 lib/pacemaker/pcmk_output.c     pe__set_resource_flags(rsc, pcmk_rsc_detect_loop);
rsc               518 lib/pacemaker/pcmk_output.c     for (GList *lpc = rsc->rsc_cons_lhs; lpc != NULL; lpc = lpc->next) {
rsc               541 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               544 lib/pacemaker/pcmk_output.c     GList *list = rsc->rsc_location;
rsc               559 lib/pacemaker/pcmk_output.c                            rsc->id);
rsc               570 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               571 lib/pacemaker/pcmk_output.c     return do_locations_list_xml(out, rsc, true);
rsc               579 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               583 lib/pacemaker/pcmk_output.c     pcmk__unpack_constraints(rsc->cluster);
rsc               587 lib/pacemaker/pcmk_output.c         rsc = uber_parent(rsc);
rsc               590 lib/pacemaker/pcmk_output.c     out->message(out, "locations-list", rsc);
rsc               592 lib/pacemaker/pcmk_output.c     pe__clear_resource_flags_on_all(rsc->cluster, pcmk_rsc_detect_loop);
rsc               593 lib/pacemaker/pcmk_output.c     out->message(out, "rscs-colocated-with-list", rsc, recursive);
rsc               595 lib/pacemaker/pcmk_output.c     pe__clear_resource_flags_on_all(rsc->cluster, pcmk_rsc_detect_loop);
rsc               596 lib/pacemaker/pcmk_output.c     out->message(out, "rsc-is-colocated-with-list", rsc, recursive);
rsc               605 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               609 lib/pacemaker/pcmk_output.c     pcmk__unpack_constraints(rsc->cluster);
rsc               613 lib/pacemaker/pcmk_output.c         rsc = uber_parent(rsc);
rsc               617 lib/pacemaker/pcmk_output.c     do_locations_list_xml(out, rsc, false);
rsc               619 lib/pacemaker/pcmk_output.c     pe__clear_resource_flags_on_all(rsc->cluster, pcmk_rsc_detect_loop);
rsc               620 lib/pacemaker/pcmk_output.c     out->message(out, "rscs-colocated-with-list", rsc, recursive);
rsc               622 lib/pacemaker/pcmk_output.c     pe__clear_resource_flags_on_all(rsc->cluster, pcmk_rsc_detect_loop);
rsc               623 lib/pacemaker/pcmk_output.c     out->message(out, "rsc-is-colocated-with-list", rsc, recursive);
rsc               963 lib/pacemaker/pcmk_output.c     const pcmk_resource_t *rsc = va_arg(args, const pcmk_resource_t *);
rsc               982 lib/pacemaker/pcmk_output.c     if ((rsc != NULL) && (rsc->id != NULL)) {
rsc               983 lib/pacemaker/pcmk_output.c         rsc_desc = rsc->id;
rsc              1033 lib/pacemaker/pcmk_output.c     const pcmk_resource_t *rsc = va_arg(args, const pcmk_resource_t *);
rsc              1043 lib/pacemaker/pcmk_output.c                                        "resource", pcmk__s(rsc->id, ""),
rsc              1066 lib/pacemaker/pcmk_output.c                     __func__, lineno, rsc->id);                         \
rsc              1080 lib/pacemaker/pcmk_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              1096 lib/pacemaker/pcmk_output.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)
rsc              1098 lib/pacemaker/pcmk_output.c         const bool managed = pcmk_is_set(rsc->flags, pcmk_rsc_managed);
rsc              1100 lib/pacemaker/pcmk_output.c         pe_rsc_info(rsc, "Leave   %s\t(%s%s)",
rsc              1101 lib/pacemaker/pcmk_output.c                     rsc->id, role2text(rsc->role),
rsc              1109 lib/pacemaker/pcmk_output.c     possible_matches = pe__resource_actions(rsc, next, PCMK_ACTION_START,
rsc              1122 lib/pacemaker/pcmk_output.c     possible_matches = pe__resource_actions(rsc, start_node, PCMK_ACTION_STOP,
rsc              1127 lib/pacemaker/pcmk_output.c     } else if (pcmk_is_set(rsc->flags, pcmk_rsc_stop_unexpected)) {
rsc              1132 lib/pacemaker/pcmk_output.c         possible_matches = pe__resource_actions(rsc, NULL, PCMK_ACTION_STOP,
rsc              1140 lib/pacemaker/pcmk_output.c     possible_matches = pe__resource_actions(rsc, next, PCMK_ACTION_PROMOTE,
rsc              1147 lib/pacemaker/pcmk_output.c     possible_matches = pe__resource_actions(rsc, next, PCMK_ACTION_DEMOTE,
rsc              1154 lib/pacemaker/pcmk_output.c     if (rsc->role == rsc->next_role) {
rsc              1159 lib/pacemaker/pcmk_output.c         possible_matches = pe__resource_actions(rsc, next,
rsc              1168 lib/pacemaker/pcmk_output.c             rc = out->message(out, "rsc-action-item", "Migrate", rsc, current,
rsc              1171 lib/pacemaker/pcmk_output.c         } else if (pcmk_is_set(rsc->flags, pcmk_rsc_reload)) {
rsc              1172 lib/pacemaker/pcmk_output.c             rc = out->message(out, "rsc-action-item", "Reload", rsc, current,
rsc              1180 lib/pacemaker/pcmk_output.c                 rc = out->message(out, "rsc-action-item", "Re-promote", rsc,
rsc              1183 lib/pacemaker/pcmk_output.c                 pe_rsc_info(rsc, "Leave   %s\t(%s %s)", rsc->id,
rsc              1184 lib/pacemaker/pcmk_output.c                             role2text(rsc->role), pe__node_name(next));
rsc              1193 lib/pacemaker/pcmk_output.c             rc = out->message(out, "rsc-action-item", "Stop", rsc, current,
rsc              1198 lib/pacemaker/pcmk_output.c             const bool failed = pcmk_is_set(rsc->flags, pcmk_rsc_failed);
rsc              1201 lib/pacemaker/pcmk_output.c                               (failed? "Recover" : "Move"), rsc, current, next,
rsc              1204 lib/pacemaker/pcmk_output.c         } else if (pcmk_is_set(rsc->flags, pcmk_rsc_failed)) {
rsc              1205 lib/pacemaker/pcmk_output.c             rc = out->message(out, "rsc-action-item", "Recover", rsc, current,
rsc              1210 lib/pacemaker/pcmk_output.c             rc = out->message(out, "rsc-action-item", "Restart", rsc, current,
rsc              1225 lib/pacemaker/pcmk_output.c         && ((rsc->next_role == pcmk_role_stopped)
rsc              1229 lib/pacemaker/pcmk_output.c         key = stop_key(rsc);
rsc              1230 lib/pacemaker/pcmk_output.c         for (GList *iter = rsc->running_on; iter != NULL; iter = iter->next) {
rsc              1235 lib/pacemaker/pcmk_output.c             possible_matches = find_actions(rsc->actions, key, node);
rsc              1250 lib/pacemaker/pcmk_output.c             if (out->message(out, "rsc-action-item", "Stop", rsc, node, NULL,
rsc              1259 lib/pacemaker/pcmk_output.c                && pcmk_all_flags_set(rsc->flags,
rsc              1262 lib/pacemaker/pcmk_output.c         rc = out->message(out, "rsc-action-item", "Recover", rsc, current,
rsc              1267 lib/pacemaker/pcmk_output.c         rc = out->message(out, "rsc-action-item", "Move", rsc, current, next,
rsc              1271 lib/pacemaker/pcmk_output.c     } else if (pcmk_is_set(rsc->flags, pcmk_rsc_reload)) {
rsc              1272 lib/pacemaker/pcmk_output.c         rc = out->message(out, "rsc-action-item", "Reload", rsc, current, next,
rsc              1277 lib/pacemaker/pcmk_output.c         rc = out->message(out, "rsc-action-item", "Restart", rsc, current,
rsc              1281 lib/pacemaker/pcmk_output.c     } else if (rsc->role == pcmk_role_promoted) {
rsc              1283 lib/pacemaker/pcmk_output.c         rc = out->message(out, "rsc-action-item", "Demote", rsc, current,
rsc              1286 lib/pacemaker/pcmk_output.c     } else if (rsc->next_role == pcmk_role_promoted) {
rsc              1288 lib/pacemaker/pcmk_output.c         rc = out->message(out, "rsc-action-item", "Promote", rsc, current,
rsc              1291 lib/pacemaker/pcmk_output.c     } else if ((rsc->role == pcmk_role_stopped)
rsc              1292 lib/pacemaker/pcmk_output.c                && (rsc->next_role > pcmk_role_stopped)) {
rsc              1293 lib/pacemaker/pcmk_output.c         rc = out->message(out, "rsc-action-item", "Start", rsc, current, next,
rsc              1395 lib/pacemaker/pcmk_output.c     xmlNodePtr rsc = va_arg(args, xmlNodePtr);
rsc              1401 lib/pacemaker/pcmk_output.c     if (rsc != NULL) {
rsc              1403 lib/pacemaker/pcmk_output.c                        task, ID(rsc), node);
rsc              1418 lib/pacemaker/pcmk_output.c     xmlNodePtr rsc = va_arg(args, xmlNodePtr);
rsc              1431 lib/pacemaker/pcmk_output.c     if (rsc) {
rsc              1432 lib/pacemaker/pcmk_output.c         crm_xml_add(xml_node, "id", ID(rsc));
rsc              1725 lib/pacemaker/pcmk_output.c     const char *rsc = va_arg(args, const char *);
rsc              1736 lib/pacemaker/pcmk_output.c                        rsc, operation, interval_ms, node);
rsc              1739 lib/pacemaker/pcmk_output.c                        rsc, operation, node);
rsc              1750 lib/pacemaker/pcmk_output.c     const char *rsc = va_arg(args, const char *);
rsc              1762 lib/pacemaker/pcmk_output.c                                             "resource", rsc,
rsc                31 lib/pacemaker/pcmk_resource.c best_op(const pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc                42 lib/pacemaker/pcmk_resource.c     xpath = crm_strdup_printf(XPATH_OP_HISTORY, node->details->uname, rsc->id);
rsc                43 lib/pacemaker/pcmk_resource.c     history = get_xpath_object(xpath, rsc->cluster->input, LOG_NEVER);
rsc               118 lib/pacemaker/pcmk_resource.c pcmk__resource_digests(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc               127 lib/pacemaker/pcmk_resource.c     if ((out == NULL) || (rsc == NULL) || (node == NULL)) {
rsc               130 lib/pacemaker/pcmk_resource.c     if (rsc->variant != pcmk_rsc_variant_primitive) {
rsc               136 lib/pacemaker/pcmk_resource.c     xml_op = best_op(rsc, node);
rsc               149 lib/pacemaker/pcmk_resource.c     digests = pe__calculate_digests(rsc, task, &interval_ms, node, xml_op,
rsc               150 lib/pacemaker/pcmk_resource.c                                     overrides, true, rsc->cluster);
rsc               151 lib/pacemaker/pcmk_resource.c     rc = out->message(out, "digests", rsc, node, task, interval_ms, digests);
rsc               158 lib/pacemaker/pcmk_resource.c pcmk_resource_digests(xmlNodePtr *xml, pcmk_resource_t *rsc,
rsc               170 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->cmds->action_flags(action, NULL);
rsc                47 lib/pacemaker/pcmk_sched_actions.c     if ((node == NULL) || !pe_rsc_is_clone(action->rsc)) {
rsc                57 lib/pacemaker/pcmk_sched_actions.c     flags = action->rsc->cmds->action_flags(action, node);
rsc                68 lib/pacemaker/pcmk_sched_actions.c         pe__set_raw_action_flags(flags, action->rsc->id, pcmk_action_runnable);
rsc               185 lib/pacemaker/pcmk_sched_actions.c     pcmk_resource_t *rsc = action->rsc;
rsc               187 lib/pacemaker/pcmk_sched_actions.c     if ((rsc != NULL) && (rsc->variant >= pcmk_rsc_variant_group)
rsc               189 lib/pacemaker/pcmk_sched_actions.c         char *uuid = action_uuid_for_ordering(action->uuid, rsc);
rsc               191 lib/pacemaker/pcmk_sched_actions.c         result = find_first_action(rsc->actions, uuid, NULL, NULL);
rsc               194 lib/pacemaker/pcmk_sched_actions.c                      "remapped action", action->uuid, uuid, rsc->id);
rsc               222 lib/pacemaker/pcmk_sched_actions.c update(pcmk_resource_t *rsc, pcmk_action_t *first, pcmk_action_t *then,
rsc               226 lib/pacemaker/pcmk_sched_actions.c     return rsc->cmds->update_ordered_actions(first, then, node, flags, filter,
rsc               268 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(then->rsc,
rsc               275 lib/pacemaker/pcmk_sched_actions.c         if (then->rsc != NULL) {
rsc               276 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node,
rsc               285 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(then->rsc,
rsc               292 lib/pacemaker/pcmk_sched_actions.c         && (then->rsc != NULL)) {
rsc               296 lib/pacemaker/pcmk_sched_actions.c         changed |= update(then->rsc, first, then, node, first_flags, restart,
rsc               298 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(then->rsc,
rsc               305 lib/pacemaker/pcmk_sched_actions.c         if (first->rsc != NULL) {
rsc               306 lib/pacemaker/pcmk_sched_actions.c             changed |= update(first->rsc, first, then, node, first_flags,
rsc               314 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(then->rsc,
rsc               321 lib/pacemaker/pcmk_sched_actions.c         if (then->rsc != NULL) {
rsc               322 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node,
rsc               327 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(then->rsc,
rsc               334 lib/pacemaker/pcmk_sched_actions.c         if (then->rsc != NULL) {
rsc               335 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node, first_flags,
rsc               353 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(then->rsc, "%s then %s: %s after pcmk__ar_min_runnable",
rsc               359 lib/pacemaker/pcmk_sched_actions.c         && (then->rsc != NULL)) {
rsc               362 lib/pacemaker/pcmk_sched_actions.c             && (first->rsc != NULL) && (first->rsc->running_on != NULL)) {
rsc               364 lib/pacemaker/pcmk_sched_actions.c             pe_rsc_trace(then->rsc,
rsc               369 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node, first_flags,
rsc               373 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(then->rsc,
rsc               380 lib/pacemaker/pcmk_sched_actions.c         if (then->rsc != NULL) {
rsc               381 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node, first_flags,
rsc               391 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(then->rsc,
rsc               398 lib/pacemaker/pcmk_sched_actions.c         if (then->rsc != NULL) {
rsc               399 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node, first_flags,
rsc               403 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(then->rsc, "%s then %s: %s after "
rsc               410 lib/pacemaker/pcmk_sched_actions.c         if (then->rsc != NULL) {
rsc               411 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node, first_flags,
rsc               415 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(then->rsc, "%s then %s: %s after pcmk__ar_first_else_then",
rsc               421 lib/pacemaker/pcmk_sched_actions.c         if (then->rsc != NULL) {
rsc               422 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node, first_flags,
rsc               426 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(then->rsc, "%s then %s: %s after pcmk__ar_ordered",
rsc               432 lib/pacemaker/pcmk_sched_actions.c         if (then->rsc != NULL) {
rsc               433 lib/pacemaker/pcmk_sched_actions.c             changed |= update(then->rsc, first, then, node, first_flags,
rsc               437 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(then->rsc, "%s then %s: %s after pcmk__ar_asymmetric",
rsc               446 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(then->rsc, "%s will be in graph because %s is required",
rsc               455 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(then->rsc, "%s will be in graph because %s is required",
rsc               464 lib/pacemaker/pcmk_sched_actions.c         && (first->rsc != NULL)
rsc               465 lib/pacemaker/pcmk_sched_actions.c         && !pcmk_is_set(first->rsc->flags, pcmk_rsc_managed)
rsc               466 lib/pacemaker/pcmk_sched_actions.c         && pcmk_is_set(first->rsc->flags, pcmk_rsc_blocked)
rsc               474 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(then->rsc, "%s then %s: %s after checking whether first "
rsc               512 lib/pacemaker/pcmk_sched_actions.c     pe_rsc_trace(then->rsc, "Updating %s %s (%s %s) on %s",
rsc               546 lib/pacemaker/pcmk_sched_actions.c         if ((first->rsc != NULL)
rsc               547 lib/pacemaker/pcmk_sched_actions.c             && (first->rsc->variant == pcmk_rsc_variant_group)
rsc               550 lib/pacemaker/pcmk_sched_actions.c             first_node = first->rsc->fns->location(first->rsc, NULL, FALSE);
rsc               552 lib/pacemaker/pcmk_sched_actions.c                 pe_rsc_trace(first->rsc, "Found %s for 'first' %s",
rsc               557 lib/pacemaker/pcmk_sched_actions.c         if ((then->rsc != NULL)
rsc               558 lib/pacemaker/pcmk_sched_actions.c             && (then->rsc->variant == pcmk_rsc_variant_group)
rsc               561 lib/pacemaker/pcmk_sched_actions.c             then_node = then->rsc->fns->location(then->rsc, NULL, FALSE);
rsc               563 lib/pacemaker/pcmk_sched_actions.c                 pe_rsc_trace(then->rsc, "Found %s for 'then' %s",
rsc               573 lib/pacemaker/pcmk_sched_actions.c             pe_rsc_trace(then->rsc,
rsc               584 lib/pacemaker/pcmk_sched_actions.c         if ((first->rsc != NULL)
rsc               593 lib/pacemaker/pcmk_sched_actions.c                 pe__clear_resource_flags(first->rsc, pcmk_rsc_reload);
rsc               597 lib/pacemaker/pcmk_sched_actions.c         if ((first->rsc != NULL) && (then->rsc != NULL)
rsc               598 lib/pacemaker/pcmk_sched_actions.c             && (first->rsc != then->rsc) && !is_parent(then->rsc, first->rsc)) {
rsc               602 lib/pacemaker/pcmk_sched_actions.c             pe_rsc_trace(then->rsc, "Ordering %s after %s instead of %s",
rsc               606 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(then->rsc,
rsc               633 lib/pacemaker/pcmk_sched_actions.c             pe_rsc_trace(then->rsc,
rsc               681 lib/pacemaker/pcmk_sched_actions.c     return (action != NULL) && (action->rsc != NULL)
rsc               682 lib/pacemaker/pcmk_sched_actions.c            && (action->rsc->variant == pcmk_rsc_variant_primitive);
rsc               696 lib/pacemaker/pcmk_sched_actions.c             if ((action)->rsc != (reason)->rsc) {                           \
rsc               720 lib/pacemaker/pcmk_sched_actions.c     if ((then->rsc == NULL)
rsc               727 lib/pacemaker/pcmk_sched_actions.c         enum rsc_role_e then_rsc_role = then->rsc->fns->state(then->rsc, TRUE);
rsc               737 lib/pacemaker/pcmk_sched_actions.c             && pe__rsc_running_on_only(then->rsc, then->node)) {
rsc               783 lib/pacemaker/pcmk_sched_actions.c         && pcmk_is_set(then->rsc->flags, pcmk_rsc_managed)
rsc               784 lib/pacemaker/pcmk_sched_actions.c         && (first->rsc == then->rsc)) {
rsc               792 lib/pacemaker/pcmk_sched_actions.c     pe_rsc_trace(first->rsc, "Handling %s -> %s for %s",
rsc               874 lib/pacemaker/pcmk_sched_actions.c         && (then->rsc != NULL) && (then->rsc->role == pcmk_role_promoted)
rsc               931 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(then->rsc,
rsc               937 lib/pacemaker/pcmk_sched_actions.c         if ((then->rsc != NULL) && (then->rsc->parent != NULL)) {
rsc               945 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(first->rsc,
rsc              1016 lib/pacemaker/pcmk_sched_actions.c                       (action->rsc? action->rsc->id : "<none>"),
rsc              1304 lib/pacemaker/pcmk_sched_actions.c     if ((action == NULL) || (action->rsc == NULL)
rsc              1305 lib/pacemaker/pcmk_sched_actions.c         || !pe__same_node(action->node, action->rsc->lock_node)) {
rsc              1403 lib/pacemaker/pcmk_sched_actions.c         if (action->rsc != NULL) {
rsc              1443 lib/pacemaker/pcmk_sched_actions.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc              1445 lib/pacemaker/pcmk_sched_actions.c         rsc->cmds->output_actions(rsc);
rsc              1518 lib/pacemaker/pcmk_sched_actions.c force_restart(pcmk_resource_t *rsc, const char *task, guint interval_ms,
rsc              1521 lib/pacemaker/pcmk_sched_actions.c     char *key = pcmk__op_key(rsc->id, task, interval_ms);
rsc              1522 lib/pacemaker/pcmk_sched_actions.c     pcmk_action_t *required = custom_action(rsc, key, task, NULL, FALSE,
rsc              1523 lib/pacemaker/pcmk_sched_actions.c                                             rsc->cluster);
rsc              1526 lib/pacemaker/pcmk_sched_actions.c     trigger_unfencing(rsc, node, "Device parameters changed", NULL,
rsc              1527 lib/pacemaker/pcmk_sched_actions.c                       rsc->cluster);
rsc              1540 lib/pacemaker/pcmk_sched_actions.c     pcmk_resource_t *rsc = data;
rsc              1545 lib/pacemaker/pcmk_sched_actions.c     if (rsc->variant > pcmk_rsc_variant_primitive) {
rsc              1546 lib/pacemaker/pcmk_sched_actions.c         g_list_foreach(rsc->children, schedule_reload, user_data);
rsc              1552 lib/pacemaker/pcmk_sched_actions.c         || !pcmk_is_set(rsc->flags, pcmk_rsc_managed)
rsc              1553 lib/pacemaker/pcmk_sched_actions.c         || pcmk_is_set(rsc->flags, pcmk_rsc_failed)) {
rsc              1554 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(rsc, "Skip reload of %s:%s%s %s",
rsc              1555 lib/pacemaker/pcmk_sched_actions.c                      rsc->id,
rsc              1556 lib/pacemaker/pcmk_sched_actions.c                      pcmk_is_set(rsc->flags, pcmk_rsc_managed)? "" : " unmanaged",
rsc              1557 lib/pacemaker/pcmk_sched_actions.c                      pcmk_is_set(rsc->flags, pcmk_rsc_failed)? " failed" : "",
rsc              1565 lib/pacemaker/pcmk_sched_actions.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_start_pending)) {
rsc              1566 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(rsc, "%s: preventing agent reload because start pending",
rsc              1567 lib/pacemaker/pcmk_sched_actions.c                      rsc->id);
rsc              1568 lib/pacemaker/pcmk_sched_actions.c         custom_action(rsc, stop_key(rsc), PCMK_ACTION_STOP, node, FALSE,
rsc              1569 lib/pacemaker/pcmk_sched_actions.c                       rsc->cluster);
rsc              1574 lib/pacemaker/pcmk_sched_actions.c     pe__set_resource_flags(rsc, pcmk_rsc_reload);
rsc              1575 lib/pacemaker/pcmk_sched_actions.c     reload = custom_action(rsc, reload_key(rsc), PCMK_ACTION_RELOAD_AGENT, node,
rsc              1576 lib/pacemaker/pcmk_sched_actions.c                            FALSE, rsc->cluster);
rsc              1580 lib/pacemaker/pcmk_sched_actions.c     pcmk__new_ordering(NULL, NULL, reload, rsc, stop_key(rsc), NULL,
rsc              1582 lib/pacemaker/pcmk_sched_actions.c                        rsc->cluster);
rsc              1583 lib/pacemaker/pcmk_sched_actions.c     pcmk__new_ordering(NULL, NULL, reload, rsc, demote_key(rsc), NULL,
rsc              1585 lib/pacemaker/pcmk_sched_actions.c                        rsc->cluster);
rsc              1603 lib/pacemaker/pcmk_sched_actions.c pcmk__check_action_config(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc              1610 lib/pacemaker/pcmk_sched_actions.c     CRM_CHECK((rsc != NULL) && (node != NULL) && (xml_op != NULL),
rsc              1620 lib/pacemaker/pcmk_sched_actions.c         if (pcmk__find_action_config(rsc, task, interval_ms, false) != NULL) {
rsc              1621 lib/pacemaker/pcmk_sched_actions.c             pe_rsc_trace(rsc, "%s-interval %s for %s on %s is in configuration",
rsc              1622 lib/pacemaker/pcmk_sched_actions.c                          pcmk__readable_interval(interval_ms), task, rsc->id,
rsc              1624 lib/pacemaker/pcmk_sched_actions.c         } else if (pcmk_is_set(rsc->cluster->flags,
rsc              1626 lib/pacemaker/pcmk_sched_actions.c             pcmk__schedule_cancel(rsc,
rsc              1632 lib/pacemaker/pcmk_sched_actions.c             pe_rsc_debug(rsc, "%s-interval %s for %s on %s is orphaned",
rsc              1633 lib/pacemaker/pcmk_sched_actions.c                          pcmk__readable_interval(interval_ms), task, rsc->id,
rsc              1640 lib/pacemaker/pcmk_sched_actions.c               pcmk__readable_interval(interval_ms), task, rsc->id,
rsc              1643 lib/pacemaker/pcmk_sched_actions.c     digest_data = rsc_action_digest_cmp(rsc, xml_op, node, rsc->cluster);
rsc              1645 lib/pacemaker/pcmk_sched_actions.c     if (only_sanitized_changed(xml_op, digest_data, rsc->cluster)) {
rsc              1646 lib/pacemaker/pcmk_sched_actions.c         if (!pcmk__is_daemon && (rsc->cluster->priv != NULL)) {
rsc              1647 lib/pacemaker/pcmk_sched_actions.c             pcmk__output_t *out = rsc->cluster->priv;
rsc              1652 lib/pacemaker/pcmk_sched_actions.c                       pcmk__readable_interval(interval_ms), task, rsc->id,
rsc              1662 lib/pacemaker/pcmk_sched_actions.c             force_restart(rsc, task, interval_ms, node);
rsc              1675 lib/pacemaker/pcmk_sched_actions.c                 pcmk__reschedule_recurring(rsc, task, interval_ms, node);
rsc              1680 lib/pacemaker/pcmk_sched_actions.c                 trigger_unfencing(rsc, node,
rsc              1682 lib/pacemaker/pcmk_sched_actions.c                                   rsc->cluster);
rsc              1684 lib/pacemaker/pcmk_sched_actions.c                 schedule_reload((gpointer) rsc, (gpointer) node);
rsc              1687 lib/pacemaker/pcmk_sched_actions.c                 pe_rsc_trace(rsc,
rsc              1689 lib/pacemaker/pcmk_sched_actions.c                              "because agent doesn't support reload", rsc->id);
rsc              1692 lib/pacemaker/pcmk_sched_actions.c                 force_restart(rsc, task, interval_ms, node);
rsc              1739 lib/pacemaker/pcmk_sched_actions.c process_rsc_history(const xmlNode *rsc_entry, pcmk_resource_t *rsc,
rsc              1747 lib/pacemaker/pcmk_sched_actions.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_removed)) {
rsc              1748 lib/pacemaker/pcmk_sched_actions.c         if (pe_rsc_is_anon_clone(pe__const_top_resource(rsc, false))) {
rsc              1749 lib/pacemaker/pcmk_sched_actions.c             pe_rsc_trace(rsc,
rsc              1752 lib/pacemaker/pcmk_sched_actions.c                          rsc->id);
rsc              1754 lib/pacemaker/pcmk_sched_actions.c             pe_rsc_trace(rsc,
rsc              1756 lib/pacemaker/pcmk_sched_actions.c                          "for orphaned resource %s", rsc->id);
rsc              1757 lib/pacemaker/pcmk_sched_actions.c             pcmk__schedule_cleanup(rsc, node, false);
rsc              1762 lib/pacemaker/pcmk_sched_actions.c     if (pe_find_node_id(rsc->running_on, node->details->id) == NULL) {
rsc              1763 lib/pacemaker/pcmk_sched_actions.c         if (pcmk__rsc_agent_changed(rsc, node, rsc_entry, false)) {
rsc              1764 lib/pacemaker/pcmk_sched_actions.c             pcmk__schedule_cleanup(rsc, node, false);
rsc              1766 lib/pacemaker/pcmk_sched_actions.c         pe_rsc_trace(rsc,
rsc              1769 lib/pacemaker/pcmk_sched_actions.c                      rsc->id, pe__node_name(node));
rsc              1773 lib/pacemaker/pcmk_sched_actions.c     pe_rsc_trace(rsc, "Checking for configuration changes for %s on %s",
rsc              1774 lib/pacemaker/pcmk_sched_actions.c                  rsc->id, pe__node_name(node));
rsc              1776 lib/pacemaker/pcmk_sched_actions.c     if (pcmk__rsc_agent_changed(rsc, node, rsc_entry, true)) {
rsc              1777 lib/pacemaker/pcmk_sched_actions.c         pcmk__schedule_cleanup(rsc, node, false);
rsc              1799 lib/pacemaker/pcmk_sched_actions.c             && (pcmk_is_set(rsc->flags, pcmk_rsc_maintenance)
rsc              1802 lib/pacemaker/pcmk_sched_actions.c             pcmk__schedule_cancel(rsc,
rsc              1816 lib/pacemaker/pcmk_sched_actions.c             if (pe__bundle_needs_remote_name(rsc)) {
rsc              1824 lib/pacemaker/pcmk_sched_actions.c                 pe__add_param_check(rsc_op, rsc, node, pcmk__check_active,
rsc              1825 lib/pacemaker/pcmk_sched_actions.c                                     rsc->cluster);
rsc              1827 lib/pacemaker/pcmk_sched_actions.c             } else if (pcmk__check_action_config(rsc, node, rsc_op)
rsc              1828 lib/pacemaker/pcmk_sched_actions.c                        && (pe_get_failcount(node, rsc, NULL, pcmk__fc_effective,
rsc              1830 lib/pacemaker/pcmk_sched_actions.c                 pe__clear_failcount(rsc, node, "action definition changed",
rsc              1831 lib/pacemaker/pcmk_sched_actions.c                                     rsc->cluster);
rsc              1864 lib/pacemaker/pcmk_sched_actions.c                 pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc              1866 lib/pacemaker/pcmk_sched_actions.c                 if (rsc->variant == pcmk_rsc_variant_primitive) {
rsc              1867 lib/pacemaker/pcmk_sched_actions.c                     process_rsc_history(rsc_entry, rsc, node);
rsc               111 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_assign(pcmk_resource_t *rsc, const pcmk_node_t *prefer,
rsc               118 lib/pacemaker/pcmk_sched_bundle.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_bundle));
rsc               120 lib/pacemaker/pcmk_sched_bundle.c     pe_rsc_trace(rsc, "Assigning bundle %s", rsc->id);
rsc               121 lib/pacemaker/pcmk_sched_bundle.c     pe__set_resource_flags(rsc, pcmk_rsc_assigning);
rsc               123 lib/pacemaker/pcmk_sched_bundle.c     pe__show_node_scores(!pcmk_is_set(rsc->cluster->flags,
rsc               125 lib/pacemaker/pcmk_sched_bundle.c                          rsc, __func__, rsc->allowed_nodes, rsc->cluster);
rsc               128 lib/pacemaker/pcmk_sched_bundle.c     containers = g_list_sort(pe__bundle_containers(rsc), pcmk__cmp_instance);
rsc               129 lib/pacemaker/pcmk_sched_bundle.c     pcmk__assign_instances(rsc, containers, pe__bundle_max(rsc),
rsc               130 lib/pacemaker/pcmk_sched_bundle.c                            rsc->fns->max_per_node(rsc));
rsc               134 lib/pacemaker/pcmk_sched_bundle.c     pe__foreach_bundle_replica(rsc, assign_replica, (void *) &assign_data);
rsc               137 lib/pacemaker/pcmk_sched_bundle.c     bundled_resource = pe__bundled_resource(rsc);
rsc               144 lib/pacemaker/pcmk_sched_bundle.c             if (pe__node_is_bundle_instance(rsc, node)) {
rsc               153 lib/pacemaker/pcmk_sched_bundle.c     pe__clear_resource_flags(rsc, pcmk_rsc_assigning|pcmk_rsc_unassigned);
rsc               188 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_create_actions(pcmk_resource_t *rsc)
rsc               194 lib/pacemaker/pcmk_sched_bundle.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_bundle));
rsc               196 lib/pacemaker/pcmk_sched_bundle.c     pe__foreach_bundle_replica(rsc, create_replica_actions, NULL);
rsc               198 lib/pacemaker/pcmk_sched_bundle.c     containers = pe__bundle_containers(rsc);
rsc               199 lib/pacemaker/pcmk_sched_bundle.c     pcmk__create_instance_actions(rsc, containers);
rsc               202 lib/pacemaker/pcmk_sched_bundle.c     bundled_resource = pe__bundled_resource(rsc);
rsc               207 lib/pacemaker/pcmk_sched_bundle.c             pe__new_rsc_pseudo_action(rsc, PCMK_ACTION_PROMOTE, true, true);
rsc               208 lib/pacemaker/pcmk_sched_bundle.c             action = pe__new_rsc_pseudo_action(rsc, PCMK_ACTION_PROMOTED,
rsc               212 lib/pacemaker/pcmk_sched_bundle.c             pe__new_rsc_pseudo_action(rsc, PCMK_ACTION_DEMOTE, true, true);
rsc               213 lib/pacemaker/pcmk_sched_bundle.c             action = pe__new_rsc_pseudo_action(rsc, PCMK_ACTION_DEMOTED,
rsc               297 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_internal_constraints(pcmk_resource_t *rsc)
rsc               301 lib/pacemaker/pcmk_sched_bundle.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_bundle));
rsc               303 lib/pacemaker/pcmk_sched_bundle.c     pe__foreach_bundle_replica(rsc, replica_internal_constraints, rsc);
rsc               305 lib/pacemaker/pcmk_sched_bundle.c     bundled_resource = pe__bundled_resource(rsc);
rsc               311 lib/pacemaker/pcmk_sched_bundle.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_START, bundled_resource,
rsc               317 lib/pacemaker/pcmk_sched_bundle.c                                  rsc, PCMK_ACTION_RUNNING,
rsc               321 lib/pacemaker/pcmk_sched_bundle.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_STOP, bundled_resource,
rsc               327 lib/pacemaker/pcmk_sched_bundle.c                                  rsc, PCMK_ACTION_STOPPED,
rsc               335 lib/pacemaker/pcmk_sched_bundle.c     pcmk__promotable_restart_ordering(rsc);
rsc               338 lib/pacemaker/pcmk_sched_bundle.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_DEMOTE, bundled_resource,
rsc               344 lib/pacemaker/pcmk_sched_bundle.c                                  rsc, PCMK_ACTION_DEMOTED,
rsc               348 lib/pacemaker/pcmk_sched_bundle.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_PROMOTE,
rsc               354 lib/pacemaker/pcmk_sched_bundle.c                                  rsc, PCMK_ACTION_PROMOTED,
rsc               584 lib/pacemaker/pcmk_sched_bundle.c pcmk__with_bundle_colocations(const pcmk_resource_t *rsc,
rsc               589 lib/pacemaker/pcmk_sched_bundle.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_bundle)
rsc               593 lib/pacemaker/pcmk_sched_bundle.c     if ((orig_rsc == rsc)
rsc               596 lib/pacemaker/pcmk_sched_bundle.c         pcmk__add_with_this_list(list, rsc->rsc_cons_lhs, orig_rsc);
rsc               603 lib/pacemaker/pcmk_sched_bundle.c     bundled_rsc = pe__bundled_resource(rsc);
rsc               616 lib/pacemaker/pcmk_sched_bundle.c             pcmk__add_with_this_list(list, rsc->rsc_cons_lhs, orig_rsc);
rsc               623 lib/pacemaker/pcmk_sched_bundle.c         pcmk__add_with_this_list(list, rsc->rsc_cons_lhs, orig_rsc);
rsc               629 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_with_colocations(const pcmk_resource_t *rsc,
rsc               634 lib/pacemaker/pcmk_sched_bundle.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_bundle)
rsc               638 lib/pacemaker/pcmk_sched_bundle.c     if ((orig_rsc == rsc)
rsc               641 lib/pacemaker/pcmk_sched_bundle.c         pcmk__add_this_with_list(list, rsc->rsc_cons, orig_rsc);
rsc               648 lib/pacemaker/pcmk_sched_bundle.c     bundled_rsc = pe__bundled_resource(rsc);
rsc               661 lib/pacemaker/pcmk_sched_bundle.c             pcmk__add_this_with_list(list, rsc->rsc_cons, orig_rsc);
rsc               668 lib/pacemaker/pcmk_sched_bundle.c         pcmk__add_this_with_list(list, rsc->rsc_cons, orig_rsc);
rsc               688 lib/pacemaker/pcmk_sched_bundle.c     CRM_ASSERT((action != NULL) && (action->rsc != NULL)
rsc               689 lib/pacemaker/pcmk_sched_bundle.c                && (action->rsc->variant == pcmk_rsc_variant_bundle));
rsc               691 lib/pacemaker/pcmk_sched_bundle.c     bundled_resource = pe__bundled_resource(action->rsc);
rsc               710 lib/pacemaker/pcmk_sched_bundle.c     containers = pe__bundle_containers(action->rsc);
rsc               747 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_apply_location(pcmk_resource_t *rsc, pe__location_t *location)
rsc               751 lib/pacemaker/pcmk_sched_bundle.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_bundle)
rsc               754 lib/pacemaker/pcmk_sched_bundle.c     pcmk__apply_location(rsc, location);
rsc               755 lib/pacemaker/pcmk_sched_bundle.c     pe__foreach_bundle_replica(rsc, apply_location_to_replica, location);
rsc               757 lib/pacemaker/pcmk_sched_bundle.c     bundled_resource = pe__bundled_resource(rsc);
rsc               845 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_add_actions_to_graph(pcmk_resource_t *rsc)
rsc               849 lib/pacemaker/pcmk_sched_bundle.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_bundle));
rsc               851 lib/pacemaker/pcmk_sched_bundle.c     bundled_resource = pe__bundled_resource(rsc);
rsc               855 lib/pacemaker/pcmk_sched_bundle.c     pe__foreach_bundle_replica(rsc, add_replica_actions_to_graph, rsc);
rsc               978 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_create_probe(pcmk_resource_t *rsc, pcmk_node_t *node)
rsc               980 lib/pacemaker/pcmk_sched_bundle.c     struct probe_data probe_data = { rsc, node, false };
rsc               982 lib/pacemaker/pcmk_sched_bundle.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_bundle));
rsc               983 lib/pacemaker/pcmk_sched_bundle.c     pe__foreach_bundle_replica(rsc, create_replica_probes, &probe_data);
rsc              1021 lib/pacemaker/pcmk_sched_bundle.c pcmk__output_bundle_actions(pcmk_resource_t *rsc)
rsc              1023 lib/pacemaker/pcmk_sched_bundle.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_bundle));
rsc              1024 lib/pacemaker/pcmk_sched_bundle.c     pe__foreach_bundle_replica(rsc, output_replica_actions, NULL);
rsc              1029 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_add_utilization(const pcmk_resource_t *rsc,
rsc              1035 lib/pacemaker/pcmk_sched_bundle.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_bundle));
rsc              1037 lib/pacemaker/pcmk_sched_bundle.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_unassigned)) {
rsc              1045 lib/pacemaker/pcmk_sched_bundle.c     container = pe__first_container(rsc);
rsc              1054 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_shutdown_lock(pcmk_resource_t *rsc)
rsc              1056 lib/pacemaker/pcmk_sched_bundle.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_bundle));
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     CRM_ASSERT(pe_rsc_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         pe_rsc_debug(rsc, "Breaking assignment loop involving %s", rsc->id);
rsc                53 lib/pacemaker/pcmk_sched_clone.c     pe__set_resource_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                65 lib/pacemaker/pcmk_sched_clone.c         pe_rsc_trace(rsc, "%s: Assigning colocation %s primary %s first",
rsc                66 lib/pacemaker/pcmk_sched_clone.c                      rsc->id, constraint->id, constraint->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->cluster->flags,
rsc                79 lib/pacemaker/pcmk_sched_clone.c                          rsc, __func__, rsc->allowed_nodes, rsc->cluster);
rsc                81 lib/pacemaker/pcmk_sched_clone.c     rsc->children = g_list_sort(rsc->children, pcmk__cmp_instance);
rsc                82 lib/pacemaker/pcmk_sched_clone.c     pcmk__assign_instances(rsc, rsc->children, pe__clone_max(rsc),
rsc                83 lib/pacemaker/pcmk_sched_clone.c                            pe__clone_node_max(rsc));
rsc                85 lib/pacemaker/pcmk_sched_clone.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_promotable)) {
rsc                86 lib/pacemaker/pcmk_sched_clone.c         pcmk__set_instance_roles(rsc);
rsc                89 lib/pacemaker/pcmk_sched_clone.c     pe__clear_resource_flags(rsc, pcmk_rsc_unassigned|pcmk_rsc_assigning);
rsc                90 lib/pacemaker/pcmk_sched_clone.c     pe_rsc_trace(rsc, "Assigned clone %s", rsc->id);
rsc               101 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_create_actions(pcmk_resource_t *rsc)
rsc               103 lib/pacemaker/pcmk_sched_clone.c     CRM_ASSERT(pe_rsc_is_clone(rsc));
rsc               105 lib/pacemaker/pcmk_sched_clone.c     pe_rsc_trace(rsc, "Creating actions for clone %s", rsc->id);
rsc               106 lib/pacemaker/pcmk_sched_clone.c     pcmk__create_instance_actions(rsc, rsc->children);
rsc               107 lib/pacemaker/pcmk_sched_clone.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_promotable)) {
rsc               108 lib/pacemaker/pcmk_sched_clone.c         pcmk__create_promotable_actions(rsc);
rsc               119 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_internal_constraints(pcmk_resource_t *rsc)
rsc               123 lib/pacemaker/pcmk_sched_clone.c     CRM_ASSERT(pe_rsc_is_clone(rsc));
rsc               125 lib/pacemaker/pcmk_sched_clone.c     pe_rsc_trace(rsc, "Creating internal constraints for clone %s", rsc->id);
rsc               128 lib/pacemaker/pcmk_sched_clone.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_STOPPED,
rsc               129 lib/pacemaker/pcmk_sched_clone.c                                  rsc, PCMK_ACTION_START,
rsc               131 lib/pacemaker/pcmk_sched_clone.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_START,
rsc               132 lib/pacemaker/pcmk_sched_clone.c                                  rsc, PCMK_ACTION_RUNNING,
rsc               134 lib/pacemaker/pcmk_sched_clone.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_STOP,
rsc               135 lib/pacemaker/pcmk_sched_clone.c                                  rsc, PCMK_ACTION_STOPPED,
rsc               139 lib/pacemaker/pcmk_sched_clone.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_promotable)) {
rsc               140 lib/pacemaker/pcmk_sched_clone.c         pcmk__order_resource_actions(rsc, PCMK_ACTION_DEMOTED,
rsc               141 lib/pacemaker/pcmk_sched_clone.c                                      rsc, PCMK_ACTION_STOP,
rsc               143 lib/pacemaker/pcmk_sched_clone.c         pcmk__order_resource_actions(rsc, PCMK_ACTION_RUNNING,
rsc               144 lib/pacemaker/pcmk_sched_clone.c                                      rsc, PCMK_ACTION_PROMOTE,
rsc               148 lib/pacemaker/pcmk_sched_clone.c     ordered = pe__clone_is_ordered(rsc);
rsc               154 lib/pacemaker/pcmk_sched_clone.c         rsc->children = g_list_sort(rsc->children, pcmk__cmp_instance_number);
rsc               156 lib/pacemaker/pcmk_sched_clone.c     for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               162 lib/pacemaker/pcmk_sched_clone.c         pcmk__order_starts(rsc, instance, pcmk__ar_unrunnable_first_blocks
rsc               165 lib/pacemaker/pcmk_sched_clone.c                                      rsc, PCMK_ACTION_RUNNING,
rsc               169 lib/pacemaker/pcmk_sched_clone.c         pcmk__order_stops(rsc, instance, pcmk__ar_then_implies_first_graphed);
rsc               171 lib/pacemaker/pcmk_sched_clone.c                                      rsc, PCMK_ACTION_STOPPED,
rsc               188 lib/pacemaker/pcmk_sched_clone.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_promotable)) {
rsc               189 lib/pacemaker/pcmk_sched_clone.c         pcmk__order_promotable_instances(rsc);
rsc               355 lib/pacemaker/pcmk_sched_clone.c pcmk__with_clone_colocations(const pcmk_resource_t *rsc,
rsc               358 lib/pacemaker/pcmk_sched_clone.c     CRM_CHECK((rsc != NULL) && (orig_rsc != NULL) && (list != NULL), return);
rsc               360 lib/pacemaker/pcmk_sched_clone.c     pcmk__add_with_this_list(list, rsc->rsc_cons_lhs, orig_rsc);
rsc               362 lib/pacemaker/pcmk_sched_clone.c     if (rsc->parent != NULL) {
rsc               363 lib/pacemaker/pcmk_sched_clone.c         rsc->parent->cmds->with_this_colocations(rsc->parent, orig_rsc, list);
rsc               369 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_with_colocations(const pcmk_resource_t *rsc,
rsc               372 lib/pacemaker/pcmk_sched_clone.c     CRM_CHECK((rsc != NULL) && (orig_rsc != NULL) && (list != NULL), return);
rsc               374 lib/pacemaker/pcmk_sched_clone.c     pcmk__add_this_with_list(list, rsc->rsc_cons, orig_rsc);
rsc               376 lib/pacemaker/pcmk_sched_clone.c     if (rsc->parent != NULL) {
rsc               377 lib/pacemaker/pcmk_sched_clone.c         rsc->parent->cmds->this_with_colocations(rsc->parent, orig_rsc, list);
rsc               393 lib/pacemaker/pcmk_sched_clone.c     CRM_ASSERT((action != NULL) && pe_rsc_is_clone(action->rsc));
rsc               395 lib/pacemaker/pcmk_sched_clone.c     return pcmk__collective_action_flags(action, action->rsc->children, node);
rsc               406 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_apply_location(pcmk_resource_t *rsc, pe__location_t *location)
rsc               408 lib/pacemaker/pcmk_sched_clone.c     CRM_CHECK((location != NULL) && pe_rsc_is_clone(rsc), return);
rsc               410 lib/pacemaker/pcmk_sched_clone.c     pcmk__apply_location(rsc, location);
rsc               412 lib/pacemaker/pcmk_sched_clone.c     for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               423 lib/pacemaker/pcmk_sched_clone.c     pcmk_resource_t *rsc = user_data;
rsc               425 lib/pacemaker/pcmk_sched_clone.c     rsc->cmds->action_flags((pcmk_action_t *) data, NULL);
rsc               435 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_add_actions_to_graph(pcmk_resource_t *rsc)
rsc               437 lib/pacemaker/pcmk_sched_clone.c     CRM_ASSERT(pe_rsc_is_clone(rsc));
rsc               439 lib/pacemaker/pcmk_sched_clone.c     g_list_foreach(rsc->actions, call_action_flags, rsc);
rsc               440 lib/pacemaker/pcmk_sched_clone.c     pe__create_clone_notifications(rsc);
rsc               442 lib/pacemaker/pcmk_sched_clone.c     for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               448 lib/pacemaker/pcmk_sched_clone.c     pcmk__add_rsc_actions_to_graph(rsc);
rsc               449 lib/pacemaker/pcmk_sched_clone.c     pe__free_clone_notification_data(rsc);
rsc               463 lib/pacemaker/pcmk_sched_clone.c rsc_probed_on(const pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc               465 lib/pacemaker/pcmk_sched_clone.c     if (rsc->children != NULL) {
rsc               466 lib/pacemaker/pcmk_sched_clone.c         for (GList *child_iter = rsc->children; child_iter != NULL;
rsc               478 lib/pacemaker/pcmk_sched_clone.c     if (rsc->known_on != NULL) {
rsc               482 lib/pacemaker/pcmk_sched_clone.c         g_hash_table_iter_init(&iter, rsc->known_on);
rsc               559 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_create_probe(pcmk_resource_t *rsc, pcmk_node_t *node)
rsc               561 lib/pacemaker/pcmk_sched_clone.c     CRM_ASSERT((node != NULL) && pe_rsc_is_clone(rsc));
rsc               563 lib/pacemaker/pcmk_sched_clone.c     if (rsc->exclusive_discover) {
rsc               573 lib/pacemaker/pcmk_sched_clone.c         pcmk_node_t *allowed = g_hash_table_lookup(rsc->allowed_nodes,
rsc               582 lib/pacemaker/pcmk_sched_clone.c             pe_rsc_trace(rsc,
rsc               585 lib/pacemaker/pcmk_sched_clone.c                          rsc->id, pe__node_name(node));
rsc               586 lib/pacemaker/pcmk_sched_clone.c             g_hash_table_remove(rsc->allowed_nodes, node->details->id);
rsc               591 lib/pacemaker/pcmk_sched_clone.c     rsc->children = g_list_sort(rsc->children, pcmk__cmp_instance_number);
rsc               592 lib/pacemaker/pcmk_sched_clone.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_unique)) {
rsc               593 lib/pacemaker/pcmk_sched_clone.c         return pcmk__probe_resource_list(rsc->children, node);
rsc               595 lib/pacemaker/pcmk_sched_clone.c         return probe_anonymous_clone(rsc, node);
rsc               609 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_add_graph_meta(const pcmk_resource_t *rsc, xmlNode *xml)
rsc               613 lib/pacemaker/pcmk_sched_clone.c     CRM_ASSERT(pe_rsc_is_clone(rsc) && (xml != NULL));
rsc               616 lib/pacemaker/pcmk_sched_clone.c     crm_xml_add(xml, name, pe__rsc_bool_str(rsc, pcmk_rsc_unique));
rsc               620 lib/pacemaker/pcmk_sched_clone.c     crm_xml_add(xml, name, pe__rsc_bool_str(rsc, pcmk_rsc_notify));
rsc               624 lib/pacemaker/pcmk_sched_clone.c     crm_xml_add_int(xml, name, pe__clone_max(rsc));
rsc               628 lib/pacemaker/pcmk_sched_clone.c     crm_xml_add_int(xml, name, pe__clone_node_max(rsc));
rsc               631 lib/pacemaker/pcmk_sched_clone.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_promotable)) {
rsc               632 lib/pacemaker/pcmk_sched_clone.c         int promoted_max = pe__clone_promoted_max(rsc);
rsc               633 lib/pacemaker/pcmk_sched_clone.c         int promoted_node_max = pe__clone_promoted_node_max(rsc);
rsc               658 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_add_utilization(const pcmk_resource_t *rsc,
rsc               665 lib/pacemaker/pcmk_sched_clone.c     CRM_ASSERT(pe_rsc_is_clone(rsc) && (orig_rsc != NULL)
rsc               668 lib/pacemaker/pcmk_sched_clone.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_unassigned)) {
rsc               673 lib/pacemaker/pcmk_sched_clone.c     for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               695 lib/pacemaker/pcmk_sched_clone.c     if (!existing && (rsc->children != NULL)) {
rsc               697 lib/pacemaker/pcmk_sched_clone.c         child = (pcmk_resource_t *) rsc->children->data;
rsc               705 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_shutdown_lock(pcmk_resource_t *rsc)
rsc               707 lib/pacemaker/pcmk_sched_clone.c     CRM_ASSERT(pe_rsc_is_clone(rsc));
rsc               174 lib/pacemaker/pcmk_sched_colocation.c                     const pcmk_resource_t *rsc)
rsc               176 lib/pacemaker/pcmk_sched_colocation.c     CRM_ASSERT((list != NULL) && (colocation != NULL) && (rsc != NULL));
rsc               178 lib/pacemaker/pcmk_sched_colocation.c     pe_rsc_trace(rsc,
rsc               183 lib/pacemaker/pcmk_sched_colocation.c                  pcmk_readable_score(colocation->score), rsc->id);
rsc               201 lib/pacemaker/pcmk_sched_colocation.c                          const pcmk_resource_t *rsc)
rsc               203 lib/pacemaker/pcmk_sched_colocation.c     CRM_ASSERT((list != NULL) && (rsc != NULL));
rsc               217 lib/pacemaker/pcmk_sched_colocation.c         pcmk__add_this_with(list, addition->data, rsc);
rsc               234 lib/pacemaker/pcmk_sched_colocation.c                     const pcmk_resource_t *rsc)
rsc               236 lib/pacemaker/pcmk_sched_colocation.c     CRM_ASSERT((list != NULL) && (colocation != NULL) && (rsc != NULL));
rsc               238 lib/pacemaker/pcmk_sched_colocation.c     pe_rsc_trace(rsc,
rsc               243 lib/pacemaker/pcmk_sched_colocation.c                  pcmk_readable_score(colocation->score), rsc->id);
rsc               261 lib/pacemaker/pcmk_sched_colocation.c                          const pcmk_resource_t *rsc)
rsc               263 lib/pacemaker/pcmk_sched_colocation.c     CRM_ASSERT((list != NULL) && (rsc != NULL));
rsc               277 lib/pacemaker/pcmk_sched_colocation.c         pcmk__add_with_this(list, addition->data, rsc);
rsc               419 lib/pacemaker/pcmk_sched_colocation.c unpack_influence(const char *coloc_id, const pcmk_resource_t *rsc,
rsc               433 lib/pacemaker/pcmk_sched_colocation.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_critical)) {
rsc              1014 lib/pacemaker/pcmk_sched_colocation.c mark_action_blocked(pcmk_resource_t *rsc, const char *task,
rsc              1020 lib/pacemaker/pcmk_sched_colocation.c     for (iter = rsc->actions; iter != NULL; iter = iter->next) {
rsc              1029 lib/pacemaker/pcmk_sched_colocation.c             pcmk__update_action_for_orderings(action, rsc->cluster);
rsc              1034 lib/pacemaker/pcmk_sched_colocation.c     for (iter = rsc->children; iter != NULL; iter = iter->next) {
rsc              1055 lib/pacemaker/pcmk_sched_colocation.c     pcmk_resource_t *rsc = NULL;
rsc              1068 lib/pacemaker/pcmk_sched_colocation.c     CRM_ASSERT(action->rsc != NULL); // Start and promote are resource actions
rsc              1074 lib/pacemaker/pcmk_sched_colocation.c     rsc = uber_parent(action->rsc);
rsc              1075 lib/pacemaker/pcmk_sched_colocation.c     if (rsc->parent != NULL) {
rsc              1076 lib/pacemaker/pcmk_sched_colocation.c         rsc = rsc->parent; // Bundle
rsc              1080 lib/pacemaker/pcmk_sched_colocation.c     for (iter = rsc->children; iter != NULL; iter = iter->next) {
rsc              1089 lib/pacemaker/pcmk_sched_colocation.c                       rsc->id, child->id, action->task);
rsc              1095 lib/pacemaker/pcmk_sched_colocation.c               rsc->id, action->rsc->id, action->task);
rsc              1098 lib/pacemaker/pcmk_sched_colocation.c     colocations = pcmk__with_this_colocations(rsc);
rsc              1119 lib/pacemaker/pcmk_sched_colocation.c                                 action->rsc);
rsc              1122 lib/pacemaker/pcmk_sched_colocation.c                                 action->rsc);
rsc              1147 lib/pacemaker/pcmk_sched_colocation.c get_resource_for_role(const pcmk_resource_t *rsc)
rsc              1149 lib/pacemaker/pcmk_sched_colocation.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_replica_container)) {
rsc              1150 lib/pacemaker/pcmk_sched_colocation.c         const pcmk_resource_t *child = pe__get_rsc_in_container(rsc);
rsc              1156 lib/pacemaker/pcmk_sched_colocation.c     return rsc;
rsc              1442 lib/pacemaker/pcmk_sched_colocation.c best_node_score_matching_attr(const pcmk_resource_t *rsc, const char *attr,
rsc              1451 lib/pacemaker/pcmk_sched_colocation.c     g_hash_table_iter_init(&iter, rsc->allowed_nodes);
rsc              1456 lib/pacemaker/pcmk_sched_colocation.c             && pcmk__str_eq(value, pcmk__colocation_node_attr(node, attr, rsc),
rsc              1467 lib/pacemaker/pcmk_sched_colocation.c                      rsc->id, attr, value);
rsc              1471 lib/pacemaker/pcmk_sched_colocation.c                      best_node, rsc->id, best_score, attr, value);
rsc              1486 lib/pacemaker/pcmk_sched_colocation.c allowed_on_one(const pcmk_resource_t *rsc)
rsc              1492 lib/pacemaker/pcmk_sched_colocation.c     g_hash_table_iter_init(&iter, rsc->allowed_nodes);
rsc              1495 lib/pacemaker/pcmk_sched_colocation.c             pe_rsc_trace(rsc, "%s is allowed on multiple nodes", rsc->id);
rsc              1499 lib/pacemaker/pcmk_sched_colocation.c     pe_rsc_trace(rsc, "%s is allowed %s", rsc->id,
rsc              1882 lib/pacemaker/pcmk_sched_colocation.c pcmk__with_this_colocations(const pcmk_resource_t *rsc)
rsc              1886 lib/pacemaker/pcmk_sched_colocation.c     rsc->cmds->with_this_colocations(rsc, rsc, &list);
rsc              1901 lib/pacemaker/pcmk_sched_colocation.c pcmk__this_with_colocations(const pcmk_resource_t *rsc)
rsc              1905 lib/pacemaker/pcmk_sched_colocation.c     rsc->cmds->this_with_colocations(rsc, rsc, &list);
rsc               186 lib/pacemaker/pcmk_sched_constraints.c                             pcmk_resource_t **rsc, pcmk_tag_t **tag)
rsc               188 lib/pacemaker/pcmk_sched_constraints.c     if (rsc != NULL) {
rsc               189 lib/pacemaker/pcmk_sched_constraints.c         *rsc = pcmk__find_constraint_resource(scheduler->resources, id);
rsc               190 lib/pacemaker/pcmk_sched_constraints.c         if (*rsc != NULL) {
rsc               238 lib/pacemaker/pcmk_sched_constraints.c             pcmk_resource_t *rsc = NULL;
rsc               241 lib/pacemaker/pcmk_sched_constraints.c             if (!pcmk__valid_resource_or_tag(scheduler, ID(xml_rsc), &rsc,
rsc               249 lib/pacemaker/pcmk_sched_constraints.c             } else if (rsc) {
rsc               341 lib/pacemaker/pcmk_sched_constraints.c     pcmk_resource_t *rsc = NULL;
rsc               360 lib/pacemaker/pcmk_sched_constraints.c     if (!pcmk__valid_resource_or_tag(scheduler, id, &rsc, &tag)) {
rsc               384 lib/pacemaker/pcmk_sched_constraints.c     } else if ((rsc != NULL) && convert_rsc) {
rsc               420 lib/pacemaker/pcmk_sched_constraints.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               422 lib/pacemaker/pcmk_sched_constraints.c         rsc->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    if (g_hash_table_lookup(rsc->known_on, node->details->id) != NULL) {
rsc                34 lib/pacemaker/pcmk_sched_fencing.c    } else if ((rsc->variant == pcmk_rsc_variant_primitive)
rsc                35 lib/pacemaker/pcmk_sched_fencing.c               && pe_rsc_is_anon_clone(rsc->parent)
rsc                36 lib/pacemaker/pcmk_sched_fencing.c               && (g_hash_table_lookup(rsc->parent->known_on,
rsc                55 lib/pacemaker/pcmk_sched_fencing.c order_start_vs_fencing(pcmk_resource_t *rsc, pcmk_action_t *stonith_op)
rsc                62 lib/pacemaker/pcmk_sched_fencing.c     for (GList *iter = rsc->actions; iter != NULL; iter = iter->next) {
rsc                77 lib/pacemaker/pcmk_sched_fencing.c                     && (g_hash_table_lookup(rsc->allowed_nodes,
rsc                79 lib/pacemaker/pcmk_sched_fencing.c                     && !rsc_is_known_on(rsc, target)) {
rsc                90 lib/pacemaker/pcmk_sched_fencing.c                     pe_rsc_debug(rsc, "Ordering %s after %s recovery",
rsc               109 lib/pacemaker/pcmk_sched_fencing.c order_stop_vs_fencing(pcmk_resource_t *rsc, pcmk_action_t *stonith_op)
rsc               115 lib/pacemaker/pcmk_sched_fencing.c     pcmk_resource_t *top = uber_parent(rsc);
rsc               123 lib/pacemaker/pcmk_sched_fencing.c     action_list = pe__resource_actions(rsc, target, PCMK_ACTION_STOP, FALSE);
rsc               131 lib/pacemaker/pcmk_sched_fencing.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_needs_fencing)
rsc               161 lib/pacemaker/pcmk_sched_fencing.c             if (!pe_rsc_is_bundled(rsc)) {
rsc               167 lib/pacemaker/pcmk_sched_fencing.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_failed)) {
rsc               169 lib/pacemaker/pcmk_sched_fencing.c                        rsc->id, (order_implicit? "after" : "because"),
rsc               177 lib/pacemaker/pcmk_sched_fencing.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_notify)) {
rsc               178 lib/pacemaker/pcmk_sched_fencing.c             pe__order_notifs_after_fencing(action, rsc, stonith_op);
rsc               201 lib/pacemaker/pcmk_sched_fencing.c                   rsc->id, pe__node_name(node));
rsc               202 lib/pacemaker/pcmk_sched_fencing.c          pcmk__new_ordering(rsc, stop_key(rsc), NULL, NULL,
rsc               204 lib/pacemaker/pcmk_sched_fencing.c                             pcmk__ar_ordered, rsc->cluster);
rsc               211 lib/pacemaker/pcmk_sched_fencing.c     action_list = pe__resource_actions(rsc, target, PCMK_ACTION_DEMOTE, FALSE);
rsc               217 lib/pacemaker/pcmk_sched_fencing.c             || pcmk_is_set(rsc->flags, pcmk_rsc_failed)) {
rsc               219 lib/pacemaker/pcmk_sched_fencing.c             if (pcmk_is_set(rsc->flags, pcmk_rsc_failed)) {
rsc               220 lib/pacemaker/pcmk_sched_fencing.c                 pe_rsc_info(rsc,
rsc               223 lib/pacemaker/pcmk_sched_fencing.c                             rsc->id, pe__node_name(target));
rsc               225 lib/pacemaker/pcmk_sched_fencing.c                 pe_rsc_info(rsc, "%s is implicit after %s is fenced",
rsc               235 lib/pacemaker/pcmk_sched_fencing.c             if (pe_rsc_is_bundled(rsc)) {
rsc               256 lib/pacemaker/pcmk_sched_fencing.c rsc_stonith_ordering(pcmk_resource_t *rsc, pcmk_action_t *stonith_op)
rsc               258 lib/pacemaker/pcmk_sched_fencing.c     if (rsc->children) {
rsc               259 lib/pacemaker/pcmk_sched_fencing.c         for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               265 lib/pacemaker/pcmk_sched_fencing.c     } else if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               266 lib/pacemaker/pcmk_sched_fencing.c         pe_rsc_trace(rsc,
rsc               268 lib/pacemaker/pcmk_sched_fencing.c                      rsc->id);
rsc               271 lib/pacemaker/pcmk_sched_fencing.c         order_start_vs_fencing(rsc, stonith_op);
rsc               272 lib/pacemaker/pcmk_sched_fencing.c         order_stop_vs_fencing(rsc, stonith_op);
rsc               306 lib/pacemaker/pcmk_sched_fencing.c pcmk__order_vs_unfence(const pcmk_resource_t *rsc, pcmk_node_t *node,
rsc               317 lib/pacemaker/pcmk_sched_fencing.c     if ((pcmk_is_set(rsc->flags, pcmk_rsc_fence_device)
rsc               318 lib/pacemaker/pcmk_sched_fencing.c          && pcmk_is_set(rsc->cluster->flags, pcmk_sched_enable_unfencing))
rsc               319 lib/pacemaker/pcmk_sched_fencing.c         || pcmk_is_set(rsc->flags, pcmk_rsc_needs_unfencing)) {
rsc               333 lib/pacemaker/pcmk_sched_fencing.c                                              rsc->id, action->task);
rsc               467 lib/pacemaker/pcmk_sched_fencing.c     pcmk_resource_t *rsc = (pcmk_resource_t *) user_data;
rsc               470 lib/pacemaker/pcmk_sched_fencing.c                                          false, rsc->cluster);
rsc               473 lib/pacemaker/pcmk_sched_fencing.c               rsc->id, unfence->uuid);
rsc               490 lib/pacemaker/pcmk_sched_fencing.c     pcmk__new_ordering(rsc, stop_key(rsc), NULL,
rsc               493 lib/pacemaker/pcmk_sched_fencing.c                        rsc->cluster);
rsc               496 lib/pacemaker/pcmk_sched_fencing.c                        rsc, start_key(rsc), NULL,
rsc               499 lib/pacemaker/pcmk_sched_fencing.c                        rsc->cluster);
rsc                38 lib/pacemaker/pcmk_sched_group.c pcmk__group_assign(pcmk_resource_t *rsc, const pcmk_node_t *prefer,
rsc                44 lib/pacemaker/pcmk_sched_group.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_group));
rsc                46 lib/pacemaker/pcmk_sched_group.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_unassigned)) {
rsc                47 lib/pacemaker/pcmk_sched_group.c         return rsc->allocated_to; // Assignment already done
rsc                49 lib/pacemaker/pcmk_sched_group.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_assigning)) {
rsc                50 lib/pacemaker/pcmk_sched_group.c         pe_rsc_debug(rsc, "Assignment dependency loop detected involving %s",
rsc                51 lib/pacemaker/pcmk_sched_group.c                      rsc->id);
rsc                55 lib/pacemaker/pcmk_sched_group.c     if (rsc->children == NULL) {
rsc                57 lib/pacemaker/pcmk_sched_group.c         pe__clear_resource_flags(rsc, pcmk_rsc_unassigned);
rsc                61 lib/pacemaker/pcmk_sched_group.c     pe__set_resource_flags(rsc, pcmk_rsc_assigning);
rsc                62 lib/pacemaker/pcmk_sched_group.c     first_member = (pcmk_resource_t *) rsc->children->data;
rsc                63 lib/pacemaker/pcmk_sched_group.c     rsc->role = first_member->role;
rsc                65 lib/pacemaker/pcmk_sched_group.c     pe__show_node_scores(!pcmk_is_set(rsc->cluster->flags,
rsc                67 lib/pacemaker/pcmk_sched_group.c                          rsc, __func__, rsc->allowed_nodes, rsc->cluster);
rsc                69 lib/pacemaker/pcmk_sched_group.c     for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc                73 lib/pacemaker/pcmk_sched_group.c         pe_rsc_trace(rsc, "Assigning group %s member %s",
rsc                74 lib/pacemaker/pcmk_sched_group.c                      rsc->id, member->id);
rsc                81 lib/pacemaker/pcmk_sched_group.c     pe__set_next_role(rsc, first_member->next_role, "first group member");
rsc                82 lib/pacemaker/pcmk_sched_group.c     pe__clear_resource_flags(rsc, pcmk_rsc_assigning|pcmk_rsc_unassigned);
rsc                84 lib/pacemaker/pcmk_sched_group.c     if (!pe__group_flag_is_set(rsc, pcmk__group_colocated)) {
rsc               115 lib/pacemaker/pcmk_sched_group.c pcmk__group_create_actions(pcmk_resource_t *rsc)
rsc               117 lib/pacemaker/pcmk_sched_group.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_group));
rsc               119 lib/pacemaker/pcmk_sched_group.c     pe_rsc_trace(rsc, "Creating actions for group %s", rsc->id);
rsc               122 lib/pacemaker/pcmk_sched_group.c     for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               129 lib/pacemaker/pcmk_sched_group.c     create_group_pseudo_op(rsc, PCMK_ACTION_START);
rsc               130 lib/pacemaker/pcmk_sched_group.c     create_group_pseudo_op(rsc, PCMK_ACTION_RUNNING);
rsc               131 lib/pacemaker/pcmk_sched_group.c     create_group_pseudo_op(rsc, PCMK_ACTION_STOP);
rsc               132 lib/pacemaker/pcmk_sched_group.c     create_group_pseudo_op(rsc, PCMK_ACTION_STOPPED);
rsc               133 lib/pacemaker/pcmk_sched_group.c     if (crm_is_true(g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_PROMOTABLE))) {
rsc               134 lib/pacemaker/pcmk_sched_group.c         create_group_pseudo_op(rsc, PCMK_ACTION_DEMOTE);
rsc               135 lib/pacemaker/pcmk_sched_group.c         create_group_pseudo_op(rsc, PCMK_ACTION_DEMOTED);
rsc               136 lib/pacemaker/pcmk_sched_group.c         create_group_pseudo_op(rsc, PCMK_ACTION_PROMOTE);
rsc               137 lib/pacemaker/pcmk_sched_group.c         create_group_pseudo_op(rsc, PCMK_ACTION_PROMOTED);
rsc               306 lib/pacemaker/pcmk_sched_group.c pcmk__group_internal_constraints(pcmk_resource_t *rsc)
rsc               311 lib/pacemaker/pcmk_sched_group.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_group));
rsc               316 lib/pacemaker/pcmk_sched_group.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_STOP,
rsc               317 lib/pacemaker/pcmk_sched_group.c                                  rsc, PCMK_ACTION_STOPPED,
rsc               319 lib/pacemaker/pcmk_sched_group.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_STOPPED,
rsc               320 lib/pacemaker/pcmk_sched_group.c                                  rsc, PCMK_ACTION_START,
rsc               322 lib/pacemaker/pcmk_sched_group.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_START,
rsc               323 lib/pacemaker/pcmk_sched_group.c                                  rsc, PCMK_ACTION_RUNNING,
rsc               326 lib/pacemaker/pcmk_sched_group.c     top = pe__const_top_resource(rsc, false);
rsc               328 lib/pacemaker/pcmk_sched_group.c     member_data.ordered = pe__group_flag_is_set(rsc, pcmk__group_ordered);
rsc               329 lib/pacemaker/pcmk_sched_group.c     member_data.colocated = pe__group_flag_is_set(rsc, pcmk__group_colocated);
rsc               331 lib/pacemaker/pcmk_sched_group.c     g_list_foreach(rsc->children, member_internal_constraints, &member_data);
rsc               497 lib/pacemaker/pcmk_sched_group.c     for (GList *iter = action->rsc->children; iter != NULL; iter = iter->next) {
rsc               513 lib/pacemaker/pcmk_sched_group.c                 pe_rsc_trace(action->rsc, "%s is mandatory because %s is",
rsc               525 lib/pacemaker/pcmk_sched_group.c                 pe_rsc_trace(action->rsc, "%s is unrunnable because %s is",
rsc               536 lib/pacemaker/pcmk_sched_group.c             pe_rsc_trace(action->rsc,
rsc               578 lib/pacemaker/pcmk_sched_group.c     CRM_ASSERT((first != NULL) && (then != NULL) && (then->rsc != NULL)
rsc               586 lib/pacemaker/pcmk_sched_group.c     for (GList *iter = then->rsc->children; iter != NULL; iter = iter->next) {
rsc               610 lib/pacemaker/pcmk_sched_group.c pcmk__group_apply_location(pcmk_resource_t *rsc, pe__location_t *location)
rsc               616 lib/pacemaker/pcmk_sched_group.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_group)
rsc               621 lib/pacemaker/pcmk_sched_group.c     reset_scores = pe__group_flag_is_set(rsc, pcmk__group_colocated);
rsc               624 lib/pacemaker/pcmk_sched_group.c     pcmk__apply_location(rsc, location);
rsc               627 lib/pacemaker/pcmk_sched_group.c     for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               648 lib/pacemaker/pcmk_sched_group.c pcmk__group_colocated_resources(const pcmk_resource_t *rsc,
rsc               654 lib/pacemaker/pcmk_sched_group.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_group));
rsc               657 lib/pacemaker/pcmk_sched_group.c         orig_rsc = rsc;
rsc               660 lib/pacemaker/pcmk_sched_group.c     if (pe__group_flag_is_set(rsc, pcmk__group_colocated)
rsc               661 lib/pacemaker/pcmk_sched_group.c         || pe_rsc_is_clone(rsc->parent)) {
rsc               666 lib/pacemaker/pcmk_sched_group.c         colocated_rscs = g_list_prepend(colocated_rscs, (gpointer) rsc);
rsc               667 lib/pacemaker/pcmk_sched_group.c         for (const GList *iter = rsc->children;
rsc               675 lib/pacemaker/pcmk_sched_group.c     } else if (rsc->children != NULL) {
rsc               679 lib/pacemaker/pcmk_sched_group.c         colocated_rscs = pcmk__colocated_resources(rsc, orig_rsc,
rsc               688 lib/pacemaker/pcmk_sched_group.c pcmk__with_group_colocations(const pcmk_resource_t *rsc,
rsc               692 lib/pacemaker/pcmk_sched_group.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_group)
rsc               696 lib/pacemaker/pcmk_sched_group.c     if (rsc->children == NULL) {
rsc               704 lib/pacemaker/pcmk_sched_group.c     if ((orig_rsc != rsc) && (orig_rsc != pe__last_group_member(rsc))) {
rsc               708 lib/pacemaker/pcmk_sched_group.c     pe_rsc_trace(rsc, "Adding 'with %s' colocations to list for %s",
rsc               709 lib/pacemaker/pcmk_sched_group.c                  rsc->id, orig_rsc->id);
rsc               712 lib/pacemaker/pcmk_sched_group.c     pcmk__add_with_this_list(list, rsc->rsc_cons_lhs, orig_rsc);
rsc               715 lib/pacemaker/pcmk_sched_group.c     if (rsc->parent != NULL) {
rsc               716 lib/pacemaker/pcmk_sched_group.c         rsc->parent->cmds->with_this_colocations(rsc->parent, orig_rsc,
rsc               720 lib/pacemaker/pcmk_sched_group.c     if (!pe__group_flag_is_set(rsc, pcmk__group_colocated)) {
rsc               726 lib/pacemaker/pcmk_sched_group.c     for (const GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               737 lib/pacemaker/pcmk_sched_group.c pcmk__group_with_colocations(const pcmk_resource_t *rsc,
rsc               742 lib/pacemaker/pcmk_sched_group.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_group)
rsc               746 lib/pacemaker/pcmk_sched_group.c     if (rsc->children == NULL) {
rsc               753 lib/pacemaker/pcmk_sched_group.c     if ((rsc == orig_rsc)
rsc               754 lib/pacemaker/pcmk_sched_group.c         || (orig_rsc == (const pcmk_resource_t *) rsc->children->data)) {
rsc               755 lib/pacemaker/pcmk_sched_group.c         pe_rsc_trace(rsc, "Adding '%s with' colocations to list for %s",
rsc               756 lib/pacemaker/pcmk_sched_group.c                      rsc->id, orig_rsc->id);
rsc               759 lib/pacemaker/pcmk_sched_group.c         pcmk__add_this_with_list(list, rsc->rsc_cons, orig_rsc);
rsc               762 lib/pacemaker/pcmk_sched_group.c         if (rsc->parent != NULL) {
rsc               763 lib/pacemaker/pcmk_sched_group.c             rsc->parent->cmds->this_with_colocations(rsc->parent, orig_rsc,
rsc               767 lib/pacemaker/pcmk_sched_group.c         if (!pe__group_flag_is_set(rsc, pcmk__group_colocated)) {
rsc               773 lib/pacemaker/pcmk_sched_group.c         for (const GList *iter = rsc->children;
rsc               788 lib/pacemaker/pcmk_sched_group.c     for (const GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               797 lib/pacemaker/pcmk_sched_group.c                       rsc->id, orig_rsc->id, member->id);
rsc               798 lib/pacemaker/pcmk_sched_group.c             for (const GList *cons_iter = rsc->rsc_cons; cons_iter != NULL;
rsc               899 lib/pacemaker/pcmk_sched_group.c pcmk__group_add_utilization(const pcmk_resource_t *rsc,
rsc               905 lib/pacemaker/pcmk_sched_group.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_group)
rsc               908 lib/pacemaker/pcmk_sched_group.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_unassigned)) {
rsc               913 lib/pacemaker/pcmk_sched_group.c                  orig_rsc->id, rsc->id);
rsc               914 lib/pacemaker/pcmk_sched_group.c     if (pe__group_flag_is_set(rsc, pcmk__group_colocated)
rsc               915 lib/pacemaker/pcmk_sched_group.c         || pe_rsc_is_clone(rsc->parent)) {
rsc               917 lib/pacemaker/pcmk_sched_group.c         for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               927 lib/pacemaker/pcmk_sched_group.c     } else if (rsc->children != NULL) {
rsc               929 lib/pacemaker/pcmk_sched_group.c         member = (pcmk_resource_t *) rsc->children->data;
rsc               941 lib/pacemaker/pcmk_sched_group.c pcmk__group_shutdown_lock(pcmk_resource_t *rsc)
rsc               943 lib/pacemaker/pcmk_sched_group.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_group));
rsc               945 lib/pacemaker/pcmk_sched_group.c     for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               144 lib/pacemaker/pcmk_sched_instances.c apply_parent_colocations(const pcmk_resource_t *rsc, GHashTable **nodes)
rsc               146 lib/pacemaker/pcmk_sched_instances.c     GList *colocations = pcmk__this_with_colocations(rsc);
rsc               153 lib/pacemaker/pcmk_sched_instances.c         other->cmds->add_colocated_node_scores(other, rsc, rsc->id, nodes,
rsc               158 lib/pacemaker/pcmk_sched_instances.c     colocations = pcmk__with_this_colocations(rsc);
rsc               165 lib/pacemaker/pcmk_sched_instances.c         if (!pcmk__colocation_has_influence(colocation, rsc)) {
rsc               168 lib/pacemaker/pcmk_sched_instances.c         other->cmds->add_colocated_node_scores(other, rsc, rsc->id, nodes,
rsc               246 lib/pacemaker/pcmk_sched_instances.c did_fail(const pcmk_resource_t *rsc)
rsc               248 lib/pacemaker/pcmk_sched_instances.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_failed)) {
rsc               251 lib/pacemaker/pcmk_sched_instances.c     for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               269 lib/pacemaker/pcmk_sched_instances.c node_is_allowed(const pcmk_resource_t *rsc, pcmk_node_t **node)
rsc               272 lib/pacemaker/pcmk_sched_instances.c         pcmk_node_t *allowed = g_hash_table_lookup(rsc->allowed_nodes,
rsc               276 lib/pacemaker/pcmk_sched_instances.c             pe_rsc_trace(rsc, "%s: current location (%s) is unavailable",
rsc               277 lib/pacemaker/pcmk_sched_instances.c                          rsc->id, pe__node_name(*node));
rsc               591 lib/pacemaker/pcmk_sched_instances.c assign_instance_early(const pcmk_resource_t *rsc, pcmk_resource_t *instance,
rsc               676 lib/pacemaker/pcmk_sched_instances.c                          rsc->id, pe__node_name(chosen), instance->id,
rsc               710 lib/pacemaker/pcmk_sched_instances.c reset_allowed_node_counts(pcmk_resource_t *rsc)
rsc               716 lib/pacemaker/pcmk_sched_instances.c     g_hash_table_iter_init(&iter, rsc->allowed_nodes);
rsc              1036 lib/pacemaker/pcmk_sched_instances.c get_instance_list(const pcmk_resource_t *rsc)
rsc              1038 lib/pacemaker/pcmk_sched_instances.c     if (rsc->variant == pcmk_rsc_variant_bundle) {
rsc              1039 lib/pacemaker/pcmk_sched_instances.c         return pe__bundle_containers(rsc);
rsc              1041 lib/pacemaker/pcmk_sched_instances.c         return rsc->children;
rsc              1053 lib/pacemaker/pcmk_sched_instances.c free_instance_list(const pcmk_resource_t *rsc, GList *list)
rsc              1055 lib/pacemaker/pcmk_sched_instances.c     if (list != rsc->children) {
rsc              1127 lib/pacemaker/pcmk_sched_instances.c                                  const pcmk_resource_t *rsc,
rsc              1133 lib/pacemaker/pcmk_sched_instances.c     instances = get_instance_list(rsc);
rsc              1141 lib/pacemaker/pcmk_sched_instances.c                          rsc->id, instance->id, match_rsc->id,
rsc              1143 lib/pacemaker/pcmk_sched_instances.c             free_instance_list(rsc, instances); // Only frees list, not contents
rsc              1147 lib/pacemaker/pcmk_sched_instances.c     free_instance_list(rsc, instances);
rsc              1151 lib/pacemaker/pcmk_sched_instances.c                  rsc->id, match_rsc->id, pe__node_name(node));
rsc              1170 lib/pacemaker/pcmk_sched_instances.c                                const pcmk_resource_t *rsc, enum rsc_role_e role,
rsc              1180 lib/pacemaker/pcmk_sched_instances.c         return find_compatible_instance_on_node(match_rsc, rsc, node, role,
rsc              1189 lib/pacemaker/pcmk_sched_instances.c         instance = find_compatible_instance_on_node(match_rsc, rsc,
rsc              1195 lib/pacemaker/pcmk_sched_instances.c         pe_rsc_debug(rsc, "No %s instance found compatible with %s",
rsc              1196 lib/pacemaker/pcmk_sched_instances.c                      rsc->id, match_rsc->id);
rsc              1221 lib/pacemaker/pcmk_sched_instances.c         pe_rsc_trace(then->rsc,
rsc              1224 lib/pacemaker/pcmk_sched_instances.c                      first->rsc->id, then_instance->id);
rsc              1231 lib/pacemaker/pcmk_sched_instances.c         pe_rsc_info(then->rsc,
rsc              1234 lib/pacemaker/pcmk_sched_instances.c                     then_instance->id, first->rsc->id);
rsc              1260 lib/pacemaker/pcmk_sched_instances.c     const pcmk_resource_t *rsc = NULL;
rsc              1286 lib/pacemaker/pcmk_sched_instances.c         rsc = pe__get_rsc_in_container(instance);
rsc              1288 lib/pacemaker/pcmk_sched_instances.c     if (rsc == NULL) {
rsc              1289 lib/pacemaker/pcmk_sched_instances.c         rsc = instance; // No containerized resource, use instance itself
rsc              1294 lib/pacemaker/pcmk_sched_instances.c     matching_action = find_first_action(rsc->actions, NULL, action_name, node);
rsc              1330 lib/pacemaker/pcmk_sched_instances.c     const pcmk_resource_t *instance = action->rsc->children->data;
rsc              1386 lib/pacemaker/pcmk_sched_instances.c     instances = get_instance_list(then->rsc);
rsc              1396 lib/pacemaker/pcmk_sched_instances.c                                                         first->rsc,
rsc              1428 lib/pacemaker/pcmk_sched_instances.c             type, then->rsc->cluster);
rsc              1430 lib/pacemaker/pcmk_sched_instances.c     free_instance_list(then->rsc, instances);
rsc              1447 lib/pacemaker/pcmk_sched_instances.c     pcmk_resource_t *rsc = NULL;
rsc              1449 lib/pacemaker/pcmk_sched_instances.c     if ((first->rsc == NULL) || (then->rsc == NULL)) {
rsc              1455 lib/pacemaker/pcmk_sched_instances.c     if (first->rsc == then->rsc) {
rsc              1461 lib/pacemaker/pcmk_sched_instances.c     if ((first->rsc->variant < pcmk_rsc_variant_clone)
rsc              1462 lib/pacemaker/pcmk_sched_instances.c         || (then->rsc->variant < pcmk_rsc_variant_clone)) {
rsc              1470 lib/pacemaker/pcmk_sched_instances.c         rsc = first->rsc;
rsc              1472 lib/pacemaker/pcmk_sched_instances.c         rsc = then->rsc;
rsc              1475 lib/pacemaker/pcmk_sched_instances.c     interleave = crm_is_true(g_hash_table_lookup(rsc->meta,
rsc              1477 lib/pacemaker/pcmk_sched_instances.c     pe_rsc_trace(rsc, "'%s then %s' will %sbe interleaved (based on %s)",
rsc              1478 lib/pacemaker/pcmk_sched_instances.c                  first->uuid, then->uuid, (interleave? "" : "not "), rsc->id);
rsc              1575 lib/pacemaker/pcmk_sched_instances.c     if (then->rsc == NULL) {
rsc              1583 lib/pacemaker/pcmk_sched_instances.c         GList *instances = get_instance_list(then->rsc);
rsc              1596 lib/pacemaker/pcmk_sched_instances.c         free_instance_list(then->rsc, instances);
rsc              1603 lib/pacemaker/pcmk_sched_instances.c                                      "Action summary", action->rsc->id, \
rsc              1643 lib/pacemaker/pcmk_sched_instances.c             pe_rsc_trace(action->rsc, "%s has no %s action on %s",
rsc              1648 lib/pacemaker/pcmk_sched_instances.c         pe_rsc_trace(action->rsc, "%s has %s for %s on %s",
rsc              1671 lib/pacemaker/pcmk_sched_instances.c         pe_rsc_trace(action->rsc,
rsc                24 lib/pacemaker/pcmk_sched_location.c                pcmk_node_t *node, pcmk_resource_t *rsc)
rsc                37 lib/pacemaker/pcmk_sched_location.c         attr_score = pe__node_attribute_calculated(node, score, rsc,
rsc                56 lib/pacemaker/pcmk_sched_location.c generate_location_rule(pcmk_resource_t *rsc, xmlNode *rule_xml,
rsc                75 lib/pacemaker/pcmk_sched_location.c     rule_xml = expand_idref(rule_xml, rsc->cluster->input);
rsc               102 lib/pacemaker/pcmk_sched_location.c     location_rule = pcmk__new_location(rule_id, rsc, 0, discovery, NULL);
rsc               131 lib/pacemaker/pcmk_sched_location.c         nodes = pcmk__copy_node_list(rsc->cluster->nodes, true);
rsc               135 lib/pacemaker/pcmk_sched_location.c             node->weight = get_node_score(rule_id, score, raw_score, node, rsc);
rsc               139 lib/pacemaker/pcmk_sched_location.c     for (iter = rsc->cluster->nodes; iter != NULL; iter = iter->next) {
rsc               144 lib/pacemaker/pcmk_sched_location.c             .params = pe_rsc_params(rsc, node, rsc->cluster),
rsc               145 lib/pacemaker/pcmk_sched_location.c             .meta = rsc->meta,
rsc               149 lib/pacemaker/pcmk_sched_location.c                               rsc->cluster->now, next_change, &match_data);
rsc               154 lib/pacemaker/pcmk_sched_location.c         score_f = get_node_score(rule_id, score, raw_score, node, rsc);
rsc               201 lib/pacemaker/pcmk_sched_location.c unpack_rsc_location(xmlNode *xml_obj, pcmk_resource_t *rsc, const char *role,
rsc               211 lib/pacemaker/pcmk_sched_location.c     if (rsc == NULL) {
rsc               223 lib/pacemaker/pcmk_sched_location.c         pcmk_node_t *match = pe_find_node(rsc->cluster->nodes, node);
rsc               228 lib/pacemaker/pcmk_sched_location.c         location = pcmk__new_location(id, rsc, score_i, discovery, match);
rsc               242 lib/pacemaker/pcmk_sched_location.c             generate_location_rule(rsc, rule_xml, discovery, next_change,
rsc               257 lib/pacemaker/pcmk_sched_location.c             pe__update_recheck_time(t, rsc->cluster,
rsc               297 lib/pacemaker/pcmk_sched_location.c         pcmk_resource_t *rsc;
rsc               299 lib/pacemaker/pcmk_sched_location.c         rsc = pcmk__find_constraint_resource(scheduler->resources, value);
rsc               300 lib/pacemaker/pcmk_sched_location.c         unpack_rsc_location(xml_obj, rsc, NULL, NULL, NULL);
rsc               373 lib/pacemaker/pcmk_sched_location.c     pcmk_resource_t *rsc = NULL;
rsc               400 lib/pacemaker/pcmk_sched_location.c     if (!pcmk__valid_resource_or_tag(scheduler, rsc_id, &rsc, &tag)) {
rsc               405 lib/pacemaker/pcmk_sched_location.c     } else if (rsc != NULL) {
rsc               538 lib/pacemaker/pcmk_sched_location.c pcmk__new_location(const char *id, pcmk_resource_t *rsc,
rsc               547 lib/pacemaker/pcmk_sched_location.c     } else if (rsc == NULL) {
rsc               558 lib/pacemaker/pcmk_sched_location.c         new_con->rsc_lh = rsc;
rsc               571 lib/pacemaker/pcmk_sched_location.c             rsc->exclusive_discover = TRUE;
rsc               585 lib/pacemaker/pcmk_sched_location.c         rsc->cluster->placement_constraints = g_list_prepend(
rsc               586 lib/pacemaker/pcmk_sched_location.c             rsc->cluster->placement_constraints, new_con);
rsc               587 lib/pacemaker/pcmk_sched_location.c         rsc->rsc_location = g_list_prepend(rsc->rsc_location, new_con);
rsc               621 lib/pacemaker/pcmk_sched_location.c pcmk__apply_location(pcmk_resource_t *rsc, pe__location_t *location)
rsc               625 lib/pacemaker/pcmk_sched_location.c     CRM_ASSERT((rsc != NULL) && (location != NULL));
rsc               629 lib/pacemaker/pcmk_sched_location.c     if (need_role && (location->role_filter != rsc->next_role)) {
rsc               630 lib/pacemaker/pcmk_sched_location.c         pe_rsc_trace(rsc,
rsc               632 lib/pacemaker/pcmk_sched_location.c                      location->id, rsc->id, role2text(rsc->next_role),
rsc               638 lib/pacemaker/pcmk_sched_location.c         pe_rsc_trace(rsc, "Not applying %s to %s because no nodes match",
rsc               639 lib/pacemaker/pcmk_sched_location.c                      location->id, rsc->id);
rsc               643 lib/pacemaker/pcmk_sched_location.c     pe_rsc_trace(rsc, "Applying %s%s%s to %s", location->id,
rsc               645 lib/pacemaker/pcmk_sched_location.c                  (need_role? role2text(location->role_filter) : ""), rsc->id);
rsc               651 lib/pacemaker/pcmk_sched_location.c         pcmk_node_t *allowed_node = g_hash_table_lookup(rsc->allowed_nodes,
rsc               655 lib/pacemaker/pcmk_sched_location.c             pe_rsc_trace(rsc, "* = %d on %s",
rsc               658 lib/pacemaker/pcmk_sched_location.c             g_hash_table_insert(rsc->allowed_nodes,
rsc               662 lib/pacemaker/pcmk_sched_location.c             pe_rsc_trace(rsc, "* + %d on %s",
rsc               670 lib/pacemaker/pcmk_sched_location.c                 rsc->exclusive_discover = TRUE;
rsc                46 lib/pacemaker/pcmk_sched_migration.c pcmk__create_migration_actions(pcmk_resource_t *rsc, const pcmk_node_t *current)
rsc                53 lib/pacemaker/pcmk_sched_migration.c     pe_rsc_trace(rsc, "Creating actions to %smigrate %s from %s to %s",
rsc                54 lib/pacemaker/pcmk_sched_migration.c                  ((rsc->partial_migration_target == NULL)? "" : "partially "),
rsc                55 lib/pacemaker/pcmk_sched_migration.c                  rsc->id, pe__node_name(current),
rsc                56 lib/pacemaker/pcmk_sched_migration.c                  pe__node_name(rsc->allocated_to));
rsc                57 lib/pacemaker/pcmk_sched_migration.c     start = start_action(rsc, rsc->allocated_to, TRUE);
rsc                58 lib/pacemaker/pcmk_sched_migration.c     stop = stop_action(rsc, current, TRUE);
rsc                60 lib/pacemaker/pcmk_sched_migration.c     if (rsc->partial_migration_target == NULL) {
rsc                61 lib/pacemaker/pcmk_sched_migration.c         migrate_to = custom_action(rsc, pcmk__op_key(rsc->id,
rsc                64 lib/pacemaker/pcmk_sched_migration.c                                    rsc->cluster);
rsc                66 lib/pacemaker/pcmk_sched_migration.c     migrate_from = custom_action(rsc, pcmk__op_key(rsc->id,
rsc                68 lib/pacemaker/pcmk_sched_migration.c                                  PCMK_ACTION_MIGRATE_FROM, rsc->allocated_to,
rsc                69 lib/pacemaker/pcmk_sched_migration.c                                  TRUE, rsc->cluster);
rsc                77 lib/pacemaker/pcmk_sched_migration.c     if (rsc->partial_migration_target == NULL) {
rsc                83 lib/pacemaker/pcmk_sched_migration.c         pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_MONITOR, 0),
rsc                85 lib/pacemaker/pcmk_sched_migration.c                            rsc,
rsc                86 lib/pacemaker/pcmk_sched_migration.c                            pcmk__op_key(rsc->id, PCMK_ACTION_MIGRATE_TO, 0),
rsc                87 lib/pacemaker/pcmk_sched_migration.c                            NULL, pcmk__ar_ordered, rsc->cluster);
rsc                88 lib/pacemaker/pcmk_sched_migration.c         pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_MIGRATE_TO, 0),
rsc                90 lib/pacemaker/pcmk_sched_migration.c                            rsc,
rsc                91 lib/pacemaker/pcmk_sched_migration.c                            pcmk__op_key(rsc->id, PCMK_ACTION_MIGRATE_FROM, 0),
rsc                94 lib/pacemaker/pcmk_sched_migration.c                            rsc->cluster);
rsc               100 lib/pacemaker/pcmk_sched_migration.c         pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_MONITOR, 0),
rsc               102 lib/pacemaker/pcmk_sched_migration.c                            rsc,
rsc               103 lib/pacemaker/pcmk_sched_migration.c                            pcmk__op_key(rsc->id, PCMK_ACTION_MIGRATE_FROM, 0),
rsc               104 lib/pacemaker/pcmk_sched_migration.c                            NULL, pcmk__ar_ordered, rsc->cluster);
rsc               108 lib/pacemaker/pcmk_sched_migration.c     pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_MIGRATE_FROM, 0),
rsc               110 lib/pacemaker/pcmk_sched_migration.c                        rsc, pcmk__op_key(rsc->id, PCMK_ACTION_STOP, 0),
rsc               113 lib/pacemaker/pcmk_sched_migration.c                        rsc->cluster);
rsc               114 lib/pacemaker/pcmk_sched_migration.c     pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_MIGRATE_FROM, 0),
rsc               116 lib/pacemaker/pcmk_sched_migration.c                        rsc, pcmk__op_key(rsc->id, PCMK_ACTION_START, 0),
rsc               121 lib/pacemaker/pcmk_sched_migration.c                        rsc->cluster);
rsc               124 lib/pacemaker/pcmk_sched_migration.c         add_migration_meta(migrate_to, current, rsc->allocated_to);
rsc               126 lib/pacemaker/pcmk_sched_migration.c         if (!rsc->is_remote_node) {
rsc               142 lib/pacemaker/pcmk_sched_migration.c     add_migration_meta(migrate_from, current, rsc->allocated_to);
rsc               156 lib/pacemaker/pcmk_sched_migration.c     pcmk_resource_t *rsc = (pcmk_resource_t *) user_data;
rsc               159 lib/pacemaker/pcmk_sched_migration.c     bool cleanup = pcmk_is_set(rsc->cluster->flags,
rsc               162 lib/pacemaker/pcmk_sched_migration.c     pe_rsc_trace(rsc,
rsc               164 lib/pacemaker/pcmk_sched_migration.c                  (cleanup? " and cleanup" : ""), rsc->id,
rsc               166 lib/pacemaker/pcmk_sched_migration.c     stop = stop_action(rsc, dangling_source, FALSE);
rsc               169 lib/pacemaker/pcmk_sched_migration.c         pcmk__schedule_cleanup(rsc, dangling_source, false);
rsc               183 lib/pacemaker/pcmk_sched_migration.c pcmk__rsc_can_migrate(const pcmk_resource_t *rsc, const pcmk_node_t *current)
rsc               185 lib/pacemaker/pcmk_sched_migration.c     CRM_CHECK(rsc != NULL, return false);
rsc               187 lib/pacemaker/pcmk_sched_migration.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_migratable)) {
rsc               188 lib/pacemaker/pcmk_sched_migration.c         pe_rsc_trace(rsc, "%s cannot migrate because "
rsc               190 lib/pacemaker/pcmk_sched_migration.c                      rsc->id);
rsc               194 lib/pacemaker/pcmk_sched_migration.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               195 lib/pacemaker/pcmk_sched_migration.c         pe_rsc_trace(rsc, "%s cannot migrate because it is not managed",
rsc               196 lib/pacemaker/pcmk_sched_migration.c                      rsc->id);
rsc               200 lib/pacemaker/pcmk_sched_migration.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_failed)) {
rsc               201 lib/pacemaker/pcmk_sched_migration.c         pe_rsc_trace(rsc, "%s cannot migrate because it is failed",
rsc               202 lib/pacemaker/pcmk_sched_migration.c                      rsc->id);
rsc               206 lib/pacemaker/pcmk_sched_migration.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_start_pending)) {
rsc               207 lib/pacemaker/pcmk_sched_migration.c         pe_rsc_trace(rsc, "%s cannot migrate because it has a start pending",
rsc               208 lib/pacemaker/pcmk_sched_migration.c                      rsc->id);
rsc               213 lib/pacemaker/pcmk_sched_migration.c         pe_rsc_trace(rsc, "%s cannot migrate because "
rsc               215 lib/pacemaker/pcmk_sched_migration.c                      rsc->id, pe__node_name(current));
rsc               219 lib/pacemaker/pcmk_sched_migration.c     if ((rsc->allocated_to == NULL) || rsc->allocated_to->details->unclean) {
rsc               220 lib/pacemaker/pcmk_sched_migration.c         pe_rsc_trace(rsc, "%s cannot migrate because "
rsc               222 lib/pacemaker/pcmk_sched_migration.c                      rsc->id, pe__node_name(rsc->allocated_to));
rsc               114 lib/pacemaker/pcmk_sched_nodes.c pcmk__copy_node_tables(const pcmk_resource_t *rsc, GHashTable **copy)
rsc               116 lib/pacemaker/pcmk_sched_nodes.c     CRM_ASSERT((rsc != NULL) && (copy != NULL));
rsc               122 lib/pacemaker/pcmk_sched_nodes.c     g_hash_table_insert(*copy, rsc->id,
rsc               123 lib/pacemaker/pcmk_sched_nodes.c                         pcmk__copy_node_table(rsc->allowed_nodes));
rsc               125 lib/pacemaker/pcmk_sched_nodes.c     for (const GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               145 lib/pacemaker/pcmk_sched_nodes.c pcmk__restore_node_tables(pcmk_resource_t *rsc, GHashTable *backup)
rsc               147 lib/pacemaker/pcmk_sched_nodes.c     CRM_ASSERT((rsc != NULL) && (backup != NULL));
rsc               149 lib/pacemaker/pcmk_sched_nodes.c     g_hash_table_destroy(rsc->allowed_nodes);
rsc               152 lib/pacemaker/pcmk_sched_nodes.c     rsc->allowed_nodes = g_hash_table_lookup(backup, rsc->id);
rsc               153 lib/pacemaker/pcmk_sched_nodes.c     rsc->allowed_nodes = pcmk__copy_node_table(rsc->allowed_nodes);
rsc               155 lib/pacemaker/pcmk_sched_nodes.c     for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               390 lib/pacemaker/pcmk_sched_nodes.c             pcmk_resource_t *rsc = (pcmk_resource_t *) r->data;
rsc               398 lib/pacemaker/pcmk_sched_nodes.c                 constrain = !crm_is_true(g_hash_table_lookup(rsc->meta,
rsc               402 lib/pacemaker/pcmk_sched_nodes.c                 pcmk__new_location(strategy_str, rsc, health, NULL, node);
rsc               404 lib/pacemaker/pcmk_sched_nodes.c                 pe_rsc_trace(rsc, "%s is immune from health ban on %s",
rsc               405 lib/pacemaker/pcmk_sched_nodes.c                              rsc->id, pe__node_name(node));
rsc               422 lib/pacemaker/pcmk_sched_nodes.c pcmk__top_allowed_node(const pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc               426 lib/pacemaker/pcmk_sched_nodes.c     if ((rsc == NULL) || (node == NULL)) {
rsc               428 lib/pacemaker/pcmk_sched_nodes.c     } else if (rsc->parent == NULL) {
rsc               429 lib/pacemaker/pcmk_sched_nodes.c         allowed_nodes = rsc->allowed_nodes;
rsc               431 lib/pacemaker/pcmk_sched_nodes.c         allowed_nodes = rsc->parent->allowed_nodes;
rsc               240 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->resources, rsc_id);
rsc               251 lib/pacemaker/pcmk_sched_ordering.c     if (rsc == NULL) {
rsc               263 lib/pacemaker/pcmk_sched_ordering.c         if (!pe_rsc_is_clone(rsc)) {
rsc               269 lib/pacemaker/pcmk_sched_ordering.c         rsc = find_clone_instance(rsc, instance_id);
rsc               270 lib/pacemaker/pcmk_sched_ordering.c         if (rsc == NULL) {
rsc               277 lib/pacemaker/pcmk_sched_ordering.c     return rsc;
rsc               290 lib/pacemaker/pcmk_sched_ordering.c get_minimum_first_instances(const pcmk_resource_t *rsc, const xmlNode *xml)
rsc               295 lib/pacemaker/pcmk_sched_ordering.c     if (!pe_rsc_is_clone(rsc)) {
rsc               299 lib/pacemaker/pcmk_sched_ordering.c     clone_min = g_hash_table_lookup(rsc->meta, PCMK_META_CLONE_MIN);
rsc               384 lib/pacemaker/pcmk_sched_ordering.c #define handle_restart_type(rsc, kind, flag, flags) do {        \
rsc               386 lib/pacemaker/pcmk_sched_ordering.c             && ((rsc)->restart_type == pe_restart_restart)) {   \
rsc               538 lib/pacemaker/pcmk_sched_ordering.c         first_rsc = first_action->rsc;
rsc               541 lib/pacemaker/pcmk_sched_ordering.c         then_rsc = then_action->rsc;
rsc               565 lib/pacemaker/pcmk_sched_ordering.c         order->lh_rsc = first_action->rsc;
rsc               569 lib/pacemaker/pcmk_sched_ordering.c         order->rh_rsc = then_action->rsc;
rsc              1079 lib/pacemaker/pcmk_sched_ordering.c         && (input->action->rsc != NULL)
rsc              1080 lib/pacemaker/pcmk_sched_ordering.c         && pcmk__rsc_corresponds_to_guest(action->rsc, input->action->node)) {
rsc              1083 lib/pacemaker/pcmk_sched_ordering.c                  input->action->rsc->id, action->rsc->id);
rsc              1095 lib/pacemaker/pcmk_sched_ordering.c         && (action->rsc != NULL)
rsc              1145 lib/pacemaker/pcmk_sched_ordering.c         if (pcmk_is_set(action->rsc->flags, pcmk_rsc_maintenance)) {
rsc              1146 lib/pacemaker/pcmk_sched_ordering.c             pe_rsc_trace(action->rsc,
rsc              1153 lib/pacemaker/pcmk_sched_ordering.c             pe_rsc_trace(action->rsc,
rsc              1164 lib/pacemaker/pcmk_sched_ordering.c         if (!pcmk_any_flags_set(action->rsc->flags,
rsc              1166 lib/pacemaker/pcmk_sched_ordering.c             pe_rsc_trace(action->rsc,
rsc              1173 lib/pacemaker/pcmk_sched_ordering.c         pe_rsc_trace(action->rsc, "Ordering %s before shutdown of %s",
rsc              1176 lib/pacemaker/pcmk_sched_ordering.c         pcmk__new_ordering(action->rsc, NULL, action, NULL,
rsc              1194 lib/pacemaker/pcmk_sched_ordering.c find_actions_by_task(const pcmk_resource_t *rsc, const char *original_key)
rsc              1197 lib/pacemaker/pcmk_sched_ordering.c     GList *list = find_actions(rsc->actions, original_key, NULL);
rsc              1206 lib/pacemaker/pcmk_sched_ordering.c             key = pcmk__op_key(rsc->id, task, interval_ms);
rsc              1207 lib/pacemaker/pcmk_sched_ordering.c             list = find_actions(rsc->actions, key, NULL);
rsc              1227 lib/pacemaker/pcmk_sched_ordering.c                              const pcmk_resource_t *rsc, pe__ordering_t *order)
rsc              1232 lib/pacemaker/pcmk_sched_ordering.c     CRM_CHECK((rsc != NULL) && (order != NULL), return);
rsc              1235 lib/pacemaker/pcmk_sched_ordering.c     pe_rsc_trace(rsc, "Applying ordering %d for 'then' resource %s",
rsc              1236 lib/pacemaker/pcmk_sched_ordering.c                  order->id, rsc->id);
rsc              1242 lib/pacemaker/pcmk_sched_ordering.c         then_actions = find_actions_by_task(rsc, order->rh_action_task);
rsc              1246 lib/pacemaker/pcmk_sched_ordering.c         pe_rsc_trace(rsc, "Ignoring ordering %d: no %s actions found for %s",
rsc              1247 lib/pacemaker/pcmk_sched_ordering.c                      order->id, order->rh_action_task, rsc->id);
rsc              1251 lib/pacemaker/pcmk_sched_ordering.c     if ((first_action != NULL) && (first_action->rsc == rsc)
rsc              1254 lib/pacemaker/pcmk_sched_ordering.c         pe_rsc_trace(rsc,
rsc              1256 lib/pacemaker/pcmk_sched_ordering.c                      first_action->uuid, order->rh_action_task, rsc->id);
rsc              1263 lib/pacemaker/pcmk_sched_ordering.c         pe_rsc_debug(rsc,
rsc              1265 lib/pacemaker/pcmk_sched_ordering.c                      order->id, rsc->id);
rsc              1278 lib/pacemaker/pcmk_sched_ordering.c                      "to order it after", then_action_iter->task, rsc->id,
rsc              1351 lib/pacemaker/pcmk_sched_ordering.c         then_rsc = order->rh_action->rsc;
rsc              1411 lib/pacemaker/pcmk_sched_ordering.c         pcmk_resource_t *rsc = order->lh_rsc;
rsc              1413 lib/pacemaker/pcmk_sched_ordering.c         if (rsc != NULL) {
rsc              1414 lib/pacemaker/pcmk_sched_ordering.c             rsc_order_first(rsc, order);
rsc              1418 lib/pacemaker/pcmk_sched_ordering.c         rsc = order->rh_rsc;
rsc              1419 lib/pacemaker/pcmk_sched_ordering.c         if (rsc != NULL) {
rsc              1420 lib/pacemaker/pcmk_sched_ordering.c             order_resource_actions_after(order->lh_action, rsc, order);
rsc              1470 lib/pacemaker/pcmk_sched_ordering.c pcmk__promotable_restart_ordering(pcmk_resource_t *rsc)
rsc              1473 lib/pacemaker/pcmk_sched_ordering.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_STOPPED,
rsc              1474 lib/pacemaker/pcmk_sched_ordering.c                                  rsc, PCMK_ACTION_START,
rsc              1476 lib/pacemaker/pcmk_sched_ordering.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_STOPPED,
rsc              1477 lib/pacemaker/pcmk_sched_ordering.c                                  rsc, PCMK_ACTION_PROMOTE,
rsc              1481 lib/pacemaker/pcmk_sched_ordering.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_DEMOTED,
rsc              1482 lib/pacemaker/pcmk_sched_ordering.c                                  rsc, PCMK_ACTION_STOP,
rsc              1484 lib/pacemaker/pcmk_sched_ordering.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_DEMOTED,
rsc              1485 lib/pacemaker/pcmk_sched_ordering.c                                  rsc, PCMK_ACTION_START,
rsc              1487 lib/pacemaker/pcmk_sched_ordering.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_DEMOTED,
rsc              1488 lib/pacemaker/pcmk_sched_ordering.c                                  rsc, PCMK_ACTION_PROMOTE,
rsc              1492 lib/pacemaker/pcmk_sched_ordering.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_RUNNING,
rsc              1493 lib/pacemaker/pcmk_sched_ordering.c                                  rsc, PCMK_ACTION_PROMOTE,
rsc              1497 lib/pacemaker/pcmk_sched_ordering.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_DEMOTE,
rsc              1498 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->allowed_nodes != NULL) {
rsc               137 lib/pacemaker/pcmk_sched_primitive.c         GList *nodes = g_hash_table_get_values(rsc->allowed_nodes);
rsc               140 lib/pacemaker/pcmk_sched_primitive.c             return pcmk__sort_nodes(nodes, pe__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->allocated_to != 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->allowed_nodes, prefer->details->id);
rsc               194 lib/pacemaker/pcmk_sched_primitive.c             pe_rsc_trace(rsc, "Preferred node %s for %s was unknown",
rsc               195 lib/pacemaker/pcmk_sched_primitive.c                          pe__node_name(prefer), rsc->id);
rsc               204 lib/pacemaker/pcmk_sched_primitive.c             pe_rsc_trace(rsc, "Preferred node %s for %s was unsuitable",
rsc               205 lib/pacemaker/pcmk_sched_primitive.c                          pe__node_name(chosen), rsc->id);
rsc               209 lib/pacemaker/pcmk_sched_primitive.c             pe_rsc_trace(rsc, "Preferred node %s for %s was unavailable",
rsc               210 lib/pacemaker/pcmk_sched_primitive.c                          pe__node_name(chosen), rsc->id);
rsc               214 lib/pacemaker/pcmk_sched_primitive.c             pe_rsc_trace(rsc,
rsc               217 lib/pacemaker/pcmk_sched_primitive.c                          pe__node_name(chosen), rsc->id, g_list_length(nodes));
rsc               228 lib/pacemaker/pcmk_sched_primitive.c         if (!pe_rsc_is_unique_clone(rsc->parent)
rsc               240 lib/pacemaker/pcmk_sched_primitive.c             pcmk_node_t *running = pe__current_node(rsc);
rsc               246 lib/pacemaker/pcmk_sched_primitive.c                 pe_rsc_trace(rsc,
rsc               248 lib/pacemaker/pcmk_sched_primitive.c                              rsc->id, pe__node_name(running));
rsc               275 lib/pacemaker/pcmk_sched_primitive.c                                pe__node_name(chosen), rsc->id,
rsc               282 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_trace(rsc, "Chose %s for %s from %d candidates",
rsc               283 lib/pacemaker/pcmk_sched_primitive.c                      pe__node_name(chosen), rsc->id, g_list_length(nodes));
rsc               286 lib/pacemaker/pcmk_sched_primitive.c     pcmk__assign_resource(rsc, chosen, false, stop_if_fail);
rsc               288 lib/pacemaker/pcmk_sched_primitive.c     return rsc->allocated_to != NULL;
rsc               299 lib/pacemaker/pcmk_sched_primitive.c apply_this_with(pcmk__colocation_t *colocation, pcmk_resource_t *rsc)
rsc               307 lib/pacemaker/pcmk_sched_primitive.c         archive = pcmk__copy_node_table(rsc->allowed_nodes);
rsc               311 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_trace(rsc,
rsc               314 lib/pacemaker/pcmk_sched_primitive.c                      rsc->id, colocation->id, other->id,
rsc               320 lib/pacemaker/pcmk_sched_primitive.c     rsc->cmds->apply_coloc_score(rsc, other, colocation, true);
rsc               322 lib/pacemaker/pcmk_sched_primitive.c         && !pcmk__any_node_available(rsc->allowed_nodes)) {
rsc               323 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_info(rsc,
rsc               326 lib/pacemaker/pcmk_sched_primitive.c                     rsc->id, other->id);
rsc               327 lib/pacemaker/pcmk_sched_primitive.c         g_hash_table_destroy(rsc->allowed_nodes);
rsc               328 lib/pacemaker/pcmk_sched_primitive.c         rsc->allowed_nodes = archive;
rsc               390 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_assign(pcmk_resource_t *rsc, const pcmk_node_t *prefer,
rsc               398 lib/pacemaker/pcmk_sched_primitive.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_primitive));
rsc               401 lib/pacemaker/pcmk_sched_primitive.c     if ((rsc->parent != NULL)
rsc               402 lib/pacemaker/pcmk_sched_primitive.c         && !pcmk_is_set(rsc->parent->flags, pcmk_rsc_assigning)) {
rsc               403 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_debug(rsc, "%s: Assigning parent %s first",
rsc               404 lib/pacemaker/pcmk_sched_primitive.c                      rsc->id, rsc->parent->id);
rsc               405 lib/pacemaker/pcmk_sched_primitive.c         rsc->parent->cmds->assign(rsc->parent, prefer, stop_if_fail);
rsc               408 lib/pacemaker/pcmk_sched_primitive.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_unassigned)) {
rsc               412 lib/pacemaker/pcmk_sched_primitive.c         if (rsc->allocated_to != NULL) {
rsc               413 lib/pacemaker/pcmk_sched_primitive.c             node_name = pe__node_name(rsc->allocated_to);
rsc               415 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_debug(rsc, "%s: pre-assigned to %s", rsc->id, node_name);
rsc               416 lib/pacemaker/pcmk_sched_primitive.c         return rsc->allocated_to;
rsc               420 lib/pacemaker/pcmk_sched_primitive.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_assigning)) {
rsc               421 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_debug(rsc, "Breaking assignment loop involving %s", rsc->id);
rsc               424 lib/pacemaker/pcmk_sched_primitive.c     pe__set_resource_flags(rsc, pcmk_rsc_assigning);
rsc               426 lib/pacemaker/pcmk_sched_primitive.c     pe__show_node_scores(true, rsc, "Pre-assignment", rsc->allowed_nodes,
rsc               427 lib/pacemaker/pcmk_sched_primitive.c                          rsc->cluster);
rsc               429 lib/pacemaker/pcmk_sched_primitive.c     this_with_colocations = pcmk__this_with_colocations(rsc);
rsc               430 lib/pacemaker/pcmk_sched_primitive.c     with_this_colocations = pcmk__with_this_colocations(rsc);
rsc               438 lib/pacemaker/pcmk_sched_primitive.c             apply_this_with(colocation, rsc);
rsc               446 lib/pacemaker/pcmk_sched_primitive.c             pcmk__add_dependent_scores(colocation, rsc);
rsc               450 lib/pacemaker/pcmk_sched_primitive.c     pe__show_node_scores(true, rsc, "Mandatory-colocations",
rsc               451 lib/pacemaker/pcmk_sched_primitive.c                          rsc->allowed_nodes, rsc->cluster);
rsc               459 lib/pacemaker/pcmk_sched_primitive.c             apply_this_with(colocation, rsc);
rsc               467 lib/pacemaker/pcmk_sched_primitive.c             pcmk__add_dependent_scores(colocation, rsc);
rsc               474 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->next_role == pcmk_role_stopped) {
rsc               475 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_trace(rsc,
rsc               477 lib/pacemaker/pcmk_sched_primitive.c                      rsc->id);
rsc               478 lib/pacemaker/pcmk_sched_primitive.c         resource_location(rsc, NULL, -INFINITY, XML_RSC_ATTR_TARGET_ROLE,
rsc               479 lib/pacemaker/pcmk_sched_primitive.c                           rsc->cluster);
rsc               481 lib/pacemaker/pcmk_sched_primitive.c     } else if ((rsc->next_role > rsc->role)
rsc               482 lib/pacemaker/pcmk_sched_primitive.c                && !pcmk_is_set(rsc->cluster->flags, pcmk_sched_quorate)
rsc               483 lib/pacemaker/pcmk_sched_primitive.c                && (rsc->cluster->no_quorum_policy == pcmk_no_quorum_freeze)) {
rsc               486 lib/pacemaker/pcmk_sched_primitive.c                    rsc->id, role2text(rsc->role), role2text(rsc->next_role));
rsc               487 lib/pacemaker/pcmk_sched_primitive.c         pe__set_next_role(rsc, rsc->role, "no-quorum-policy=freeze");
rsc               490 lib/pacemaker/pcmk_sched_primitive.c     pe__show_node_scores(!pcmk_is_set(rsc->cluster->flags,
rsc               492 lib/pacemaker/pcmk_sched_primitive.c                          rsc, __func__, rsc->allowed_nodes, rsc->cluster);
rsc               495 lib/pacemaker/pcmk_sched_primitive.c     if (pcmk_is_set(rsc->cluster->flags, pcmk_sched_fencing_enabled)
rsc               496 lib/pacemaker/pcmk_sched_primitive.c         && !pcmk_is_set(rsc->cluster->flags, pcmk_sched_have_fencing)) {
rsc               497 lib/pacemaker/pcmk_sched_primitive.c         pe__clear_resource_flags(rsc, pcmk_rsc_managed);
rsc               500 lib/pacemaker/pcmk_sched_primitive.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               505 lib/pacemaker/pcmk_sched_primitive.c         pe__set_next_role(rsc, rsc->role, "unmanaged");
rsc               506 lib/pacemaker/pcmk_sched_primitive.c         assign_to = pe__current_node(rsc);
rsc               509 lib/pacemaker/pcmk_sched_primitive.c         } else if (rsc->role == pcmk_role_promoted) {
rsc               511 lib/pacemaker/pcmk_sched_primitive.c         } else if (pcmk_is_set(rsc->flags, pcmk_rsc_failed)) {
rsc               516 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_info(rsc, "Unmanaged resource %s assigned to %s: %s", rsc->id,
rsc               518 lib/pacemaker/pcmk_sched_primitive.c         pcmk__assign_resource(rsc, assign_to, true, stop_if_fail);
rsc               520 lib/pacemaker/pcmk_sched_primitive.c     } else if (pcmk_is_set(rsc->cluster->flags, pcmk_sched_stop_all)) {
rsc               523 lib/pacemaker/pcmk_sched_primitive.c             pe_rsc_debug(rsc, "Forcing %s to stop: stop-all-resources",
rsc               524 lib/pacemaker/pcmk_sched_primitive.c                          rsc->id);
rsc               526 lib/pacemaker/pcmk_sched_primitive.c         pcmk__assign_resource(rsc, NULL, true, stop_if_fail);
rsc               528 lib/pacemaker/pcmk_sched_primitive.c     } else if (!assign_best_node(rsc, prefer, stop_if_fail)) {
rsc               530 lib/pacemaker/pcmk_sched_primitive.c         if (!pcmk_is_set(rsc->flags, pcmk_rsc_removed)) {
rsc               531 lib/pacemaker/pcmk_sched_primitive.c             pe_rsc_info(rsc, "Resource %s cannot run anywhere", rsc->id);
rsc               532 lib/pacemaker/pcmk_sched_primitive.c         } else if ((rsc->running_on != NULL) && stop_if_fail) {
rsc               533 lib/pacemaker/pcmk_sched_primitive.c             pe_rsc_info(rsc, "Stopping orphan resource %s", rsc->id);
rsc               537 lib/pacemaker/pcmk_sched_primitive.c     pe__clear_resource_flags(rsc, pcmk_rsc_assigning);
rsc               539 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->is_remote_node) {
rsc               540 lib/pacemaker/pcmk_sched_primitive.c         remote_connection_assigned(rsc);
rsc               543 lib/pacemaker/pcmk_sched_primitive.c     return rsc->allocated_to;
rsc               558 lib/pacemaker/pcmk_sched_primitive.c schedule_restart_actions(pcmk_resource_t *rsc, pcmk_node_t *current,
rsc               561 lib/pacemaker/pcmk_sched_primitive.c     enum rsc_role_e role = rsc->role;
rsc               565 lib/pacemaker/pcmk_sched_primitive.c     pe__set_resource_flags(rsc, pcmk_rsc_restarting);
rsc               570 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_trace(rsc, "Creating %s action to take %s down from %s to %s",
rsc               571 lib/pacemaker/pcmk_sched_primitive.c                      (need_stop? "required" : "optional"), rsc->id,
rsc               577 lib/pacemaker/pcmk_sched_primitive.c         fn(rsc, current, !need_stop);
rsc               582 lib/pacemaker/pcmk_sched_primitive.c     while ((rsc->role <= rsc->next_role) && (role != rsc->role)
rsc               583 lib/pacemaker/pcmk_sched_primitive.c            && !pcmk_is_set(rsc->flags, pcmk_rsc_blocked)) {
rsc               586 lib/pacemaker/pcmk_sched_primitive.c         next_role = rsc_state_matrix[role][rsc->role];
rsc               590 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_trace(rsc, "Creating %s action to take %s up from %s to %s",
rsc               591 lib/pacemaker/pcmk_sched_primitive.c                      (required? "required" : "optional"), rsc->id,
rsc               597 lib/pacemaker/pcmk_sched_primitive.c         fn(rsc, rsc->allocated_to, !required);
rsc               601 lib/pacemaker/pcmk_sched_primitive.c     pe__clear_resource_flags(rsc, pcmk_rsc_restarting);
rsc               613 lib/pacemaker/pcmk_sched_primitive.c set_default_next_role(pcmk_resource_t *rsc)
rsc               615 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->next_role != pcmk_role_unknown) {
rsc               619 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->allocated_to == NULL) {
rsc               620 lib/pacemaker/pcmk_sched_primitive.c         pe__set_next_role(rsc, pcmk_role_stopped, "assignment");
rsc               622 lib/pacemaker/pcmk_sched_primitive.c         pe__set_next_role(rsc, pcmk_role_started, "assignment");
rsc               634 lib/pacemaker/pcmk_sched_primitive.c create_pending_start(pcmk_resource_t *rsc)
rsc               638 lib/pacemaker/pcmk_sched_primitive.c     pe_rsc_trace(rsc,
rsc               640 lib/pacemaker/pcmk_sched_primitive.c                  rsc->id);
rsc               641 lib/pacemaker/pcmk_sched_primitive.c     start = start_action(rsc, rsc->allocated_to, TRUE);
rsc               652 lib/pacemaker/pcmk_sched_primitive.c schedule_role_transition_actions(pcmk_resource_t *rsc)
rsc               654 lib/pacemaker/pcmk_sched_primitive.c     enum rsc_role_e role = rsc->role;
rsc               656 lib/pacemaker/pcmk_sched_primitive.c     while (role != rsc->next_role) {
rsc               657 lib/pacemaker/pcmk_sched_primitive.c         enum rsc_role_e next_role = rsc_state_matrix[role][rsc->next_role];
rsc               660 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_trace(rsc,
rsc               662 lib/pacemaker/pcmk_sched_primitive.c                      rsc->id, role2text(role), role2text(next_role),
rsc               663 lib/pacemaker/pcmk_sched_primitive.c                      role2text(rsc->next_role));
rsc               668 lib/pacemaker/pcmk_sched_primitive.c         fn(rsc, rsc->allocated_to, false);
rsc               680 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_create_actions(pcmk_resource_t *rsc)
rsc               693 lib/pacemaker/pcmk_sched_primitive.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_primitive));
rsc               695 lib/pacemaker/pcmk_sched_primitive.c     next_role_source = set_default_next_role(rsc);
rsc               696 lib/pacemaker/pcmk_sched_primitive.c     pe_rsc_trace(rsc,
rsc               699 lib/pacemaker/pcmk_sched_primitive.c                  rsc->id, role2text(rsc->role), role2text(rsc->next_role),
rsc               700 lib/pacemaker/pcmk_sched_primitive.c                  next_role_source, pe__node_name(rsc->allocated_to));
rsc               702 lib/pacemaker/pcmk_sched_primitive.c     current = rsc->fns->active_node(rsc, &num_all_active, &num_clean_active);
rsc               704 lib/pacemaker/pcmk_sched_primitive.c     g_list_foreach(rsc->dangling_migrations, pcmk__abort_dangling_migration,
rsc               705 lib/pacemaker/pcmk_sched_primitive.c                    rsc);
rsc               707 lib/pacemaker/pcmk_sched_primitive.c     if ((current != NULL) && (rsc->allocated_to != NULL)
rsc               708 lib/pacemaker/pcmk_sched_primitive.c         && !pe__same_node(current, rsc->allocated_to)
rsc               709 lib/pacemaker/pcmk_sched_primitive.c         && (rsc->next_role >= pcmk_role_started)) {
rsc               711 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_trace(rsc, "Moving %s from %s to %s",
rsc               712 lib/pacemaker/pcmk_sched_primitive.c                      rsc->id, pe__node_name(current),
rsc               713 lib/pacemaker/pcmk_sched_primitive.c                      pe__node_name(rsc->allocated_to));
rsc               715 lib/pacemaker/pcmk_sched_primitive.c         allow_migrate = pcmk__rsc_can_migrate(rsc, current);
rsc               722 lib/pacemaker/pcmk_sched_primitive.c     if ((rsc->partial_migration_source != NULL)
rsc               723 lib/pacemaker/pcmk_sched_primitive.c         && (rsc->partial_migration_target != NULL)
rsc               725 lib/pacemaker/pcmk_sched_primitive.c         && pe__same_node(current, rsc->partial_migration_source)
rsc               726 lib/pacemaker/pcmk_sched_primitive.c         && pe__same_node(rsc->allocated_to, rsc->partial_migration_target)) {
rsc               730 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_trace(rsc, "Partial migration of %s from %s to %s will continue",
rsc               731 lib/pacemaker/pcmk_sched_primitive.c                      rsc->id, pe__node_name(rsc->partial_migration_source),
rsc               732 lib/pacemaker/pcmk_sched_primitive.c                      pe__node_name(rsc->partial_migration_target));
rsc               734 lib/pacemaker/pcmk_sched_primitive.c     } else if ((rsc->partial_migration_source != NULL)
rsc               735 lib/pacemaker/pcmk_sched_primitive.c                || (rsc->partial_migration_target != NULL)) {
rsc               742 lib/pacemaker/pcmk_sched_primitive.c                        rsc->id, pe__node_name(rsc->partial_migration_source),
rsc               743 lib/pacemaker/pcmk_sched_primitive.c                        pe__node_name(rsc->partial_migration_target));
rsc               748 lib/pacemaker/pcmk_sched_primitive.c                        rsc->id, pe__node_name(rsc->partial_migration_source),
rsc               749 lib/pacemaker/pcmk_sched_primitive.c                        pe__node_name(rsc->partial_migration_target));
rsc               752 lib/pacemaker/pcmk_sched_primitive.c         rsc->partial_migration_source = rsc->partial_migration_target = NULL;
rsc               755 lib/pacemaker/pcmk_sched_primitive.c     } else if (pcmk_is_set(rsc->flags, pcmk_rsc_needs_fencing)) {
rsc               769 lib/pacemaker/pcmk_sched_primitive.c         const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
rsc               773 lib/pacemaker/pcmk_sched_primitive.c                     pcmk__s(class, "Untyped"), rsc->id, num_all_active,
rsc               774 lib/pacemaker/pcmk_sched_primitive.c                     recovery2text(rsc->recovery_type));
rsc               778 lib/pacemaker/pcmk_sched_primitive.c         switch (rsc->recovery_type) {
rsc               784 lib/pacemaker/pcmk_sched_primitive.c                 pe__set_resource_flags(rsc, pcmk_rsc_stop_unexpected);
rsc               791 lib/pacemaker/pcmk_sched_primitive.c         pe__clear_resource_flags(rsc, pcmk_rsc_stop_unexpected);
rsc               794 lib/pacemaker/pcmk_sched_primitive.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_start_pending)) {
rsc               795 lib/pacemaker/pcmk_sched_primitive.c         create_pending_start(rsc);
rsc               801 lib/pacemaker/pcmk_sched_primitive.c     } else if (pcmk_is_set(rsc->flags, pcmk_rsc_failed)) {
rsc               802 lib/pacemaker/pcmk_sched_primitive.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_stop_if_failed)) {
rsc               804 lib/pacemaker/pcmk_sched_primitive.c             pe_rsc_trace(rsc, "Recovering %s", rsc->id);
rsc               806 lib/pacemaker/pcmk_sched_primitive.c             pe_rsc_trace(rsc, "Recovering %s by demotion", rsc->id);
rsc               807 lib/pacemaker/pcmk_sched_primitive.c             if (rsc->next_role == pcmk_role_promoted) {
rsc               812 lib/pacemaker/pcmk_sched_primitive.c     } else if (pcmk_is_set(rsc->flags, pcmk_rsc_blocked)) {
rsc               813 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_trace(rsc, "Blocking further actions on %s", rsc->id);
rsc               816 lib/pacemaker/pcmk_sched_primitive.c     } else if ((rsc->role > pcmk_role_started) && (current != NULL)
rsc               817 lib/pacemaker/pcmk_sched_primitive.c                && (rsc->allocated_to != NULL)) {
rsc               820 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_trace(rsc, "Creating start action for promoted resource %s",
rsc               821 lib/pacemaker/pcmk_sched_primitive.c                      rsc->id);
rsc               822 lib/pacemaker/pcmk_sched_primitive.c         start = start_action(rsc, rsc->allocated_to, TRUE);
rsc               825 lib/pacemaker/pcmk_sched_primitive.c             pe_rsc_trace(rsc, "%s restart is required for recovery", rsc->id);
rsc               831 lib/pacemaker/pcmk_sched_primitive.c     schedule_restart_actions(rsc, current, need_stop, need_promote);
rsc               834 lib/pacemaker/pcmk_sched_primitive.c     schedule_role_transition_actions(rsc);
rsc               836 lib/pacemaker/pcmk_sched_primitive.c     pcmk__create_recurring_actions(rsc);
rsc               839 lib/pacemaker/pcmk_sched_primitive.c         pcmk__create_migration_actions(rsc, current);
rsc               850 lib/pacemaker/pcmk_sched_primitive.c rsc_avoids_remote_nodes(const pcmk_resource_t *rsc)
rsc               855 lib/pacemaker/pcmk_sched_primitive.c     g_hash_table_iter_init(&iter, rsc->allowed_nodes);
rsc               877 lib/pacemaker/pcmk_sched_primitive.c allowed_nodes_as_list(const pcmk_resource_t *rsc)
rsc               881 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->allowed_nodes) {
rsc               882 lib/pacemaker/pcmk_sched_primitive.c         allowed_nodes = g_hash_table_get_values(rsc->allowed_nodes);
rsc               899 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_internal_constraints(pcmk_resource_t *rsc)
rsc               905 lib/pacemaker/pcmk_sched_primitive.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_primitive));
rsc               907 lib/pacemaker/pcmk_sched_primitive.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               908 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_trace(rsc,
rsc               910 lib/pacemaker/pcmk_sched_primitive.c                      rsc->id);
rsc               915 lib/pacemaker/pcmk_sched_primitive.c     check_unfencing = !pcmk_is_set(rsc->flags, pcmk_rsc_fence_device)
rsc               916 lib/pacemaker/pcmk_sched_primitive.c                       && pcmk_is_set(rsc->cluster->flags,
rsc               918 lib/pacemaker/pcmk_sched_primitive.c                       && pcmk_is_set(rsc->flags, pcmk_rsc_needs_unfencing);
rsc               921 lib/pacemaker/pcmk_sched_primitive.c     check_utilization = (g_hash_table_size(rsc->utilization) > 0)
rsc               922 lib/pacemaker/pcmk_sched_primitive.c                          && !pcmk__str_eq(rsc->cluster->placement_strategy,
rsc               926 lib/pacemaker/pcmk_sched_primitive.c     pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_STOP, 0), NULL,
rsc               927 lib/pacemaker/pcmk_sched_primitive.c                        rsc, pcmk__op_key(rsc->id, PCMK_ACTION_START, 0), NULL,
rsc               931 lib/pacemaker/pcmk_sched_primitive.c                        rsc->cluster);
rsc               934 lib/pacemaker/pcmk_sched_primitive.c     if (pcmk_is_set(pe__const_top_resource(rsc, false)->flags,
rsc               936 lib/pacemaker/pcmk_sched_primitive.c         || (rsc->role > pcmk_role_unpromoted)) {
rsc               938 lib/pacemaker/pcmk_sched_primitive.c         pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_DEMOTE, 0),
rsc               940 lib/pacemaker/pcmk_sched_primitive.c                            rsc, pcmk__op_key(rsc->id, PCMK_ACTION_STOP, 0),
rsc               942 lib/pacemaker/pcmk_sched_primitive.c                            pcmk__ar_promoted_then_implies_first, rsc->cluster);
rsc               944 lib/pacemaker/pcmk_sched_primitive.c         pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_START, 0),
rsc               946 lib/pacemaker/pcmk_sched_primitive.c                            rsc, pcmk__op_key(rsc->id, PCMK_ACTION_PROMOTE, 0),
rsc               948 lib/pacemaker/pcmk_sched_primitive.c                            pcmk__ar_unrunnable_first_blocks, rsc->cluster);
rsc               952 lib/pacemaker/pcmk_sched_primitive.c     pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_LRM_DELETE, 0),
rsc               953 lib/pacemaker/pcmk_sched_primitive.c                        NULL, rsc,
rsc               954 lib/pacemaker/pcmk_sched_primitive.c                        pcmk__op_key(rsc->id, PCMK_ACTION_MONITOR, 0),
rsc               957 lib/pacemaker/pcmk_sched_primitive.c                        rsc->cluster);
rsc               960 lib/pacemaker/pcmk_sched_primitive.c     if (check_unfencing || check_utilization || (rsc->container != NULL)) {
rsc               961 lib/pacemaker/pcmk_sched_primitive.c         allowed_nodes = allowed_nodes_as_list(rsc);
rsc               965 lib/pacemaker/pcmk_sched_primitive.c         g_list_foreach(allowed_nodes, pcmk__order_restart_vs_unfence, rsc);
rsc               969 lib/pacemaker/pcmk_sched_primitive.c         pcmk__create_utilization_constraints(rsc, allowed_nodes);
rsc               972 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->container != NULL) {
rsc               975 lib/pacemaker/pcmk_sched_primitive.c         if (rsc->is_remote_node) {
rsc               981 lib/pacemaker/pcmk_sched_primitive.c             if (!pcmk_is_set(rsc->flags, pcmk_rsc_remote_nesting_allowed)) {
rsc               982 lib/pacemaker/pcmk_sched_primitive.c                 rsc_avoids_remote_nodes(rsc->container);
rsc               991 lib/pacemaker/pcmk_sched_primitive.c             pcmk__order_resource_actions(rsc->container, PCMK_ACTION_MONITOR,
rsc               992 lib/pacemaker/pcmk_sched_primitive.c                                          rsc, PCMK_ACTION_STOP,
rsc              1002 lib/pacemaker/pcmk_sched_primitive.c         } else if (rsc->container->is_remote_node) {
rsc              1003 lib/pacemaker/pcmk_sched_primitive.c             remote_rsc = rsc->container;
rsc              1005 lib/pacemaker/pcmk_sched_primitive.c             remote_rsc = pe__resource_contains_guest_node(rsc->cluster,
rsc              1006 lib/pacemaker/pcmk_sched_primitive.c                                                           rsc->container);
rsc              1029 lib/pacemaker/pcmk_sched_primitive.c                       rsc->id, rsc->container->id);
rsc              1031 lib/pacemaker/pcmk_sched_primitive.c             pcmk__new_ordering(rsc->container,
rsc              1032 lib/pacemaker/pcmk_sched_primitive.c                                pcmk__op_key(rsc->container->id,
rsc              1034 lib/pacemaker/pcmk_sched_primitive.c                                NULL, rsc,
rsc              1035 lib/pacemaker/pcmk_sched_primitive.c                                pcmk__op_key(rsc->id, PCMK_ACTION_START, 0),
rsc              1039 lib/pacemaker/pcmk_sched_primitive.c                                rsc->cluster);
rsc              1041 lib/pacemaker/pcmk_sched_primitive.c             pcmk__new_ordering(rsc,
rsc              1042 lib/pacemaker/pcmk_sched_primitive.c                                pcmk__op_key(rsc->id, PCMK_ACTION_STOP, 0),
rsc              1044 lib/pacemaker/pcmk_sched_primitive.c                                rsc->container,
rsc              1045 lib/pacemaker/pcmk_sched_primitive.c                                pcmk__op_key(rsc->container->id,
rsc              1047 lib/pacemaker/pcmk_sched_primitive.c                                NULL, pcmk__ar_then_implies_first, rsc->cluster);
rsc              1049 lib/pacemaker/pcmk_sched_primitive.c             if (pcmk_is_set(rsc->flags, pcmk_rsc_remote_nesting_allowed)) {
rsc              1054 lib/pacemaker/pcmk_sched_primitive.c             pcmk__new_colocation("#resource-with-container", NULL, score, rsc,
rsc              1055 lib/pacemaker/pcmk_sched_primitive.c                                  rsc->container, NULL, NULL,
rsc              1060 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->is_remote_node
rsc              1061 lib/pacemaker/pcmk_sched_primitive.c         || pcmk_is_set(rsc->flags, pcmk_rsc_fence_device)) {
rsc              1065 lib/pacemaker/pcmk_sched_primitive.c         rsc_avoids_remote_nodes(rsc);
rsc              1123 lib/pacemaker/pcmk_sched_primitive.c pcmk__with_primitive_colocations(const pcmk_resource_t *rsc,
rsc              1126 lib/pacemaker/pcmk_sched_primitive.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_primitive)
rsc              1129 lib/pacemaker/pcmk_sched_primitive.c     if (rsc == orig_rsc) {
rsc              1133 lib/pacemaker/pcmk_sched_primitive.c         pcmk__add_with_this_list(list, rsc->rsc_cons_lhs, orig_rsc);
rsc              1134 lib/pacemaker/pcmk_sched_primitive.c         if (rsc->parent != NULL) {
rsc              1135 lib/pacemaker/pcmk_sched_primitive.c             rsc->parent->cmds->with_this_colocations(rsc->parent, orig_rsc, list);
rsc              1139 lib/pacemaker/pcmk_sched_primitive.c         for (GList *iter = rsc->rsc_cons_lhs; iter != NULL; iter = iter->next) {
rsc              1153 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_with_colocations(const pcmk_resource_t *rsc,
rsc              1156 lib/pacemaker/pcmk_sched_primitive.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_primitive)
rsc              1159 lib/pacemaker/pcmk_sched_primitive.c     if (rsc == orig_rsc) {
rsc              1163 lib/pacemaker/pcmk_sched_primitive.c         pcmk__add_this_with_list(list, rsc->rsc_cons, orig_rsc);
rsc              1164 lib/pacemaker/pcmk_sched_primitive.c         if (rsc->parent != NULL) {
rsc              1165 lib/pacemaker/pcmk_sched_primitive.c             rsc->parent->cmds->this_with_colocations(rsc->parent, orig_rsc, list);
rsc              1169 lib/pacemaker/pcmk_sched_primitive.c         for (GList *iter = rsc->rsc_cons; iter != NULL; iter = iter->next) {
rsc              1209 lib/pacemaker/pcmk_sched_primitive.c is_expected_node(const pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc              1211 lib/pacemaker/pcmk_sched_primitive.c     return pcmk_all_flags_set(rsc->flags,
rsc              1213 lib/pacemaker/pcmk_sched_primitive.c            && (rsc->next_role > pcmk_role_stopped)
rsc              1214 lib/pacemaker/pcmk_sched_primitive.c            && pe__same_node(rsc->allocated_to, node);
rsc              1226 lib/pacemaker/pcmk_sched_primitive.c stop_resource(pcmk_resource_t *rsc, pcmk_node_t *node, bool optional)
rsc              1228 lib/pacemaker/pcmk_sched_primitive.c     for (GList *iter = rsc->running_on; iter != NULL; iter = iter->next) {
rsc              1232 lib/pacemaker/pcmk_sched_primitive.c         if (is_expected_node(rsc, current)) {
rsc              1237 lib/pacemaker/pcmk_sched_primitive.c             pe_rsc_trace(rsc,
rsc              1240 lib/pacemaker/pcmk_sched_primitive.c                          rsc->id, pe__node_name(current));
rsc              1244 lib/pacemaker/pcmk_sched_primitive.c         if (rsc->partial_migration_target != NULL) {
rsc              1246 lib/pacemaker/pcmk_sched_primitive.c             if (pe__same_node(current, rsc->partial_migration_target)
rsc              1247 lib/pacemaker/pcmk_sched_primitive.c                 && pe__same_node(current, rsc->allocated_to)) {
rsc              1248 lib/pacemaker/pcmk_sched_primitive.c                 pe_rsc_trace(rsc,
rsc              1251 lib/pacemaker/pcmk_sched_primitive.c                              rsc->id, pe__node_name(current));
rsc              1254 lib/pacemaker/pcmk_sched_primitive.c                 pe_rsc_trace(rsc,
rsc              1257 lib/pacemaker/pcmk_sched_primitive.c                              rsc->id, pe__node_name(current));
rsc              1262 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_trace(rsc, "Scheduling stop of %s on %s",
rsc              1263 lib/pacemaker/pcmk_sched_primitive.c                      rsc->id, pe__node_name(current));
rsc              1264 lib/pacemaker/pcmk_sched_primitive.c         stop = stop_action(rsc, current, optional);
rsc              1266 lib/pacemaker/pcmk_sched_primitive.c         if (rsc->allocated_to == NULL) {
rsc              1268 lib/pacemaker/pcmk_sched_primitive.c         } else if (pcmk_all_flags_set(rsc->flags, pcmk_rsc_restarting
rsc              1277 lib/pacemaker/pcmk_sched_primitive.c         if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc              1281 lib/pacemaker/pcmk_sched_primitive.c         if (pcmk_is_set(rsc->cluster->flags, pcmk_sched_remove_after_stop)) {
rsc              1282 lib/pacemaker/pcmk_sched_primitive.c             pcmk__schedule_cleanup(rsc, current, optional);
rsc              1285 lib/pacemaker/pcmk_sched_primitive.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_needs_unfencing)) {
rsc              1287 lib/pacemaker/pcmk_sched_primitive.c                                                  NULL, false, rsc->cluster);
rsc              1292 lib/pacemaker/pcmk_sched_primitive.c                             rsc->id, pe__node_name(current));
rsc              1307 lib/pacemaker/pcmk_sched_primitive.c start_resource(pcmk_resource_t *rsc, pcmk_node_t *node, bool optional)
rsc              1313 lib/pacemaker/pcmk_sched_primitive.c     pe_rsc_trace(rsc, "Scheduling %s start of %s on %s (score %d)",
rsc              1314 lib/pacemaker/pcmk_sched_primitive.c                  (optional? "optional" : "required"), rsc->id,
rsc              1316 lib/pacemaker/pcmk_sched_primitive.c     start = start_action(rsc, node, TRUE);
rsc              1318 lib/pacemaker/pcmk_sched_primitive.c     pcmk__order_vs_unfence(rsc, node, start, pcmk__ar_first_implies_then);
rsc              1324 lib/pacemaker/pcmk_sched_primitive.c     if (is_expected_node(rsc, node)) {
rsc              1328 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_trace(rsc,
rsc              1331 lib/pacemaker/pcmk_sched_primitive.c                      rsc->id, pe__node_name(node));
rsc              1345 lib/pacemaker/pcmk_sched_primitive.c promote_resource(pcmk_resource_t *rsc, pcmk_node_t *node, bool optional)
rsc              1354 lib/pacemaker/pcmk_sched_primitive.c     action_list = pe__resource_actions(rsc, node, PCMK_ACTION_START, true);
rsc              1365 lib/pacemaker/pcmk_sched_primitive.c         pcmk_action_t *promote = promote_action(rsc, node, optional);
rsc              1367 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_trace(rsc, "Scheduling %s promotion of %s on %s",
rsc              1368 lib/pacemaker/pcmk_sched_primitive.c                      (optional? "optional" : "required"), rsc->id,
rsc              1371 lib/pacemaker/pcmk_sched_primitive.c         if (is_expected_node(rsc, node)) {
rsc              1375 lib/pacemaker/pcmk_sched_primitive.c             pe_rsc_trace(rsc,
rsc              1378 lib/pacemaker/pcmk_sched_primitive.c                          rsc->id, pe__node_name(node));
rsc              1382 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_trace(rsc, "Not promoting %s on %s: start unrunnable",
rsc              1383 lib/pacemaker/pcmk_sched_primitive.c                      rsc->id, pe__node_name(node));
rsc              1384 lib/pacemaker/pcmk_sched_primitive.c         action_list = pe__resource_actions(rsc, node, PCMK_ACTION_PROMOTE,
rsc              1404 lib/pacemaker/pcmk_sched_primitive.c demote_resource(pcmk_resource_t *rsc, pcmk_node_t *node, bool optional)
rsc              1411 lib/pacemaker/pcmk_sched_primitive.c     for (GList *iter = rsc->running_on; iter != NULL; iter = iter->next) {
rsc              1414 lib/pacemaker/pcmk_sched_primitive.c         if (is_expected_node(rsc, current)) {
rsc              1415 lib/pacemaker/pcmk_sched_primitive.c             pe_rsc_trace(rsc,
rsc              1418 lib/pacemaker/pcmk_sched_primitive.c                          rsc->id, pe__node_name(current));
rsc              1420 lib/pacemaker/pcmk_sched_primitive.c             pe_rsc_trace(rsc, "Scheduling %s demotion of %s on %s",
rsc              1421 lib/pacemaker/pcmk_sched_primitive.c                          (optional? "optional" : "required"), rsc->id,
rsc              1423 lib/pacemaker/pcmk_sched_primitive.c             demote_action(rsc, current, optional);
rsc              1429 lib/pacemaker/pcmk_sched_primitive.c assert_role_error(pcmk_resource_t *rsc, pcmk_node_t *node, bool optional)
rsc              1443 lib/pacemaker/pcmk_sched_primitive.c pcmk__schedule_cleanup(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc              1453 lib/pacemaker/pcmk_sched_primitive.c     CRM_CHECK((rsc != NULL) && (node != NULL), return);
rsc              1455 lib/pacemaker/pcmk_sched_primitive.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_failed)) {
rsc              1456 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_trace(rsc, "Skipping clean-up of %s on %s: resource failed",
rsc              1457 lib/pacemaker/pcmk_sched_primitive.c                      rsc->id, pe__node_name(node));
rsc              1462 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_trace(rsc, "Skipping clean-up of %s on %s: node unavailable",
rsc              1463 lib/pacemaker/pcmk_sched_primitive.c                      rsc->id, pe__node_name(node));
rsc              1467 lib/pacemaker/pcmk_sched_primitive.c     crm_notice("Scheduling clean-up of %s on %s", rsc->id, pe__node_name(node));
rsc              1468 lib/pacemaker/pcmk_sched_primitive.c     delete_action(rsc, node, optional);
rsc              1471 lib/pacemaker/pcmk_sched_primitive.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_STOP,
rsc              1472 lib/pacemaker/pcmk_sched_primitive.c                                  rsc, PCMK_ACTION_DELETE, flag);
rsc              1473 lib/pacemaker/pcmk_sched_primitive.c     pcmk__order_resource_actions(rsc, PCMK_ACTION_DELETE,
rsc              1474 lib/pacemaker/pcmk_sched_primitive.c                                  rsc, PCMK_ACTION_START, flag);
rsc              1485 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_add_graph_meta(const pcmk_resource_t *rsc, xmlNode *xml)
rsc              1491 lib/pacemaker/pcmk_sched_primitive.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_primitive)
rsc              1498 lib/pacemaker/pcmk_sched_primitive.c     value = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INCARNATION);
rsc              1506 lib/pacemaker/pcmk_sched_primitive.c     value = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_REMOTE_NODE);
rsc              1517 lib/pacemaker/pcmk_sched_primitive.c     for (parent = rsc; parent != NULL; parent = parent->parent) {
rsc              1528 lib/pacemaker/pcmk_sched_primitive.c     value = g_hash_table_lookup(rsc->meta, "external-ip");
rsc              1536 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_add_utilization(const pcmk_resource_t *rsc,
rsc              1540 lib/pacemaker/pcmk_sched_primitive.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_primitive)
rsc              1543 lib/pacemaker/pcmk_sched_primitive.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_unassigned)) {
rsc              1548 lib/pacemaker/pcmk_sched_primitive.c                  orig_rsc->id, rsc->id);
rsc              1549 lib/pacemaker/pcmk_sched_primitive.c     pcmk__release_node_capacity(utilization, rsc);
rsc              1587 lib/pacemaker/pcmk_sched_primitive.c     pcmk_resource_t *rsc = (pcmk_resource_t *) user_data;
rsc              1589 lib/pacemaker/pcmk_sched_primitive.c     if (strcmp(node->details->uname, rsc->lock_node->details->uname) != 0) {
rsc              1590 lib/pacemaker/pcmk_sched_primitive.c         resource_location(rsc, node, -CRM_SCORE_INFINITY,
rsc              1591 lib/pacemaker/pcmk_sched_primitive.c                           XML_CONFIG_ATTR_SHUTDOWN_LOCK, rsc->cluster);
rsc              1597 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_shutdown_lock(pcmk_resource_t *rsc)
rsc              1601 lib/pacemaker/pcmk_sched_primitive.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_primitive));
rsc              1603 lib/pacemaker/pcmk_sched_primitive.c     class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
rsc              1607 lib/pacemaker/pcmk_sched_primitive.c         || pe__resource_is_remote_conn(rsc)) {
rsc              1611 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->lock_node != NULL) {
rsc              1614 lib/pacemaker/pcmk_sched_primitive.c         if (rsc->running_on != NULL) {
rsc              1619 lib/pacemaker/pcmk_sched_primitive.c             pe_rsc_info(rsc,
rsc              1621 lib/pacemaker/pcmk_sched_primitive.c                         rsc->id);
rsc              1622 lib/pacemaker/pcmk_sched_primitive.c             pe__clear_resource_history(rsc, rsc->lock_node);
rsc              1623 lib/pacemaker/pcmk_sched_primitive.c             rsc->lock_node = NULL;
rsc              1624 lib/pacemaker/pcmk_sched_primitive.c             rsc->lock_time = 0;
rsc              1628 lib/pacemaker/pcmk_sched_primitive.c     } else if (pcmk__list_of_1(rsc->running_on)) {
rsc              1629 lib/pacemaker/pcmk_sched_primitive.c         pcmk_node_t *node = rsc->running_on->data;
rsc              1633 lib/pacemaker/pcmk_sched_primitive.c                 pe_rsc_debug(rsc, "Not locking %s to unclean %s for shutdown",
rsc              1634 lib/pacemaker/pcmk_sched_primitive.c                              rsc->id, pe__node_name(node));
rsc              1636 lib/pacemaker/pcmk_sched_primitive.c                 rsc->lock_node = node;
rsc              1637 lib/pacemaker/pcmk_sched_primitive.c                 rsc->lock_time = shutdown_time(node);
rsc              1642 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->lock_node == NULL) {
rsc              1647 lib/pacemaker/pcmk_sched_primitive.c     if (rsc->cluster->shutdown_lock > 0) {
rsc              1648 lib/pacemaker/pcmk_sched_primitive.c         time_t lock_expiration = rsc->lock_time + rsc->cluster->shutdown_lock;
rsc              1650 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_info(rsc, "Locking %s to %s due to shutdown (expires @%lld)",
rsc              1651 lib/pacemaker/pcmk_sched_primitive.c                     rsc->id, pe__node_name(rsc->lock_node),
rsc              1653 lib/pacemaker/pcmk_sched_primitive.c         pe__update_recheck_time(++lock_expiration, rsc->cluster,
rsc              1656 lib/pacemaker/pcmk_sched_primitive.c         pe_rsc_info(rsc, "Locking %s to %s due to shutdown",
rsc              1657 lib/pacemaker/pcmk_sched_primitive.c                     rsc->id, pe__node_name(rsc->lock_node));
rsc              1661 lib/pacemaker/pcmk_sched_primitive.c     g_list_foreach(rsc->cluster->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->running_on, node->details->id);
rsc                38 lib/pacemaker/pcmk_sched_probes.c     } else if (rsc->role == pcmk_role_promoted) {
rsc                58 lib/pacemaker/pcmk_sched_probes.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc                60 lib/pacemaker/pcmk_sched_probes.c         if (rsc->cmds->create_probe(rsc, node)) {
rsc               128 lib/pacemaker/pcmk_sched_probes.c probe_action(pcmk_resource_t *rsc, pcmk_node_t *node)
rsc               131 lib/pacemaker/pcmk_sched_probes.c     char *key = pcmk__op_key(rsc->id, PCMK_ACTION_MONITOR, 0);
rsc               134 lib/pacemaker/pcmk_sched_probes.c               role2text(rsc->role), rsc->id, pe__node_name(node));
rsc               136 lib/pacemaker/pcmk_sched_probes.c     probe = custom_action(rsc, key, PCMK_ACTION_MONITOR, node, FALSE,
rsc               137 lib/pacemaker/pcmk_sched_probes.c                           rsc->cluster);
rsc               140 lib/pacemaker/pcmk_sched_probes.c     pcmk__order_vs_unfence(rsc, node, probe, pcmk__ar_ordered);
rsc               141 lib/pacemaker/pcmk_sched_probes.c     add_expected_result(probe, rsc, node);
rsc               157 lib/pacemaker/pcmk_sched_probes.c pcmk__probe_rsc_on_node(pcmk_resource_t *rsc, pcmk_node_t *node)
rsc               162 lib/pacemaker/pcmk_sched_probes.c     pcmk_resource_t *top = uber_parent(rsc);
rsc               165 lib/pacemaker/pcmk_sched_probes.c     CRM_ASSERT((rsc != NULL) && (node != NULL));
rsc               167 lib/pacemaker/pcmk_sched_probes.c     if (!pcmk_is_set(rsc->cluster->flags, pcmk_sched_probe_resources)) {
rsc               173 lib/pacemaker/pcmk_sched_probes.c         const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
rsc               180 lib/pacemaker/pcmk_sched_probes.c                    && pe__resource_contains_guest_node(rsc->cluster, rsc)) {
rsc               184 lib/pacemaker/pcmk_sched_probes.c         } else if (rsc->is_remote_node) {
rsc               191 lib/pacemaker/pcmk_sched_probes.c     if (rsc->children != NULL) {
rsc               192 lib/pacemaker/pcmk_sched_probes.c         return pcmk__probe_resource_list(rsc->children, node);
rsc               195 lib/pacemaker/pcmk_sched_probes.c     if ((rsc->container != NULL) && !rsc->is_remote_node) {
rsc               199 lib/pacemaker/pcmk_sched_probes.c     } else if (pcmk_is_set(rsc->flags, pcmk_rsc_removed)) {
rsc               203 lib/pacemaker/pcmk_sched_probes.c     } else if (g_hash_table_lookup(rsc->known_on, node->details->id) != NULL) {
rsc               208 lib/pacemaker/pcmk_sched_probes.c     allowed = g_hash_table_lookup(rsc->allowed_nodes, node->details->id);
rsc               210 lib/pacemaker/pcmk_sched_probes.c     if (rsc->exclusive_discover || top->exclusive_discover) {
rsc               252 lib/pacemaker/pcmk_sched_probes.c                                NULL, pcmk__ar_ordered, rsc->cluster);
rsc               258 lib/pacemaker/pcmk_sched_probes.c     probe = probe_action(rsc, node);
rsc               266 lib/pacemaker/pcmk_sched_probes.c         top = rsc;
rsc               278 lib/pacemaker/pcmk_sched_probes.c     pcmk__new_ordering(rsc, NULL, probe,
rsc               280 lib/pacemaker/pcmk_sched_probes.c                        flags, rsc->cluster);
rsc               281 lib/pacemaker/pcmk_sched_probes.c     pcmk__new_ordering(rsc, NULL, probe, top, reload_key(rsc), NULL,
rsc               282 lib/pacemaker/pcmk_sched_probes.c                        pcmk__ar_ordered, rsc->cluster);
rsc               287 lib/pacemaker/pcmk_sched_probes.c     pe_rsc_trace(rsc,
rsc               289 lib/pacemaker/pcmk_sched_probes.c                  rsc->id, node->details->id, reason);
rsc               485 lib/pacemaker/pcmk_sched_probes.c     if ((after->action->rsc->variant <= pcmk_rsc_variant_group)
rsc               489 lib/pacemaker/pcmk_sched_probes.c         || (pe__const_top_resource(probe->rsc, false) != after->action->rsc)
rsc               505 lib/pacemaker/pcmk_sched_probes.c         if (then->action->rsc->running_on
rsc               506 lib/pacemaker/pcmk_sched_probes.c             || (pe__const_top_resource(then->action->rsc, false)
rsc               507 lib/pacemaker/pcmk_sched_probes.c                 != after->action->rsc)
rsc               547 lib/pacemaker/pcmk_sched_probes.c     if ((after == NULL) || (probe == NULL) || (probe->rsc == NULL)
rsc               548 lib/pacemaker/pcmk_sched_probes.c         || (probe->rsc->variant != pcmk_rsc_variant_primitive)
rsc               566 lib/pacemaker/pcmk_sched_probes.c     if ((after->rsc != NULL)
rsc               567 lib/pacemaker/pcmk_sched_probes.c         && (after->rsc->variant == pcmk_rsc_variant_primitive)
rsc               568 lib/pacemaker/pcmk_sched_probes.c         && (probe->rsc != after->rsc)) {
rsc               573 lib/pacemaker/pcmk_sched_probes.c                 then_actions = pe__resource_actions(after->rsc, NULL,
rsc               578 lib/pacemaker/pcmk_sched_probes.c                 then_actions = pe__resource_actions(after->rsc, NULL,
rsc               596 lib/pacemaker/pcmk_sched_probes.c     if ((after->rsc != NULL)
rsc               597 lib/pacemaker/pcmk_sched_probes.c         && (after->rsc->variant > pcmk_rsc_variant_group)) {
rsc               598 lib/pacemaker/pcmk_sched_probes.c         const char *interleave_s = g_hash_table_lookup(after->rsc->meta,
rsc               603 lib/pacemaker/pcmk_sched_probes.c             compatible_rsc = pcmk__find_compatible_instance(probe->rsc,
rsc               604 lib/pacemaker/pcmk_sched_probes.c                                                             after->rsc,
rsc               634 lib/pacemaker/pcmk_sched_probes.c             if ((after->rsc == NULL)
rsc               635 lib/pacemaker/pcmk_sched_probes.c                 || (after->rsc->variant < pcmk_rsc_variant_group)
rsc               636 lib/pacemaker/pcmk_sched_probes.c                 || (probe->rsc->parent == after->rsc)
rsc               637 lib/pacemaker/pcmk_sched_probes.c                 || (after_wrapper->action->rsc == NULL)
rsc               638 lib/pacemaker/pcmk_sched_probes.c                 || (after_wrapper->action->rsc->variant > pcmk_rsc_variant_group)
rsc               639 lib/pacemaker/pcmk_sched_probes.c                 || (after->rsc != after_wrapper->action->rsc->parent)) {
rsc               646 lib/pacemaker/pcmk_sched_probes.c             if ((after->rsc->variant > pcmk_rsc_variant_group) && interleave
rsc               648 lib/pacemaker/pcmk_sched_probes.c                     || (compatible_rsc != after_wrapper->action->rsc))) {
rsc               690 lib/pacemaker/pcmk_sched_probes.c     pcmk_resource_t *rsc = data;
rsc               694 lib/pacemaker/pcmk_sched_probes.c     if (rsc->variant != pcmk_rsc_variant_primitive) {
rsc               695 lib/pacemaker/pcmk_sched_probes.c         g_list_foreach(rsc->children, add_start_restart_orderings_for_rsc,
rsc               701 lib/pacemaker/pcmk_sched_probes.c     probes = pe__resource_actions(rsc, NULL, PCMK_ACTION_MONITOR, FALSE);
rsc               714 lib/pacemaker/pcmk_sched_probes.c             clear_actions_tracking_flag(rsc->cluster);
rsc               763 lib/pacemaker/pcmk_sched_probes.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               769 lib/pacemaker/pcmk_sched_probes.c         actions = pe__resource_actions(rsc, NULL, PCMK_ACTION_START, FALSE);
rsc               777 lib/pacemaker/pcmk_sched_probes.c             crm_err("No start action for %s", rsc->id);
rsc               781 lib/pacemaker/pcmk_sched_probes.c         probes = pe__resource_actions(rsc, NULL, PCMK_ACTION_MONITOR, FALSE);
rsc               789 lib/pacemaker/pcmk_sched_probes.c             pcmk_resource_t *first_rsc = first->rsc;
rsc               801 lib/pacemaker/pcmk_sched_probes.c                     CRM_ASSERT(before->action->rsc != NULL);
rsc               802 lib/pacemaker/pcmk_sched_probes.c                     first_rsc = before->action->rsc;
rsc               815 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->children != NULL) {
rsc                88 lib/pacemaker/pcmk_sched_promotable.c         for (iter = rsc->children; iter != NULL; iter = iter->next) {
rsc                95 lib/pacemaker/pcmk_sched_promotable.c     for (iter = rsc->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->children; iter != NULL; iter = iter->next) {
rsc               177 lib/pacemaker/pcmk_sched_promotable.c             pe_rsc_trace(rsc,
rsc               179 lib/pacemaker/pcmk_sched_promotable.c                          rsc->id, child->id);
rsc               184 lib/pacemaker/pcmk_sched_promotable.c     node = rsc->fns->location(rsc, NULL, FALSE);
rsc               186 lib/pacemaker/pcmk_sched_promotable.c         pe_rsc_trace(rsc, "%s can't be promoted because it won't be active",
rsc               187 lib/pacemaker/pcmk_sched_promotable.c                      rsc->id);
rsc               190 lib/pacemaker/pcmk_sched_promotable.c     } else if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               191 lib/pacemaker/pcmk_sched_promotable.c         if (rsc->fns->state(rsc, TRUE) == pcmk_role_promoted) {
rsc               193 lib/pacemaker/pcmk_sched_promotable.c                        rsc->id, pe__node_name(node));
rsc               195 lib/pacemaker/pcmk_sched_promotable.c             pe_rsc_trace(rsc, "%s can't be promoted because it is unmanaged",
rsc               196 lib/pacemaker/pcmk_sched_promotable.c                          rsc->id);
rsc               200 lib/pacemaker/pcmk_sched_promotable.c     } else if (rsc->priority < 0) {
rsc               201 lib/pacemaker/pcmk_sched_promotable.c         pe_rsc_trace(rsc,
rsc               204 lib/pacemaker/pcmk_sched_promotable.c                      rsc->id, rsc->priority);
rsc               208 lib/pacemaker/pcmk_sched_promotable.c         pe_rsc_trace(rsc, "%s can't be promoted because %s can't run resources",
rsc               209 lib/pacemaker/pcmk_sched_promotable.c                      rsc->id, pe__node_name(node));
rsc               213 lib/pacemaker/pcmk_sched_promotable.c     parent = pe__const_top_resource(rsc, false);
rsc               221 lib/pacemaker/pcmk_sched_promotable.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               224 lib/pacemaker/pcmk_sched_promotable.c                      rsc->id, parent->id, pe__node_name(node));
rsc               229 lib/pacemaker/pcmk_sched_promotable.c                && pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               230 lib/pacemaker/pcmk_sched_promotable.c         pe_rsc_trace(rsc,
rsc               233 lib/pacemaker/pcmk_sched_promotable.c                      rsc->id, pe__node_name(node));
rsc               562 lib/pacemaker/pcmk_sched_promotable.c is_allowed(const pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc               564 lib/pacemaker/pcmk_sched_promotable.c     pcmk_node_t *allowed = g_hash_table_lookup(rsc->allowed_nodes,
rsc               580 lib/pacemaker/pcmk_sched_promotable.c promotion_score_applies(const pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc               582 lib/pacemaker/pcmk_sched_promotable.c     char *id = clone_strip(rsc->id);
rsc               583 lib/pacemaker/pcmk_sched_promotable.c     const pcmk_resource_t *parent = pe__const_top_resource(rsc, false);
rsc               588 lib/pacemaker/pcmk_sched_promotable.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_unique)) {
rsc               592 lib/pacemaker/pcmk_sched_promotable.c         if (active == rsc) {
rsc               610 lib/pacemaker/pcmk_sched_promotable.c     if ((rsc->running_on == NULL) && (g_hash_table_size(rsc->known_on) == 0)) {
rsc               618 lib/pacemaker/pcmk_sched_promotable.c     if ((g_hash_table_lookup(rsc->known_on, node->details->id) != NULL)
rsc               619 lib/pacemaker/pcmk_sched_promotable.c         || (pe_find_node_id(rsc->running_on, node->details->id) != NULL)) {
rsc               622 lib/pacemaker/pcmk_sched_promotable.c         pe_rsc_trace(rsc,
rsc               624 lib/pacemaker/pcmk_sched_promotable.c                      rsc->id, id, pe__node_name(node));
rsc               630 lib/pacemaker/pcmk_sched_promotable.c     if (is_allowed(rsc, node)) {
rsc               631 lib/pacemaker/pcmk_sched_promotable.c         pe_rsc_trace(rsc, "Counting %s promotion score (for %s) on %s: %s",
rsc               632 lib/pacemaker/pcmk_sched_promotable.c                      rsc->id, id, pe__node_name(node), reason);
rsc               637 lib/pacemaker/pcmk_sched_promotable.c     pe_rsc_trace(rsc, "Ignoring %s promotion score (for %s) on %s: not allowed",
rsc               638 lib/pacemaker/pcmk_sched_promotable.c                  rsc->id, id, pe__node_name(node));
rsc               654 lib/pacemaker/pcmk_sched_promotable.c promotion_attr_value(const pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               661 lib/pacemaker/pcmk_sched_promotable.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_unassigned)) {
rsc               666 lib/pacemaker/pcmk_sched_promotable.c     attr_value = pe__node_attribute_calculated(node, attr_name, rsc, node_type,
rsc               683 lib/pacemaker/pcmk_sched_promotable.c promotion_score(const pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               693 lib/pacemaker/pcmk_sched_promotable.c     CRM_CHECK((rsc != NULL) && (node != NULL), return 0);
rsc               698 lib/pacemaker/pcmk_sched_promotable.c     if (rsc->children != NULL) {
rsc               701 lib/pacemaker/pcmk_sched_promotable.c         for (const GList *iter = rsc->children;
rsc               716 lib/pacemaker/pcmk_sched_promotable.c     if (!promotion_score_applies(rsc, node)) {
rsc               724 lib/pacemaker/pcmk_sched_promotable.c     name = (rsc->clone_name == NULL)? rsc->id : rsc->clone_name;
rsc               726 lib/pacemaker/pcmk_sched_promotable.c     attr_value = promotion_attr_value(rsc, node, name);
rsc               728 lib/pacemaker/pcmk_sched_promotable.c         pe_rsc_trace(rsc, "Promotion score for %s on %s = %s",
rsc               730 lib/pacemaker/pcmk_sched_promotable.c     } else if (!pcmk_is_set(rsc->flags, pcmk_rsc_unique)) {
rsc               735 lib/pacemaker/pcmk_sched_promotable.c         name = clone_strip(rsc->id);
rsc               736 lib/pacemaker/pcmk_sched_promotable.c         if (strcmp(rsc->id, name) != 0) {
rsc               737 lib/pacemaker/pcmk_sched_promotable.c             attr_value = promotion_attr_value(rsc, node, name);
rsc               738 lib/pacemaker/pcmk_sched_promotable.c             pe_rsc_trace(rsc, "Promotion score for %s on %s (for %s) = %s",
rsc               739 lib/pacemaker/pcmk_sched_promotable.c                          name, pe__node_name(node), rsc->id,
rsc               762 lib/pacemaker/pcmk_sched_promotable.c pcmk__add_promotion_scores(pcmk_resource_t *rsc)
rsc               764 lib/pacemaker/pcmk_sched_promotable.c     if (pe__set_clone_flag(rsc,
rsc               769 lib/pacemaker/pcmk_sched_promotable.c     for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               790 lib/pacemaker/pcmk_sched_promotable.c                     pe_rsc_trace(rsc,
rsc               800 lib/pacemaker/pcmk_sched_promotable.c                 pe_rsc_trace(rsc,
rsc               819 lib/pacemaker/pcmk_sched_promotable.c     pcmk_resource_t *rsc = (pcmk_resource_t *) data;
rsc               821 lib/pacemaker/pcmk_sched_promotable.c     if (rsc->role == pcmk_role_started) {
rsc               823 lib/pacemaker/pcmk_sched_promotable.c         rsc->role = pcmk_role_unpromoted;
rsc               825 lib/pacemaker/pcmk_sched_promotable.c     g_list_foreach(rsc->children, set_current_role_unpromoted, NULL);
rsc               838 lib/pacemaker/pcmk_sched_promotable.c     pcmk_resource_t *rsc = (pcmk_resource_t *) data;
rsc               841 lib/pacemaker/pcmk_sched_promotable.c     rsc->fns->location(rsc, &assigned, FALSE);
rsc               843 lib/pacemaker/pcmk_sched_promotable.c         pe__set_next_role(rsc, pcmk_role_stopped, "stopped instance");
rsc               845 lib/pacemaker/pcmk_sched_promotable.c         pe__set_next_role(rsc, pcmk_role_unpromoted, "unpromoted instance");
rsc               848 lib/pacemaker/pcmk_sched_promotable.c     g_list_foreach(rsc->children, set_next_role_unpromoted, NULL);
rsc               861 lib/pacemaker/pcmk_sched_promotable.c     pcmk_resource_t *rsc = (pcmk_resource_t *) data;
rsc               863 lib/pacemaker/pcmk_sched_promotable.c     if (rsc->next_role == pcmk_role_unknown) {
rsc               864 lib/pacemaker/pcmk_sched_promotable.c         pe__set_next_role(rsc, pcmk_role_promoted, "promoted instance");
rsc               866 lib/pacemaker/pcmk_sched_promotable.c     g_list_foreach(rsc->children, set_next_role_promoted, NULL);
rsc              1046 lib/pacemaker/pcmk_sched_promotable.c pcmk__set_instance_roles(pcmk_resource_t *rsc)
rsc              1053 lib/pacemaker/pcmk_sched_promotable.c     g_hash_table_iter_init(&iter, rsc->allowed_nodes);
rsc              1059 lib/pacemaker/pcmk_sched_promotable.c     g_list_foreach(rsc->children, set_instance_priority, rsc);
rsc              1060 lib/pacemaker/pcmk_sched_promotable.c     sort_promotable_instances(rsc);
rsc              1063 lib/pacemaker/pcmk_sched_promotable.c     g_list_foreach(rsc->children, set_instance_role, &promoted);
rsc              1064 lib/pacemaker/pcmk_sched_promotable.c     pe_rsc_info(rsc, "%s: Promoted %d instances of a possible %d",
rsc              1065 lib/pacemaker/pcmk_sched_promotable.c                 rsc->id, promoted, pe__clone_promoted_max(rsc));
rsc                59 lib/pacemaker/pcmk_sched_recurring.c is_op_dup(const pcmk_resource_t *rsc, const char *name, guint interval_ms)
rsc                63 lib/pacemaker/pcmk_sched_recurring.c     for (xmlNode *op = first_named_child(rsc->ops_xml, "op");
rsc               125 lib/pacemaker/pcmk_sched_recurring.c is_recurring_history(const pcmk_resource_t *rsc, const xmlNode *xml,
rsc               149 lib/pacemaker/pcmk_sched_recurring.c     if (is_op_dup(rsc, op->name, op->interval_ms)) {
rsc               167 lib/pacemaker/pcmk_sched_recurring.c     if (pcmk__find_action_config(rsc, op->name, op->interval_ms,
rsc               169 lib/pacemaker/pcmk_sched_recurring.c         pe_rsc_trace(rsc,
rsc               173 lib/pacemaker/pcmk_sched_recurring.c                      rsc->id);
rsc               177 lib/pacemaker/pcmk_sched_recurring.c     op->key = pcmk__op_key(rsc->id, op->name, op->interval_ms);
rsc               193 lib/pacemaker/pcmk_sched_recurring.c active_recurring_should_be_optional(const pcmk_resource_t *rsc,
rsc               200 lib/pacemaker/pcmk_sched_recurring.c         pe_rsc_trace(rsc, "%s will be mandatory because resource is unmanaged",
rsc               205 lib/pacemaker/pcmk_sched_recurring.c     if (!pcmk_is_set(rsc->cmds->action_flags(start, NULL),
rsc               207 lib/pacemaker/pcmk_sched_recurring.c         pe_rsc_trace(rsc, "%s will be mandatory because %s is",
rsc               212 lib/pacemaker/pcmk_sched_recurring.c     possible_matches = find_actions_exact(rsc->actions, key, node);
rsc               214 lib/pacemaker/pcmk_sched_recurring.c         pe_rsc_trace(rsc, "%s will be mandatory because it is not active on %s",
rsc               225 lib/pacemaker/pcmk_sched_recurring.c             pe_rsc_trace(rsc,
rsc               247 lib/pacemaker/pcmk_sched_recurring.c recurring_op_for_active(pcmk_resource_t *rsc, pcmk_action_t *start,
rsc               259 lib/pacemaker/pcmk_sched_recurring.c     is_optional = active_recurring_should_be_optional(rsc, node, op->key,
rsc               262 lib/pacemaker/pcmk_sched_recurring.c     if ((!is_default_role && (rsc->next_role != op->role))
rsc               263 lib/pacemaker/pcmk_sched_recurring.c         || (is_default_role && (rsc->next_role == pcmk_role_promoted))) {
rsc               268 lib/pacemaker/pcmk_sched_recurring.c             pcmk_action_t *cancel_op = pcmk__new_cancel_action(rsc, op->name,
rsc               272 lib/pacemaker/pcmk_sched_recurring.c             switch (rsc->role) {
rsc               275 lib/pacemaker/pcmk_sched_recurring.c                     if (rsc->next_role == pcmk_role_promoted) {
rsc               276 lib/pacemaker/pcmk_sched_recurring.c                         after_key = promote_key(rsc);
rsc               278 lib/pacemaker/pcmk_sched_recurring.c                     } else if (rsc->next_role == pcmk_role_stopped) {
rsc               279 lib/pacemaker/pcmk_sched_recurring.c                         after_key = stop_key(rsc);
rsc               284 lib/pacemaker/pcmk_sched_recurring.c                     after_key = demote_key(rsc);
rsc               291 lib/pacemaker/pcmk_sched_recurring.c                 pcmk__new_ordering(rsc, NULL, cancel_op, rsc, after_key, NULL,
rsc               293 lib/pacemaker/pcmk_sched_recurring.c                                    rsc->cluster);
rsc               302 lib/pacemaker/pcmk_sched_recurring.c                    role2text(rsc->next_role));
rsc               306 lib/pacemaker/pcmk_sched_recurring.c     pe_rsc_trace(rsc,
rsc               309 lib/pacemaker/pcmk_sched_recurring.c                  op->id, rsc->id, role2text(rsc->next_role),
rsc               312 lib/pacemaker/pcmk_sched_recurring.c     mon = custom_action(rsc, strdup(op->key), op->name, node, is_optional,
rsc               313 lib/pacemaker/pcmk_sched_recurring.c                         rsc->cluster);
rsc               316 lib/pacemaker/pcmk_sched_recurring.c         pe_rsc_trace(rsc, "%s is unrunnable because start is", mon->uuid);
rsc               321 lib/pacemaker/pcmk_sched_recurring.c         pe_rsc_trace(rsc, "%s is unrunnable because no node is available",
rsc               326 lib/pacemaker/pcmk_sched_recurring.c         pe_rsc_info(rsc, "Start %s-interval %s for %s on %s",
rsc               328 lib/pacemaker/pcmk_sched_recurring.c                     rsc->id, pe__node_name(node));
rsc               331 lib/pacemaker/pcmk_sched_recurring.c     if (rsc->next_role == pcmk_role_promoted) {
rsc               336 lib/pacemaker/pcmk_sched_recurring.c     if ((node == NULL) || pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               337 lib/pacemaker/pcmk_sched_recurring.c         pcmk__new_ordering(rsc, start_key(rsc), NULL,
rsc               341 lib/pacemaker/pcmk_sched_recurring.c                            rsc->cluster);
rsc               343 lib/pacemaker/pcmk_sched_recurring.c         pcmk__new_ordering(rsc, reload_key(rsc), NULL,
rsc               347 lib/pacemaker/pcmk_sched_recurring.c                            rsc->cluster);
rsc               349 lib/pacemaker/pcmk_sched_recurring.c         if (rsc->next_role == pcmk_role_promoted) {
rsc               350 lib/pacemaker/pcmk_sched_recurring.c             pcmk__new_ordering(rsc, promote_key(rsc), NULL,
rsc               351 lib/pacemaker/pcmk_sched_recurring.c                                rsc, NULL, mon,
rsc               354 lib/pacemaker/pcmk_sched_recurring.c                                rsc->cluster);
rsc               356 lib/pacemaker/pcmk_sched_recurring.c         } else if (rsc->role == pcmk_role_promoted) {
rsc               357 lib/pacemaker/pcmk_sched_recurring.c             pcmk__new_ordering(rsc, demote_key(rsc), NULL,
rsc               358 lib/pacemaker/pcmk_sched_recurring.c                                rsc, NULL, mon,
rsc               361 lib/pacemaker/pcmk_sched_recurring.c                                rsc->cluster);
rsc               377 lib/pacemaker/pcmk_sched_recurring.c cancel_if_running(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               380 lib/pacemaker/pcmk_sched_recurring.c     GList *possible_matches = find_actions_exact(rsc->actions, key, node);
rsc               388 lib/pacemaker/pcmk_sched_recurring.c     cancel_op = pcmk__new_cancel_action(rsc, name, interval_ms, node);
rsc               390 lib/pacemaker/pcmk_sched_recurring.c     switch (rsc->next_role) {
rsc               398 lib/pacemaker/pcmk_sched_recurring.c             pcmk__new_ordering(rsc, NULL, cancel_op,
rsc               399 lib/pacemaker/pcmk_sched_recurring.c                                rsc, start_key(rsc), NULL,
rsc               400 lib/pacemaker/pcmk_sched_recurring.c                                pcmk__ar_unrunnable_first_blocks, rsc->cluster);
rsc               405 lib/pacemaker/pcmk_sched_recurring.c     pe_rsc_info(rsc,
rsc               408 lib/pacemaker/pcmk_sched_recurring.c                 pcmk__readable_interval(interval_ms), name, rsc->id,
rsc               409 lib/pacemaker/pcmk_sched_recurring.c                 pe__node_name(node), role2text(rsc->next_role));
rsc               421 lib/pacemaker/pcmk_sched_recurring.c order_after_probes(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               424 lib/pacemaker/pcmk_sched_recurring.c     GList *probes = pe__resource_actions(rsc, node, PCMK_ACTION_MONITOR, FALSE);
rsc               442 lib/pacemaker/pcmk_sched_recurring.c order_after_stops(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               445 lib/pacemaker/pcmk_sched_recurring.c     GList *stop_ops = pe__resource_actions(rsc, node, PCMK_ACTION_STOP, TRUE);
rsc               452 lib/pacemaker/pcmk_sched_recurring.c             && !pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               453 lib/pacemaker/pcmk_sched_recurring.c             pe_rsc_trace(rsc, "%s optional on %s: unmanaged",
rsc               464 lib/pacemaker/pcmk_sched_recurring.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               465 lib/pacemaker/pcmk_sched_recurring.c             pcmk__new_ordering(rsc, stop_key(rsc), stop,
rsc               469 lib/pacemaker/pcmk_sched_recurring.c                                rsc->cluster);
rsc               484 lib/pacemaker/pcmk_sched_recurring.c recurring_op_for_inactive(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               494 lib/pacemaker/pcmk_sched_recurring.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_unique)) {
rsc               500 lib/pacemaker/pcmk_sched_recurring.c     pe_rsc_trace(rsc, "Creating recurring action %s for %s on nodes "
rsc               501 lib/pacemaker/pcmk_sched_recurring.c                       "where it should not be running", op->id, rsc->id);
rsc               503 lib/pacemaker/pcmk_sched_recurring.c     for (GList *iter = rsc->cluster->nodes; iter != NULL; iter = iter->next) {
rsc               513 lib/pacemaker/pcmk_sched_recurring.c             cancel_if_running(rsc, node, op->key, op->name, op->interval_ms);
rsc               518 lib/pacemaker/pcmk_sched_recurring.c         possible_matches = find_actions_exact(rsc->actions, op->key, stop_node);
rsc               522 lib/pacemaker/pcmk_sched_recurring.c         pe_rsc_trace(rsc,
rsc               526 lib/pacemaker/pcmk_sched_recurring.c                      op->key, op->id, rsc->id, pe__node_name(stop_node));
rsc               528 lib/pacemaker/pcmk_sched_recurring.c         stopped_mon = custom_action(rsc, strdup(op->key), op->name, stop_node,
rsc               529 lib/pacemaker/pcmk_sched_recurring.c                                     is_optional, rsc->cluster);
rsc               533 lib/pacemaker/pcmk_sched_recurring.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               534 lib/pacemaker/pcmk_sched_recurring.c             order_after_probes(rsc, stop_node, stopped_mon);
rsc               540 lib/pacemaker/pcmk_sched_recurring.c         order_after_stops(rsc, stop_node, stopped_mon);
rsc               543 lib/pacemaker/pcmk_sched_recurring.c             pe_rsc_debug(rsc, "%s unrunnable on %s: node unavailable)",
rsc               553 lib/pacemaker/pcmk_sched_recurring.c                        stopped_mon->task, rsc->id, pe__node_name(stop_node));
rsc               565 lib/pacemaker/pcmk_sched_recurring.c pcmk__create_recurring_actions(pcmk_resource_t *rsc)
rsc               569 lib/pacemaker/pcmk_sched_recurring.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_blocked)) {
rsc               570 lib/pacemaker/pcmk_sched_recurring.c         pe_rsc_trace(rsc, "Skipping recurring actions for blocked resource %s",
rsc               571 lib/pacemaker/pcmk_sched_recurring.c                      rsc->id);
rsc               575 lib/pacemaker/pcmk_sched_recurring.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_maintenance)) {
rsc               576 lib/pacemaker/pcmk_sched_recurring.c         pe_rsc_trace(rsc, "Skipping recurring actions for %s "
rsc               577 lib/pacemaker/pcmk_sched_recurring.c                           "in maintenance mode", rsc->id);
rsc               581 lib/pacemaker/pcmk_sched_recurring.c     if (rsc->allocated_to == NULL) {
rsc               584 lib/pacemaker/pcmk_sched_recurring.c     } else if (rsc->allocated_to->details->maintenance) {
rsc               585 lib/pacemaker/pcmk_sched_recurring.c         pe_rsc_trace(rsc,
rsc               588 lib/pacemaker/pcmk_sched_recurring.c                      rsc->id, pe__node_name(rsc->allocated_to));
rsc               590 lib/pacemaker/pcmk_sched_recurring.c     } else if ((rsc->next_role != pcmk_role_stopped)
rsc               591 lib/pacemaker/pcmk_sched_recurring.c         || !pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               593 lib/pacemaker/pcmk_sched_recurring.c         start = start_action(rsc, rsc->allocated_to, TRUE);
rsc               596 lib/pacemaker/pcmk_sched_recurring.c     pe_rsc_trace(rsc, "Creating any recurring actions needed for %s", rsc->id);
rsc               598 lib/pacemaker/pcmk_sched_recurring.c     for (xmlNode *op = first_named_child(rsc->ops_xml, "op");
rsc               603 lib/pacemaker/pcmk_sched_recurring.c         if (!is_recurring_history(rsc, op, &op_history)) {
rsc               608 lib/pacemaker/pcmk_sched_recurring.c             recurring_op_for_active(rsc, start, rsc->allocated_to, &op_history);
rsc               610 lib/pacemaker/pcmk_sched_recurring.c         recurring_op_for_inactive(rsc, rsc->allocated_to, &op_history);
rsc               628 lib/pacemaker/pcmk_sched_recurring.c pcmk__new_cancel_action(pcmk_resource_t *rsc, const char *task,
rsc               635 lib/pacemaker/pcmk_sched_recurring.c     CRM_ASSERT((rsc != NULL) && (task != NULL) && (node != NULL));
rsc               638 lib/pacemaker/pcmk_sched_recurring.c     key = pcmk__op_key(rsc->id, task, interval_ms);
rsc               640 lib/pacemaker/pcmk_sched_recurring.c     cancel_op = custom_action(rsc, key, PCMK_ACTION_CANCEL, node, FALSE,
rsc               641 lib/pacemaker/pcmk_sched_recurring.c                               rsc->cluster);
rsc               666 lib/pacemaker/pcmk_sched_recurring.c pcmk__schedule_cancel(pcmk_resource_t *rsc, const char *call_id,
rsc               672 lib/pacemaker/pcmk_sched_recurring.c     CRM_CHECK((rsc != NULL) && (task != NULL)
rsc               677 lib/pacemaker/pcmk_sched_recurring.c              pcmk__readable_interval(interval_ms), task, rsc->id,
rsc               679 lib/pacemaker/pcmk_sched_recurring.c     cancel = pcmk__new_cancel_action(rsc, task, interval_ms, node);
rsc               683 lib/pacemaker/pcmk_sched_recurring.c     pcmk__new_ordering(rsc, stop_key(rsc), NULL, rsc, NULL, cancel,
rsc               684 lib/pacemaker/pcmk_sched_recurring.c                        pcmk__ar_ordered, rsc->cluster);
rsc               697 lib/pacemaker/pcmk_sched_recurring.c pcmk__reschedule_recurring(pcmk_resource_t *rsc, const char *task,
rsc               702 lib/pacemaker/pcmk_sched_recurring.c     trigger_unfencing(rsc, node, "Device parameters changed (reschedule)",
rsc               703 lib/pacemaker/pcmk_sched_recurring.c                       NULL, rsc->cluster);
rsc               704 lib/pacemaker/pcmk_sched_recurring.c     op = custom_action(rsc, pcmk__op_key(rsc->id, task, interval_ms),
rsc               705 lib/pacemaker/pcmk_sched_recurring.c                        task, node, TRUE, rsc->cluster);
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               177 lib/pacemaker/pcmk_sched_remote.c     if (action->rsc == NULL) {
rsc               311 lib/pacemaker/pcmk_sched_remote.c     CRM_ASSERT(action->rsc != NULL);
rsc               322 lib/pacemaker/pcmk_sched_remote.c         pe_fence_node(action->rsc->cluster, action->node, "container failed",
rsc               412 lib/pacemaker/pcmk_sched_remote.c         if (action->rsc == NULL) {
rsc               420 lib/pacemaker/pcmk_sched_remote.c         if (action->rsc->is_remote_node &&
rsc               424 lib/pacemaker/pcmk_sched_remote.c             pcmk__new_ordering(action->rsc, NULL, action, action->rsc,
rsc               425 lib/pacemaker/pcmk_sched_remote.c                                pcmk__op_key(action->rsc->id, PCMK_ACTION_START,
rsc               463 lib/pacemaker/pcmk_sched_remote.c             for (GList *item = action->rsc->actions; item != NULL;
rsc               471 lib/pacemaker/pcmk_sched_remote.c                                        action->rsc, NULL, rsc_action,
rsc               523 lib/pacemaker/pcmk_sched_remote.c pcmk__rsc_corresponds_to_guest(const pcmk_resource_t *rsc,
rsc               526 lib/pacemaker/pcmk_sched_remote.c     return (rsc != NULL) && (rsc->fillers != NULL) && (node != NULL)
rsc               528 lib/pacemaker/pcmk_sched_remote.c             && (node->details->remote_rsc->container == rsc);
rsc               571 lib/pacemaker/pcmk_sched_remote.c                   action->task, (action->rsc? action->rsc->id : "no resource"),
rsc               580 lib/pacemaker/pcmk_sched_remote.c                   action->task, (action->rsc? action->rsc->id : "no resource"),
rsc               589 lib/pacemaker/pcmk_sched_remote.c                   action->task, (action->rsc? action->rsc->id : "no resource"),
rsc               624 lib/pacemaker/pcmk_sched_remote.c                   action->task, (action->rsc? action->rsc->id : "no resource"),
rsc               636 lib/pacemaker/pcmk_sched_remote.c               action->task, (action->rsc? action->rsc->id : "no resource"),
rsc               655 lib/pacemaker/pcmk_sched_remote.c pcmk__substitute_remote_addr(pcmk_resource_t *rsc, GHashTable *params)
rsc               661 lib/pacemaker/pcmk_sched_remote.c         GHashTable *base = pe_rsc_params(rsc, NULL, rsc->cluster);
rsc               722 lib/pacemaker/pcmk_sched_remote.c                        (gpointer) g_hash_table_lookup(action->rsc->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->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->cluster);
rsc               132 lib/pacemaker/pcmk_sched_resource.c                            rsc->id, pe__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->cluster);
rsc               141 lib/pacemaker/pcmk_sched_resource.c         pe__set_resource_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 ((strcmp(rsc->id, id) == 0)
rsc               160 lib/pacemaker/pcmk_sched_resource.c         || ((rsc->clone_name != NULL) && (strcmp(rsc->clone_name, id) == 0))) {
rsc               161 lib/pacemaker/pcmk_sched_resource.c         result = g_list_prepend(result, rsc);
rsc               163 lib/pacemaker/pcmk_sched_resource.c     for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               205 lib/pacemaker/pcmk_sched_resource.c     pcmk_resource_t *rsc = data;
rsc               207 lib/pacemaker/pcmk_sched_resource.c     rsc->cmds = &assignment_methods[rsc->variant];
rsc               208 lib/pacemaker/pcmk_sched_resource.c     g_list_foreach(rsc->children, set_assignment_methods_for_rsc, NULL);
rsc               234 lib/pacemaker/pcmk_sched_resource.c add_colocated_resources(const pcmk_resource_t *rsc,
rsc               237 lib/pacemaker/pcmk_sched_resource.c     *list = rsc->cmds->colocated_resources(rsc, orig_rsc, *list);
rsc               242 lib/pacemaker/pcmk_sched_resource.c pcmk__colocated_resources(const pcmk_resource_t *rsc,
rsc               250 lib/pacemaker/pcmk_sched_resource.c         orig_rsc = rsc;
rsc               253 lib/pacemaker/pcmk_sched_resource.c     if ((rsc == NULL) || (g_list_find(colocated_rscs, rsc) != NULL)) {
rsc               258 lib/pacemaker/pcmk_sched_resource.c                  rsc->id, orig_rsc->id);
rsc               259 lib/pacemaker/pcmk_sched_resource.c     colocated_rscs = g_list_prepend(colocated_rscs, (gpointer) rsc);
rsc               262 lib/pacemaker/pcmk_sched_resource.c     colocations = pcmk__this_with_colocations(rsc);
rsc               272 lib/pacemaker/pcmk_sched_resource.c             (pcmk__colocation_affects(rsc, primary, constraint,
rsc               280 lib/pacemaker/pcmk_sched_resource.c     colocations = pcmk__with_this_colocations(rsc);
rsc               289 lib/pacemaker/pcmk_sched_resource.c         if (pe_rsc_is_clone(rsc) && !pe_rsc_is_clone(dependent)) {
rsc               294 lib/pacemaker/pcmk_sched_resource.c             (pcmk__colocation_affects(dependent, rsc, constraint,
rsc               306 lib/pacemaker/pcmk_sched_resource.c pcmk__noop_add_graph_meta(const pcmk_resource_t *rsc, xmlNode *xml)
rsc               317 lib/pacemaker/pcmk_sched_resource.c pcmk__output_resource_actions(pcmk_resource_t *rsc)
rsc               323 lib/pacemaker/pcmk_sched_resource.c     CRM_ASSERT(rsc != NULL);
rsc               325 lib/pacemaker/pcmk_sched_resource.c     out = rsc->cluster->priv;
rsc               326 lib/pacemaker/pcmk_sched_resource.c     if (rsc->children != NULL) {
rsc               327 lib/pacemaker/pcmk_sched_resource.c         for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               335 lib/pacemaker/pcmk_sched_resource.c     next = rsc->allocated_to;
rsc               336 lib/pacemaker/pcmk_sched_resource.c     if (rsc->running_on) {
rsc               337 lib/pacemaker/pcmk_sched_resource.c         current = pe__current_node(rsc);
rsc               338 lib/pacemaker/pcmk_sched_resource.c         if (rsc->role == pcmk_role_stopped) {
rsc               342 lib/pacemaker/pcmk_sched_resource.c             rsc->role = pcmk_role_started;
rsc               346 lib/pacemaker/pcmk_sched_resource.c     if ((current == NULL) && pcmk_is_set(rsc->flags, pcmk_rsc_removed)) {
rsc               351 lib/pacemaker/pcmk_sched_resource.c     out->message(out, "rsc-action", rsc, current, next);
rsc               362 lib/pacemaker/pcmk_sched_resource.c add_assigned_resource(pcmk_node_t *node, pcmk_resource_t *rsc)
rsc               365 lib/pacemaker/pcmk_sched_resource.c                                                   rsc);
rsc               404 lib/pacemaker/pcmk_sched_resource.c pcmk__assign_resource(pcmk_resource_t *rsc, pcmk_node_t *node, bool force,
rsc               409 lib/pacemaker/pcmk_sched_resource.c     CRM_ASSERT(rsc != NULL);
rsc               411 lib/pacemaker/pcmk_sched_resource.c     if (rsc->children != NULL) {
rsc               412 lib/pacemaker/pcmk_sched_resource.c         for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               429 lib/pacemaker/pcmk_sched_resource.c         pe_rsc_debug(rsc,
rsc               432 lib/pacemaker/pcmk_sched_resource.c                      rsc->id, pe__node_name(node),
rsc               437 lib/pacemaker/pcmk_sched_resource.c             pe__set_next_role(rsc, pcmk_role_stopped, "node availability");
rsc               442 lib/pacemaker/pcmk_sched_resource.c     if (rsc->allocated_to != NULL) {
rsc               443 lib/pacemaker/pcmk_sched_resource.c         changed = !pe__same_node(rsc->allocated_to, node);
rsc               447 lib/pacemaker/pcmk_sched_resource.c     pcmk__unassign_resource(rsc);
rsc               448 lib/pacemaker/pcmk_sched_resource.c     pe__clear_resource_flags(rsc, pcmk_rsc_unassigned);
rsc               453 lib/pacemaker/pcmk_sched_resource.c         pe_rsc_debug(rsc, "Could not assign %s to a node", rsc->id);
rsc               458 lib/pacemaker/pcmk_sched_resource.c         pe__set_next_role(rsc, pcmk_role_stopped, "unable to assign");
rsc               460 lib/pacemaker/pcmk_sched_resource.c         for (GList *iter = rsc->actions; iter != NULL; iter = iter->next) {
rsc               463 lib/pacemaker/pcmk_sched_resource.c             pe_rsc_debug(rsc, "Updating %s for %s assignment failure",
rsc               464 lib/pacemaker/pcmk_sched_resource.c                          op->uuid, rsc->id);
rsc               497 lib/pacemaker/pcmk_sched_resource.c     pe_rsc_debug(rsc, "Assigning %s to %s", rsc->id, pe__node_name(node));
rsc               498 lib/pacemaker/pcmk_sched_resource.c     rsc->allocated_to = pe__copy_node(node);
rsc               500 lib/pacemaker/pcmk_sched_resource.c     add_assigned_resource(node, rsc);
rsc               503 lib/pacemaker/pcmk_sched_resource.c     pcmk__consume_node_capacity(node->details->utilization, rsc);
rsc               505 lib/pacemaker/pcmk_sched_resource.c     if (pcmk_is_set(rsc->cluster->flags, pcmk_sched_show_utilization)) {
rsc               506 lib/pacemaker/pcmk_sched_resource.c         pcmk__output_t *out = rsc->cluster->priv;
rsc               508 lib/pacemaker/pcmk_sched_resource.c         out->message(out, "resource-util", rsc, node, __func__);
rsc               525 lib/pacemaker/pcmk_sched_resource.c pcmk__unassign_resource(pcmk_resource_t *rsc)
rsc               527 lib/pacemaker/pcmk_sched_resource.c     pcmk_node_t *old = rsc->allocated_to;
rsc               530 lib/pacemaker/pcmk_sched_resource.c         crm_info("Unassigning %s", rsc->id);
rsc               532 lib/pacemaker/pcmk_sched_resource.c         crm_info("Unassigning %s from %s", rsc->id, pe__node_name(old));
rsc               535 lib/pacemaker/pcmk_sched_resource.c     pe__set_resource_flags(rsc, pcmk_rsc_unassigned);
rsc               537 lib/pacemaker/pcmk_sched_resource.c     if (rsc->children == NULL) {
rsc               541 lib/pacemaker/pcmk_sched_resource.c         rsc->allocated_to = NULL;
rsc               547 lib/pacemaker/pcmk_sched_resource.c                                                     rsc);
rsc               549 lib/pacemaker/pcmk_sched_resource.c         pcmk__release_node_capacity(old->details->utilization, rsc);
rsc               554 lib/pacemaker/pcmk_sched_resource.c     for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               571 lib/pacemaker/pcmk_sched_resource.c pcmk__threshold_reached(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               575 lib/pacemaker/pcmk_sched_resource.c     pcmk_resource_t *rsc_to_ban = rsc;
rsc               578 lib/pacemaker/pcmk_sched_resource.c     if (rsc->migration_threshold == 0) {
rsc               583 lib/pacemaker/pcmk_sched_resource.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_ignore_failure)) {
rsc               588 lib/pacemaker/pcmk_sched_resource.c     fail_count = pe_get_failcount(node, rsc, NULL,
rsc               595 lib/pacemaker/pcmk_sched_resource.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_unique)) {
rsc               596 lib/pacemaker/pcmk_sched_resource.c         rsc_to_ban = uber_parent(rsc);
rsc               600 lib/pacemaker/pcmk_sched_resource.c     remaining_tries = rsc->migration_threshold - fail_count;
rsc               607 lib/pacemaker/pcmk_sched_resource.c                  rsc->migration_threshold);
rsc               617 lib/pacemaker/pcmk_sched_resource.c              pe__node_name(node), rsc->migration_threshold);
rsc                31 lib/pacemaker/pcmk_sched_tickets.c     pcmk_resource_t *rsc;
rsc                47 lib/pacemaker/pcmk_sched_tickets.c ticket_role_matches(const pcmk_resource_t *rsc, const rsc_ticket_t *rsc_ticket)
rsc                50 lib/pacemaker/pcmk_sched_tickets.c         || (rsc_ticket->role == rsc->role)) {
rsc                53 lib/pacemaker/pcmk_sched_tickets.c     pe_rsc_trace(rsc, "Skipping constraint: \"%s\" state filter",
rsc                65 lib/pacemaker/pcmk_sched_tickets.c constraints_for_ticket(pcmk_resource_t *rsc, const rsc_ticket_t *rsc_ticket)
rsc                69 lib/pacemaker/pcmk_sched_tickets.c     CRM_CHECK((rsc != NULL) && (rsc_ticket != NULL), return);
rsc                75 lib/pacemaker/pcmk_sched_tickets.c     if (rsc->children) {
rsc                76 lib/pacemaker/pcmk_sched_tickets.c         pe_rsc_trace(rsc, "Processing ticket dependencies from %s", rsc->id);
rsc                77 lib/pacemaker/pcmk_sched_tickets.c         for (iter = rsc->children; iter != NULL; iter = iter->next) {
rsc                83 lib/pacemaker/pcmk_sched_tickets.c     pe_rsc_trace(rsc, "%s: Processing ticket dependency on %s (%s, %s)",
rsc                84 lib/pacemaker/pcmk_sched_tickets.c                  rsc->id, rsc_ticket->ticket->id, rsc_ticket->id,
rsc                87 lib/pacemaker/pcmk_sched_tickets.c     if (!rsc_ticket->ticket->granted && (rsc->running_on != NULL)) {
rsc                91 lib/pacemaker/pcmk_sched_tickets.c                 resource_location(rsc, NULL, -INFINITY, "__loss_of_ticket__",
rsc                92 lib/pacemaker/pcmk_sched_tickets.c                                   rsc->cluster);
rsc                98 lib/pacemaker/pcmk_sched_tickets.c                     resource_location(rsc, NULL, -INFINITY,
rsc                99 lib/pacemaker/pcmk_sched_tickets.c                                       "__loss_of_ticket__", rsc->cluster);
rsc               104 lib/pacemaker/pcmk_sched_tickets.c                 if (!ticket_role_matches(rsc, rsc_ticket)) {
rsc               108 lib/pacemaker/pcmk_sched_tickets.c                 resource_location(rsc, NULL, -INFINITY, "__loss_of_ticket__",
rsc               109 lib/pacemaker/pcmk_sched_tickets.c                                   rsc->cluster);
rsc               111 lib/pacemaker/pcmk_sched_tickets.c                 for (iter = rsc->running_on; iter != NULL; iter = iter->next) {
rsc               112 lib/pacemaker/pcmk_sched_tickets.c                     pe_fence_node(rsc->cluster, (pcmk_node_t *) iter->data,
rsc               118 lib/pacemaker/pcmk_sched_tickets.c                 if (!ticket_role_matches(rsc, rsc_ticket)) {
rsc               121 lib/pacemaker/pcmk_sched_tickets.c                 if (rsc->running_on != NULL) {
rsc               122 lib/pacemaker/pcmk_sched_tickets.c                     pe__clear_resource_flags(rsc, pcmk_rsc_managed);
rsc               123 lib/pacemaker/pcmk_sched_tickets.c                     pe__set_resource_flags(rsc, pcmk_rsc_blocked);
rsc               132 lib/pacemaker/pcmk_sched_tickets.c             resource_location(rsc, NULL, -INFINITY, "__no_ticket__",
rsc               133 lib/pacemaker/pcmk_sched_tickets.c                               rsc->cluster);
rsc               140 lib/pacemaker/pcmk_sched_tickets.c             resource_location(rsc, NULL, -INFINITY, "__ticket_standby__",
rsc               141 lib/pacemaker/pcmk_sched_tickets.c                               rsc->cluster);
rsc               147 lib/pacemaker/pcmk_sched_tickets.c rsc_ticket_new(const char *id, pcmk_resource_t *rsc, pcmk_ticket_t *ticket,
rsc               152 lib/pacemaker/pcmk_sched_tickets.c     if (rsc == NULL) {
rsc               170 lib/pacemaker/pcmk_sched_tickets.c     new_rsc_ticket->rsc = rsc;
rsc               174 lib/pacemaker/pcmk_sched_tickets.c         if (pcmk_is_set(rsc->cluster->flags, pcmk_sched_fencing_enabled)) {
rsc               186 lib/pacemaker/pcmk_sched_tickets.c                   new_rsc_ticket->ticket->id, new_rsc_ticket->rsc->id,
rsc               191 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               210 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     pe_rsc_trace(rsc, "%s (%s) ==> %s",
rsc               223 lib/pacemaker/pcmk_sched_tickets.c                  rsc->id, role2text(new_rsc_ticket->role), ticket->id);
rsc               225 lib/pacemaker/pcmk_sched_tickets.c     rsc->rsc_tickets = g_list_append(rsc->rsc_tickets, new_rsc_ticket);
rsc               227 lib/pacemaker/pcmk_sched_tickets.c     rsc->cluster->ticket_constraints = g_list_append(
rsc               228 lib/pacemaker/pcmk_sched_tickets.c         rsc->cluster->ticket_constraints, new_rsc_ticket);
rsc               231 lib/pacemaker/pcmk_sched_tickets.c         constraints_for_ticket(rsc, new_rsc_ticket);
rsc               293 lib/pacemaker/pcmk_sched_tickets.c     pcmk_resource_t *rsc = NULL;
rsc               328 lib/pacemaker/pcmk_sched_tickets.c         rsc = pcmk__find_constraint_resource(scheduler->resources, rsc_id);
rsc               331 lib/pacemaker/pcmk_sched_tickets.c     if (rsc == NULL) {
rsc               336 lib/pacemaker/pcmk_sched_tickets.c     } else if ((instance != NULL) && !pe_rsc_is_clone(rsc)) {
rsc               344 lib/pacemaker/pcmk_sched_tickets.c         rsc = find_clone_instance(rsc, instance);
rsc               345 lib/pacemaker/pcmk_sched_tickets.c         if (rsc == NULL) {
rsc               353 lib/pacemaker/pcmk_sched_tickets.c     rsc_ticket_new(id, rsc, ticket, state, loss_policy);
rsc               365 lib/pacemaker/pcmk_sched_tickets.c     pcmk_resource_t *rsc = NULL;
rsc               393 lib/pacemaker/pcmk_sched_tickets.c     if (!pcmk__valid_resource_or_tag(scheduler, rsc_id, &rsc, &tag)) {
rsc               398 lib/pacemaker/pcmk_sched_tickets.c     } else if (rsc != NULL) {
rsc               520 lib/pacemaker/pcmk_sched_tickets.c pcmk__require_promotion_tickets(pcmk_resource_t *rsc)
rsc               522 lib/pacemaker/pcmk_sched_tickets.c     for (GList *item = rsc->rsc_tickets; item != NULL; item = item->next) {
rsc               527 lib/pacemaker/pcmk_sched_tickets.c             resource_location(rsc, NULL, -INFINITY,
rsc               528 lib/pacemaker/pcmk_sched_tickets.c                               "__stateful_without_ticket__", rsc->cluster);
rsc               168 lib/pacemaker/pcmk_sched_utilization.c                             const pcmk_resource_t *rsc)
rsc               175 lib/pacemaker/pcmk_sched_utilization.c     g_hash_table_foreach(rsc->utilization, update_utilization_value, &data);
rsc               187 lib/pacemaker/pcmk_sched_utilization.c                             const pcmk_resource_t *rsc)
rsc               194 lib/pacemaker/pcmk_sched_utilization.c     g_hash_table_foreach(rsc->utilization, update_utilization_value, &data);
rsc               279 lib/pacemaker/pcmk_sched_utilization.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               281 lib/pacemaker/pcmk_sched_utilization.c         rsc->cmds->add_utilization(rsc, orig_rsc, rscs, utilization);
rsc               296 lib/pacemaker/pcmk_sched_utilization.c pcmk__ban_insufficient_capacity(pcmk_resource_t *rsc)
rsc               306 lib/pacemaker/pcmk_sched_utilization.c     CRM_CHECK(rsc != NULL, return NULL);
rsc               309 lib/pacemaker/pcmk_sched_utilization.c     if (pcmk__str_eq(rsc->cluster->placement_strategy, "default",
rsc               315 lib/pacemaker/pcmk_sched_utilization.c     colocated_rscs = rsc->cmds->colocated_resources(rsc, NULL, NULL);
rsc               320 lib/pacemaker/pcmk_sched_utilization.c     rscs_id = crm_strdup_printf("%s and its colocated resources", rsc->id);
rsc               323 lib/pacemaker/pcmk_sched_utilization.c     if (g_list_find(colocated_rscs, rsc) == NULL) {
rsc               324 lib/pacemaker/pcmk_sched_utilization.c         colocated_rscs = g_list_append(colocated_rscs, rsc);
rsc               328 lib/pacemaker/pcmk_sched_utilization.c     unassigned_utilization = sum_resource_utilization(rsc, colocated_rscs);
rsc               331 lib/pacemaker/pcmk_sched_utilization.c     g_hash_table_iter_init(&iter, rsc->allowed_nodes);
rsc               350 lib/pacemaker/pcmk_sched_utilization.c         g_hash_table_iter_init(&iter, rsc->allowed_nodes);
rsc               355 lib/pacemaker/pcmk_sched_utilization.c                 pe_rsc_debug(rsc, "%s does not have enough capacity for %s",
rsc               357 lib/pacemaker/pcmk_sched_utilization.c                 resource_location(rsc, node, -INFINITY, "__limit_utilization__",
rsc               358 lib/pacemaker/pcmk_sched_utilization.c                                   rsc->cluster);
rsc               365 lib/pacemaker/pcmk_sched_utilization.c         g_hash_table_iter_init(&iter, rsc->allowed_nodes);
rsc               368 lib/pacemaker/pcmk_sched_utilization.c                 && !have_enough_capacity(node, rsc->id, rsc->utilization)) {
rsc               369 lib/pacemaker/pcmk_sched_utilization.c                 pe_rsc_debug(rsc, "%s does not have enough capacity for %s",
rsc               370 lib/pacemaker/pcmk_sched_utilization.c                              pe__node_name(node), rsc->id);
rsc               371 lib/pacemaker/pcmk_sched_utilization.c                 resource_location(rsc, node, -INFINITY, "__limit_utilization__",
rsc               372 lib/pacemaker/pcmk_sched_utilization.c                                   rsc->cluster);
rsc               381 lib/pacemaker/pcmk_sched_utilization.c     pe__show_node_scores(true, rsc, "Post-utilization", rsc->allowed_nodes,
rsc               382 lib/pacemaker/pcmk_sched_utilization.c                          rsc->cluster);
rsc               418 lib/pacemaker/pcmk_sched_utilization.c pcmk__create_utilization_constraints(pcmk_resource_t *rsc,
rsc               424 lib/pacemaker/pcmk_sched_utilization.c     pe_rsc_trace(rsc, "Creating utilization constraints for %s - strategy: %s",
rsc               425 lib/pacemaker/pcmk_sched_utilization.c                  rsc->id, rsc->cluster->placement_strategy);
rsc               428 lib/pacemaker/pcmk_sched_utilization.c     for (iter = rsc->running_on; iter != NULL; iter = iter->next) {
rsc               430 lib/pacemaker/pcmk_sched_utilization.c         pcmk__new_ordering(rsc, stop_key(rsc), NULL, NULL, NULL, load_stopped,
rsc               431 lib/pacemaker/pcmk_sched_utilization.c                            pcmk__ar_if_on_same_node_or_target, rsc->cluster);
rsc               437 lib/pacemaker/pcmk_sched_utilization.c         pcmk__new_ordering(NULL, NULL, load_stopped, rsc, start_key(rsc), NULL,
rsc               438 lib/pacemaker/pcmk_sched_utilization.c                            pcmk__ar_if_on_same_node_or_target, rsc->cluster);
rsc               440 lib/pacemaker/pcmk_sched_utilization.c                            rsc,
rsc               441 lib/pacemaker/pcmk_sched_utilization.c                            pcmk__op_key(rsc->id, PCMK_ACTION_MIGRATE_TO, 0),
rsc               443 lib/pacemaker/pcmk_sched_utilization.c                            pcmk__ar_if_on_same_node_or_target, rsc->cluster);
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->cluster);
rsc                65 lib/pacemaker/pcmk_scheduler.c                               rsc->id, ID(rsc_op), node->details->id);
rsc                76 lib/pacemaker/pcmk_scheduler.c         pe__clear_failcount(rsc, node, reason, rsc->cluster);
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->children != NULL) {
rsc               119 lib/pacemaker/pcmk_scheduler.c         g_list_foreach(rsc->children, check_failure_threshold, user_data);
rsc               123 lib/pacemaker/pcmk_scheduler.c     if (!failcount_clear_action_exists(node, rsc)) {
rsc               136 lib/pacemaker/pcmk_scheduler.c         if (pcmk__threshold_reached(rsc, node, &failed)) {
rsc               138 lib/pacemaker/pcmk_scheduler.c                               rsc->cluster);
rsc               158 lib/pacemaker/pcmk_scheduler.c     pcmk_resource_t *rsc = data;
rsc               161 lib/pacemaker/pcmk_scheduler.c     if (rsc->exclusive_discover
rsc               162 lib/pacemaker/pcmk_scheduler.c         || pe__const_top_resource(rsc, false)->exclusive_discover) {
rsc               166 lib/pacemaker/pcmk_scheduler.c         g_list_foreach(rsc->children, apply_exclusive_discovery, user_data);
rsc               168 lib/pacemaker/pcmk_scheduler.c         match = g_hash_table_lookup(rsc->allowed_nodes, node->details->id);
rsc               186 lib/pacemaker/pcmk_scheduler.c     pcmk_resource_t *rsc = data;
rsc               190 lib/pacemaker/pcmk_scheduler.c     if (rsc->children != NULL) {
rsc               191 lib/pacemaker/pcmk_scheduler.c         g_list_foreach(rsc->children, apply_stickiness, NULL);
rsc               198 lib/pacemaker/pcmk_scheduler.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)
rsc               199 lib/pacemaker/pcmk_scheduler.c         || (rsc->stickiness < 1) || !pcmk__list_of_1(rsc->running_on)) {
rsc               203 lib/pacemaker/pcmk_scheduler.c     node = rsc->running_on->data;
rsc               210 lib/pacemaker/pcmk_scheduler.c     if (!pcmk_is_set(rsc->cluster->flags, pcmk_sched_symmetric_cluster)
rsc               211 lib/pacemaker/pcmk_scheduler.c         && (g_hash_table_lookup(rsc->allowed_nodes,
rsc               213 lib/pacemaker/pcmk_scheduler.c         pe_rsc_debug(rsc,
rsc               216 lib/pacemaker/pcmk_scheduler.c                      rsc->id, pe__node_name(node));
rsc               220 lib/pacemaker/pcmk_scheduler.c     pe_rsc_debug(rsc, "Resource %s has %d stickiness on %s",
rsc               221 lib/pacemaker/pcmk_scheduler.c                  rsc->id, rsc->stickiness, pe__node_name(node));
rsc               222 lib/pacemaker/pcmk_scheduler.c     resource_location(rsc, node, rsc->stickiness, "stickiness", rsc->cluster);
rsc               238 lib/pacemaker/pcmk_scheduler.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               240 lib/pacemaker/pcmk_scheduler.c         rsc->cmds->shutdown_lock(rsc);
rsc               321 lib/pacemaker/pcmk_scheduler.c             pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               323 lib/pacemaker/pcmk_scheduler.c             if (rsc->is_remote_node) {
rsc               324 lib/pacemaker/pcmk_scheduler.c                 pe_rsc_trace(rsc, "Assigning remote connection resource '%s'",
rsc               325 lib/pacemaker/pcmk_scheduler.c                              rsc->id);
rsc               326 lib/pacemaker/pcmk_scheduler.c                 rsc->cmds->assign(rsc, rsc->partial_migration_target, true);
rsc               333 lib/pacemaker/pcmk_scheduler.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               335 lib/pacemaker/pcmk_scheduler.c         if (!rsc->is_remote_node) {
rsc               336 lib/pacemaker/pcmk_scheduler.c             pe_rsc_trace(rsc, "Assigning %s resource '%s'",
rsc               337 lib/pacemaker/pcmk_scheduler.c                          rsc->xml->name, rsc->id);
rsc               338 lib/pacemaker/pcmk_scheduler.c             rsc->cmds->assign(rsc, NULL, true);
rsc               355 lib/pacemaker/pcmk_scheduler.c     pcmk_resource_t *rsc = data;
rsc               357 lib/pacemaker/pcmk_scheduler.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_removed)) {
rsc               360 lib/pacemaker/pcmk_scheduler.c     crm_trace("Clear fail counts for orphaned resource %s", rsc->id);
rsc               366 lib/pacemaker/pcmk_scheduler.c     for (GList *iter = rsc->cluster->nodes; iter != NULL; iter = iter->next) {
rsc               373 lib/pacemaker/pcmk_scheduler.c         if (pe_get_failcount(node, rsc, NULL, pcmk__fc_effective, NULL) == 0) {
rsc               377 lib/pacemaker/pcmk_scheduler.c         clear_op = pe__clear_failcount(rsc, node, "it is orphaned",
rsc               378 lib/pacemaker/pcmk_scheduler.c                                        rsc->cluster);
rsc               383 lib/pacemaker/pcmk_scheduler.c         pcmk__new_ordering(clear_op->rsc, NULL, clear_op, rsc, stop_key(rsc),
rsc               384 lib/pacemaker/pcmk_scheduler.c                            NULL, pcmk__ar_ordered, rsc->cluster);
rsc               413 lib/pacemaker/pcmk_scheduler.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               415 lib/pacemaker/pcmk_scheduler.c         rsc->cmds->create_actions(rsc);
rsc               428 lib/pacemaker/pcmk_scheduler.c is_managed(const pcmk_resource_t *rsc)
rsc               430 lib/pacemaker/pcmk_scheduler.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               433 lib/pacemaker/pcmk_scheduler.c     for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
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->role != pcmk_role_stopped)) {
rsc               670 lib/pacemaker/pcmk_scheduler.c             out->message(out, crm_map_element_name(rsc->xml), 0, rsc, all, all);
rsc                63 lib/pacemaker/pcmk_simulate.c     if (action->rsc != NULL) {
rsc                64 lib/pacemaker/pcmk_simulate.c         clone_name = action->rsc->clone_name;
rsc               106 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               667 lib/pacemaker/pcmk_simulate.c     xmlNode *rsc = first_named_child(action->xml, XML_CIB_TAG_RESOURCE);
rsc               670 lib/pacemaker/pcmk_simulate.c     out->message(out, "inject-cluster-action", node, task, rsc);
rsc                81 lib/pengine/bundle.c #define get_bundle_variant_data(data, rsc)                      \
rsc                82 lib/pengine/bundle.c     CRM_ASSERT(rsc != NULL);                                    \
rsc                83 lib/pengine/bundle.c     CRM_ASSERT(rsc->variant == pcmk_rsc_variant_bundle);        \
rsc                84 lib/pengine/bundle.c     CRM_ASSERT(rsc->variant_opaque != NULL);                    \
rsc                85 lib/pengine/bundle.c     data = (pe__bundle_variant_data_t *) rsc->variant_opaque;
rsc                96 lib/pengine/bundle.c pe__bundle_max(const pcmk_resource_t *rsc)
rsc               100 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, pe__const_top_resource(rsc, true));
rsc               113 lib/pengine/bundle.c pe__bundled_resource(const pcmk_resource_t *rsc)
rsc               117 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, pe__const_top_resource(rsc, true));
rsc               321 lib/pengine/bundle.c     xmlNode *rsc = create_xml_node(NULL, XML_CIB_TAG_RESOURCE);
rsc               323 lib/pengine/bundle.c     crm_xml_add(rsc, XML_ATTR_ID, name);
rsc               324 lib/pengine/bundle.c     crm_xml_add(rsc, XML_AGENT_ATTR_CLASS, PCMK_RESOURCE_CLASS_OCF);
rsc               325 lib/pengine/bundle.c     crm_xml_add(rsc, XML_AGENT_ATTR_PROVIDER, provider);
rsc               326 lib/pengine/bundle.c     crm_xml_add(rsc, XML_ATTR_TYPE, kind);
rsc               328 lib/pengine/bundle.c     return rsc;
rsc               666 lib/pengine/bundle.c disallow_node(pcmk_resource_t *rsc, const char *uname)
rsc               668 lib/pengine/bundle.c     gpointer match = g_hash_table_lookup(rsc->allowed_nodes, uname);
rsc               674 lib/pengine/bundle.c     if (rsc->children) {
rsc               675 lib/pengine/bundle.c         g_list_foreach(rsc->children, (GFunc) disallow_node, (gpointer) uname);
rsc               920 lib/pengine/bundle.c pe__bundle_needs_remote_name(pcmk_resource_t *rsc)
rsc               925 lib/pengine/bundle.c     if (rsc == NULL) {
rsc               930 lib/pengine/bundle.c     params = pe_rsc_params(rsc, NULL, rsc->cluster);
rsc               934 lib/pengine/bundle.c            && xml_contains_remote_node(rsc->xml);
rsc               938 lib/pengine/bundle.c pe__add_bundle_remote_name(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler,
rsc               946 lib/pengine/bundle.c     if (!pe__bundle_needs_remote_name(rsc)) {
rsc               950 lib/pengine/bundle.c     replica = replica_for_remote(rsc);
rsc               964 lib/pengine/bundle.c         crm_trace("Cannot determine address for bundle connection %s", rsc->id);
rsc               969 lib/pengine/bundle.c               rsc->id, pe__node_name(node));
rsc               984 lib/pengine/bundle.c pe__unpack_bundle(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler)
rsc               992 lib/pengine/bundle.c     CRM_ASSERT(rsc != NULL);
rsc               993 lib/pengine/bundle.c     pe_rsc_trace(rsc, "Processing resource %s...", rsc->id);
rsc               996 lib/pengine/bundle.c     rsc->variant_opaque = bundle_data;
rsc               997 lib/pengine/bundle.c     bundle_data->prefix = strdup(rsc->id);
rsc               999 lib/pengine/bundle.c     xml_obj = first_named_child(rsc->xml, PE__CONTAINER_AGENT_DOCKER_S);
rsc              1003 lib/pengine/bundle.c         xml_obj = first_named_child(rsc->xml, PE__CONTAINER_AGENT_RKT_S);
rsc              1007 lib/pengine/bundle.c             xml_obj = first_named_child(rsc->xml, PE__CONTAINER_AGENT_PODMAN_S);
rsc              1040 lib/pengine/bundle.c         pe__clear_resource_flags(rsc, pcmk_rsc_unique);
rsc              1048 lib/pengine/bundle.c     xml_obj = first_named_child(rsc->xml, "network");
rsc              1085 lib/pengine/bundle.c     xml_obj = first_named_child(rsc->xml, "storage");
rsc              1110 lib/pengine/bundle.c     xml_obj = first_named_child(rsc->xml, "primitive");
rsc              1156 lib/pengine/bundle.c                rsc->id, ID(xml_obj));
rsc              1166 lib/pengine/bundle.c         if (pe__unpack_resource(xml_resource, &(bundle_data->child), rsc,
rsc              1241 lib/pengine/bundle.c             g_hash_table_replace(rsc->meta, strdup(XML_RSC_ATTR_TARGET),
rsc              1267 lib/pengine/bundle.c         if (create_replica_resources(rsc, bundle_data, replica) != pcmk_rc_ok) {
rsc              1268 lib/pengine/bundle.c             pe_err("Failed unpacking resource %s", rsc->id);
rsc              1269 lib/pengine/bundle.c             rsc->fns->free(rsc);
rsc              1298 lib/pengine/bundle.c         rsc->children = g_list_append(rsc->children, bundle_data->child);
rsc              1304 lib/pengine/bundle.c replica_resource_active(pcmk_resource_t *rsc, gboolean all)
rsc              1306 lib/pengine/bundle.c     if (rsc) {
rsc              1307 lib/pengine/bundle.c         gboolean child_active = rsc->fns->active(rsc, all);
rsc              1319 lib/pengine/bundle.c pe__bundle_active(pcmk_resource_t *rsc, gboolean all)
rsc              1324 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, rsc);
rsc              1390 lib/pengine/bundle.c print_rsc_in_list(pcmk_resource_t *rsc, const char *pre_text, long options,
rsc              1393 lib/pengine/bundle.c     if (rsc != NULL) {
rsc              1397 lib/pengine/bundle.c         rsc->fns->print(rsc, pre_text, options, print_data);
rsc              1409 lib/pengine/bundle.c bundle_print_xml(pcmk_resource_t *rsc, const char *pre_text, long options,
rsc              1414 lib/pengine/bundle.c     CRM_CHECK(rsc != NULL, return);
rsc              1421 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, rsc);
rsc              1424 lib/pengine/bundle.c     status_print(XML_ATTR_ID "=\"%s\" ", rsc->id);
rsc              1427 lib/pengine/bundle.c     status_print("unique=\"%s\" ", pe__rsc_bool_str(rsc, pcmk_rsc_unique));
rsc              1429 lib/pengine/bundle.c                  pe__rsc_bool_str(rsc, pcmk_rsc_managed));
rsc              1430 lib/pengine/bundle.c     status_print("failed=\"%s\" ", pe__rsc_bool_str(rsc, pcmk_rsc_failed));
rsc              1456 lib/pengine/bundle.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              1467 lib/pengine/bundle.c     CRM_ASSERT(rsc != NULL);
rsc              1469 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, rsc);
rsc              1471 lib/pengine/bundle.c     if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc              1475 lib/pengine/bundle.c     print_everything = pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches);
rsc              1504 lib/pengine/bundle.c             desc = pe__resource_description(rsc, show_opts);
rsc              1507 lib/pengine/bundle.c                      "id", rsc->id,
rsc              1510 lib/pengine/bundle.c                      "unique", pe__rsc_bool_str(rsc, pcmk_rsc_unique),
rsc              1512 lib/pengine/bundle.c                      pe__rsc_bool_str(rsc, pcmk_rsc_maintenance),
rsc              1513 lib/pengine/bundle.c                      "managed", pe__rsc_bool_str(rsc, pcmk_rsc_managed),
rsc              1514 lib/pengine/bundle.c                      "failed", pe__rsc_bool_str(rsc, pcmk_rsc_failed),
rsc              1558 lib/pengine/bundle.c     pcmk_resource_t *rsc = replica->child;
rsc              1563 lib/pengine/bundle.c     if(rsc == NULL) {
rsc              1564 lib/pengine/bundle.c         rsc = replica->container;
rsc              1579 lib/pengine/bundle.c     pe__common_output_html(out, rsc, buffer, node, show_opts);
rsc              1592 lib/pengine/bundle.c get_unmanaged_str(const pcmk_resource_t *rsc)
rsc              1594 lib/pengine/bundle.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_maintenance)) {
rsc              1597 lib/pengine/bundle.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc              1609 lib/pengine/bundle.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              1618 lib/pengine/bundle.c     CRM_ASSERT(rsc != NULL);
rsc              1620 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, rsc);
rsc              1622 lib/pengine/bundle.c     desc = pe__resource_description(rsc, show_opts);
rsc              1624 lib/pengine/bundle.c     if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc              1628 lib/pengine/bundle.c     print_everything = pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches);
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              1695 lib/pengine/bundle.c                                      rsc->id, bundle_data->image,
rsc              1696 lib/pengine/bundle.c                                      pcmk_is_set(rsc->flags, pcmk_rsc_unique)? " (unique)" : "",
rsc              1698 lib/pengine/bundle.c                                      get_unmanaged_str(rsc));
rsc              1713 lib/pengine/bundle.c     const pcmk_resource_t *rsc = replica->child;
rsc              1718 lib/pengine/bundle.c     if(rsc == NULL) {
rsc              1719 lib/pengine/bundle.c         rsc = replica->container;
rsc              1734 lib/pengine/bundle.c     pe__common_output_text(out, rsc, buffer, node, show_opts);
rsc              1743 lib/pengine/bundle.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              1752 lib/pengine/bundle.c     desc = pe__resource_description(rsc, show_opts);
rsc              1754 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, rsc);
rsc              1756 lib/pengine/bundle.c     CRM_ASSERT(rsc != NULL);
rsc              1758 lib/pengine/bundle.c     if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc              1762 lib/pengine/bundle.c     print_everything = pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches);
rsc              1792 lib/pengine/bundle.c                                      rsc->id, bundle_data->image,
rsc              1793 lib/pengine/bundle.c                                      pcmk_is_set(rsc->flags, pcmk_rsc_unique)? " (unique)" : "",
rsc              1795 lib/pengine/bundle.c                                      get_unmanaged_str(rsc));
rsc              1829 lib/pengine/bundle.c                                      rsc->id, bundle_data->image,
rsc              1830 lib/pengine/bundle.c                                      pcmk_is_set(rsc->flags, pcmk_rsc_unique)? " (unique)" : "",
rsc              1832 lib/pengine/bundle.c                                      get_unmanaged_str(rsc));
rsc              1852 lib/pengine/bundle.c     pcmk_resource_t *rsc = replica->child;
rsc              1857 lib/pengine/bundle.c     if(rsc == NULL) {
rsc              1858 lib/pengine/bundle.c         rsc = replica->container;
rsc              1874 lib/pengine/bundle.c     common_print(rsc, pre_text, buffer, node, options, print_data);
rsc              1882 lib/pengine/bundle.c pe__print_bundle(pcmk_resource_t *rsc, const char *pre_text, long options,
rsc              1887 lib/pengine/bundle.c     CRM_CHECK(rsc != NULL, return);
rsc              1890 lib/pengine/bundle.c         bundle_print_xml(rsc, pre_text, options, print_data);
rsc              1894 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, rsc);
rsc              1902 lib/pengine/bundle.c                  rsc->id, bundle_data->image,
rsc              1903 lib/pengine/bundle.c                  pcmk_is_set(rsc->flags, pcmk_rsc_unique)? " (unique)" : "",
rsc              1904 lib/pengine/bundle.c                  pcmk_is_set(rsc->flags, pcmk_rsc_managed)? "" : " (unmanaged)");
rsc              1984 lib/pengine/bundle.c pe__free_bundle(pcmk_resource_t *rsc)
rsc              1987 lib/pengine/bundle.c     CRM_CHECK(rsc != NULL, return);
rsc              1989 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, rsc);
rsc              1990 lib/pengine/bundle.c     pe_rsc_trace(rsc, "Freeing %s", rsc->id);
rsc              2007 lib/pengine/bundle.c     g_list_free(rsc->children);
rsc              2014 lib/pengine/bundle.c     common_free(rsc);
rsc              2018 lib/pengine/bundle.c pe__bundle_resource_state(const pcmk_resource_t *rsc, gboolean current)
rsc              2032 lib/pengine/bundle.c pe_bundle_replicas(const pcmk_resource_t *rsc)
rsc              2034 lib/pengine/bundle.c     if ((rsc == NULL) || (rsc->variant != pcmk_rsc_variant_bundle)) {
rsc              2039 lib/pengine/bundle.c         get_bundle_variant_data(bundle_data, rsc);
rsc              2045 lib/pengine/bundle.c pe__count_bundle(pcmk_resource_t *rsc)
rsc              2049 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, rsc);
rsc              2069 lib/pengine/bundle.c pe__bundle_is_filtered(const pcmk_resource_t *rsc, GList *only_rsc,
rsc              2075 lib/pengine/bundle.c     if (pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches)) {
rsc              2078 lib/pengine/bundle.c         get_bundle_variant_data(bundle_data, rsc);
rsc              2129 lib/pengine/bundle.c pe__bundle_active_node(const pcmk_resource_t *rsc, unsigned int *count_all,
rsc              2146 lib/pengine/bundle.c     if (rsc == NULL) {
rsc              2153 lib/pengine/bundle.c     get_bundle_variant_data(data, rsc);
rsc              2190 lib/pengine/bundle.c                 && !pe__count_active_node(rsc, node, &active, count_all,
rsc              2212 lib/pengine/bundle.c pe__bundle_max_per_node(const pcmk_resource_t *rsc)
rsc              2216 lib/pengine/bundle.c     get_bundle_variant_data(bundle_data, rsc);
rsc                50 lib/pengine/clone.c #define get_clone_variant_data(data, rsc)                                  \
rsc                51 lib/pengine/clone.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_clone)); \
rsc                52 lib/pengine/clone.c     data = (clone_variant_data_t *) rsc->variant_opaque;
rsc               171 lib/pengine/clone.c clone_header(pcmk__output_t *out, int *rc, const pcmk_resource_t *rsc,
rsc               176 lib/pengine/clone.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_promotable)) {
rsc               180 lib/pengine/clone.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_unique)) {
rsc               184 lib/pengine/clone.c     if (pe__resource_is_disabled(rsc)) {
rsc               188 lib/pengine/clone.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_maintenance)) {
rsc               191 lib/pengine/clone.c     } else if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               197 lib/pengine/clone.c                                  rsc->id, ID(clone_data->xml_obj_child),
rsc               203 lib/pengine/clone.c                                  rsc->id, ID(clone_data->xml_obj_child),
rsc               210 lib/pengine/clone.c pe__force_anon(const char *standard, pcmk_resource_t *rsc, const char *rid,
rsc               213 lib/pengine/clone.c     if (pe_rsc_is_clone(rsc)) {
rsc               214 lib/pengine/clone.c         clone_variant_data_t *clone_data = rsc->variant_opaque;
rsc               218 lib/pengine/clone.c                 rsc->id, standard, rid);
rsc               227 lib/pengine/clone.c find_clone_instance(const pcmk_resource_t *rsc, const char *sub_id)
rsc               234 lib/pengine/clone.c     get_clone_variant_data(clone_data, rsc);
rsc               238 lib/pengine/clone.c     child = pe_find_resource(rsc->children, child_id);
rsc               245 lib/pengine/clone.c pe__create_clone_child(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler)
rsc               254 lib/pengine/clone.c     get_clone_variant_data(clone_data, rsc);
rsc               271 lib/pengine/clone.c     if (pe__unpack_resource(child_copy, &child_rsc, rsc,
rsc               280 lib/pengine/clone.c     rsc->children = g_list_append(rsc->children, child_rsc);
rsc               286 lib/pengine/clone.c     pe_rsc_trace(rsc, "Added %s instance %s", rsc->id, child_rsc->id);
rsc               309 lib/pengine/clone.c unpack_meta_int(const pcmk_resource_t *rsc, const char *meta_name,
rsc               313 lib/pengine/clone.c     const char *value = g_hash_table_lookup(rsc->meta, meta_name);
rsc               316 lib/pengine/clone.c         value = g_hash_table_lookup(rsc->meta, deprecated_name);
rsc               325 lib/pengine/clone.c clone_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler)
rsc               329 lib/pengine/clone.c     xmlNode *xml_obj = rsc->xml;
rsc               332 lib/pengine/clone.c     pe_rsc_trace(rsc, "Processing resource %s...", rsc->id);
rsc               335 lib/pengine/clone.c     rsc->variant_opaque = clone_data;
rsc               337 lib/pengine/clone.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_promotable)) {
rsc               340 lib/pengine/clone.c         clone_data->promoted_max = unpack_meta_int(rsc, PCMK_META_PROMOTED_MAX,
rsc               347 lib/pengine/clone.c             unpack_meta_int(rsc, PCMK_META_PROMOTED_NODE_MAX,
rsc               355 lib/pengine/clone.c     clone_data->clone_node_max = unpack_meta_int(rsc, PCMK_META_CLONE_NODE_MAX,
rsc               361 lib/pengine/clone.c     clone_data->clone_max = unpack_meta_int(rsc, PCMK_META_CLONE_MAX, NULL,
rsc               364 lib/pengine/clone.c     if (crm_is_true(g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_ORDERED))) {
rsc               366 lib/pengine/clone.c                                                "Clone", rsc->id,
rsc               372 lib/pengine/clone.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_unique)
rsc               377 lib/pengine/clone.c                          "per node", clone_data->clone_node_max, rsc->id);
rsc               381 lib/pengine/clone.c     pe_rsc_trace(rsc, "Options for %s", rsc->id);
rsc               382 lib/pengine/clone.c     pe_rsc_trace(rsc, "\tClone max: %d", clone_data->clone_max);
rsc               383 lib/pengine/clone.c     pe_rsc_trace(rsc, "\tClone node max: %d", clone_data->clone_node_max);
rsc               384 lib/pengine/clone.c     pe_rsc_trace(rsc, "\tClone is unique: %s",
rsc               385 lib/pengine/clone.c                  pe__rsc_bool_str(rsc, pcmk_rsc_unique));
rsc               386 lib/pengine/clone.c     pe_rsc_trace(rsc, "\tClone is promotable: %s",
rsc               387 lib/pengine/clone.c                  pe__rsc_bool_str(rsc, pcmk_rsc_promotable));
rsc               400 lib/pengine/clone.c         pcmk__config_err("%s has nothing to clone", rsc->id);
rsc               410 lib/pengine/clone.c     if (g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_STICKINESS) == NULL) {
rsc               411 lib/pengine/clone.c         add_hash_param(rsc->meta, XML_RSC_ATTR_STICKINESS, "1");
rsc               417 lib/pengine/clone.c     add_hash_param(rsc->meta, XML_RSC_ATTR_UNIQUE,
rsc               418 lib/pengine/clone.c                    pe__rsc_bool_str(rsc, pcmk_rsc_unique));
rsc               424 lib/pengine/clone.c         if (pe__create_clone_child(rsc, scheduler) == NULL) {
rsc               431 lib/pengine/clone.c             if (pe__create_clone_child(rsc, scheduler) == NULL) {
rsc               437 lib/pengine/clone.c     pe_rsc_trace(rsc, "Added %d children to resource %s...", 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     GList *gIter = rsc->children;
rsc               495 lib/pengine/clone.c configured_role_str(pcmk_resource_t * rsc)
rsc               497 lib/pengine/clone.c     const char *target_role = g_hash_table_lookup(rsc->meta,
rsc               500 lib/pengine/clone.c     if ((target_role == NULL) && rsc->children && rsc->children->data) {
rsc               501 lib/pengine/clone.c         pcmk_resource_t *instance = rsc->children->data; // Any instance will do
rsc               510 lib/pengine/clone.c configured_role(pcmk_resource_t *rsc)
rsc               512 lib/pengine/clone.c     const char *target_role = configured_role_str(rsc);
rsc               525 lib/pengine/clone.c clone_print_xml(pcmk_resource_t *rsc, const char *pre_text, long options,
rsc               529 lib/pengine/clone.c     const char *target_role = configured_role_str(rsc);
rsc               530 lib/pengine/clone.c     GList *gIter = rsc->children;
rsc               533 lib/pengine/clone.c     status_print(XML_ATTR_ID "=\"%s\" ", rsc->id);
rsc               535 lib/pengine/clone.c                  pe__rsc_bool_str(rsc, pcmk_rsc_promotable));
rsc               536 lib/pengine/clone.c     status_print("unique=\"%s\" ", pe__rsc_bool_str(rsc, pcmk_rsc_unique));
rsc               538 lib/pengine/clone.c                  pe__rsc_bool_str(rsc, pcmk_rsc_managed));
rsc               539 lib/pengine/clone.c     status_print("failed=\"%s\" ", pe__rsc_bool_str(rsc, pcmk_rsc_failed));
rsc               541 lib/pengine/clone.c                  pe__rsc_bool_str(rsc, pcmk_rsc_ignore_failure));
rsc               558 lib/pengine/clone.c is_set_recursive(const pcmk_resource_t *rsc, long long flag, bool any)
rsc               563 lib/pengine/clone.c     if (pcmk_is_set(rsc->flags, flag)) {
rsc               571 lib/pengine/clone.c     for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) {
rsc               593 lib/pengine/clone.c clone_print(pcmk_resource_t *rsc, const char *pre_text, long options,
rsc               602 lib/pengine/clone.c     GList *gIter = rsc->children;
rsc               612 lib/pengine/clone.c         clone_print_xml(rsc, pre_text, options, print_data);
rsc               616 lib/pengine/clone.c     get_clone_variant_data(clone_data, rsc);
rsc               621 lib/pengine/clone.c                  pre_text ? pre_text : "", rsc->id, ID(clone_data->xml_obj_child),
rsc               622 lib/pengine/clone.c                  pcmk_is_set(rsc->flags, pcmk_rsc_promotable)? " (promotable)" : "",
rsc               623 lib/pengine/clone.c                  pcmk_is_set(rsc->flags, pcmk_rsc_unique)? " (unique)" : "",
rsc               624 lib/pengine/clone.c                  pcmk_is_set(rsc->flags, pcmk_rsc_managed)? "" : " (unmanaged)");
rsc               642 lib/pengine/clone.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_unique)) {
rsc               645 lib/pengine/clone.c                 || !pcmk_is_set(rsc->flags, pcmk_rsc_removed)) {
rsc               740 lib/pengine/clone.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_promotable)) {
rsc               741 lib/pengine/clone.c             enum rsc_role_e role = configured_role(rsc);
rsc               762 lib/pengine/clone.c         enum rsc_role_e role = configured_role(rsc);
rsc               768 lib/pengine/clone.c         if (!pcmk_is_set(rsc->flags, pcmk_rsc_unique)
rsc               772 lib/pengine/clone.c             GList *list = g_hash_table_get_values(rsc->allowed_nodes);
rsc               783 lib/pengine/clone.c                 list = g_hash_table_get_values(rsc->known_on);
rsc               790 lib/pengine/clone.c                 if (pe_find_node(rsc->running_on, node->details->uname) == NULL) {
rsc               823 lib/pengine/clone.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               829 lib/pengine/clone.c     GList *gIter = rsc->children;
rsc               837 lib/pengine/clone.c     if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc               841 lib/pengine/clone.c     print_everything = pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches) ||
rsc               842 lib/pengine/clone.c                        (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches));
rsc               860 lib/pengine/clone.c             desc = pe__resource_description(rsc, show_opts);
rsc               862 lib/pengine/clone.c                     "id", rsc->id,
rsc               864 lib/pengine/clone.c                     pe__rsc_bool_str(rsc, pcmk_rsc_promotable),
rsc               865 lib/pengine/clone.c                     "unique", pe__rsc_bool_str(rsc, pcmk_rsc_unique),
rsc               867 lib/pengine/clone.c                     pe__rsc_bool_str(rsc, pcmk_rsc_maintenance),
rsc               868 lib/pengine/clone.c                     "managed", pe__rsc_bool_str(rsc, pcmk_rsc_managed),
rsc               869 lib/pengine/clone.c                     "disabled", pcmk__btoa(pe__resource_is_disabled(rsc)),
rsc               870 lib/pengine/clone.c                     "failed", pe__rsc_bool_str(rsc, pcmk_rsc_failed),
rsc               872 lib/pengine/clone.c                     pe__rsc_bool_str(rsc, pcmk_rsc_ignore_failure),
rsc               873 lib/pengine/clone.c                     "target_role", configured_role_str(rsc),
rsc               896 lib/pengine/clone.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               906 lib/pengine/clone.c     GList *gIter = rsc->children;
rsc               915 lib/pengine/clone.c     desc = pe__resource_description(rsc, show_opts);
rsc               917 lib/pengine/clone.c     get_clone_variant_data(clone_data, rsc);
rsc               919 lib/pengine/clone.c     if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc               923 lib/pengine/clone.c     print_everything = pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches) ||
rsc               924 lib/pengine/clone.c                        (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches));
rsc               943 lib/pengine/clone.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_unique)) {
rsc               946 lib/pengine/clone.c                 || !pcmk_is_set(rsc->flags, pcmk_rsc_removed)) {
rsc              1010 lib/pengine/clone.c             clone_header(out, &rc, rsc, clone_data, desc);
rsc              1041 lib/pengine/clone.c         clone_header(out, &rc, rsc, clone_data, desc);
rsc              1064 lib/pengine/clone.c         clone_header(out, &rc, rsc, clone_data, desc);
rsc              1066 lib/pengine/clone.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_promotable)) {
rsc              1067 lib/pengine/clone.c             enum rsc_role_e role = configured_role(rsc);
rsc              1089 lib/pengine/clone.c         if (!pcmk_is_set(rsc->flags, pcmk_rsc_unique)
rsc              1093 lib/pengine/clone.c             GList *list = g_hash_table_get_values(rsc->allowed_nodes);
rsc              1105 lib/pengine/clone.c                 list = g_hash_table_get_values(rsc->known_on);
rsc              1112 lib/pengine/clone.c                 if (pe_find_node(rsc->running_on, node->details->uname) == NULL &&
rsc              1115 lib/pengine/clone.c                     xmlNode *probe_op = pe__failed_probe_for_rsc(rsc, node->details->uname);
rsc              1118 lib/pengine/clone.c                     if (configured_role(rsc) == pcmk_role_stopped) {
rsc              1143 lib/pengine/clone.c             clone_header(out, &rc, rsc, clone_data, desc);
rsc              1169 lib/pengine/clone.c             clone_header(out, &rc, rsc, clone_data, desc);
rsc              1180 lib/pengine/clone.c clone_free(pcmk_resource_t * rsc)
rsc              1184 lib/pengine/clone.c     get_clone_variant_data(clone_data, rsc);
rsc              1186 lib/pengine/clone.c     pe_rsc_trace(rsc, "Freeing %s", rsc->id);
rsc              1188 lib/pengine/clone.c     for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) {
rsc              1201 lib/pengine/clone.c     g_list_free(rsc->children);
rsc              1210 lib/pengine/clone.c     common_free(rsc);
rsc              1214 lib/pengine/clone.c clone_resource_state(const pcmk_resource_t * rsc, gboolean current)
rsc              1217 lib/pengine/clone.c     GList *gIter = rsc->children;
rsc              1228 lib/pengine/clone.c     pe_rsc_trace(rsc, "%s role: %s", rsc->id, role2text(clone_role));
rsc              1240 lib/pengine/clone.c pe__is_universal_clone(const pcmk_resource_t *rsc,
rsc              1243 lib/pengine/clone.c     if (pe_rsc_is_clone(rsc)) {
rsc              1244 lib/pengine/clone.c         clone_variant_data_t *clone_data = rsc->variant_opaque;
rsc              1254 lib/pengine/clone.c pe__clone_is_filtered(const pcmk_resource_t *rsc, GList *only_rsc,
rsc              1260 lib/pengine/clone.c     if (pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches)) {
rsc              1263 lib/pengine/clone.c         get_clone_variant_data(clone_data, rsc);
rsc              1267 lib/pengine/clone.c             for (const GList *iter = rsc->children;
rsc              1284 lib/pengine/clone.c pe__clone_child_id(const pcmk_resource_t *rsc)
rsc              1287 lib/pengine/clone.c     get_clone_variant_data(clone_data, rsc);
rsc              1510 lib/pengine/clone.c pe__clone_max_per_node(const pcmk_resource_t *rsc)
rsc              1514 lib/pengine/clone.c     get_clone_variant_data(clone_data, rsc);
rsc               547 lib/pengine/common.c                               const pcmk_resource_t *rsc,
rsc               563 lib/pengine/common.c     CRM_ASSERT((node != NULL) && (name != NULL) && (rsc != NULL)
rsc               569 lib/pengine/common.c     source = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET);
rsc               607 lib/pengine/common.c         pe_rsc_trace(rsc,
rsc               609 lib/pengine/common.c                      rsc->id, name, node_type_s, pe__node_name(host),
rsc               614 lib/pengine/common.c     pe_rsc_trace(rsc,
rsc               616 lib/pengine/common.c                  rsc->id, name, node_type_s, container->id, reason);
rsc                22 lib/pengine/complex.c static pcmk_node_t *active_node(const pcmk_resource_t *rsc,
rsc               115 lib/pengine/complex.c expand_parents_fixed_nvpairs(pcmk_resource_t *rsc,
rsc               120 lib/pengine/complex.c     pcmk_resource_t *p = rsc->parent;
rsc               157 lib/pengine/complex.c get_meta_attributes(GHashTable * meta_hash, pcmk_resource_t * rsc,
rsc               161 lib/pengine/complex.c         .standard = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS),
rsc               162 lib/pengine/complex.c         .provider = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER),
rsc               163 lib/pengine/complex.c         .agent = crm_element_value(rsc->xml, XML_EXPR_ATTR_TYPE)
rsc               179 lib/pengine/complex.c     for (xmlAttrPtr a = pcmk__xe_first_attr(rsc->xml); a != NULL; a = a->next) {
rsc               186 lib/pengine/complex.c     pe__unpack_dataset_nvpairs(rsc->xml, XML_TAG_META_SETS, &rule_data,
rsc               191 lib/pengine/complex.c     if (rsc->parent != NULL) {
rsc               192 lib/pengine/complex.c         expand_parents_fixed_nvpairs(rsc, &rule_data, meta_hash, scheduler);
rsc               201 lib/pengine/complex.c     if (rsc->parent) {
rsc               202 lib/pengine/complex.c         g_hash_table_foreach(rsc->parent->meta, dup_attr, meta_hash);
rsc               207 lib/pengine/complex.c get_rsc_attributes(GHashTable *meta_hash, const pcmk_resource_t *rsc,
rsc               223 lib/pengine/complex.c     pe__unpack_dataset_nvpairs(rsc->xml, XML_TAG_ATTR_SETS, &rule_data,
rsc               227 lib/pengine/complex.c     if (rsc->parent != NULL) {
rsc               228 lib/pengine/complex.c         get_rsc_attributes(meta_hash, rsc->parent, node, scheduler);
rsc               406 lib/pengine/complex.c detect_promotable(pcmk_resource_t *rsc)
rsc               408 lib/pengine/complex.c     const char *promotable = g_hash_table_lookup(rsc->meta,
rsc               416 lib/pengine/complex.c     if (pcmk__xe_is(rsc->xml, PCMK_XE_PROMOTABLE_LEGACY)) {
rsc               420 lib/pengine/complex.c         g_hash_table_insert(rsc->meta, strdup(XML_RSC_ATTR_PROMOTABLE),
rsc               446 lib/pengine/complex.c pe_rsc_params(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               458 lib/pengine/complex.c     if ((rsc == NULL) || (scheduler == NULL)) {
rsc               466 lib/pengine/complex.c     if (rsc->parameter_cache == NULL) {
rsc               467 lib/pengine/complex.c         rsc->parameter_cache = pcmk__strikey_table(free, free_params_table);
rsc               469 lib/pengine/complex.c         params_on_node = g_hash_table_lookup(rsc->parameter_cache, node_name);
rsc               475 lib/pengine/complex.c         get_rsc_attributes(params_on_node, rsc, node, scheduler);
rsc               476 lib/pengine/complex.c         g_hash_table_insert(rsc->parameter_cache, strdup(node_name),
rsc               491 lib/pengine/complex.c unpack_requires(pcmk_resource_t *rsc, const char *value, bool is_default)
rsc               496 lib/pengine/complex.c         pe__set_resource_flags(rsc, pcmk_rsc_needs_quorum);
rsc               499 lib/pengine/complex.c         pe__set_resource_flags(rsc, pcmk_rsc_needs_fencing);
rsc               500 lib/pengine/complex.c         if (!pcmk_is_set(rsc->cluster->flags, pcmk_sched_fencing_enabled)) {
rsc               502 lib/pengine/complex.c                               rsc->id);
rsc               506 lib/pengine/complex.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_fence_device)) {
rsc               509 lib/pengine/complex.c                               "devices cannot require unfencing", rsc->id);
rsc               510 lib/pengine/complex.c             unpack_requires(rsc, PCMK__VALUE_QUORUM, true);
rsc               513 lib/pengine/complex.c         } else if (!pcmk_is_set(rsc->cluster->flags,
rsc               517 lib/pengine/complex.c                               "is disabled", rsc->id);
rsc               518 lib/pengine/complex.c             unpack_requires(rsc, PCMK__VALUE_QUORUM, true);
rsc               522 lib/pengine/complex.c             pe__set_resource_flags(rsc, pcmk_rsc_needs_fencing
rsc               529 lib/pengine/complex.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_fence_device)) {
rsc               532 lib/pengine/complex.c         } else if ((rsc->variant == pcmk_rsc_variant_primitive)
rsc               533 lib/pengine/complex.c                    && xml_contains_remote_node(rsc->xml)) {
rsc               536 lib/pengine/complex.c         } else if (pcmk_is_set(rsc->cluster->flags,
rsc               540 lib/pengine/complex.c         } else if (pcmk_is_set(rsc->cluster->flags,
rsc               544 lib/pengine/complex.c         } else if (rsc->cluster->no_quorum_policy == pcmk_no_quorum_ignore) {
rsc               554 lib/pengine/complex.c                               rsc->id, value, orig_value);
rsc               556 lib/pengine/complex.c         unpack_requires(rsc, value, true);
rsc               560 lib/pengine/complex.c     pe_rsc_trace(rsc, "\tRequired to start: %s%s", value,
rsc               566 lib/pengine/complex.c warn_about_deprecated_classes(pcmk_resource_t *rsc)
rsc               568 lib/pengine/complex.c     const char *std = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
rsc               574 lib/pengine/complex.c                      rsc->id);
rsc               580 lib/pengine/complex.c                      rsc->id);
rsc               603 lib/pengine/complex.c pe__unpack_resource(xmlNode *xml_obj, pcmk_resource_t **rsc,
rsc               622 lib/pengine/complex.c     CRM_CHECK(rsc != NULL, return EINVAL);
rsc               624 lib/pengine/complex.c               *rsc = NULL;
rsc               642 lib/pengine/complex.c     *rsc = calloc(1, sizeof(pcmk_resource_t));
rsc               643 lib/pengine/complex.c     if (*rsc == NULL) {
rsc               647 lib/pengine/complex.c     (*rsc)->cluster = scheduler;
rsc               651 lib/pengine/complex.c         (*rsc)->xml = expanded_xml;
rsc               652 lib/pengine/complex.c         (*rsc)->orig_xml = xml_obj;
rsc               655 lib/pengine/complex.c         (*rsc)->xml = xml_obj;
rsc               656 lib/pengine/complex.c         (*rsc)->orig_xml = NULL;
rsc               661 lib/pengine/complex.c     (*rsc)->parent = parent;
rsc               663 lib/pengine/complex.c     ops = find_xml_node((*rsc)->xml, "operations", FALSE);
rsc               664 lib/pengine/complex.c     (*rsc)->ops_xml = expand_idref(ops, scheduler->input);
rsc               666 lib/pengine/complex.c     (*rsc)->variant = get_resource_type((const char *) (*rsc)->xml->name);
rsc               667 lib/pengine/complex.c     if ((*rsc)->variant == pcmk_rsc_variant_unknown) {
rsc               669 lib/pengine/complex.c                id, (*rsc)->xml->name);
rsc               670 lib/pengine/complex.c         common_free(*rsc);
rsc               671 lib/pengine/complex.c         *rsc = NULL;
rsc               676 lib/pengine/complex.c     warn_about_deprecated_classes(*rsc);
rsc               679 lib/pengine/complex.c     (*rsc)->meta = pcmk__strkey_table(free, free);
rsc               680 lib/pengine/complex.c     (*rsc)->allowed_nodes = pcmk__strkey_table(NULL, free);
rsc               681 lib/pengine/complex.c     (*rsc)->known_on = pcmk__strkey_table(NULL, free);
rsc               683 lib/pengine/complex.c     value = crm_element_value((*rsc)->xml, XML_RSC_ATTR_INCARNATION);
rsc               685 lib/pengine/complex.c         (*rsc)->id = crm_strdup_printf("%s:%s", id, value);
rsc               686 lib/pengine/complex.c         add_hash_param((*rsc)->meta, XML_RSC_ATTR_INCARNATION, value);
rsc               689 lib/pengine/complex.c         (*rsc)->id = strdup(id);
rsc               692 lib/pengine/complex.c     (*rsc)->fns = &resource_class_functions[(*rsc)->variant];
rsc               694 lib/pengine/complex.c     get_meta_attributes((*rsc)->meta, *rsc, NULL, scheduler);
rsc               695 lib/pengine/complex.c     (*rsc)->parameters = pe_rsc_params(*rsc, NULL, scheduler); // \deprecated
rsc               697 lib/pengine/complex.c     (*rsc)->flags = 0;
rsc               698 lib/pengine/complex.c     pe__set_resource_flags(*rsc, pcmk_rsc_runnable|pcmk_rsc_unassigned);
rsc               701 lib/pengine/complex.c         pe__set_resource_flags(*rsc, pcmk_rsc_managed);
rsc               704 lib/pengine/complex.c     (*rsc)->rsc_cons = NULL;
rsc               705 lib/pengine/complex.c     (*rsc)->rsc_tickets = NULL;
rsc               706 lib/pengine/complex.c     (*rsc)->actions = NULL;
rsc               707 lib/pengine/complex.c     (*rsc)->role = pcmk_role_stopped;
rsc               708 lib/pengine/complex.c     (*rsc)->next_role = pcmk_role_unknown;
rsc               710 lib/pengine/complex.c     (*rsc)->recovery_type = pcmk_multiply_active_restart;
rsc               711 lib/pengine/complex.c     (*rsc)->stickiness = 0;
rsc               712 lib/pengine/complex.c     (*rsc)->migration_threshold = INFINITY;
rsc               713 lib/pengine/complex.c     (*rsc)->failure_timeout = 0;
rsc               715 lib/pengine/complex.c     value = g_hash_table_lookup((*rsc)->meta, XML_CIB_ATTR_PRIORITY);
rsc               716 lib/pengine/complex.c     (*rsc)->priority = char2score(value);
rsc               718 lib/pengine/complex.c     value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_CRITICAL);
rsc               720 lib/pengine/complex.c         pe__set_resource_flags(*rsc, pcmk_rsc_critical);
rsc               723 lib/pengine/complex.c     value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_NOTIFY);
rsc               725 lib/pengine/complex.c         pe__set_resource_flags(*rsc, pcmk_rsc_notify);
rsc               728 lib/pengine/complex.c     if (xml_contains_remote_node((*rsc)->xml)) {
rsc               729 lib/pengine/complex.c         (*rsc)->is_remote_node = TRUE;
rsc               730 lib/pengine/complex.c         if (g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_CONTAINER)) {
rsc               737 lib/pengine/complex.c     value = g_hash_table_lookup((*rsc)->meta, XML_OP_ATTR_ALLOW_MIGRATE);
rsc               739 lib/pengine/complex.c         pe__set_resource_flags(*rsc, pcmk_rsc_migratable);
rsc               748 lib/pengine/complex.c         pe__set_resource_flags(*rsc, pcmk_rsc_migratable);
rsc               751 lib/pengine/complex.c     value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_MANAGED);
rsc               754 lib/pengine/complex.c             pe__set_resource_flags(*rsc, pcmk_rsc_managed);
rsc               756 lib/pengine/complex.c             pe__clear_resource_flags(*rsc, pcmk_rsc_managed);
rsc               760 lib/pengine/complex.c     value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_MAINTENANCE);
rsc               762 lib/pengine/complex.c         pe__clear_resource_flags(*rsc, pcmk_rsc_managed);
rsc               763 lib/pengine/complex.c         pe__set_resource_flags(*rsc, pcmk_rsc_maintenance);
rsc               766 lib/pengine/complex.c         pe__clear_resource_flags(*rsc, pcmk_rsc_managed);
rsc               767 lib/pengine/complex.c         pe__set_resource_flags(*rsc, pcmk_rsc_maintenance);
rsc               770 lib/pengine/complex.c     if (pe_rsc_is_clone(pe__const_top_resource(*rsc, false))) {
rsc               771 lib/pengine/complex.c         value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_UNIQUE);
rsc               773 lib/pengine/complex.c             pe__set_resource_flags(*rsc, pcmk_rsc_unique);
rsc               775 lib/pengine/complex.c         if (detect_promotable(*rsc)) {
rsc               776 lib/pengine/complex.c             pe__set_resource_flags(*rsc, pcmk_rsc_promotable);
rsc               779 lib/pengine/complex.c         pe__set_resource_flags(*rsc, pcmk_rsc_unique);
rsc               782 lib/pengine/complex.c     value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_RESTART);
rsc               784 lib/pengine/complex.c         (*rsc)->restart_type = pe_restart_restart;
rsc               785 lib/pengine/complex.c         pe_rsc_trace((*rsc), "%s dependency restart handling: restart",
rsc               786 lib/pengine/complex.c                      (*rsc)->id);
rsc               791 lib/pengine/complex.c         (*rsc)->restart_type = pe_restart_ignore;
rsc               792 lib/pengine/complex.c         pe_rsc_trace((*rsc), "%s dependency restart handling: ignore",
rsc               793 lib/pengine/complex.c                      (*rsc)->id);
rsc               796 lib/pengine/complex.c     value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_MULTIPLE);
rsc               798 lib/pengine/complex.c         (*rsc)->recovery_type = pcmk_multiply_active_stop;
rsc               799 lib/pengine/complex.c         pe_rsc_trace((*rsc), "%s multiple running resource recovery: stop only",
rsc               800 lib/pengine/complex.c                      (*rsc)->id);
rsc               803 lib/pengine/complex.c         (*rsc)->recovery_type = pcmk_multiply_active_block;
rsc               804 lib/pengine/complex.c         pe_rsc_trace((*rsc), "%s multiple running resource recovery: block",
rsc               805 lib/pengine/complex.c                      (*rsc)->id);
rsc               808 lib/pengine/complex.c         (*rsc)->recovery_type = pcmk_multiply_active_unexpected;
rsc               809 lib/pengine/complex.c         pe_rsc_trace((*rsc), "%s multiple running resource recovery: "
rsc               811 lib/pengine/complex.c                      (*rsc)->id);
rsc               819 lib/pengine/complex.c         (*rsc)->recovery_type = pcmk_multiply_active_restart;
rsc               820 lib/pengine/complex.c         pe_rsc_trace((*rsc), "%s multiple running resource recovery: "
rsc               821 lib/pengine/complex.c                              "stop/start", (*rsc)->id);
rsc               824 lib/pengine/complex.c     value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_STICKINESS);
rsc               826 lib/pengine/complex.c         (*rsc)->stickiness = char2score(value);
rsc               829 lib/pengine/complex.c     value = g_hash_table_lookup((*rsc)->meta, PCMK_META_MIGRATION_THRESHOLD);
rsc               831 lib/pengine/complex.c         (*rsc)->migration_threshold = char2score(value);
rsc               832 lib/pengine/complex.c         if ((*rsc)->migration_threshold < 0) {
rsc               840 lib/pengine/complex.c             (*rsc)->migration_threshold = 1;
rsc               844 lib/pengine/complex.c     if (pcmk__str_eq(crm_element_value((*rsc)->xml, XML_AGENT_ATTR_CLASS),
rsc               847 lib/pengine/complex.c         pe__set_resource_flags(*rsc, pcmk_rsc_fence_device);
rsc               850 lib/pengine/complex.c     value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_REQUIRES);
rsc               851 lib/pengine/complex.c     unpack_requires(*rsc, value, false);
rsc               853 lib/pengine/complex.c     value = g_hash_table_lookup((*rsc)->meta, PCMK_META_FAILURE_TIMEOUT);
rsc               856 lib/pengine/complex.c         (*rsc)->failure_timeout = (int) (crm_parse_interval_spec(value) / 1000);
rsc               860 lib/pengine/complex.c         GHashTable *params = pe_rsc_params(*rsc, NULL, scheduler);
rsc               872 lib/pengine/complex.c             (*rsc)->remote_reconnect_ms = crm_parse_interval_spec(value);
rsc               875 lib/pengine/complex.c             (*rsc)->failure_timeout = (*rsc)->remote_reconnect_ms / 1000;
rsc               879 lib/pengine/complex.c     get_target_role(*rsc, &((*rsc)->next_role));
rsc               880 lib/pengine/complex.c     pe_rsc_trace((*rsc), "%s desired next state: %s", (*rsc)->id,
rsc               881 lib/pengine/complex.c                  (*rsc)->next_role != pcmk_role_unknown? role2text((*rsc)->next_role) : "default");
rsc               883 lib/pengine/complex.c     if ((*rsc)->fns->unpack(*rsc, scheduler) == FALSE) {
rsc               884 lib/pengine/complex.c         (*rsc)->fns->free(*rsc);
rsc               885 lib/pengine/complex.c         *rsc = NULL;
rsc               891 lib/pengine/complex.c         resource_location(*rsc, NULL, 0, "symmetric_default", scheduler);
rsc               896 lib/pengine/complex.c         resource_location(*rsc, NULL, 0, "remote_connection_default",
rsc               900 lib/pengine/complex.c     pe_rsc_trace((*rsc), "%s action notification: %s", (*rsc)->id,
rsc               901 lib/pengine/complex.c                  pcmk_is_set((*rsc)->flags, pcmk_rsc_notify)? "required" : "not required");
rsc               903 lib/pengine/complex.c     (*rsc)->utilization = pcmk__strkey_table(free, free);
rsc               905 lib/pengine/complex.c     pe__unpack_dataset_nvpairs((*rsc)->xml, XML_TAG_UTILIZATION, &rule_data,
rsc               906 lib/pengine/complex.c                                (*rsc)->utilization, NULL, FALSE, scheduler);
rsc               910 lib/pengine/complex.c             (*rsc)->fns->free(*rsc);
rsc               911 lib/pengine/complex.c             *rsc = NULL;
rsc               919 lib/pengine/complex.c is_parent(pcmk_resource_t *child, pcmk_resource_t *rsc)
rsc               923 lib/pengine/complex.c     if (parent == NULL || rsc == NULL) {
rsc               927 lib/pengine/complex.c         if (parent->parent == rsc) {
rsc               936 lib/pengine/complex.c uber_parent(pcmk_resource_t *rsc)
rsc               938 lib/pengine/complex.c     pcmk_resource_t *parent = rsc;
rsc               962 lib/pengine/complex.c pe__const_top_resource(const pcmk_resource_t *rsc, bool include_bundle)
rsc               964 lib/pengine/complex.c     const pcmk_resource_t *parent = rsc;
rsc               980 lib/pengine/complex.c common_free(pcmk_resource_t * rsc)
rsc               982 lib/pengine/complex.c     if (rsc == NULL) {
rsc               986 lib/pengine/complex.c     pe_rsc_trace(rsc, "Freeing %s %d", rsc->id, rsc->variant);
rsc               988 lib/pengine/complex.c     g_list_free(rsc->rsc_cons);
rsc               989 lib/pengine/complex.c     g_list_free(rsc->rsc_cons_lhs);
rsc               990 lib/pengine/complex.c     g_list_free(rsc->rsc_tickets);
rsc               991 lib/pengine/complex.c     g_list_free(rsc->dangling_migrations);
rsc               993 lib/pengine/complex.c     if (rsc->parameter_cache != NULL) {
rsc               994 lib/pengine/complex.c         g_hash_table_destroy(rsc->parameter_cache);
rsc               996 lib/pengine/complex.c     if (rsc->meta != NULL) {
rsc               997 lib/pengine/complex.c         g_hash_table_destroy(rsc->meta);
rsc               999 lib/pengine/complex.c     if (rsc->utilization != NULL) {
rsc              1000 lib/pengine/complex.c         g_hash_table_destroy(rsc->utilization);
rsc              1003 lib/pengine/complex.c     if ((rsc->parent == NULL)
rsc              1004 lib/pengine/complex.c         && pcmk_is_set(rsc->flags, pcmk_rsc_removed)) {
rsc              1006 lib/pengine/complex.c         free_xml(rsc->xml);
rsc              1007 lib/pengine/complex.c         rsc->xml = NULL;
rsc              1008 lib/pengine/complex.c         free_xml(rsc->orig_xml);
rsc              1009 lib/pengine/complex.c         rsc->orig_xml = NULL;
rsc              1012 lib/pengine/complex.c     } else if (rsc->orig_xml) {
rsc              1013 lib/pengine/complex.c         free_xml(rsc->xml);
rsc              1014 lib/pengine/complex.c         rsc->xml = NULL;
rsc              1016 lib/pengine/complex.c     if (rsc->running_on) {
rsc              1017 lib/pengine/complex.c         g_list_free(rsc->running_on);
rsc              1018 lib/pengine/complex.c         rsc->running_on = NULL;
rsc              1020 lib/pengine/complex.c     if (rsc->known_on) {
rsc              1021 lib/pengine/complex.c         g_hash_table_destroy(rsc->known_on);
rsc              1022 lib/pengine/complex.c         rsc->known_on = NULL;
rsc              1024 lib/pengine/complex.c     if (rsc->actions) {
rsc              1025 lib/pengine/complex.c         g_list_free(rsc->actions);
rsc              1026 lib/pengine/complex.c         rsc->actions = NULL;
rsc              1028 lib/pengine/complex.c     if (rsc->allowed_nodes) {
rsc              1029 lib/pengine/complex.c         g_hash_table_destroy(rsc->allowed_nodes);
rsc              1030 lib/pengine/complex.c         rsc->allowed_nodes = NULL;
rsc              1032 lib/pengine/complex.c     g_list_free(rsc->fillers);
rsc              1033 lib/pengine/complex.c     g_list_free(rsc->rsc_location);
rsc              1034 lib/pengine/complex.c     pe_rsc_trace(rsc, "Resource freed");
rsc              1035 lib/pengine/complex.c     free(rsc->id);
rsc              1036 lib/pengine/complex.c     free(rsc->clone_name);
rsc              1037 lib/pengine/complex.c     free(rsc->allocated_to);
rsc              1038 lib/pengine/complex.c     free(rsc->variant_opaque);
rsc              1039 lib/pengine/complex.c     free(rsc->pending_task);
rsc              1040 lib/pengine/complex.c     free(rsc);
rsc              1058 lib/pengine/complex.c pe__count_active_node(const pcmk_resource_t *rsc, pcmk_node_t *node,
rsc              1065 lib/pengine/complex.c     CRM_CHECK((rsc != NULL) && (node != NULL) && (active != NULL),
rsc              1080 lib/pengine/complex.c     if (rsc->partial_migration_source != NULL) {
rsc              1081 lib/pengine/complex.c         if (node->details == rsc->partial_migration_source->details) {
rsc              1086 lib/pengine/complex.c     } else if (!pcmk_is_set(rsc->flags, pcmk_rsc_needs_fencing)) {
rsc              1102 lib/pengine/complex.c active_node(const pcmk_resource_t *rsc, unsigned int *count_all,
rsc              1113 lib/pengine/complex.c     if (rsc == NULL) {
rsc              1116 lib/pengine/complex.c     for (GList *iter = rsc->running_on; iter != NULL; iter = iter->next) {
rsc              1117 lib/pengine/complex.c         if (!pe__count_active_node(rsc, (pcmk_node_t *) iter->data, &active,
rsc              1139 lib/pengine/complex.c pe__find_active_requires(const pcmk_resource_t *rsc, unsigned int *count)
rsc              1141 lib/pengine/complex.c     if (rsc == NULL) {
rsc              1147 lib/pengine/complex.c     } else if (pcmk_is_set(rsc->flags, pcmk_rsc_needs_fencing)) {
rsc              1148 lib/pengine/complex.c         return rsc->fns->active_node(rsc, count, NULL);
rsc              1151 lib/pengine/complex.c         return rsc->fns->active_node(rsc, NULL, count);
rsc              1156 lib/pengine/complex.c pe__count_common(pcmk_resource_t *rsc)
rsc              1158 lib/pengine/complex.c     if (rsc->children != NULL) {
rsc              1159 lib/pengine/complex.c         for (GList *item = rsc->children; item != NULL; item = item->next) {
rsc              1163 lib/pengine/complex.c     } else if (!pcmk_is_set(rsc->flags, pcmk_rsc_removed)
rsc              1164 lib/pengine/complex.c                || (rsc->role > pcmk_role_stopped)) {
rsc              1165 lib/pengine/complex.c         rsc->cluster->ninstances++;
rsc              1166 lib/pengine/complex.c         if (pe__resource_is_disabled(rsc)) {
rsc              1167 lib/pengine/complex.c             rsc->cluster->disabled_resources++;
rsc              1169 lib/pengine/complex.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_blocked)) {
rsc              1170 lib/pengine/complex.c             rsc->cluster->blocked_resources++;
rsc              1184 lib/pengine/complex.c pe__set_next_role(pcmk_resource_t *rsc, enum rsc_role_e role, const char *why)
rsc              1186 lib/pengine/complex.c     CRM_ASSERT((rsc != NULL) && (why != NULL));
rsc              1187 lib/pengine/complex.c     if (rsc->next_role != role) {
rsc              1188 lib/pengine/complex.c         pe_rsc_trace(rsc, "Resetting next role for %s from %s to %s (%s)",
rsc              1189 lib/pengine/complex.c                      rsc->id, role2text(rsc->next_role), role2text(role), why);
rsc              1190 lib/pengine/complex.c         rsc->next_role = role;
rsc                80 lib/pengine/failcounts.c block_failure(const pcmk_node_t *node, pcmk_resource_t *rsc,
rsc                83 lib/pengine/failcounts.c     char *xml_name = clone_strip(rsc->id);
rsc               101 lib/pengine/failcounts.c     xmlXPathObject *xpathObj = xpath_search(rsc->xml, xpath);
rsc               140 lib/pengine/failcounts.c                 lrm_op_xpathObj = xpath_search(rsc->cluster->input, lrm_op_xpath);
rsc               184 lib/pengine/failcounts.c rsc_fail_name(const pcmk_resource_t *rsc)
rsc               186 lib/pengine/failcounts.c     const char *name = (rsc->clone_name? rsc->clone_name : rsc->id);
rsc               188 lib/pengine/failcounts.c     return pcmk_is_set(rsc->flags, pcmk_rsc_unique)? strdup(name) : clone_strip(name);
rsc               248 lib/pengine/failcounts.c generate_fail_regexes(const pcmk_resource_t *rsc,
rsc               252 lib/pengine/failcounts.c     char *rsc_name = rsc_fail_name(rsc);
rsc               253 lib/pengine/failcounts.c     const char *version = crm_element_value(rsc->cluster->input,
rsc               260 lib/pengine/failcounts.c                             pcmk_is_set(rsc->flags, pcmk_rsc_unique),
rsc               266 lib/pengine/failcounts.c                                    pcmk_is_set(rsc->flags, pcmk_rsc_unique),
rsc               279 lib/pengine/failcounts.c     pcmk_resource_t *rsc;     // Resource to check for fail count
rsc               305 lib/pengine/failcounts.c         pe_rsc_trace(fc_data->rsc, "Added %s (%s) to %s fail count (now %s)",
rsc               306 lib/pengine/failcounts.c                      (const char *) key, (const char *) value, fc_data->rsc->id,
rsc               360 lib/pengine/failcounts.c pe_get_failcount(const pcmk_node_t *node, pcmk_resource_t *rsc,
rsc               365 lib/pengine/failcounts.c         .rsc = rsc,
rsc               373 lib/pengine/failcounts.c     CRM_CHECK(generate_fail_regexes(rsc, &fc_data.failcount_re,
rsc               382 lib/pengine/failcounts.c     if ((fc_data.failcount > 0) && (rsc->failure_timeout > 0)
rsc               383 lib/pengine/failcounts.c         && block_failure(node, rsc, xml_op)) {
rsc               387 lib/pengine/failcounts.c                 rsc->failure_timeout, rsc->id);
rsc               388 lib/pengine/failcounts.c         rsc->failure_timeout = 0;
rsc               393 lib/pengine/failcounts.c         && (fc_data.last_failure > 0) && (rsc->failure_timeout != 0)) {
rsc               395 lib/pengine/failcounts.c         time_t now = get_effective_time(rsc->cluster);
rsc               397 lib/pengine/failcounts.c         if (now > (fc_data.last_failure + rsc->failure_timeout)) {
rsc               398 lib/pengine/failcounts.c             pe_rsc_debug(rsc, "Failcount for %s on %s expired after %ds",
rsc               399 lib/pengine/failcounts.c                          rsc->id, pe__node_name(node), rsc->failure_timeout);
rsc               414 lib/pengine/failcounts.c     if (pcmk_is_set(flags, pcmk__fc_fillers) && (rsc->fillers != NULL)
rsc               415 lib/pengine/failcounts.c         && !pe_rsc_is_bundled(rsc)) {
rsc               417 lib/pengine/failcounts.c         g_list_foreach(rsc->fillers, update_failcount_for_filler, &fc_data);
rsc               419 lib/pengine/failcounts.c             pe_rsc_info(rsc,
rsc               422 lib/pengine/failcounts.c                         rsc->id, pcmk_readable_score(fc_data.failcount),
rsc               427 lib/pengine/failcounts.c         pe_rsc_info(rsc, "%s has failed %s time%s on %s",
rsc               428 lib/pengine/failcounts.c                     rsc->id, pcmk_readable_score(fc_data.failcount),
rsc               453 lib/pengine/failcounts.c pe__clear_failcount(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               459 lib/pengine/failcounts.c     CRM_CHECK(rsc && node && reason && scheduler, return NULL);
rsc               461 lib/pengine/failcounts.c     key = pcmk__op_key(rsc->id, PCMK_ACTION_CLEAR_FAILCOUNT, 0);
rsc               462 lib/pengine/failcounts.c     clear = custom_action(rsc, key, PCMK_ACTION_CLEAR_FAILCOUNT, node, FALSE,
rsc               466 lib/pengine/failcounts.c                rsc->id, pe__node_name(node), reason, clear->uuid);
rsc               100 lib/pengine/group.c inactive_resources(pcmk_resource_t *rsc)
rsc               104 lib/pengine/group.c     for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) {
rsc               116 lib/pengine/group.c group_header(pcmk__output_t *out, int *rc, const pcmk_resource_t *rsc,
rsc               127 lib/pengine/group.c     if (pe__resource_is_disabled(rsc)) {
rsc               131 lib/pengine/group.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_maintenance)) {
rsc               134 lib/pengine/group.c     } else if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               140 lib/pengine/group.c                                  rsc->id,
rsc               146 lib/pengine/group.c                                  rsc->id,
rsc               153 lib/pengine/group.c skip_child_rsc(pcmk_resource_t *rsc, pcmk_resource_t *child,
rsc               180 lib/pengine/group.c group_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler)
rsc               182 lib/pengine/group.c     xmlNode *xml_obj = rsc->xml;
rsc               187 lib/pengine/group.c     pe_rsc_trace(rsc, "Processing resource %s...", rsc->id);
rsc               191 lib/pengine/group.c     rsc->variant_opaque = group_data;
rsc               194 lib/pengine/group.c     set_group_flag(rsc, XML_RSC_ATTR_ORDERED, pcmk__group_ordered,
rsc               196 lib/pengine/group.c     set_group_flag(rsc, "collocated", pcmk__group_colocated,
rsc               199 lib/pengine/group.c     clone_id = crm_element_value(rsc->xml, XML_RSC_ATTR_INCARNATION);
rsc               209 lib/pengine/group.c             if (pe__unpack_resource(xml_native_rsc, &new_rsc, rsc,
rsc               214 lib/pengine/group.c             rsc->children = g_list_append(rsc->children, new_rsc);
rsc               216 lib/pengine/group.c             pe_rsc_trace(rsc, "Added %s member %s", rsc->id, new_rsc->id);
rsc               220 lib/pengine/group.c     if (rsc->children == NULL) {
rsc               230 lib/pengine/group.c                           "any members", rsc->id);
rsc               236 lib/pengine/group.c group_active(pcmk_resource_t *rsc, gboolean all)
rsc               240 lib/pengine/group.c     GList *gIter = rsc->children;
rsc               265 lib/pengine/group.c group_print_xml(pcmk_resource_t *rsc, const char *pre_text, long options,
rsc               268 lib/pengine/group.c     GList *gIter = rsc->children;
rsc               271 lib/pengine/group.c     status_print("%s<group " XML_ATTR_ID "=\"%s\" ", pre_text, rsc->id);
rsc               272 lib/pengine/group.c     status_print("number_resources=\"%d\" ", g_list_length(rsc->children));
rsc               290 lib/pengine/group.c group_print(pcmk_resource_t *rsc, const char *pre_text, long options,
rsc               294 lib/pengine/group.c     GList *gIter = rsc->children;
rsc               301 lib/pengine/group.c         group_print_xml(rsc, pre_text, options, print_data);
rsc               307 lib/pengine/group.c     status_print("%sResource Group: %s", pre_text ? pre_text : "", rsc->id);
rsc               317 lib/pengine/group.c         print_rscs_brief(rsc->children, child_text, options, print_data, TRUE);
rsc               345 lib/pengine/group.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               350 lib/pengine/group.c     GList *gIter = rsc->children;
rsc               354 lib/pengine/group.c     gboolean parent_passes = pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches) ||
rsc               355 lib/pengine/group.c                              (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches));
rsc               357 lib/pengine/group.c     desc = pe__resource_description(rsc, show_opts);
rsc               359 lib/pengine/group.c     if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc               366 lib/pengine/group.c         if (skip_child_rsc(rsc, child_rsc, parent_passes, only_rsc, show_opts)) {
rsc               372 lib/pengine/group.c             const char *maint_s = pe__rsc_bool_str(rsc, pcmk_rsc_maintenance);
rsc               373 lib/pengine/group.c             const char *managed_s = pe__rsc_bool_str(rsc, pcmk_rsc_managed);
rsc               374 lib/pengine/group.c             const char *disabled_s = pcmk__btoa(pe__resource_is_disabled(rsc));
rsc               377 lib/pengine/group.c                                           XML_ATTR_ID, rsc->id,
rsc               404 lib/pengine/group.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               411 lib/pengine/group.c     gboolean parent_passes = pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches) ||
rsc               412 lib/pengine/group.c                              (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches));
rsc               414 lib/pengine/group.c     gboolean active = rsc->fns->active(rsc, TRUE);
rsc               415 lib/pengine/group.c     gboolean partially_active = rsc->fns->active(rsc, FALSE);
rsc               417 lib/pengine/group.c     desc = pe__resource_description(rsc, show_opts);
rsc               419 lib/pengine/group.c     if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc               424 lib/pengine/group.c         GList *rscs = pe__filter_rsc_list(rsc->children, only_rsc);
rsc               427 lib/pengine/group.c             group_header(out, &rc, rsc, !active && partially_active ? inactive_resources(rsc) : 0,
rsc               436 lib/pengine/group.c         for (GList *gIter = rsc->children; gIter; gIter = gIter->next) {
rsc               439 lib/pengine/group.c             if (skip_child_rsc(rsc, child_rsc, parent_passes, only_rsc, show_opts)) {
rsc               443 lib/pengine/group.c             group_header(out, &rc, rsc, !active && partially_active ? inactive_resources(rsc) : 0,
rsc               456 lib/pengine/group.c group_free(pcmk_resource_t * rsc)
rsc               458 lib/pengine/group.c     CRM_CHECK(rsc != NULL, return);
rsc               460 lib/pengine/group.c     pe_rsc_trace(rsc, "Freeing %s", rsc->id);
rsc               462 lib/pengine/group.c     for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) {
rsc               470 lib/pengine/group.c     pe_rsc_trace(rsc, "Freeing child list");
rsc               471 lib/pengine/group.c     g_list_free(rsc->children);
rsc               473 lib/pengine/group.c     common_free(rsc);
rsc               477 lib/pengine/group.c group_resource_state(const pcmk_resource_t * rsc, gboolean current)
rsc               480 lib/pengine/group.c     GList *gIter = rsc->children;
rsc               491 lib/pengine/group.c     pe_rsc_trace(rsc, "%s role: %s", rsc->id, role2text(group_role));
rsc               496 lib/pengine/group.c pe__group_is_filtered(const pcmk_resource_t *rsc, GList *only_rsc,
rsc               502 lib/pengine/group.c         && pcmk__str_in_list(rsc_printable_id(pe__const_top_resource(rsc,
rsc               506 lib/pengine/group.c     } else if (pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches)) {
rsc               508 lib/pengine/group.c     } else if (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches)) {
rsc               511 lib/pengine/group.c         for (const GList *iter = rsc->children;
rsc               535 lib/pengine/group.c pe__group_max_per_node(const pcmk_resource_t *rsc)
rsc               537 lib/pengine/group.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_group));
rsc                33 lib/pengine/native.c is_multiply_active(const pcmk_resource_t *rsc)
rsc                37 lib/pengine/native.c     if (rsc->variant == pcmk_rsc_variant_primitive) {
rsc                38 lib/pengine/native.c         pe__find_active_requires(rsc, &count);
rsc                44 lib/pengine/native.c native_priority_to_node(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc                49 lib/pengine/native.c     if ((rsc->priority == 0) || (failed == TRUE)) {
rsc                53 lib/pengine/native.c     if (rsc->role == pcmk_role_promoted) {
rsc                55 lib/pengine/native.c         priority = rsc->priority + 1;
rsc                58 lib/pengine/native.c         priority = rsc->priority;
rsc                62 lib/pengine/native.c     pe_rsc_trace(rsc, "%s now has priority %d with %s'%s' (priority: %d%s)",
rsc                64 lib/pengine/native.c                  (rsc->role == pcmk_role_promoted)? "promoted " : "",
rsc                65 lib/pengine/native.c                  rsc->id, rsc->priority,
rsc                66 lib/pengine/native.c                  (rsc->role == pcmk_role_promoted)? " + 1" : "");
rsc                78 lib/pengine/native.c             pe_rsc_trace(rsc, "%s now has priority %d with %s'%s' (priority: %d%s) "
rsc                81 lib/pengine/native.c                          (rsc->role == pcmk_role_promoted)? "promoted " : "",
rsc                82 lib/pengine/native.c                          rsc->id, rsc->priority,
rsc                83 lib/pengine/native.c                          (rsc->role == pcmk_role_promoted)? " + 1" : "",
rsc                90 lib/pengine/native.c native_add_running(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc                93 lib/pengine/native.c     GList *gIter = rsc->running_on;
rsc               105 lib/pengine/native.c     pe_rsc_trace(rsc, "Adding %s to %s %s", rsc->id, pe__node_name(node),
rsc               106 lib/pengine/native.c                  pcmk_is_set(rsc->flags, pcmk_rsc_managed)? "" : "(unmanaged)");
rsc               108 lib/pengine/native.c     rsc->running_on = g_list_append(rsc->running_on, node);
rsc               109 lib/pengine/native.c     if (rsc->variant == pcmk_rsc_variant_primitive) {
rsc               110 lib/pengine/native.c         node->details->running_rsc = g_list_append(node->details->running_rsc, rsc);
rsc               112 lib/pengine/native.c         native_priority_to_node(rsc, node, failed);
rsc               115 lib/pengine/native.c     if ((rsc->variant == pcmk_rsc_variant_primitive)
rsc               117 lib/pengine/native.c         pe__clear_resource_flags(rsc, pcmk_rsc_managed);
rsc               118 lib/pengine/native.c         pe__set_resource_flags(rsc, pcmk_rsc_maintenance);
rsc               121 lib/pengine/native.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               122 lib/pengine/native.c         pcmk_resource_t *p = rsc->parent;
rsc               124 lib/pengine/native.c         pe_rsc_info(rsc, "resource %s isn't managed", rsc->id);
rsc               125 lib/pengine/native.c         resource_location(rsc, node, INFINITY, "not_managed_default",
rsc               136 lib/pengine/native.c     if (is_multiply_active(rsc)) {
rsc               137 lib/pengine/native.c         switch (rsc->recovery_type) {
rsc               144 lib/pengine/native.c                     if (rsc->allowed_nodes != NULL) {
rsc               145 lib/pengine/native.c                         g_hash_table_destroy(rsc->allowed_nodes);
rsc               147 lib/pengine/native.c                     rsc->allowed_nodes = pe__node_list2table(scheduler->nodes);
rsc               148 lib/pengine/native.c                     g_hash_table_iter_init(&gIter, rsc->allowed_nodes);
rsc               155 lib/pengine/native.c                 pe__clear_resource_flags(rsc, pcmk_rsc_managed);
rsc               156 lib/pengine/native.c                 pe__set_resource_flags(rsc, pcmk_rsc_blocked);
rsc               161 lib/pengine/native.c                 if (rsc->parent
rsc               162 lib/pengine/native.c                     && ((rsc->parent->variant == pcmk_rsc_variant_group)
rsc               163 lib/pengine/native.c                         || (rsc->parent->variant == pcmk_rsc_variant_bundle))
rsc               164 lib/pengine/native.c                     && (rsc->parent->recovery_type == pcmk_multiply_active_block)) {
rsc               165 lib/pengine/native.c                     GList *gIter = rsc->parent->children;
rsc               184 lib/pengine/native.c                   rsc->id, pe__node_name(node),
rsc               185 lib/pengine/native.c                   recovery2text(rsc->recovery_type));
rsc               188 lib/pengine/native.c         pe_rsc_trace(rsc, "Resource %s is active on %s",
rsc               189 lib/pengine/native.c                      rsc->id, pe__node_name(node));
rsc               192 lib/pengine/native.c     if (rsc->parent != NULL) {
rsc               193 lib/pengine/native.c         native_add_running(rsc->parent, node, scheduler, FALSE);
rsc               198 lib/pengine/native.c recursive_clear_unique(pcmk_resource_t *rsc, gpointer user_data)
rsc               200 lib/pengine/native.c     pe__clear_resource_flags(rsc, pcmk_rsc_unique);
rsc               201 lib/pengine/native.c     add_hash_param(rsc->meta, XML_RSC_ATTR_UNIQUE, XML_BOOLEAN_FALSE);
rsc               202 lib/pengine/native.c     g_list_foreach(rsc->children, (GFunc) recursive_clear_unique, NULL);
rsc               206 lib/pengine/native.c native_unpack(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler)
rsc               208 lib/pengine/native.c     pcmk_resource_t *parent = uber_parent(rsc);
rsc               209 lib/pengine/native.c     const char *standard = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
rsc               212 lib/pengine/native.c     pe_rsc_trace(rsc, "Processing resource %s...", rsc->id);
rsc               216 lib/pengine/native.c         && pcmk_is_set(rsc->flags, pcmk_rsc_unique)
rsc               224 lib/pengine/native.c         pe__force_anon(standard, parent, rsc->id, scheduler);
rsc               232 lib/pengine/native.c         recursive_clear_unique(rsc, NULL);
rsc               239 lib/pengine/native.c                rsc->id, standard);
rsc               246 lib/pengine/native.c rsc_is_on_node(pcmk_resource_t *rsc, const pcmk_node_t *node, int flags)
rsc               248 lib/pengine/native.c     pe_rsc_trace(rsc, "Checking whether %s is on %s",
rsc               249 lib/pengine/native.c                  rsc->id, pe__node_name(node));
rsc               252 lib/pengine/native.c         && (rsc->running_on != NULL)) {
rsc               254 lib/pengine/native.c         for (GList *iter = rsc->running_on; iter; iter = iter->next) {
rsc               263 lib/pengine/native.c                && (rsc->running_on == NULL)) {
rsc               267 lib/pengine/native.c                && (rsc->allocated_to != NULL)
rsc               268 lib/pengine/native.c                && (rsc->allocated_to->details == node->details)) {
rsc               275 lib/pengine/native.c native_find_rsc(pcmk_resource_t *rsc, const char *id,
rsc               281 lib/pengine/native.c     CRM_CHECK(id && rsc && rsc->id, return NULL);
rsc               284 lib/pengine/native.c         const char *rid = ID(rsc->xml);
rsc               286 lib/pengine/native.c         if (!pe_rsc_is_clone(pe__const_top_resource(rsc, false))) {
rsc               289 lib/pengine/native.c         } else if (!strcmp(id, rsc->id) || pcmk__str_eq(id, rid, pcmk__str_none)) {
rsc               293 lib/pengine/native.c     } else if (!strcmp(id, rsc->id)) {
rsc               297 lib/pengine/native.c                && rsc->clone_name && strcmp(rsc->clone_name, id) == 0) {
rsc               302 lib/pengine/native.c                    && !pcmk_is_set(rsc->flags, pcmk_rsc_unique))) {
rsc               303 lib/pengine/native.c         match = pe_base_name_eq(rsc, id);
rsc               307 lib/pengine/native.c         if (!rsc_is_on_node(rsc, on_node, flags)) {
rsc               313 lib/pengine/native.c         return rsc;
rsc               316 lib/pengine/native.c     for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) {
rsc               319 lib/pengine/native.c         result = rsc->fns->find_rsc(child, id, on_node, flags);
rsc               329 lib/pengine/native.c native_parameter(pcmk_resource_t *rsc, pcmk_node_t *node, gboolean create,
rsc               336 lib/pengine/native.c     CRM_CHECK(rsc != NULL, return NULL);
rsc               339 lib/pengine/native.c     pe_rsc_trace(rsc, "Looking up %s in %s", name, rsc->id);
rsc               340 lib/pengine/native.c     params = pe_rsc_params(rsc, node, scheduler);
rsc               344 lib/pengine/native.c         value = g_hash_table_lookup(rsc->meta, name);
rsc               351 lib/pengine/native.c native_active(pcmk_resource_t * rsc, gboolean all)
rsc               353 lib/pengine/native.c     for (GList *gIter = rsc->running_on; gIter != NULL; gIter = gIter->next) {
rsc               357 lib/pengine/native.c             pe_rsc_trace(rsc, "Resource %s: %s is unclean",
rsc               358 lib/pengine/native.c                          rsc->id, pe__node_name(a_node));
rsc               361 lib/pengine/native.c                    && pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               362 lib/pengine/native.c             pe_rsc_trace(rsc, "Resource %s: %s is offline",
rsc               363 lib/pengine/native.c                          rsc->id, pe__node_name(a_node));
rsc               365 lib/pengine/native.c             pe_rsc_trace(rsc, "Resource %s active on %s",
rsc               366 lib/pengine/native.c                          rsc->id, pe__node_name(a_node));
rsc               379 lib/pengine/native.c native_pending_state(const pcmk_resource_t *rsc)
rsc               383 lib/pengine/native.c     if (pcmk__str_eq(rsc->pending_task, PCMK_ACTION_START, pcmk__str_casei)) {
rsc               386 lib/pengine/native.c     } else if (pcmk__str_eq(rsc->pending_task, PCMK_ACTION_STOP,
rsc               390 lib/pengine/native.c     } else if (pcmk__str_eq(rsc->pending_task, PCMK_ACTION_MIGRATE_TO,
rsc               394 lib/pengine/native.c     } else if (pcmk__str_eq(rsc->pending_task, PCMK_ACTION_MIGRATE_FROM,
rsc               399 lib/pengine/native.c     } else if (pcmk__str_eq(rsc->pending_task, PCMK_ACTION_PROMOTE,
rsc               403 lib/pengine/native.c     } else if (pcmk__str_eq(rsc->pending_task, PCMK_ACTION_DEMOTE,
rsc               412 lib/pengine/native.c native_pending_task(const pcmk_resource_t *rsc)
rsc               416 lib/pengine/native.c     if (pcmk__str_eq(rsc->pending_task, PCMK_ACTION_MONITOR, pcmk__str_casei)) {
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->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 = role2text(native_displayable_role(rsc));
rsc               466 lib/pengine/native.c native_print_xml(pcmk_resource_t *rsc, const char *pre_text, long options,
rsc               469 lib/pengine/native.c     const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
rsc               470 lib/pengine/native.c     const char *prov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER);
rsc               471 lib/pengine/native.c     const char *rsc_state = native_displayable_state(rsc, pcmk_is_set(options, pe_print_pending));
rsc               476 lib/pengine/native.c     status_print(XML_ATTR_ID "=\"%s\" ", rsc_printable_id(rsc));
rsc               480 lib/pengine/native.c                  crm_element_value(rsc->xml, XML_ATTR_TYPE));
rsc               483 lib/pengine/native.c     if (rsc->meta) {
rsc               484 lib/pengine/native.c         target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE);
rsc               489 lib/pengine/native.c     status_print("active=\"%s\" ", pcmk__btoa(rsc->fns->active(rsc, TRUE)));
rsc               490 lib/pengine/native.c     status_print("orphaned=\"%s\" ", pe__rsc_bool_str(rsc, pcmk_rsc_removed));
rsc               492 lib/pengine/native.c                  pe__rsc_bool_str(rsc, pcmk_rsc_blocked));
rsc               494 lib/pengine/native.c                  pe__rsc_bool_str(rsc, pcmk_rsc_managed));
rsc               495 lib/pengine/native.c     status_print("failed=\"%s\" ", pe__rsc_bool_str(rsc, pcmk_rsc_failed));
rsc               497 lib/pengine/native.c                  pe__rsc_bool_str(rsc, pcmk_rsc_ignore_failure));
rsc               498 lib/pengine/native.c     status_print("nodes_running_on=\"%d\" ", g_list_length(rsc->running_on));
rsc               501 lib/pengine/native.c         const char *pending_task = native_pending_task(rsc);
rsc               512 lib/pengine/native.c     } else if (rsc->running_on != NULL) {
rsc               513 lib/pengine/native.c         GList *gIter = rsc->running_on;
rsc               563 lib/pengine/native.c pcmk__native_output_string(const pcmk_resource_t *rsc, const char *name,
rsc               567 lib/pengine/native.c     const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
rsc               569 lib/pengine/native.c     const char *kind = crm_element_value(rsc->xml, XML_ATTR_TYPE);
rsc               573 lib/pengine/native.c     if (rsc->variant != pcmk_rsc_variant_primitive) {
rsc               582 lib/pengine/native.c         provider = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER);
rsc               585 lib/pengine/native.c     if ((node == NULL) && (rsc->lock_node != NULL)) {
rsc               586 lib/pengine/native.c         node = rsc->lock_node;
rsc               589 lib/pengine/native.c         || pcmk__list_of_multiple(rsc->running_on)) {
rsc               601 lib/pengine/native.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_removed)) {
rsc               604 lib/pengine/native.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_failed)) {
rsc               605 lib/pengine/native.c         enum rsc_role_e role = native_displayable_role(rsc);
rsc               614 lib/pengine/native.c         pcmk__add_word(&outstr, 0, native_displayable_state(rsc, show_pending));
rsc               621 lib/pengine/native.c     if (native_displayable_role(rsc) == pcmk_role_stopped) {
rsc               622 lib/pengine/native.c         xmlNode *probe_op = pe__failed_probe_for_rsc(rsc, node ? node->details->uname : NULL);
rsc               636 lib/pengine/native.c     if (node && (node == rsc->lock_node)) {
rsc               640 lib/pengine/native.c         const char *pending_task = native_pending_task(rsc);
rsc               656 lib/pengine/native.c         } else if (pcmk_is_set(pe__const_top_resource(rsc, false)->flags,
rsc               665 lib/pengine/native.c     if (pcmk_any_flags_set(rsc->flags,
rsc               667 lib/pengine/native.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_blocked)) {
rsc               670 lib/pengine/native.c         } else if (pcmk_is_set(rsc->flags, pcmk_rsc_maintenance)) {
rsc               673 lib/pengine/native.c     } else if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               677 lib/pengine/native.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_ignore_failure)) {
rsc               688 lib/pengine/native.c         || pcmk__list_of_multiple(rsc->running_on)) {
rsc               689 lib/pengine/native.c         const char *desc = crm_element_value(rsc->xml, XML_ATTR_DESC);
rsc               700 lib/pengine/native.c         && pcmk__list_of_multiple(rsc->running_on)) {
rsc               703 lib/pengine/native.c         for (GList *iter = rsc->running_on; iter != NULL; iter = iter->next) {
rsc               717 lib/pengine/native.c pe__common_output_html(pcmk__output_t *out, const pcmk_resource_t *rsc,
rsc               721 lib/pengine/native.c     const char *kind = crm_element_value(rsc->xml, XML_ATTR_TYPE);
rsc               727 lib/pengine/native.c     CRM_ASSERT(rsc->variant == pcmk_rsc_variant_primitive);
rsc               730 lib/pengine/native.c     if (rsc->meta) {
rsc               731 lib/pengine/native.c         const char *is_internal = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INTERNAL_RSC);
rsc               736 lib/pengine/native.c             crm_trace("skipping print of internal resource %s", rsc->id);
rsc               739 lib/pengine/native.c         target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE);
rsc               742 lib/pengine/native.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               745 lib/pengine/native.c     } else if (pcmk_is_set(rsc->flags, pcmk_rsc_failed)) {
rsc               748 lib/pengine/native.c     } else if ((rsc->variant == pcmk_rsc_variant_primitive)
rsc               749 lib/pengine/native.c                && (rsc->running_on == NULL)) {
rsc               752 lib/pengine/native.c     } else if (pcmk__list_of_multiple(rsc->running_on)) {
rsc               755 lib/pengine/native.c     } else if (pcmk_is_set(rsc->flags, pcmk_rsc_ignore_failure)) {
rsc               763 lib/pengine/native.c         gchar *s = pcmk__native_output_string(rsc, name, node, show_opts,
rsc               775 lib/pengine/native.c pe__common_output_text(pcmk__output_t *out, const pcmk_resource_t *rsc,
rsc               781 lib/pengine/native.c     CRM_ASSERT(rsc->variant == pcmk_rsc_variant_primitive);
rsc               783 lib/pengine/native.c     if (rsc->meta) {
rsc               784 lib/pengine/native.c         const char *is_internal = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INTERNAL_RSC);
rsc               789 lib/pengine/native.c             crm_trace("skipping print of internal resource %s", rsc->id);
rsc               792 lib/pengine/native.c         target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE);
rsc               796 lib/pengine/native.c         gchar *s = pcmk__native_output_string(rsc, name, node, show_opts,
rsc               811 lib/pengine/native.c common_print(pcmk_resource_t *rsc, const char *pre_text, const char *name,
rsc               816 lib/pengine/native.c     CRM_ASSERT(rsc->variant == pcmk_rsc_variant_primitive);
rsc               818 lib/pengine/native.c     if (rsc->meta) {
rsc               819 lib/pengine/native.c         const char *is_internal = g_hash_table_lookup(rsc->meta,
rsc               825 lib/pengine/native.c             crm_trace("skipping print of internal resource %s", rsc->id);
rsc               828 lib/pengine/native.c         target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE);
rsc               832 lib/pengine/native.c         native_print_xml(rsc, pre_text, options, print_data);
rsc               841 lib/pengine/native.c         if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               844 lib/pengine/native.c         } else if (pcmk_is_set(rsc->flags, pcmk_rsc_failed)) {
rsc               847 lib/pengine/native.c         } else if (rsc->running_on == NULL) {
rsc               850 lib/pengine/native.c         } else if (pcmk__list_of_multiple(rsc->running_on)) {
rsc               853 lib/pengine/native.c         } else if (pcmk_is_set(rsc->flags, pcmk_rsc_ignore_failure)) {
rsc               862 lib/pengine/native.c         gchar *resource_s = pcmk__native_output_string(rsc, name, node, options,
rsc               873 lib/pengine/native.c         && pcmk__list_of_multiple(rsc->running_on)) {
rsc               875 lib/pengine/native.c         GList *gIter = rsc->running_on;
rsc               931 lib/pengine/native.c native_print(pcmk_resource_t *rsc, const char *pre_text, long options,
rsc               936 lib/pengine/native.c     CRM_ASSERT(rsc->variant == pcmk_rsc_variant_primitive);
rsc               938 lib/pengine/native.c         native_print_xml(rsc, pre_text, options, print_data);
rsc               942 lib/pengine/native.c     node = pe__current_node(rsc);
rsc               946 lib/pengine/native.c         node = rsc->pending_node;
rsc               949 lib/pengine/native.c     common_print(rsc, pre_text, rsc_printable_id(rsc), node, options, print_data);
rsc               958 lib/pengine/native.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               963 lib/pengine/native.c     const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
rsc               964 lib/pengine/native.c     const char *prov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER);
rsc               965 lib/pengine/native.c     const char *rsc_state = native_displayable_state(rsc, print_pending);
rsc               974 lib/pengine/native.c     desc = pe__resource_description(rsc, show_opts);
rsc               976 lib/pengine/native.c     if (rsc->meta != NULL) {
rsc               977 lib/pengine/native.c        target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE);
rsc               980 lib/pengine/native.c     CRM_ASSERT(rsc->variant == pcmk_rsc_variant_primitive);
rsc               982 lib/pengine/native.c     if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc               989 lib/pengine/native.c             crm_element_value(rsc->xml, XML_ATTR_TYPE));
rsc               991 lib/pengine/native.c     nodes_running_on = pcmk__itoa(g_list_length(rsc->running_on));
rsc               993 lib/pengine/native.c     if (rsc->lock_node != NULL) {
rsc               994 lib/pengine/native.c         lock_node_name = rsc->lock_node->details->uname;
rsc               998 lib/pengine/native.c              "id", rsc_printable_id(rsc),
rsc              1002 lib/pengine/native.c              "active", pcmk__btoa(rsc->fns->active(rsc, TRUE)),
rsc              1003 lib/pengine/native.c              "orphaned", pe__rsc_bool_str(rsc, pcmk_rsc_removed),
rsc              1004 lib/pengine/native.c              "blocked", pe__rsc_bool_str(rsc, pcmk_rsc_blocked),
rsc              1005 lib/pengine/native.c              "maintenance", pe__rsc_bool_str(rsc, pcmk_rsc_maintenance),
rsc              1006 lib/pengine/native.c              "managed", pe__rsc_bool_str(rsc, pcmk_rsc_managed),
rsc              1007 lib/pengine/native.c              "failed", pe__rsc_bool_str(rsc, pcmk_rsc_failed),
rsc              1008 lib/pengine/native.c              "failure_ignored", pe__rsc_bool_str(rsc, pcmk_rsc_ignore_failure),
rsc              1010 lib/pengine/native.c              "pending", (print_pending? native_pending_task(rsc) : NULL),
rsc              1017 lib/pengine/native.c     if (rsc->running_on != NULL) {
rsc              1018 lib/pengine/native.c         GList *gIter = rsc->running_on;
rsc              1041 lib/pengine/native.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              1045 lib/pengine/native.c     const pcmk_node_t *node = pe__current_node(rsc);
rsc              1047 lib/pengine/native.c     if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc              1051 lib/pengine/native.c     CRM_ASSERT(rsc->variant == pcmk_rsc_variant_primitive);
rsc              1055 lib/pengine/native.c         node = rsc->pending_node;
rsc              1057 lib/pengine/native.c     return pe__common_output_html(out, rsc, rsc_printable_id(rsc), node, show_opts);
rsc              1066 lib/pengine/native.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              1070 lib/pengine/native.c     const pcmk_node_t *node = pe__current_node(rsc);
rsc              1072 lib/pengine/native.c     CRM_ASSERT(rsc->variant == pcmk_rsc_variant_primitive);
rsc              1074 lib/pengine/native.c     if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc              1080 lib/pengine/native.c         node = rsc->pending_node;
rsc              1082 lib/pengine/native.c     return pe__common_output_text(out, rsc, rsc_printable_id(rsc), node, show_opts);
rsc              1086 lib/pengine/native.c native_free(pcmk_resource_t * rsc)
rsc              1088 lib/pengine/native.c     pe_rsc_trace(rsc, "Freeing resource action list (not the data)");
rsc              1089 lib/pengine/native.c     common_free(rsc);
rsc              1093 lib/pengine/native.c native_resource_state(const pcmk_resource_t * rsc, gboolean current)
rsc              1095 lib/pengine/native.c     enum rsc_role_e role = rsc->next_role;
rsc              1098 lib/pengine/native.c         role = rsc->role;
rsc              1100 lib/pengine/native.c     pe_rsc_trace(rsc, "%s state: %s", rsc->id, role2text(role));
rsc              1116 lib/pengine/native.c native_location(const pcmk_resource_t *rsc, GList **list, int current)
rsc              1122 lib/pengine/native.c     if (rsc->children) {
rsc              1123 lib/pengine/native.c         GList *gIter = rsc->children;
rsc              1133 lib/pengine/native.c         if (rsc->running_on) {
rsc              1134 lib/pengine/native.c             result = g_list_copy(rsc->running_on);
rsc              1136 lib/pengine/native.c         if ((current == 2) && rsc->pending_node
rsc              1137 lib/pengine/native.c             && !pe_find_node_id(result, rsc->pending_node->details->id)) {
rsc              1138 lib/pengine/native.c                 result = g_list_append(result, rsc->pending_node);
rsc              1141 lib/pengine/native.c     } else if (current == FALSE && rsc->allocated_to) {
rsc              1142 lib/pengine/native.c         result = g_list_append(NULL, rsc->allocated_to);
rsc              1171 lib/pengine/native.c         pcmk_resource_t *rsc = (pcmk_resource_t *) gIter->data;
rsc              1173 lib/pengine/native.c         const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
rsc              1174 lib/pengine/native.c         const char *kind = crm_element_value(rsc->xml, XML_ATTR_TYPE);
rsc              1182 lib/pengine/native.c         if (rsc->variant != pcmk_rsc_variant_primitive) {
rsc              1188 lib/pengine/native.c             const char *prov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER);
rsc              1209 lib/pengine/native.c             GList *gIter2 = rsc->running_on;
rsc              1216 lib/pengine/native.c                     pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc              1425 lib/pengine/native.c pe__native_is_filtered(const pcmk_resource_t *rsc, GList *only_rsc,
rsc              1428 lib/pengine/native.c     if (pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches) ||
rsc              1429 lib/pengine/native.c         pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches)) {
rsc              1431 lib/pengine/native.c     } else if (check_parent && rsc->parent) {
rsc              1432 lib/pengine/native.c         const pcmk_resource_t *up = pe__const_top_resource(rsc, true);
rsc              1449 lib/pengine/native.c pe__primitive_max_per_node(const pcmk_resource_t *rsc)
rsc              1451 lib/pengine/native.c     CRM_ASSERT((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_primitive));
rsc                55 lib/pengine/pe_actions.c find_existing_action(const char *key, const pcmk_resource_t *rsc,
rsc                64 lib/pengine/pe_actions.c     matches = find_actions(((rsc == NULL)? scheduler->actions : rsc->actions),
rsc                87 lib/pengine/pe_actions.c find_exact_action_config(const pcmk_resource_t *rsc, const char *action_name,
rsc                90 lib/pengine/pe_actions.c     for (xmlNode *operation = first_named_child(rsc->ops_xml, XML_ATTR_OP);
rsc               129 lib/pengine/pe_actions.c pcmk__find_action_config(const pcmk_resource_t *rsc, const char *action_name,
rsc               135 lib/pengine/pe_actions.c     action_config = find_exact_action_config(rsc, action_name, interval_ms,
rsc               143 lib/pengine/pe_actions.c         action_config = find_exact_action_config(rsc, "migrate", 0,
rsc               166 lib/pengine/pe_actions.c new_action(char *key, const char *task, pcmk_resource_t *rsc,
rsc               173 lib/pengine/pe_actions.c     action->rsc = rsc;
rsc               193 lib/pengine/pe_actions.c     if (rsc == NULL) {
rsc               199 lib/pengine/pe_actions.c         action->op_entry = pcmk__find_action_config(rsc, task, interval_ms,
rsc               206 lib/pengine/pe_actions.c             action->op_entry = find_exact_action_config(rsc, PCMK_ACTION_NOTIFY,
rsc               213 lib/pengine/pe_actions.c     pe_rsc_trace(rsc, "Created %s action %d (%s): %s for %s on %s",
rsc               216 lib/pengine/pe_actions.c                  ((rsc == NULL)? "no resource" : rsc->id),
rsc               221 lib/pengine/pe_actions.c     if (rsc == NULL) {
rsc               224 lib/pengine/pe_actions.c         rsc->actions = g_list_prepend(rsc->actions, action);
rsc               272 lib/pengine/pe_actions.c     if ((action->rsc != NULL) && (action->node != NULL)
rsc               274 lib/pengine/pe_actions.c         && !pcmk_is_set(action->rsc->flags, pcmk_rsc_managed)
rsc               277 lib/pengine/pe_actions.c             pe_rsc_debug(action->rsc, "%s on %s is optional (%s is unmanaged)",
rsc               279 lib/pengine/pe_actions.c                          action->rsc->id);
rsc               290 lib/pengine/pe_actions.c effective_quorum_policy(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler)
rsc               298 lib/pengine/pe_actions.c         switch (rsc->role) {
rsc               301 lib/pengine/pe_actions.c                 if (rsc->next_role > pcmk_role_unpromoted) {
rsc               302 lib/pengine/pe_actions.c                     pe__set_next_role(rsc, pcmk_role_unpromoted,
rsc               333 lib/pengine/pe_actions.c         pe_rsc_trace(action->rsc, "%s is unrunnable (unallocated)",
rsc               344 lib/pengine/pe_actions.c         if (pcmk_is_set(action->rsc->flags, pcmk_rsc_managed)
rsc               366 lib/pengine/pe_actions.c             pe_rsc_debug(action->rsc, "%s on %s is unrunnable "
rsc               371 lib/pengine/pe_actions.c             pe_rsc_trace(action->rsc,
rsc               378 lib/pengine/pe_actions.c         switch (effective_quorum_policy(action->rsc, scheduler)) {
rsc               380 lib/pengine/pe_actions.c                 pe_rsc_debug(action->rsc, "%s on %s is unrunnable (no quorum)",
rsc               387 lib/pengine/pe_actions.c                 if (!action->rsc->fns->active(action->rsc, TRUE)
rsc               388 lib/pengine/pe_actions.c                     || (action->rsc->next_role > action->rsc->role)) {
rsc               389 lib/pengine/pe_actions.c                     pe_rsc_debug(action->rsc,
rsc               413 lib/pengine/pe_actions.c update_resource_flags_for_action(pcmk_resource_t *rsc,
rsc               420 lib/pengine/pe_actions.c         pe__set_resource_flags(rsc, pcmk_rsc_stopping);
rsc               424 lib/pengine/pe_actions.c             pe__set_resource_flags(rsc, pcmk_rsc_starting);
rsc               426 lib/pengine/pe_actions.c             pe__clear_resource_flags(rsc, pcmk_rsc_starting);
rsc               447 lib/pengine/pe_actions.c validate_on_fail(const pcmk_resource_t *rsc, const char *action_name,
rsc               463 lib/pengine/pe_actions.c                          "allowed for stop", rsc->id, value);
rsc               478 lib/pengine/pe_actions.c         for (xmlNode *operation = first_named_child(rsc->ops_xml, XML_ATTR_OP);
rsc               547 lib/pengine/pe_actions.c                              "allowed for it", rsc->id, name);
rsc               639 lib/pengine/pe_actions.c most_frequent_monitor(const pcmk_resource_t *rsc)
rsc               644 lib/pengine/pe_actions.c     for (xmlNode *operation = first_named_child(rsc->ops_xml, XML_ATTR_OP);
rsc               692 lib/pengine/pe_actions.c pcmk__unpack_action_meta(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               703 lib/pengine/pe_actions.c         .standard = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS),
rsc               704 lib/pengine/pe_actions.c         .provider = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER),
rsc               705 lib/pengine/pe_actions.c         .agent = crm_element_value(rsc->xml, XML_EXPR_ATTR_TYPE),
rsc               716 lib/pengine/pe_actions.c         .now = rsc->cluster->now,
rsc               725 lib/pengine/pe_actions.c     pe__unpack_dataset_nvpairs(rsc->cluster->op_defaults, XML_TAG_META_SETS,
rsc               726 lib/pengine/pe_actions.c                                &rule_data, meta, NULL, FALSE, rsc->cluster);
rsc               730 lib/pengine/pe_actions.c         xmlNode *min_interval_mon = most_frequent_monitor(rsc);
rsc               739 lib/pengine/pe_actions.c                 pe_rsc_trace(rsc,
rsc               742 lib/pengine/pe_actions.c                              rsc->id, timeout_spec);
rsc               754 lib/pengine/pe_actions.c                                    meta, NULL, TRUE, rsc->cluster);
rsc               798 lib/pengine/pe_actions.c         GHashTable *params = pe_rsc_params(rsc, node, rsc->cluster);
rsc               802 lib/pengine/pe_actions.c             pe_rsc_trace(rsc,
rsc               805 lib/pengine/pe_actions.c                          rsc->id, action_name, timeout_spec);
rsc               820 lib/pengine/pe_actions.c     validate_on_fail(rsc, action_name, action_config, meta);
rsc               831 lib/pengine/pe_actions.c                                    rsc->cluster->now, &start_delay)) {
rsc               851 lib/pengine/pe_actions.c pcmk__action_requires(const pcmk_resource_t *rsc, const char *action_name)
rsc               856 lib/pengine/pe_actions.c     CRM_CHECK((rsc != NULL) && (action_name != NULL), return requires);
rsc               862 lib/pengine/pe_actions.c     } else if (pcmk_is_set(rsc->flags, pcmk_rsc_needs_fencing)) {
rsc               866 lib/pengine/pe_actions.c     } else if (pcmk_is_set(rsc->flags, pcmk_rsc_needs_quorum)) {
rsc               873 lib/pengine/pe_actions.c     pe_rsc_trace(rsc, "%s of %s requires %s", action_name, rsc->id, value);
rsc               889 lib/pengine/pe_actions.c pcmk__parse_on_fail(const pcmk_resource_t *rsc, const char *action_name,
rsc               904 lib/pengine/pe_actions.c         if (pcmk_is_set(rsc->cluster->flags, pcmk_sched_fencing_enabled)) {
rsc               911 lib/pengine/pe_actions.c                              action_name, rsc->id);
rsc               937 lib/pengine/pe_actions.c         if (rsc->container == NULL) {
rsc               938 lib/pengine/pe_actions.c             pe_rsc_debug(rsc,
rsc               941 lib/pengine/pe_actions.c                          action_name, rsc->id);
rsc               954 lib/pengine/pe_actions.c                          action_name, rsc->id, value);
rsc               962 lib/pengine/pe_actions.c     if (pe__resource_is_remote_conn(rsc)
rsc               966 lib/pengine/pe_actions.c         if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               974 lib/pengine/pe_actions.c     } else if (rsc->container != NULL) {
rsc               979 lib/pengine/pe_actions.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               980 lib/pengine/pe_actions.c             if (pcmk_is_set(rsc->cluster->flags,
rsc               993 lib/pengine/pe_actions.c         if (pcmk_is_set(rsc->cluster->flags, pcmk_sched_fencing_enabled)) {
rsc              1006 lib/pengine/pe_actions.c     pe_rsc_trace(rsc, "Failure handling for %s-interval %s of %s: %s",
rsc              1008 lib/pengine/pe_actions.c                  rsc->id, desc);
rsc              1024 lib/pengine/pe_actions.c pcmk__role_after_failure(const pcmk_resource_t *rsc, const char *action_name,
rsc              1037 lib/pengine/pe_actions.c             if (rsc->remote_reconnect_ms != 0) {
rsc              1065 lib/pengine/pe_actions.c     pe_rsc_trace(rsc, "Role after %s %s failure is: %s",
rsc              1066 lib/pengine/pe_actions.c                  rsc->id, action_name, role2text(role));
rsc              1088 lib/pengine/pe_actions.c     action->meta = pcmk__unpack_action_meta(action->rsc, action->node,
rsc              1090 lib/pengine/pe_actions.c     action->needs = pcmk__action_requires(action->rsc, action->task);
rsc              1093 lib/pengine/pe_actions.c     action->on_fail = pcmk__parse_on_fail(action->rsc, action->task,
rsc              1096 lib/pengine/pe_actions.c     action->fail_role = pcmk__role_after_failure(action->rsc, action->task,
rsc              1117 lib/pengine/pe_actions.c custom_action(pcmk_resource_t *rsc, char *key, const char *task,
rsc              1125 lib/pengine/pe_actions.c     action = find_existing_action(key, rsc, on_node, scheduler);
rsc              1127 lib/pengine/pe_actions.c         action = new_action(key, task, rsc, on_node, optional, scheduler);
rsc              1134 lib/pengine/pe_actions.c     if (rsc != NULL) {
rsc              1149 lib/pengine/pe_actions.c         update_resource_flags_for_action(rsc, action);
rsc              1404 lib/pengine/pe_actions.c pe_get_configured_timeout(pcmk_resource_t *rsc, const char *action,
rsc              1421 lib/pengine/pe_actions.c     for (child = first_named_child(rsc->ops_xml, XML_ATTR_OP);
rsc              1453 lib/pengine/pe_actions.c get_complex_task(const pcmk_resource_t *rsc, const char *name)
rsc              1457 lib/pengine/pe_actions.c     if ((rsc != NULL) && (rsc->variant == pcmk_rsc_variant_primitive)) {
rsc              1464 lib/pengine/pe_actions.c                           name, rsc->id);
rsc              1588 lib/pengine/pe_actions.c pe__resource_actions(const pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc              1592 lib/pengine/pe_actions.c     char *key = pcmk__op_key(rsc->id, task, 0);
rsc              1595 lib/pengine/pe_actions.c         result = find_actions_exact(rsc->actions, key, node);
rsc              1597 lib/pengine/pe_actions.c         result = find_actions(rsc->actions, key, node);
rsc              1634 lib/pengine/pe_actions.c                              (action->rsc == NULL)? "" : " ",
rsc              1635 lib/pengine/pe_actions.c                              (action->rsc == NULL)? "" : action->rsc->id,
rsc              1643 lib/pengine/pe_actions.c         pe_rsc_trace(action->rsc, "Changing %s reason from '%s' to '%s'",
rsc              1646 lib/pengine/pe_actions.c         pe_rsc_trace(action->rsc, "Set %s reason to '%s'",
rsc              1664 lib/pengine/pe_actions.c pe__clear_resource_history(pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc              1666 lib/pengine/pe_actions.c     CRM_ASSERT((rsc != NULL) && (node != NULL));
rsc              1668 lib/pengine/pe_actions.c     custom_action(rsc, pcmk__op_key(rsc->id, PCMK_ACTION_LRM_DELETE, 0),
rsc              1669 lib/pengine/pe_actions.c                   PCMK_ACTION_LRM_DELETE, node, FALSE, rsc->cluster);
rsc              1835 lib/pengine/pe_actions.c pe__new_rsc_pseudo_action(pcmk_resource_t *rsc, const char *task, bool optional,
rsc              1840 lib/pengine/pe_actions.c     CRM_ASSERT((rsc != NULL) && (task != NULL));
rsc              1842 lib/pengine/pe_actions.c     action = custom_action(rsc, pcmk__op_key(rsc->id, task, 0), task, NULL,
rsc              1843 lib/pengine/pe_actions.c                            optional, rsc->cluster);
rsc                99 lib/pengine/pe_digest.c calculate_main_digest(op_digest_cache_t *data, pcmk_resource_t *rsc,
rsc               112 lib/pengine/pe_digest.c     (void) pe__add_bundle_remote_name(rsc, scheduler, data->params_all,
rsc               137 lib/pengine/pe_digest.c     action_config = pcmk__find_action_config(rsc, task, *interval_ms, true);
rsc               158 lib/pengine/pe_digest.c     params = pcmk__unpack_action_meta(rsc, node, task, *interval_ms,
rsc               188 lib/pengine/pe_digest.c calculate_secure_digest(op_digest_cache_t *data, const pcmk_resource_t *rsc,
rsc               192 lib/pengine/pe_digest.c     const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
rsc               306 lib/pengine/pe_digest.c pe__calculate_digests(pcmk_resource_t *rsc, const char *task,
rsc               333 lib/pengine/pe_digest.c     params = pe_rsc_params(rsc, node, scheduler);
rsc               334 lib/pengine/pe_digest.c     calculate_main_digest(data, rsc, node, params, task, interval_ms, xml_op,
rsc               337 lib/pengine/pe_digest.c         calculate_secure_digest(data, rsc, params, xml_op, op_version,
rsc               359 lib/pengine/pe_digest.c rsc_action_digest(pcmk_resource_t *rsc, const char *task, guint interval_ms,
rsc               364 lib/pengine/pe_digest.c     char *key = pcmk__op_key(rsc->id, task, interval_ms);
rsc               368 lib/pengine/pe_digest.c         data = pe__calculate_digests(rsc, task, &interval_ms, node, xml_op,
rsc               389 lib/pengine/pe_digest.c rsc_action_digest_cmp(pcmk_resource_t *rsc, const xmlNode *xml_op,
rsc               407 lib/pengine/pe_digest.c     data = rsc_action_digest(rsc, task, interval_ms, node, xml_op,
rsc               413 lib/pengine/pe_digest.c         pe_rsc_info(rsc, "Parameters to %ums-interval %s action for %s on %s "
rsc               415 lib/pengine/pe_digest.c                     interval_ms, task, rsc->id, pe__node_name(node),
rsc               437 lib/pengine/pe_digest.c             pe_rsc_info(rsc, "Parameters containing extra ones to %ums-interval"
rsc               440 lib/pengine/pe_digest.c                         interval_ms, task, rsc->id, pe__node_name(node),
rsc               446 lib/pengine/pe_digest.c             pe_rsc_info(rsc, "Parameters to %ums-interval %s action for %s on %s "
rsc               448 lib/pengine/pe_digest.c                         interval_ms, task, rsc->id, pe__node_name(node),
rsc               541 lib/pengine/pe_digest.c pe__compare_fencing_digest(pcmk_resource_t *rsc, const char *agent,
rsc               547 lib/pengine/pe_digest.c     op_digest_cache_t *data = rsc_action_digest(rsc, STONITH_DIGEST_TASK, 0U,
rsc               558 lib/pengine/pe_digest.c     if (unfencing_digest_matches(rsc->id, agent, data->digest_all_calc,
rsc               566 lib/pengine/pe_digest.c     if (unfencing_digest_matches(rsc->id, agent, data->digest_secure_calc,
rsc               572 lib/pengine/pe_digest.c                       "for unfencing %s changed", rsc->id,
rsc               585 lib/pengine/pe_digest.c             char *digest = create_unfencing_summary(rsc->id, agent,
rsc               589 lib/pengine/pe_digest.c                       "%s changed, try '%s'", rsc->id,
rsc               593 lib/pengine/pe_digest.c             char *digest = create_unfencing_summary(rsc->id, agent,
rsc               597 lib/pengine/pe_digest.c                    rsc->id, pe__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               101 lib/pengine/pe_notif.c     dup->rsc = entry->rsc;
rsc               198 lib/pengine/pe_notif.c         CRM_LOG_ASSERT((entry != NULL) && (entry->rsc != NULL)
rsc               199 lib/pengine/pe_notif.c                        && (entry->rsc->id != NULL));
rsc               200 lib/pengine/pe_notif.c         if ((entry == NULL) || (entry->rsc == NULL)
rsc               201 lib/pengine/pe_notif.c             || (entry->rsc->id == NULL)) {
rsc               212 lib/pengine/pe_notif.c         if (pcmk__str_eq(entry->rsc->id, last_rsc_id, pcmk__str_none)) {
rsc               215 lib/pengine/pe_notif.c         last_rsc_id = entry->rsc->id;
rsc               218 lib/pengine/pe_notif.c             pcmk__add_word(rsc_names, 1024, entry->rsc->id);
rsc               283 lib/pengine/pe_notif.c new_notify_pseudo_action(pcmk_resource_t *rsc, const pcmk_action_t *action,
rsc               288 lib/pengine/pe_notif.c     notify = custom_action(rsc,
rsc               289 lib/pengine/pe_notif.c                            pcmk__notify_key(rsc->id, notif_type, action->task),
rsc               292 lib/pengine/pe_notif.c                            rsc->cluster);
rsc               312 lib/pengine/pe_notif.c new_notify_action(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               322 lib/pengine/pe_notif.c     CRM_CHECK((rsc != NULL) && (node != NULL), return NULL);
rsc               335 lib/pengine/pe_notif.c         pe_rsc_trace(rsc, "Skipping notify action for %s on %s: %s",
rsc               336 lib/pengine/pe_notif.c                      rsc->id, pe__node_name(node), skip_reason);
rsc               343 lib/pengine/pe_notif.c     pe_rsc_trace(rsc, "Creating notify action for %s on %s (%s-%s)",
rsc               344 lib/pengine/pe_notif.c                  rsc->id, pe__node_name(node), value, task);
rsc               347 lib/pengine/pe_notif.c     key = pcmk__notify_key(rsc->id, value, task);
rsc               348 lib/pengine/pe_notif.c     notify_action = custom_action(rsc, key, op->task, node,
rsc               350 lib/pengine/pe_notif.c                                   rsc->cluster);
rsc               371 lib/pengine/pe_notif.c new_post_notify_action(pcmk_resource_t *rsc, const pcmk_node_t *node,
rsc               379 lib/pengine/pe_notif.c     notify = new_notify_action(rsc, node, n_data->post, n_data->post_done,
rsc               389 lib/pengine/pe_notif.c     for (GList *iter = rsc->actions; iter != NULL; iter = iter->next) {
rsc               435 lib/pengine/pe_notif.c pe__action_notif_pseudo_ops(pcmk_resource_t *rsc, const char *task,
rsc               440 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               475 lib/pengine/pe_notif.c         n_data->post = new_notify_pseudo_action(rsc, complete,
rsc               487 lib/pengine/pe_notif.c         n_data->post_done = new_notify_pseudo_action(rsc, complete,
rsc               524 lib/pengine/pe_notif.c new_notify_entry(const pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc               529 lib/pengine/pe_notif.c     entry->rsc = rsc;
rsc               543 lib/pengine/pe_notif.c collect_resource_data(const pcmk_resource_t *rsc, bool activity,
rsc               555 lib/pengine/pe_notif.c         n_data->allowed_nodes = rsc->allowed_nodes;
rsc               559 lib/pengine/pe_notif.c     if (rsc->children != NULL) {
rsc               560 lib/pengine/pe_notif.c         for (iter = rsc->children; iter != NULL; iter = iter->next) {
rsc               570 lib/pengine/pe_notif.c     if (rsc->running_on != NULL) {
rsc               571 lib/pengine/pe_notif.c         node = rsc->running_on->data; // First is sufficient
rsc               573 lib/pengine/pe_notif.c     entry = new_notify_entry(rsc, node);
rsc               576 lib/pengine/pe_notif.c     switch (rsc->role) {
rsc               600 lib/pengine/pe_notif.c                     rsc->id, pe__node_name(node), role2text(rsc->role));
rsc               610 lib/pengine/pe_notif.c     for (iter = rsc->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->meta, XML_RSC_ATTR_TARGET);
rsc               758 lib/pengine/pe_notif.c         get_node_names(rsc->cluster->nodes, &node_list, &metal_list);
rsc               761 lib/pengine/pe_notif.c         get_node_names(rsc->cluster->nodes, &node_list, NULL);
rsc               807 lib/pengine/pe_notif.c create_notify_actions(pcmk_resource_t *rsc, notify_data_t *n_data)
rsc               815 lib/pengine/pe_notif.c     if (rsc->children != NULL) {
rsc               816 lib/pengine/pe_notif.c         g_list_foreach(rsc->children, (GFunc) create_notify_actions, n_data);
rsc               821 lib/pengine/pe_notif.c     for (iter = rsc->actions; iter != NULL; iter = iter->next) {
rsc               843 lib/pengine/pe_notif.c                 pe_rsc_trace(rsc, "No notify action needed for %s %s",
rsc               844 lib/pengine/pe_notif.c                              rsc->id, n_data->action);
rsc               851 lib/pengine/pe_notif.c                 pe_rsc_trace(rsc, "No notify action needed for %s %s",
rsc               852 lib/pengine/pe_notif.c                              rsc->id, n_data->action);
rsc               859 lib/pengine/pe_notif.c                 pe_rsc_trace(rsc, "No notify action needed for %s %s",
rsc               860 lib/pengine/pe_notif.c                              rsc->id, n_data->action);
rsc               870 lib/pengine/pe_notif.c     pe_rsc_trace(rsc, "Creating notify actions for %s %s",
rsc               871 lib/pengine/pe_notif.c                  rsc->id, n_data->action);
rsc               874 lib/pengine/pe_notif.c     if ((rsc->role != pcmk_role_stopped)
rsc               877 lib/pengine/pe_notif.c         stop = find_first_action(rsc->actions, NULL, PCMK_ACTION_STOP, NULL);
rsc               879 lib/pengine/pe_notif.c         for (iter = rsc->running_on; iter != NULL; iter = iter->next) {
rsc               892 lib/pengine/pe_notif.c             new_notify_action(rsc, current_node, n_data->pre,
rsc               897 lib/pengine/pe_notif.c                 new_post_notify_action(rsc, current_node, n_data);
rsc               903 lib/pengine/pe_notif.c     if ((rsc->next_role != pcmk_role_stopped)
rsc               906 lib/pengine/pe_notif.c         start = find_first_action(rsc->actions, NULL, PCMK_ACTION_START, NULL);
rsc               920 lib/pengine/pe_notif.c         if (rsc->allocated_to == NULL) {
rsc               922 lib/pengine/pe_notif.c                         role2text(rsc->next_role), rsc->id);
rsc               928 lib/pengine/pe_notif.c             new_notify_action(rsc, rsc->allocated_to, n_data->pre,
rsc               931 lib/pengine/pe_notif.c         new_post_notify_action(rsc, rsc->allocated_to, n_data);
rsc               943 lib/pengine/pe_notif.c pe__create_action_notifications(pcmk_resource_t *rsc, notify_data_t *n_data)
rsc               945 lib/pengine/pe_notif.c     if ((rsc == NULL) || (n_data == NULL)) {
rsc               948 lib/pengine/pe_notif.c     collect_resource_data(rsc, true, n_data);
rsc               949 lib/pengine/pe_notif.c     add_notif_keys(rsc, n_data);
rsc               950 lib/pengine/pe_notif.c     create_notify_actions(rsc, n_data);
rsc               992 lib/pengine/pe_notif.c pe__order_notifs_after_fencing(const pcmk_action_t *stop, pcmk_resource_t *rsc,
rsc               998 lib/pengine/pe_notif.c     n_data = pe__action_notif_pseudo_ops(rsc, PCMK_ACTION_STOP, NULL,
rsc              1002 lib/pengine/pe_notif.c         collect_resource_data(rsc, false, n_data);
rsc              1003 lib/pengine/pe_notif.c         add_notify_env(n_data, "notify_stop_resource", rsc->id);
rsc              1005 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                27 lib/pengine/pe_output.c         desc = crm_element_value(rsc->xml, XML_ATTR_DESC);
rsc                70 lib/pengine/pe_output.c         pcmk_resource_t *rsc = (pcmk_resource_t *) gIter->data;
rsc                71 lib/pengine/pe_output.c         const char *type = g_hash_table_lookup(rsc->meta, "type");
rsc                75 lib/pengine/pe_output.c         if (rsc->children != NULL) {
rsc                76 lib/pengine/pe_output.c             if (add_extra_info(node, rsc->children, scheduler, attrname,
rsc                86 lib/pengine/pe_output.c         params = pe_rsc_params(rsc, node, scheduler);
rsc               299 lib/pengine/pe_output.c resource_history_string(pcmk_resource_t *rsc, const char *rsc_id, bool all,
rsc               303 lib/pengine/pe_output.c     if (rsc == NULL) {
rsc               323 lib/pengine/pe_output.c                                 rsc_id, rsc->migration_threshold, failcount_s,
rsc               380 lib/pengine/pe_output.c formatted_xml_buf(const pcmk_resource_t *rsc, bool raw)
rsc               383 lib/pengine/pe_output.c         return dump_xml_formatted(rsc->orig_xml ? rsc->orig_xml : rsc->xml);
rsc               385 lib/pengine/pe_output.c         return dump_xml_formatted(rsc->xml);
rsc               721 lib/pengine/pe_output.c         const pcmk_resource_t *rsc = location->rsc_lh;
rsc               727 lib/pengine/pe_output.c         if (!pcmk__str_in_list(rsc_printable_id(rsc), only_rsc,
rsc               729 lib/pengine/pe_output.c             && !pcmk__str_in_list(rsc_printable_id(pe__const_top_resource(rsc, false)),
rsc              1563 lib/pengine/pe_output.c         char *rsc = NULL;
rsc              1574 lib/pengine/pe_output.c         if (!parse_op_key(pe__xe_history_key(xml_op), &rsc, NULL, NULL)) {
rsc              1578 lib/pengine/pe_output.c         if (!pcmk__str_in_list(rsc, only_rsc, pcmk__str_star_matches)) {
rsc              1579 lib/pengine/pe_output.c             free(rsc);
rsc              1583 lib/pengine/pe_output.c         free(rsc);
rsc              1689 lib/pengine/pe_output.c                 pcmk_resource_t *rsc = (pcmk_resource_t *) lpc2->data;
rsc              1693 lib/pengine/pe_output.c                 out->message(out, crm_map_element_name(rsc->xml), show_opts,
rsc              1694 lib/pengine/pe_output.c                              rsc, only_node, only_rsc);
rsc              1833 lib/pengine/pe_output.c                     pcmk_resource_t *rsc = (pcmk_resource_t *) gIter2->data;
rsc              1836 lib/pengine/pe_output.c                     out->message(out, crm_map_element_name(rsc->xml), show_opts,
rsc              1837 lib/pengine/pe_output.c                                  rsc, only_node, only_rsc);
rsc              1923 lib/pengine/pe_output.c                 pcmk_resource_t *rsc = (pcmk_resource_t *) lpc->data;
rsc              1926 lib/pengine/pe_output.c                 out->message(out, crm_map_element_name(rsc->xml), show_opts,
rsc              1927 lib/pengine/pe_output.c                              rsc, only_node, only_rsc);
rsc              2015 lib/pengine/pe_output.c     pcmk_resource_t *rsc = NULL;
rsc              2026 lib/pengine/pe_output.c     rsc = pe_find_resource(scheduler->resources, op_rsc);
rsc              2028 lib/pengine/pe_output.c     if (rsc) {
rsc              2029 lib/pengine/pe_output.c         const pcmk_node_t *node = pe__current_node(rsc);
rsc              2030 lib/pengine/pe_output.c         const char *target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE);
rsc              2034 lib/pengine/pe_output.c             node = rsc->pending_node;
rsc              2037 lib/pengine/pe_output.c         node_str = pcmk__native_output_string(rsc, rsc_printable_id(rsc), node,
rsc              2070 lib/pengine/pe_output.c     pcmk_resource_t *rsc = NULL;
rsc              2086 lib/pengine/pe_output.c     rsc = pe_find_resource(scheduler->resources, op_rsc);
rsc              2088 lib/pengine/pe_output.c     if (rsc) {
rsc              2089 lib/pengine/pe_output.c         const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
rsc              2090 lib/pengine/pe_output.c         const char *kind = crm_element_value(rsc->xml, XML_ATTR_TYPE);
rsc              2094 lib/pengine/pe_output.c                                         pcmk_is_set(pcmk_get_ra_caps(class), pcmk_ra_cap_provider) ? crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER) : "",
rsc              2097 lib/pengine/pe_output.c         pcmk__xe_set_props(node, "rsc", rsc_printable_id(rsc),
rsc              2258 lib/pengine/pe_output.c         pcmk_resource_t *rsc = pe_find_resource(scheduler->resources, rsc_id);
rsc              2259 lib/pengine/pe_output.c         const pcmk_resource_t *parent = pe__const_top_resource(rsc, false);
rsc              2270 lib/pengine/pe_output.c             if (!pcmk__str_in_list(rsc_printable_id(rsc), only_rsc,
rsc              2277 lib/pengine/pe_output.c             if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) {
rsc              2284 lib/pengine/pe_output.c             int failcount = pe_get_failcount(node, rsc, &last_failure,
rsc              2297 lib/pengine/pe_output.c             out->message(out, "resource-history", rsc, rsc_id, false,
rsc              2301 lib/pengine/pe_output.c             pcmk_resource_t *rsc = pe_find_resource(scheduler->resources,
rsc              2314 lib/pengine/pe_output.c             out->message(out, "resource-operation-list", scheduler, rsc, node,
rsc              2529 lib/pengine/pe_output.c     const pcmk_resource_t *rsc = va_arg(args, const pcmk_resource_t *);
rsc              2534 lib/pengine/pe_output.c     if (rsc) {
rsc              2536 lib/pengine/pe_output.c                        prefix, rsc->id, uname, score);
rsc              2549 lib/pengine/pe_output.c     const pcmk_resource_t *rsc = va_arg(args, const pcmk_resource_t *);
rsc              2560 lib/pengine/pe_output.c     if (rsc) {
rsc              2561 lib/pengine/pe_output.c         crm_xml_add(node, "id", rsc->id);
rsc              2677 lib/pengine/pe_output.c     const pcmk_resource_t *rsc = va_arg(args, const pcmk_resource_t *);
rsc              2680 lib/pengine/pe_output.c     char *rsc_xml = formatted_xml_buf(rsc, raw);
rsc              2691 lib/pengine/pe_output.c     const pcmk_resource_t *rsc = va_arg(args, const pcmk_resource_t *);
rsc              2694 lib/pengine/pe_output.c     char *rsc_xml = formatted_xml_buf(rsc, raw);
rsc              2707 lib/pengine/pe_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              2714 lib/pengine/pe_output.c     char *buf = resource_history_string(rsc, rsc_id, all, failcount, last_failure);
rsc              2730 lib/pengine/pe_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              2741 lib/pengine/pe_output.c     if (rsc == NULL) {
rsc              2744 lib/pengine/pe_output.c         char *migration_s = pcmk__itoa(rsc->migration_threshold);
rsc              2827 lib/pengine/pe_output.c         pcmk_resource_t *rsc = (pcmk_resource_t *) rsc_iter->data;
rsc              2831 lib/pengine/pe_output.c         gboolean is_active = rsc->fns->active(rsc, TRUE);
rsc              2832 lib/pengine/pe_output.c         gboolean partially_active = rsc->fns->active(rsc, FALSE);
rsc              2835 lib/pengine/pe_output.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_removed) && !is_active) {
rsc              2846 lib/pengine/pe_output.c                    && (rsc->variant == pcmk_rsc_variant_primitive)) {
rsc              2855 lib/pengine/pe_output.c         } else if (partially_active && !pe__rsc_running_on_any(rsc, only_node)) {
rsc              2866 lib/pengine/pe_output.c         x = out->message(out, crm_map_element_name(rsc->xml), show_opts, rsc,
rsc              2903 lib/pengine/pe_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              2931 lib/pengine/pe_output.c             int failcount = pe_get_failcount(node, rsc, &last_failure,
rsc              2934 lib/pengine/pe_output.c             out->message(out, "resource-history", rsc, rsc_printable_id(rsc), true,
rsc              2956 lib/pengine/pe_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              2961 lib/pengine/pe_output.c                                         fn, rsc->id, pe__node_name(node));
rsc              2963 lib/pengine/pe_output.c     g_hash_table_foreach(rsc->utilization, append_dump_text, &dump_text);
rsc              2975 lib/pengine/pe_output.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc              2980 lib/pengine/pe_output.c                                                        "resource", rsc->id,
rsc              2984 lib/pengine/pe_output.c     g_hash_table_foreach(rsc->utilization, add_dump_node, xml_node);
rsc                68 lib/pengine/pe_status_private.h pcmk_resource_t *pe__create_clone_child(pcmk_resource_t *rsc,
rsc                72 lib/pengine/pe_status_private.h void pe__create_action_notifications(pcmk_resource_t *rsc,
rsc                79 lib/pengine/pe_status_private.h notify_data_t *pe__action_notif_pseudo_ops(pcmk_resource_t *rsc,
rsc                85 lib/pengine/pe_status_private.h void pe__force_anon(const char *standard, pcmk_resource_t *rsc, const char *rid,
rsc                92 lib/pengine/pe_status_private.h gboolean pe__unpack_resource(xmlNode *xml_obj, pcmk_resource_t **rsc,
rsc               117 lib/pengine/pe_status_private.h op_digest_cache_t *pe__compare_fencing_digest(pcmk_resource_t *rsc,
rsc               128 lib/pengine/pe_status_private.h unsigned int pe__primitive_max_per_node(const pcmk_resource_t *rsc);
rsc               133 lib/pengine/pe_status_private.h unsigned int pe__group_max_per_node(const pcmk_resource_t *rsc);
rsc               138 lib/pengine/pe_status_private.h unsigned int pe__clone_max_per_node(const pcmk_resource_t *rsc);
rsc               143 lib/pengine/pe_status_private.h pcmk_node_t *pe__bundle_active_node(const pcmk_resource_t *rsc,
rsc               148 lib/pengine/pe_status_private.h unsigned int pe__bundle_max_per_node(const pcmk_resource_t *rsc);
rsc                18 lib/pengine/remote.c pe__resource_is_remote_conn(const pcmk_resource_t *rsc)
rsc                20 lib/pengine/remote.c     return (rsc != NULL) && rsc->is_remote_node
rsc                21 lib/pengine/remote.c            && pe__is_remote_node(pe_find_node(rsc->cluster->nodes, rsc->id));
rsc                67 lib/pengine/remote.c                                  const pcmk_resource_t *rsc)
rsc                69 lib/pengine/remote.c     if ((rsc != NULL) && (scheduler != NULL)
rsc                72 lib/pengine/remote.c         for (GList *gIter = rsc->fillers; gIter != NULL; gIter = gIter->next) {
rsc               132 lib/pengine/remote.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               134 lib/pengine/remote.c         if (rsc->is_remote_node && (rsc->container != NULL)) {
rsc               135 lib/pengine/remote.c             pcmk_node_t *guest_node = pe_find_node(scheduler->nodes, rsc->id);
rsc               219 lib/pengine/remote.c     pcmk_resource_t *rsc;   // Known resource corresponding to history entry
rsc               225 lib/pengine/remote.c pe__add_param_check(const xmlNode *rsc_op, pcmk_resource_t *rsc,
rsc               231 lib/pengine/remote.c     CRM_CHECK(scheduler && rsc_op && rsc && node, return);
rsc               238 lib/pengine/remote.c     check_op->rsc = rsc;
rsc               262 lib/pengine/remote.c         cb(check_op->rsc, check_op->node, check_op->rsc_op,
rsc               165 lib/pengine/status.c     pcmk_resource_t *rsc = NULL;
rsc               169 lib/pengine/status.c         rsc = (pcmk_resource_t *) iterator->data;
rsc               171 lib/pengine/status.c         rsc->fns->free(rsc);
rsc                38 lib/pengine/tags.c         pcmk_resource_t *rsc = pe_find_resource_with_flags(scheduler->resources,
rsc                41 lib/pengine/tags.c         if (!rsc) {
rsc                45 lib/pengine/tags.c         retval = g_list_append(retval, strdup(rsc_printable_id(rsc)));
rsc                59 lib/pengine/tests/native/native_find_rsc_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc                61 lib/pengine/tests/native/native_find_rsc_test.c         if (strcmp(rsc->id, "exim-group") == 0) {
rsc                62 lib/pengine/tests/native/native_find_rsc_test.c             exim_group = rsc;
rsc                63 lib/pengine/tests/native/native_find_rsc_test.c         } else if (strcmp(rsc->id, "httpd-bundle") == 0) {
rsc                64 lib/pengine/tests/native/native_find_rsc_test.c             httpd_bundle = rsc;
rsc                65 lib/pengine/tests/native/native_find_rsc_test.c         } else if (strcmp(rsc->id, "inactive-clone") == 0) {
rsc                66 lib/pengine/tests/native/native_find_rsc_test.c             inactive_clone = rsc;
rsc                67 lib/pengine/tests/native/native_find_rsc_test.c         } else if (strcmp(rsc->id, "inactive-group") == 0) {
rsc                68 lib/pengine/tests/native/native_find_rsc_test.c             inactive_group = rsc;
rsc                69 lib/pengine/tests/native/native_find_rsc_test.c         } else if (strcmp(rsc->id, "mysql-clone-group") == 0) {
rsc                70 lib/pengine/tests/native/native_find_rsc_test.c             mysql_clone_group = rsc;
rsc                71 lib/pengine/tests/native/native_find_rsc_test.c         } else if (strcmp(rsc->id, "promotable-clone") == 0) {
rsc                72 lib/pengine/tests/native/native_find_rsc_test.c             promotable_clone = rsc;
rsc                88 lib/pengine/tests/native/native_find_rsc_test.c     pcmk_resource_t *rsc = g_list_first(scheduler->resources)->data;
rsc                89 lib/pengine/tests/native/native_find_rsc_test.c     char *id = rsc->id;
rsc                92 lib/pengine/tests/native/native_find_rsc_test.c     assert_non_null(rsc);
rsc                95 lib/pengine/tests/native/native_find_rsc_test.c     assert_null(native_find_rsc(rsc, NULL, NULL, 0));
rsc                98 lib/pengine/tests/native/native_find_rsc_test.c     name = crm_strdup_printf("%sX", rsc->id);
rsc                99 lib/pengine/tests/native/native_find_rsc_test.c     assert_null(native_find_rsc(rsc, name, NULL, 0));
rsc               102 lib/pengine/tests/native/native_find_rsc_test.c     name = crm_strdup_printf("x%s", rsc->id);
rsc               103 lib/pengine/tests/native/native_find_rsc_test.c     assert_null(native_find_rsc(rsc, name, NULL, 0));
rsc               106 lib/pengine/tests/native/native_find_rsc_test.c     name = g_ascii_strup(rsc->id, -1);
rsc               107 lib/pengine/tests/native/native_find_rsc_test.c     assert_null(native_find_rsc(rsc, name, NULL, 0));
rsc               111 lib/pengine/tests/native/native_find_rsc_test.c     rsc->id = NULL;
rsc               112 lib/pengine/tests/native/native_find_rsc_test.c     assert_null(native_find_rsc(rsc, id, NULL, 0));
rsc               113 lib/pengine/tests/native/native_find_rsc_test.c     rsc->id = id;
rsc               122 lib/pengine/tests/native/native_find_rsc_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               124 lib/pengine/tests/native/native_find_rsc_test.c         if (strcmp(rsc->id, "dummy") == 0) {
rsc               125 lib/pengine/tests/native/native_find_rsc_test.c             dummy = rsc;
rsc               215 lib/pengine/tests/native/native_find_rsc_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               217 lib/pengine/tests/native/native_find_rsc_test.c         if (strcmp(rsc->id, "Public-IP") == 0) {
rsc               218 lib/pengine/tests/native/native_find_rsc_test.c             public_ip = rsc;
rsc               256 lib/pengine/tests/native/native_find_rsc_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               258 lib/pengine/tests/native/native_find_rsc_test.c         if (strcmp(rsc->id, "inactive-dummy-1") == 0) {
rsc               259 lib/pengine/tests/native/native_find_rsc_test.c             inactive_dummy_1 = rsc;
rsc               356 lib/pengine/tests/native/native_find_rsc_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               358 lib/pengine/tests/native/native_find_rsc_test.c         if (strcmp(rsc->id, "promotable-rsc:0") == 0) {
rsc               359 lib/pengine/tests/native/native_find_rsc_test.c             promotable_0 = rsc;
rsc               360 lib/pengine/tests/native/native_find_rsc_test.c         } else if (strcmp(rsc->id, "promotable-rsc:1") == 0) {
rsc               361 lib/pengine/tests/native/native_find_rsc_test.c             promotable_1 = rsc;
rsc               495 lib/pengine/tests/native/native_find_rsc_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               497 lib/pengine/tests/native/native_find_rsc_test.c         if (strcmp(rsc->id, "promotable-rsc:0") == 0) {
rsc               498 lib/pengine/tests/native/native_find_rsc_test.c             promotable_0 = rsc;
rsc               499 lib/pengine/tests/native/native_find_rsc_test.c         } else if (strcmp(rsc->id, "promotable-rsc:1") == 0) {
rsc               500 lib/pengine/tests/native/native_find_rsc_test.c             promotable_1 = rsc;
rsc               666 lib/pengine/tests/native/native_find_rsc_test.c clone_group_rsc(void **rsc) {
rsc               708 lib/pengine/tests/native/native_find_rsc_test.c clone_group_instance_rsc(void **rsc) {
rsc               714 lib/pengine/tests/native/native_find_rsc_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               716 lib/pengine/tests/native/native_find_rsc_test.c         if (strcmp(rsc->id, "mysql-group:0") == 0) {
rsc               717 lib/pengine/tests/native/native_find_rsc_test.c             mysql_group_0 = rsc;
rsc               718 lib/pengine/tests/native/native_find_rsc_test.c         } else if (strcmp(rsc->id, "mysql-group:1") == 0) {
rsc               719 lib/pengine/tests/native/native_find_rsc_test.c             mysql_group_1 = rsc;
rsc               852 lib/pengine/tests/native/native_find_rsc_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc               854 lib/pengine/tests/native/native_find_rsc_test.c         if (strcmp(rsc->id, "mysql-group:0") == 0) {
rsc               855 lib/pengine/tests/native/native_find_rsc_test.c             for (GList *iter2 = rsc->children; iter2 != NULL; iter2 = iter2->next) {
rsc                53 lib/pengine/tests/native/pe_base_name_eq_test.c         pcmk_resource_t *rsc = (pcmk_resource_t *) iter->data;
rsc                55 lib/pengine/tests/native/pe_base_name_eq_test.c         if (strcmp(rsc->id, "dummy") == 0) {
rsc                56 lib/pengine/tests/native/pe_base_name_eq_test.c             dummy = rsc;
rsc                57 lib/pengine/tests/native/pe_base_name_eq_test.c         } else if (strcmp(rsc->id, "exim-group") == 0) {
rsc                58 lib/pengine/tests/native/pe_base_name_eq_test.c             exim_group = rsc;
rsc                59 lib/pengine/tests/native/pe_base_name_eq_test.c         } else if (strcmp(rsc->id, "httpd-bundle") == 0) {
rsc                60 lib/pengine/tests/native/pe_base_name_eq_test.c             httpd_bundle = rsc;
rsc                61 lib/pengine/tests/native/pe_base_name_eq_test.c         } else if (strcmp(rsc->id, "mysql-clone-group") == 0) {
rsc                62 lib/pengine/tests/native/pe_base_name_eq_test.c             for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc                71 lib/pengine/tests/native/pe_base_name_eq_test.c         } else if (strcmp(rsc->id, "promotable-clone") == 0) {
rsc                72 lib/pengine/tests/native/pe_base_name_eq_test.c             for (GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc                32 lib/pengine/unpack.c     pcmk_resource_t *rsc;       // Resource that history is for
rsc                69 lib/pengine/unpack.c static void unpack_rsc_op(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc               117 lib/pengine/unpack.c         pcmk_resource_t *rsc = node->details->remote_rsc->container;
rsc               119 lib/pengine/unpack.c         if (!pcmk_is_set(rsc->flags, pcmk_rsc_failed)) {
rsc               120 lib/pengine/unpack.c             if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               124 lib/pengine/unpack.c                            pe__node_name(node), reason, rsc->id);
rsc               128 lib/pengine/unpack.c                          pe__node_name(node), rsc->id, reason);
rsc               135 lib/pengine/unpack.c                 pe__set_resource_flags(rsc,
rsc               149 lib/pengine/unpack.c         pcmk_resource_t *rsc = node->details->remote_rsc;
rsc               151 lib/pengine/unpack.c         if ((rsc != NULL) && !pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc               648 lib/pengine/unpack.c setup_container(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler)
rsc               652 lib/pengine/unpack.c     if (rsc->children) {
rsc               653 lib/pengine/unpack.c         g_list_foreach(rsc->children, (GFunc) setup_container, scheduler);
rsc               657 lib/pengine/unpack.c     container_id = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_CONTAINER);
rsc               658 lib/pengine/unpack.c     if (container_id && !pcmk__str_eq(container_id, rsc->id, pcmk__str_casei)) {
rsc               663 lib/pengine/unpack.c             rsc->container = container;
rsc               665 lib/pengine/unpack.c             container->fillers = g_list_append(container->fillers, rsc);
rsc               666 lib/pengine/unpack.c             pe_rsc_trace(rsc, "Resource %s's container is %s", rsc->id, container_id);
rsc               668 lib/pengine/unpack.c             pe_err("Resource %s: Unknown resource container (%s)", rsc->id, container_id);
rsc               861 lib/pengine/unpack.c         pcmk_resource_t *rsc = (pcmk_resource_t *) gIter->data;
rsc               863 lib/pengine/unpack.c         setup_container(rsc, scheduler);
rsc               864 lib/pengine/unpack.c         link_rsc2remotenode(scheduler, rsc);
rsc              1023 lib/pengine/unpack.c     pcmk_resource_t *rsc = NULL;
rsc              1037 lib/pengine/unpack.c     rsc = this_node->details->remote_rsc;
rsc              1056 lib/pengine/unpack.c         ((rsc != NULL) && !pcmk_is_set(rsc->flags, pcmk_rsc_managed))) {
rsc              1259 lib/pengine/unpack.c             pcmk_resource_t *rsc = this_node->details->remote_rsc;
rsc              1261 lib/pengine/unpack.c             if ((rsc == NULL) || (rsc->role != pcmk_role_started)
rsc              1262 lib/pengine/unpack.c                 || (rsc->container->role != pcmk_role_started)) {
rsc              1275 lib/pengine/unpack.c             pcmk_resource_t *rsc = this_node->details->remote_rsc;
rsc              1277 lib/pengine/unpack.c             if ((rsc == NULL)
rsc              1279 lib/pengine/unpack.c                     && (rsc->role != pcmk_role_started))) {
rsc              1679 lib/pengine/unpack.c     pcmk_resource_t *rsc = this_node->details->remote_rsc;
rsc              1687 lib/pengine/unpack.c     if (rsc == NULL) {
rsc              1692 lib/pengine/unpack.c     container = rsc->container;
rsc              1694 lib/pengine/unpack.c     if (container && pcmk__list_of_1(rsc->running_on)) {
rsc              1695 lib/pengine/unpack.c         host = rsc->running_on->data;
rsc              1699 lib/pengine/unpack.c     if (rsc->role == pcmk_role_started) {
rsc              1706 lib/pengine/unpack.c     if ((rsc->role == pcmk_role_started)
rsc              1707 lib/pengine/unpack.c         && (rsc->next_role == pcmk_role_stopped)) {
rsc              1721 lib/pengine/unpack.c     } else if (pcmk_is_set(rsc->flags, pcmk_rsc_failed)) {
rsc              1726 lib/pengine/unpack.c     } else if ((rsc->role == pcmk_role_stopped)
rsc              1906 lib/pengine/unpack.c     pcmk_resource_t *rsc = NULL;
rsc              1913 lib/pengine/unpack.c     if (pe__unpack_resource(xml_rsc, &rsc, NULL, scheduler) != pcmk_rc_ok) {
rsc              1925 lib/pengine/unpack.c         link_rsc2remotenode(scheduler, rsc);
rsc              1936 lib/pengine/unpack.c         pe__set_resource_flags(rsc, pcmk_rsc_removed_filler);
rsc              1938 lib/pengine/unpack.c     pe__set_resource_flags(rsc, pcmk_rsc_removed);
rsc              1939 lib/pengine/unpack.c     scheduler->resources = g_list_append(scheduler->resources, rsc);
rsc              1940 lib/pengine/unpack.c     return rsc;
rsc              1988 lib/pengine/unpack.c     pcmk_resource_t *rsc = NULL;
rsc              1999 lib/pengine/unpack.c     for (rIter = parent->children; rsc == NULL && rIter; rIter = rIter->next) {
rsc              2034 lib/pengine/unpack.c                 rsc = parent->fns->find_rsc(child, rsc_id, NULL,
rsc              2036 lib/pengine/unpack.c                 if (rsc) {
rsc              2044 lib/pengine/unpack.c                     if (rsc->running_on) {
rsc              2049 lib/pengine/unpack.c                         rsc = NULL;
rsc              2051 lib/pengine/unpack.c                         pe_rsc_trace(parent, "Resource %s, active", rsc->id);
rsc              2076 lib/pengine/unpack.c     if ((rsc == NULL) && !skip_inactive && (inactive_instance != NULL)) {
rsc              2078 lib/pengine/unpack.c         rsc = inactive_instance;
rsc              2093 lib/pengine/unpack.c     if ((rsc != NULL) && !pcmk_is_set(rsc->flags, pcmk_rsc_needs_fencing)
rsc              2098 lib/pengine/unpack.c         rsc = NULL;
rsc              2101 lib/pengine/unpack.c     if (rsc == NULL) {
rsc              2102 lib/pengine/unpack.c         rsc = create_anonymous_orphan(parent, rsc_id, node, scheduler);
rsc              2103 lib/pengine/unpack.c         pe_rsc_trace(parent, "Resource %s, orphan", rsc->id);
rsc              2105 lib/pengine/unpack.c     return rsc;
rsc              2112 lib/pengine/unpack.c     pcmk_resource_t *rsc = NULL;
rsc              2116 lib/pengine/unpack.c     rsc = pe_find_resource(scheduler->resources, rsc_id);
rsc              2118 lib/pengine/unpack.c     if (rsc == NULL) {
rsc              2128 lib/pengine/unpack.c             rsc = clone0;
rsc              2137 lib/pengine/unpack.c     } else if (rsc->variant > pcmk_rsc_variant_primitive) {
rsc              2143 lib/pengine/unpack.c         parent = uber_parent(rsc);
rsc              2149 lib/pengine/unpack.c             rsc = pe__find_bundle_replica(parent->parent, node);
rsc              2153 lib/pengine/unpack.c             rsc = find_anonymous_clone(scheduler, node, parent, base);
rsc              2155 lib/pengine/unpack.c             CRM_ASSERT(rsc != NULL);
rsc              2159 lib/pengine/unpack.c     if (rsc && !pcmk__str_eq(rsc_id, rsc->id, pcmk__str_casei)
rsc              2160 lib/pengine/unpack.c         && !pcmk__str_eq(rsc_id, rsc->clone_name, pcmk__str_casei)) {
rsc              2162 lib/pengine/unpack.c         pcmk__str_update(&rsc->clone_name, rsc_id);
rsc              2163 lib/pengine/unpack.c         pe_rsc_debug(rsc, "Internally renamed %s on %s to %s%s",
rsc              2164 lib/pengine/unpack.c                      rsc_id, pe__node_name(node), rsc->id,
rsc              2165 lib/pengine/unpack.c                      (pcmk_is_set(rsc->flags, pcmk_rsc_removed)? " (ORPHAN)" : ""));
rsc              2167 lib/pengine/unpack.c     return rsc;
rsc              2174 lib/pengine/unpack.c     pcmk_resource_t *rsc = NULL;
rsc              2178 lib/pengine/unpack.c     rsc = create_fake_resource(rsc_id, rsc_entry, scheduler);
rsc              2179 lib/pengine/unpack.c     if (rsc == NULL) {
rsc              2184 lib/pengine/unpack.c         pe__clear_resource_flags(rsc, pcmk_rsc_managed);
rsc              2187 lib/pengine/unpack.c         CRM_CHECK(rsc != NULL, return NULL);
rsc              2188 lib/pengine/unpack.c         pe_rsc_trace(rsc, "Added orphan %s", rsc->id);
rsc              2189 lib/pengine/unpack.c         resource_location(rsc, NULL, -INFINITY, "__orphan_do_not_run__",
rsc              2192 lib/pengine/unpack.c     return rsc;
rsc              2196 lib/pengine/unpack.c process_rsc_state(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc              2203 lib/pengine/unpack.c     CRM_ASSERT(rsc);
rsc              2204 lib/pengine/unpack.c     pe_rsc_trace(rsc, "Resource %s is %s on %s: on_fail=%s",
rsc              2205 lib/pengine/unpack.c                  rsc->id, role2text(rsc->role), pe__node_name(node),
rsc              2209 lib/pengine/unpack.c     if (rsc->role != pcmk_role_unknown) {
rsc              2210 lib/pengine/unpack.c         pcmk_resource_t *iter = rsc;
rsc              2216 lib/pengine/unpack.c                 pe_rsc_trace(rsc, "%s%s%s known on %s",
rsc              2217 lib/pengine/unpack.c                              rsc->id,
rsc              2218 lib/pengine/unpack.c                              ((rsc->clone_name == NULL)? "" : " also known as "),
rsc              2219 lib/pengine/unpack.c                              ((rsc->clone_name == NULL)? "" : rsc->clone_name),
rsc              2231 lib/pengine/unpack.c     if ((rsc->role > pcmk_role_stopped)
rsc              2234 lib/pengine/unpack.c         && pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc              2246 lib/pengine/unpack.c             pe__set_resource_flags(rsc,
rsc              2250 lib/pengine/unpack.c         } else if (pcmk_is_set(rsc->cluster->flags,
rsc              2266 lib/pengine/unpack.c                                            rsc->id);
rsc              2273 lib/pengine/unpack.c                reason = crm_strdup_printf("%s is thought to be active there", rsc->id);
rsc              2275 lib/pengine/unpack.c             pe_fence_node(rsc->cluster, node, reason, FALSE);
rsc              2296 lib/pengine/unpack.c             pe__set_resource_flags(rsc, pcmk_rsc_failed);
rsc              2297 lib/pengine/unpack.c             demote_action(rsc, node, FALSE);
rsc              2304 lib/pengine/unpack.c             reason = crm_strdup_printf("%s failed there", rsc->id);
rsc              2305 lib/pengine/unpack.c             pe_fence_node(rsc->cluster, node, reason, FALSE);
rsc              2318 lib/pengine/unpack.c             pe__clear_resource_flags(rsc, pcmk_rsc_managed);
rsc              2319 lib/pengine/unpack.c             pe__set_resource_flags(rsc, pcmk_rsc_blocked);
rsc              2326 lib/pengine/unpack.c             resource_location(rsc, node, -INFINITY, "__action_migration_auto__",
rsc              2327 lib/pengine/unpack.c                               rsc->cluster);
rsc              2331 lib/pengine/unpack.c             pe__set_next_role(rsc, pcmk_role_stopped, "on-fail=stop");
rsc              2335 lib/pengine/unpack.c             if ((rsc->role != pcmk_role_stopped)
rsc              2336 lib/pengine/unpack.c                 && (rsc->role != pcmk_role_unknown)) {
rsc              2337 lib/pengine/unpack.c                 pe__set_resource_flags(rsc,
rsc              2339 lib/pengine/unpack.c                 stop_action(rsc, node, FALSE);
rsc              2344 lib/pengine/unpack.c             pe__set_resource_flags(rsc,
rsc              2346 lib/pengine/unpack.c             if (rsc->container && pe_rsc_is_bundled(rsc)) {
rsc              2352 lib/pengine/unpack.c                 rsc->cluster->stop_needed =
rsc              2353 lib/pengine/unpack.c                     g_list_prepend(rsc->cluster->stop_needed, rsc->container);
rsc              2354 lib/pengine/unpack.c             } else if (rsc->container) {
rsc              2355 lib/pengine/unpack.c                 stop_action(rsc->container, node, FALSE);
rsc              2356 lib/pengine/unpack.c             } else if ((rsc->role != pcmk_role_stopped)
rsc              2357 lib/pengine/unpack.c                        && (rsc->role != pcmk_role_unknown)) {
rsc              2358 lib/pengine/unpack.c                 stop_action(rsc, node, FALSE);
rsc              2363 lib/pengine/unpack.c             pe__set_resource_flags(rsc,
rsc              2365 lib/pengine/unpack.c             if (pcmk_is_set(rsc->cluster->flags, pcmk_sched_fencing_enabled)) {
rsc              2367 lib/pengine/unpack.c                 if (rsc->is_remote_node) {
rsc              2368 lib/pengine/unpack.c                     tmpnode = pe_find_node(rsc->cluster->nodes, rsc->id);
rsc              2377 lib/pengine/unpack.c                     pe_fence_node(rsc->cluster, tmpnode,
rsc              2383 lib/pengine/unpack.c             if (rsc->role > pcmk_role_stopped) {
rsc              2384 lib/pengine/unpack.c                 stop_action(rsc, node, FALSE);
rsc              2389 lib/pengine/unpack.c             if (rsc->remote_reconnect_ms) {
rsc              2390 lib/pengine/unpack.c                 pe__set_next_role(rsc, pcmk_role_stopped, "remote reset");
rsc              2399 lib/pengine/unpack.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_failed) && rsc->is_remote_node) {
rsc              2400 lib/pengine/unpack.c         tmpnode = pe_find_node(rsc->cluster->nodes, rsc->id);
rsc              2406 lib/pengine/unpack.c     if ((rsc->role != pcmk_role_stopped)
rsc              2407 lib/pengine/unpack.c         && (rsc->role != pcmk_role_unknown)) {
rsc              2408 lib/pengine/unpack.c         if (pcmk_is_set(rsc->flags, pcmk_rsc_removed)) {
rsc              2409 lib/pengine/unpack.c             if (pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc              2411 lib/pengine/unpack.c                                   rsc->id, pe__node_name(node));
rsc              2416 lib/pengine/unpack.c                                   rsc->id, pe__node_name(node));
rsc              2420 lib/pengine/unpack.c         native_add_running(rsc, node, rsc->cluster,
rsc              2427 lib/pengine/unpack.c                 pe__set_resource_flags(rsc, pcmk_rsc_failed);
rsc              2430 lib/pengine/unpack.c                 pe__set_resource_flags(rsc,
rsc              2435 lib/pengine/unpack.c     } else if (rsc->clone_name && strchr(rsc->clone_name, ':') != NULL) {
rsc              2439 lib/pengine/unpack.c         pe_rsc_trace(rsc, "Resetting clone_name %s for %s (stopped)", rsc->clone_name, rsc->id);
rsc              2440 lib/pengine/unpack.c         free(rsc->clone_name);
rsc              2441 lib/pengine/unpack.c         rsc->clone_name = NULL;
rsc              2444 lib/pengine/unpack.c         GList *possible_matches = pe__resource_actions(rsc, node,
rsc              2460 lib/pengine/unpack.c     if ((rsc->role == pcmk_role_stopped)
rsc              2461 lib/pengine/unpack.c         && rsc->partial_migration_source
rsc              2462 lib/pengine/unpack.c         && rsc->partial_migration_source->details == node->details
rsc              2463 lib/pengine/unpack.c         && rsc->partial_migration_target
rsc              2464 lib/pengine/unpack.c         && rsc->running_on) {
rsc              2466 lib/pengine/unpack.c         rsc->role = pcmk_role_started;
rsc              2472 lib/pengine/unpack.c process_recurring(pcmk_node_t *node, pcmk_resource_t *rsc,
rsc              2481 lib/pengine/unpack.c     CRM_ASSERT(rsc);
rsc              2482 lib/pengine/unpack.c     pe_rsc_trace(rsc, "%s: Start index %d, stop index = %d", rsc->id, start_index, stop_index);
rsc              2494 lib/pengine/unpack.c             pe_rsc_trace(rsc, "Skipping %s on %s: node is offline",
rsc              2495 lib/pengine/unpack.c                          rsc->id, pe__node_name(node));
rsc              2500 lib/pengine/unpack.c             pe_rsc_trace(rsc, "Skipping %s on %s: resource is not active",
rsc              2505 lib/pengine/unpack.c             pe_rsc_trace(rsc, "Skipping %s on %s: old %d",
rsc              2512 lib/pengine/unpack.c             pe_rsc_trace(rsc, "Skipping %s on %s: non-recurring",
rsc              2519 lib/pengine/unpack.c             pe_rsc_trace(rsc, "Skipping %s on %s: status",
rsc              2525 lib/pengine/unpack.c         key = pcmk__op_key(rsc->id, task, interval_ms);
rsc              2526 lib/pengine/unpack.c         pe_rsc_trace(rsc, "Creating %s on %s", key, pe__node_name(node));
rsc              2527 lib/pengine/unpack.c         custom_action(rsc, key, task, node, TRUE, scheduler);
rsc              2585 lib/pengine/unpack.c unpack_shutdown_lock(const xmlNode *rsc_entry, pcmk_resource_t *rsc,
rsc              2596 lib/pengine/unpack.c             pe_rsc_info(rsc, "Shutdown lock for %s on %s expired",
rsc              2597 lib/pengine/unpack.c                         rsc->id, pe__node_name(node));
rsc              2598 lib/pengine/unpack.c             pe__clear_resource_history(rsc, node);
rsc              2604 lib/pengine/unpack.c             rsc->lock_node = (pcmk_node_t *) node;
rsc              2605 lib/pengine/unpack.c             rsc->lock_time = lock_time;
rsc              2631 lib/pengine/unpack.c     pcmk_resource_t *rsc = NULL;
rsc              2664 lib/pengine/unpack.c     rsc = unpack_find_resource(scheduler, node, rsc_id);
rsc              2665 lib/pengine/unpack.c     if (rsc == NULL) {
rsc              2670 lib/pengine/unpack.c             rsc = process_orphan_resource(lrm_resource, node, scheduler);
rsc              2673 lib/pengine/unpack.c     CRM_ASSERT(rsc != NULL);
rsc              2677 lib/pengine/unpack.c         unpack_shutdown_lock(lrm_resource, rsc, node, scheduler);
rsc              2681 lib/pengine/unpack.c     saved_role = rsc->role;
rsc              2682 lib/pengine/unpack.c     rsc->role = pcmk_role_unknown;
rsc              2688 lib/pengine/unpack.c         unpack_rsc_op(rsc, node, rsc_op, &last_failure, &on_fail);
rsc              2693 lib/pengine/unpack.c     process_recurring(node, rsc, start_index, stop_index, sorted_op_list,
rsc              2699 lib/pengine/unpack.c     process_rsc_state(rsc, node, on_fail);
rsc              2701 lib/pengine/unpack.c     if (get_target_role(rsc, &req_role)) {
rsc              2702 lib/pengine/unpack.c         if ((rsc->next_role == pcmk_role_unknown)
rsc              2703 lib/pengine/unpack.c             || (req_role < rsc->next_role)) {
rsc              2705 lib/pengine/unpack.c             pe__set_next_role(rsc, req_role, XML_RSC_ATTR_TARGET_ROLE);
rsc              2707 lib/pengine/unpack.c         } else if (req_role > rsc->next_role) {
rsc              2708 lib/pengine/unpack.c             pe_rsc_info(rsc, "%s: Not overwriting calculated next role %s"
rsc              2710 lib/pengine/unpack.c                         rsc->id, role2text(rsc->next_role), role2text(req_role));
rsc              2714 lib/pengine/unpack.c     if (saved_role > rsc->role) {
rsc              2715 lib/pengine/unpack.c         rsc->role = saved_role;
rsc              2718 lib/pengine/unpack.c     return rsc;
rsc              2728 lib/pengine/unpack.c         pcmk_resource_t *rsc;
rsc              2748 lib/pengine/unpack.c         rsc = pe_find_resource(scheduler->resources, rsc_id);
rsc              2749 lib/pengine/unpack.c         if ((rsc == NULL) || (rsc->container != NULL)
rsc              2750 lib/pengine/unpack.c             || !pcmk_is_set(rsc->flags, pcmk_rsc_removed_filler)) {
rsc              2754 lib/pengine/unpack.c         pe_rsc_trace(rsc, "Mapped container of orphaned resource %s to %s",
rsc              2755 lib/pengine/unpack.c                      rsc->id, container_id);
rsc              2756 lib/pengine/unpack.c         rsc->container = container;
rsc              2757 lib/pengine/unpack.c         container->fillers = g_list_append(container->fillers, rsc);
rsc              2789 lib/pengine/unpack.c         pcmk_resource_t *rsc = unpack_lrm_resource(node, rsc_entry, scheduler);
rsc              2791 lib/pengine/unpack.c         if ((rsc != NULL)
rsc              2792 lib/pengine/unpack.c             && pcmk_is_set(rsc->flags, pcmk_rsc_removed_filler)) {
rsc              2806 lib/pengine/unpack.c set_active(pcmk_resource_t *rsc)
rsc              2808 lib/pengine/unpack.c     const pcmk_resource_t *top = pe__const_top_resource(rsc, false);
rsc              2811 lib/pengine/unpack.c         rsc->role = pcmk_role_unpromoted;
rsc              2813 lib/pengine/unpack.c         rsc->role = pcmk_role_started;
rsc              2914 lib/pengine/unpack.c unknown_on_node(pcmk_resource_t *rsc, const char *node_name)
rsc              2922 lib/pengine/unpack.c                    SUB_XPATH_LRM_RESOURCE "[@" XML_ATTR_ID "='", rsc->id, "']"
rsc              2925 lib/pengine/unpack.c     search = xpath_search(rsc->cluster->input, (const char *) xpath->str);
rsc              3124 lib/pengine/unpack.c add_dangling_migration(pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc              3126 lib/pengine/unpack.c     pe_rsc_trace(rsc, "Dangling migration of %s requires stop on %s",
rsc              3127 lib/pengine/unpack.c                  rsc->id, pe__node_name(node));
rsc              3128 lib/pengine/unpack.c     rsc->role = pcmk_role_stopped;
rsc              3129 lib/pengine/unpack.c     rsc->dangling_migrations = g_list_prepend(rsc->dangling_migrations,
rsc              3190 lib/pengine/unpack.c     source_newer_op = non_monitor_after(history->rsc->id, source, history->xml,
rsc              3191 lib/pengine/unpack.c                                         true, history->rsc->cluster);
rsc              3194 lib/pengine/unpack.c     migrate_from = find_lrm_op(history->rsc->id, PCMK_ACTION_MIGRATE_FROM,
rsc              3195 lib/pengine/unpack.c                                target, source, -1, history->rsc->cluster);
rsc              3212 lib/pengine/unpack.c     target_newer_state = newer_state_after_migrate(history->rsc->id, target,
rsc              3214 lib/pengine/unpack.c                                                    history->rsc->cluster);
rsc              3224 lib/pengine/unpack.c         add_dangling_migration(history->rsc, history->node);
rsc              3231 lib/pengine/unpack.c     history->rsc->role = pcmk_role_started;
rsc              3233 lib/pengine/unpack.c     target_node = pe_find_node(history->rsc->cluster->nodes, target);
rsc              3239 lib/pengine/unpack.c             native_add_running(history->rsc, target_node, history->rsc->cluster,
rsc              3243 lib/pengine/unpack.c             pe__set_resource_flags(history->rsc,
rsc              3245 lib/pengine/unpack.c             pe__clear_resource_flags(history->rsc, pcmk_rsc_migratable);
rsc              3257 lib/pengine/unpack.c         && unknown_on_node(history->rsc, target)) {
rsc              3262 lib/pengine/unpack.c         pcmk_node_t *source_node = pe_find_node(history->rsc->cluster->nodes,
rsc              3265 lib/pengine/unpack.c         native_add_running(history->rsc, target_node, history->rsc->cluster,
rsc              3274 lib/pengine/unpack.c             history->rsc->partial_migration_target = target_node;
rsc              3275 lib/pengine/unpack.c             history->rsc->partial_migration_source = source_node;
rsc              3280 lib/pengine/unpack.c         pe__set_resource_flags(history->rsc,
rsc              3282 lib/pengine/unpack.c         pe__clear_resource_flags(history->rsc, pcmk_rsc_migratable);
rsc              3308 lib/pengine/unpack.c     history->rsc->role = pcmk_role_started;
rsc              3311 lib/pengine/unpack.c     target_migrate_from = find_lrm_op(history->rsc->id,
rsc              3313 lib/pengine/unpack.c                                       PCMK_OCF_OK, history->rsc->cluster);
rsc              3320 lib/pengine/unpack.c         !unknown_on_node(history->rsc, target)
rsc              3324 lib/pengine/unpack.c         && !newer_state_after_migrate(history->rsc->id, target, history->xml,
rsc              3326 lib/pengine/unpack.c                                       history->rsc->cluster)) {
rsc              3331 lib/pengine/unpack.c         pcmk_node_t *target_node = pe_find_node(history->rsc->cluster->nodes,
rsc              3335 lib/pengine/unpack.c             native_add_running(history->rsc, target_node, history->rsc->cluster,
rsc              3339 lib/pengine/unpack.c     } else if (!non_monitor_after(history->rsc->id, source, history->xml, true,
rsc              3340 lib/pengine/unpack.c                                   history->rsc->cluster)) {
rsc              3347 lib/pengine/unpack.c         history->rsc->dangling_migrations =
rsc              3348 lib/pengine/unpack.c             g_list_prepend(history->rsc->dangling_migrations,
rsc              3375 lib/pengine/unpack.c     history->rsc->role = pcmk_role_started;
rsc              3378 lib/pengine/unpack.c     source_migrate_to = find_lrm_op(history->rsc->id, PCMK_ACTION_MIGRATE_TO,
rsc              3380 lib/pengine/unpack.c                                     history->rsc->cluster);
rsc              3387 lib/pengine/unpack.c         !unknown_on_node(history->rsc, source)
rsc              3391 lib/pengine/unpack.c         && !newer_state_after_migrate(history->rsc->id, source,
rsc              3393 lib/pengine/unpack.c                                       history->rsc->cluster)) {
rsc              3397 lib/pengine/unpack.c         pcmk_node_t *source_node = pe_find_node(history->rsc->cluster->nodes,
rsc              3401 lib/pengine/unpack.c             native_add_running(history->rsc, source_node, history->rsc->cluster,
rsc              3420 lib/pengine/unpack.c     for (const xmlNode *xIter = history->rsc->cluster->failed->children;
rsc              3438 lib/pengine/unpack.c     crm_xml_add(history->xml, XML_LRM_ATTR_RSCID, history->rsc->id);
rsc              3439 lib/pengine/unpack.c     add_node_copy(history->rsc->cluster->failed, history->xml);
rsc              3566 lib/pengine/unpack.c ban_from_all_nodes(pcmk_resource_t *rsc)
rsc              3569 lib/pengine/unpack.c     pcmk_resource_t *fail_rsc = rsc;
rsc              3587 lib/pengine/unpack.c     fail_rsc->allowed_nodes = pe__node_list2table(rsc->cluster->nodes);
rsc              3604 lib/pengine/unpack.c     xmlNode *config = pcmk__find_action_config(history->rsc, history->task,
rsc              3607 lib/pengine/unpack.c     GHashTable *meta = pcmk__unpack_action_meta(history->rsc, history->node,
rsc              3613 lib/pengine/unpack.c     *on_fail = pcmk__parse_on_fail(history->rsc, history->task,
rsc              3615 lib/pengine/unpack.c     *fail_role = pcmk__role_after_failure(history->rsc, history->task, *on_fail,
rsc              3644 lib/pengine/unpack.c     if (!pcmk_is_set(history->rsc->cluster->flags, pcmk_sched_symmetric_cluster)
rsc              3651 lib/pengine/unpack.c                   (is_probe? "probe" : history->task), history->rsc->id,
rsc              3660 lib/pengine/unpack.c                  (is_probe? "probe" : history->task), history->rsc->id,
rsc              3673 lib/pengine/unpack.c                        history->rsc->id, pe__node_name(history->node));
rsc              3682 lib/pengine/unpack.c         pe_rsc_trace(history->rsc, "on-fail %s -> %s for %s",
rsc              3689 lib/pengine/unpack.c         resource_location(history->rsc, history->node, -INFINITY,
rsc              3690 lib/pengine/unpack.c                           "__stop_fail__", history->rsc->cluster);
rsc              3699 lib/pengine/unpack.c         history->rsc->role = pcmk_role_promoted;
rsc              3703 lib/pengine/unpack.c             history->rsc->role = pcmk_role_promoted;
rsc              3704 lib/pengine/unpack.c             pe__set_next_role(history->rsc, pcmk_role_stopped,
rsc              3708 lib/pengine/unpack.c             history->rsc->role = pcmk_role_stopped;
rsc              3716 lib/pengine/unpack.c             history->rsc->role = pcmk_role_unpromoted;
rsc              3722 lib/pengine/unpack.c         pe_rsc_trace(history->rsc, "Leaving %s stopped", history->rsc->id);
rsc              3723 lib/pengine/unpack.c         history->rsc->role = pcmk_role_stopped;
rsc              3725 lib/pengine/unpack.c     } else if (history->rsc->role < pcmk_role_started) {
rsc              3726 lib/pengine/unpack.c         pe_rsc_trace(history->rsc, "Setting %s active", history->rsc->id);
rsc              3727 lib/pengine/unpack.c         set_active(history->rsc);
rsc              3730 lib/pengine/unpack.c     pe_rsc_trace(history->rsc,
rsc              3732 lib/pengine/unpack.c                  history->rsc->id, role2text(history->rsc->role),
rsc              3737 lib/pengine/unpack.c         && (history->rsc->next_role < fail_role)) {
rsc              3738 lib/pengine/unpack.c         pe__set_next_role(history->rsc, fail_role, "failure");
rsc              3742 lib/pengine/unpack.c         ban_from_all_nodes(history->rsc);
rsc              3771 lib/pengine/unpack.c                 history->rsc->id, history->task, pe__node_name(history->node),
rsc              3779 lib/pengine/unpack.c     pe__clear_resource_flags(history->rsc, pcmk_rsc_managed);
rsc              3780 lib/pengine/unpack.c     pe__set_resource_flags(history->rsc, pcmk_rsc_blocked);
rsc              3844 lib/pengine/unpack.c     if (!pe_rsc_is_bundled(history->rsc)
rsc              3899 lib/pengine/unpack.c         pe_rsc_debug(history->rsc,
rsc              3917 lib/pengine/unpack.c                 pe_rsc_info(history->rsc, "Probe found %s active on %s at %s",
rsc              3918 lib/pengine/unpack.c                             history->rsc->id, pe__node_name(history->node),
rsc              3927 lib/pengine/unpack.c                 || !pcmk_is_set(history->rsc->flags, pcmk_rsc_managed)) {
rsc              3934 lib/pengine/unpack.c                 history->rsc->role = pcmk_role_stopped;
rsc              3936 lib/pengine/unpack.c                 pe__set_next_role(history->rsc, pcmk_role_unknown,
rsc              3947 lib/pengine/unpack.c                 pe_rsc_info(history->rsc,
rsc              3949 lib/pengine/unpack.c                             history->rsc->id, pe__node_name(history->node),
rsc              3955 lib/pengine/unpack.c                 history->rsc->role = pcmk_role_promoted;
rsc              3961 lib/pengine/unpack.c                 history->rsc->role = pcmk_role_promoted;
rsc              4004 lib/pengine/unpack.c                          history->exit_status, task, history->rsc->id,
rsc              4015 lib/pengine/unpack.c         pe_rsc_trace(history->rsc,
rsc              4028 lib/pengine/unpack.c                               pcmk_resource_t *rsc, pcmk_node_t *node)
rsc              4031 lib/pengine/unpack.c         if (pe__bundle_needs_remote_name(rsc)) {
rsc              4036 lib/pengine/unpack.c             pe__add_param_check(xml_op, rsc, node, pcmk__check_last_failure,
rsc              4037 lib/pengine/unpack.c                                 rsc->cluster);
rsc              4042 lib/pengine/unpack.c             digest_data = rsc_action_digest_cmp(rsc, xml_op, node,
rsc              4043 lib/pengine/unpack.c                                                 rsc->cluster);
rsc              4048 lib/pengine/unpack.c                               rsc->id, pe__xe_history_key(xml_op),
rsc              4077 lib/pengine/unpack.c should_ignore_failure_timeout(const pcmk_resource_t *rsc, const char *task,
rsc              4100 lib/pengine/unpack.c     if (rsc->remote_reconnect_ms
rsc              4101 lib/pengine/unpack.c         && pcmk_is_set(rsc->cluster->flags, pcmk_sched_fencing_enabled)
rsc              4105 lib/pengine/unpack.c         pcmk_node_t *remote_node = pe_find_node(rsc->cluster->nodes, rsc->id);
rsc              4110 lib/pengine/unpack.c                          " until fencing has occurred", rsc->id);
rsc              4146 lib/pengine/unpack.c         pe_rsc_trace(history->rsc,
rsc              4153 lib/pengine/unpack.c     if ((history->rsc->failure_timeout > 0)
rsc              4159 lib/pengine/unpack.c         time_t now = get_effective_time(history->rsc->cluster);
rsc              4163 lib/pengine/unpack.c         if ((now >= (last_run + history->rsc->failure_timeout))
rsc              4164 lib/pengine/unpack.c             && !should_ignore_failure_timeout(history->rsc, history->task,
rsc              4171 lib/pengine/unpack.c         unexpired_fail_count = pe_get_failcount(history->node, history->rsc,
rsc              4181 lib/pengine/unpack.c                   history->rsc->failure_timeout, (long long) last_failure);
rsc              4182 lib/pengine/unpack.c         last_failure += history->rsc->failure_timeout + 1;
rsc              4184 lib/pengine/unpack.c             pe__update_recheck_time(last_failure, history->rsc->cluster,
rsc              4190 lib/pengine/unpack.c         if (pe_get_failcount(history->node, history->rsc, NULL,
rsc              4205 lib/pengine/unpack.c                 pe_rsc_trace(history->rsc,
rsc              4213 lib/pengine/unpack.c                    && (history->rsc->remote_reconnect_ms != 0)) {
rsc              4223 lib/pengine/unpack.c                                          history->rsc, history->node)) {
rsc              4231 lib/pengine/unpack.c         clear_op = pe__clear_failcount(history->rsc, history->node,
rsc              4232 lib/pengine/unpack.c                                        clear_reason, history->rsc->cluster);
rsc              4234 lib/pengine/unpack.c         if (pcmk_is_set(history->rsc->cluster->flags,
rsc              4236 lib/pengine/unpack.c             && (history->rsc->remote_reconnect_ms != 0)) {
rsc              4247 lib/pengine/unpack.c                      history->task, history->rsc->id);
rsc              4248 lib/pengine/unpack.c             order_after_remote_fencing(clear_op, history->rsc,
rsc              4249 lib/pengine/unpack.c                                        history->rsc->cluster);
rsc              4262 lib/pengine/unpack.c                 pe_rsc_trace(history->rsc,
rsc              4304 lib/pengine/unpack.c         || (!pe_rsc_is_bundled(history->rsc)
rsc              4306 lib/pengine/unpack.c         history->rsc->role = pcmk_role_stopped;
rsc              4318 lib/pengine/unpack.c         if (history->rsc->role < pcmk_role_started) {
rsc              4319 lib/pengine/unpack.c             set_active(history->rsc);
rsc              4323 lib/pengine/unpack.c         history->rsc->role = pcmk_role_started;
rsc              4327 lib/pengine/unpack.c         history->rsc->role = pcmk_role_stopped;
rsc              4332 lib/pengine/unpack.c         history->rsc->role = pcmk_role_promoted;
rsc              4341 lib/pengine/unpack.c         history->rsc->role = pcmk_role_unpromoted;
rsc              4345 lib/pengine/unpack.c         history->rsc->role = pcmk_role_started;
rsc              4352 lib/pengine/unpack.c     } else if (history->rsc->role < pcmk_role_started) {
rsc              4353 lib/pengine/unpack.c         pe_rsc_trace(history->rsc, "%s active on %s",
rsc              4354 lib/pengine/unpack.c                      history->rsc->id, pe__node_name(history->node));
rsc              4355 lib/pengine/unpack.c         set_active(history->rsc);
rsc              4367 lib/pengine/unpack.c             pe_rsc_trace(history->rsc,
rsc              4369 lib/pengine/unpack.c                          history->rsc->id, fail2text(*on_fail), history->task);
rsc              4378 lib/pengine/unpack.c             pe__set_next_role(history->rsc, pcmk_role_unknown,
rsc              4383 lib/pengine/unpack.c             if (history->rsc->remote_reconnect_ms == 0) {
rsc              4391 lib/pengine/unpack.c                 pe__set_next_role(history->rsc, pcmk_role_unknown,
rsc              4445 lib/pengine/unpack.c                 history->id, history->rsc->id, pe__node_name(history->node),
rsc              4460 lib/pengine/unpack.c                 history->id, history->rsc->id, pe__node_name(history->node),
rsc              4486 lib/pengine/unpack.c     if (!pe_rsc_is_bundled(history->rsc)
rsc              4490 lib/pengine/unpack.c         if (history->rsc->role <= pcmk_role_stopped) {
rsc              4491 lib/pengine/unpack.c             history->rsc->role = pcmk_role_unknown;
rsc              4495 lib/pengine/unpack.c                   history->id, history->rsc->id,
rsc              4507 lib/pengine/unpack.c                    history->id, history->task, history->rsc->id,
rsc              4526 lib/pengine/unpack.c                    history->rsc->id, pe__node_name(history->node));
rsc              4549 lib/pengine/unpack.c     pcmk_resource_t *ban_rsc = history->rsc;
rsc              4551 lib/pengine/unpack.c     if (!pcmk_is_set(history->rsc->flags, pcmk_rsc_unique)) {
rsc              4552 lib/pengine/unpack.c         ban_rsc = uber_parent(history->rsc);
rsc              4556 lib/pengine/unpack.c                services_ocf_exitcode_str(orig_exit_status), history->rsc->id,
rsc              4564 lib/pengine/unpack.c                       history->rsc->cluster);
rsc              4639 lib/pengine/unpack.c         pe__set_resource_flags(history->rsc, pcmk_rsc_start_pending);
rsc              4640 lib/pengine/unpack.c         set_active(history->rsc);
rsc              4643 lib/pengine/unpack.c         history->rsc->role = pcmk_role_promoted;
rsc              4655 lib/pengine/unpack.c         target = pe_find_node(history->rsc->cluster->nodes, migrate_target);
rsc              4657 lib/pengine/unpack.c             stop_action(history->rsc, target, FALSE);
rsc              4661 lib/pengine/unpack.c     if (history->rsc->pending_task != NULL) {
rsc              4675 lib/pengine/unpack.c         history->rsc->pending_task = strdup("probe");
rsc              4676 lib/pengine/unpack.c         history->rsc->pending_node = history->node;
rsc              4679 lib/pengine/unpack.c         history->rsc->pending_task = strdup(history->task);
rsc              4680 lib/pengine/unpack.c         history->rsc->pending_node = history->node;
rsc              4685 lib/pengine/unpack.c unpack_rsc_op(pcmk_resource_t *rsc, pcmk_node_t *node, xmlNode *xml_op,
rsc              4690 lib/pengine/unpack.c     pcmk_resource_t *parent = rsc;
rsc              4695 lib/pengine/unpack.c         .rsc = rsc,
rsc              4701 lib/pengine/unpack.c     CRM_CHECK(rsc && node && xml_op, return);
rsc              4706 lib/pengine/unpack.c                 rsc->id, pe__node_name(node));
rsc              4714 lib/pengine/unpack.c                 XML_LRM_ATTR_TASK, history.id, rsc->id, pe__node_name(node));
rsc              4720 lib/pengine/unpack.c         pe_rsc_trace(rsc,
rsc              4723 lib/pengine/unpack.c                      history.id, rsc->id, pe__node_name(node), history.task);
rsc              4735 lib/pengine/unpack.c     pe_rsc_trace(rsc, "Unpacking %s (%s call %d on %s): %s (%s)",
rsc              4741 lib/pengine/unpack.c         pe_rsc_trace(rsc,
rsc              4744 lib/pengine/unpack.c                      rsc->id, pe__node_name(node));
rsc              4756 lib/pengine/unpack.c     if (!pe_rsc_is_bundled(rsc) && pcmk_xe_mask_probe_failure(xml_op)) {
rsc              4761 lib/pengine/unpack.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_unique)) {
rsc              4762 lib/pengine/unpack.c         parent = uber_parent(rsc);
rsc              4781 lib/pengine/unpack.c                          history.task, rsc->id, pe__node_name(node),
rsc              4790 lib/pengine/unpack.c                               rsc->cluster);
rsc              4833 lib/pengine/unpack.c                  pcmk__s(history.exit_reason, ""), rsc->id, pe__node_name(node),
rsc              4840 lib/pengine/unpack.c         pe__set_resource_flags(rsc, pcmk_rsc_ignore_failure);
rsc              4867 lib/pengine/unpack.c                               rsc->cluster);
rsc              4876 lib/pengine/unpack.c                               rsc->cluster);
rsc              4881 lib/pengine/unpack.c     pe_rsc_trace(rsc, "%s role on %s after %s is %s (next %s)",
rsc              4882 lib/pengine/unpack.c                  rsc->id, pe__node_name(node), history.id,
rsc              4883 lib/pengine/unpack.c                  role2text(rsc->role), role2text(rsc->next_role));
rsc              4948 lib/pengine/unpack.c extract_operations(const char *node, const char *rsc, xmlNode * rsc_entry, gboolean active_filter)
rsc              4969 lib/pengine/unpack.c             crm_xml_add(rsc_op, "resource", rsc);
rsc              5012 lib/pengine/unpack.c find_operations(const char *rsc, const char *node, gboolean active_filter,
rsc              5066 lib/pengine/unpack.c                         if (rsc != NULL && !pcmk__str_eq(rsc_id, rsc, pcmk__str_casei)) {
rsc                42 lib/pengine/utils.c         pcmk_resource_t *rsc = node->details->remote_rsc->container;
rsc                44 lib/pengine/utils.c         for (GList *n = rsc->running_on; n != NULL; n = n->next) {
rsc               177 lib/pengine/utils.c pe__output_node_weights(const pcmk_resource_t *rsc, const char *comment,
rsc               189 lib/pengine/utils.c         out->message(out, "node-weight", rsc, comment, node->details->uname,
rsc               208 lib/pengine/utils.c                      const pcmk_resource_t *rsc, const char *comment,
rsc               219 lib/pengine/utils.c         if (rsc) {
rsc               223 lib/pengine/utils.c                                         comment, rsc->id,
rsc               251 lib/pengine/utils.c                         bool to_log, const pcmk_resource_t *rsc,
rsc               255 lib/pengine/utils.c     if ((rsc != NULL) && pcmk_is_set(rsc->flags, pcmk_rsc_removed)) {
rsc               265 lib/pengine/utils.c         pe__log_node_weights(file, function, line, rsc, comment, nodes);
rsc               267 lib/pengine/utils.c         pe__output_node_weights(rsc, comment, nodes, scheduler);
rsc               271 lib/pengine/utils.c     if (rsc && rsc->children) {
rsc               272 lib/pengine/utils.c         for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) {
rsc               323 lib/pengine/utils.c resource_node_score(pcmk_resource_t *rsc, const pcmk_node_t *node, int score,
rsc               328 lib/pengine/utils.c     if ((rsc->exclusive_discover
rsc               337 lib/pengine/utils.c     } else if (rsc->children) {
rsc               338 lib/pengine/utils.c         GList *gIter = rsc->children;
rsc               347 lib/pengine/utils.c     match = g_hash_table_lookup(rsc->allowed_nodes, node->details->id);
rsc               350 lib/pengine/utils.c         g_hash_table_insert(rsc->allowed_nodes, (gpointer) match->details->id, match);
rsc               353 lib/pengine/utils.c     pe_rsc_trace(rsc,
rsc               355 lib/pengine/utils.c                  tag, pcmk_readable_score(score), rsc->id, pe__node_name(node),
rsc               360 lib/pengine/utils.c resource_location(pcmk_resource_t *rsc, const pcmk_node_t *node, int score,
rsc               364 lib/pengine/utils.c         resource_node_score(rsc, node, score, tag);
rsc               372 lib/pengine/utils.c             resource_node_score(rsc, node_iter, score, tag);
rsc               379 lib/pengine/utils.c         g_hash_table_iter_init(&iter, rsc->allowed_nodes);
rsc               381 lib/pengine/utils.c             resource_node_score(rsc, node_iter, score, tag);
rsc               386 lib/pengine/utils.c         if (rsc->allocated_to) {
rsc               388 lib/pengine/utils.c                      rsc->id, pe__node_name(rsc->allocated_to));
rsc               389 lib/pengine/utils.c             free(rsc->allocated_to);
rsc               390 lib/pengine/utils.c             rsc->allocated_to = NULL;
rsc               411 lib/pengine/utils.c get_target_role(const pcmk_resource_t *rsc, enum rsc_role_e *role)
rsc               414 lib/pengine/utils.c     const char *value = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE);
rsc               426 lib/pengine/utils.c                          "because '%s' is not valid", rsc->id, value);
rsc               430 lib/pengine/utils.c         if (pcmk_is_set(pe__const_top_resource(rsc, false)->flags,
rsc               440 lib/pengine/utils.c                              "clones", rsc->id, value);
rsc               546 lib/pengine/utils.c rsc_printable_id(const pcmk_resource_t *rsc)
rsc               548 lib/pengine/utils.c     return pcmk_is_set(rsc->flags, pcmk_rsc_unique)? rsc->id : ID(rsc->xml);
rsc               552 lib/pengine/utils.c pe__clear_resource_flags_recursive(pcmk_resource_t *rsc, uint64_t flags)
rsc               554 lib/pengine/utils.c     pe__clear_resource_flags(rsc, flags);
rsc               555 lib/pengine/utils.c     for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) {
rsc               571 lib/pengine/utils.c pe__set_resource_flags_recursive(pcmk_resource_t *rsc, uint64_t flags)
rsc               573 lib/pengine/utils.c     pe__set_resource_flags(rsc, flags);
rsc               574 lib/pengine/utils.c     for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) {
rsc               581 lib/pengine/utils.c trigger_unfencing(pcmk_resource_t *rsc, pcmk_node_t *node, const char *reason,
rsc               588 lib/pengine/utils.c     } else if ((rsc != NULL)
rsc               589 lib/pengine/utils.c                && !pcmk_is_set(rsc->flags, pcmk_rsc_fence_device)) {
rsc               604 lib/pengine/utils.c     } else if(rsc) {
rsc               607 lib/pengine/utils.c         g_hash_table_iter_init(&iter, rsc->allowed_nodes);
rsc               610 lib/pengine/utils.c                 trigger_unfencing(rsc, node, reason, dependency, scheduler);
rsc               725 lib/pengine/utils.c pe__resource_is_disabled(const pcmk_resource_t *rsc)
rsc               729 lib/pengine/utils.c     CRM_CHECK(rsc != NULL, return false);
rsc               730 lib/pengine/utils.c     target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE);
rsc               736 lib/pengine/utils.c                 && pcmk_is_set(pe__const_top_resource(rsc, false)->flags,
rsc               754 lib/pengine/utils.c pe__rsc_running_on_only(const pcmk_resource_t *rsc, const pcmk_node_t *node)
rsc               756 lib/pengine/utils.c     return (rsc != NULL) && pcmk__list_of_1(rsc->running_on)
rsc               757 lib/pengine/utils.c             && pe__same_node((const pcmk_node_t *) rsc->running_on->data, node);
rsc               761 lib/pengine/utils.c pe__rsc_running_on_any(pcmk_resource_t *rsc, GList *node_list)
rsc               763 lib/pengine/utils.c     for (GList *ele = rsc->running_on; ele; ele = ele->next) {
rsc               775 lib/pengine/utils.c pcmk__rsc_filtered_by_node(pcmk_resource_t *rsc, GList *only_node)
rsc               777 lib/pengine/utils.c     return (rsc->fns->active(rsc, FALSE) && !pe__rsc_running_on_any(rsc, only_node));
rsc               786 lib/pengine/utils.c         pcmk_resource_t *rsc = (pcmk_resource_t *) gIter->data;
rsc               791 lib/pengine/utils.c         if (pcmk__str_in_list(rsc_printable_id(rsc), filter, pcmk__str_star_matches) ||
rsc               792 lib/pengine/utils.c             (rsc->parent && pcmk__str_in_list(rsc_printable_id(rsc->parent), filter, pcmk__str_star_matches))) {
rsc               793 lib/pengine/utils.c             retval = g_list_prepend(retval, rsc);
rsc               842 lib/pengine/utils.c         pcmk_resource_t *rsc = pe_find_resource_with_flags(scheduler->resources,
rsc               845 lib/pengine/utils.c         if (rsc) {
rsc               852 lib/pengine/utils.c                 resources = g_list_prepend(resources, strdup(rsc->id));
rsc               854 lib/pengine/utils.c                 resources = g_list_prepend(resources, strdup(rsc_printable_id(rsc)));
rsc               869 lib/pengine/utils.c pe__failed_probe_for_rsc(const pcmk_resource_t *rsc, const char *name)
rsc               871 lib/pengine/utils.c     const pcmk_resource_t *parent = pe__const_top_resource(rsc, false);
rsc               872 lib/pengine/utils.c     const char *rsc_id = rsc->id;
rsc               878 lib/pengine/utils.c     for (xmlNode *xml_op = pcmk__xml_first_child(rsc->cluster->failed); xml_op != NULL;
rsc               129 lib/services/services.c expand_resource_class(const char *rsc, const char *standard, const char *agent)
rsc               137 lib/services/services.c             crm_debug("Found %s agent %s for %s", found_class, agent, rsc);
rsc               141 lib/services/services.c                      agent, rsc);
rsc               220 lib/services/services.c     op->rsc = strdup(name);
rsc               221 lib/services/services.c     if (op->rsc == NULL) {
rsc               509 lib/services/services.c         crm_trace("Removing timer for call %s to %s", op->action, op->rsc);
rsc               619 lib/services/services.c     free(op->rsc);
rsc               844 lib/services/services.c     if (op->rsc) {
rsc               892 lib/services/services.c         && op->rsc && is_op_blocked(op->rsc)) {
rsc               910 lib/services/services.c is_op_blocked(const char *rsc)
rsc               917 lib/services/services.c         if (pcmk__str_eq(op->rsc, rsc, pcmk__str_casei)) {
rsc               943 lib/services/services.c         if (is_op_blocked(op->rsc)) {
rsc              1044 lib/services/services.c               op->rsc, op->action, op->interval_ms, op->opaque->exec, op->rc);
rsc               429 lib/services/services_linux.c     if (op->rsc) {
rsc               430 lib/services/services_linux.c         set_ocf_env("OCF_RESOURCE_INSTANCE", op->rsc, NULL);
rsc               955 lib/services/services_linux.c     rc = pcmk__substitute_secrets(op->rsc, op->params);
rsc               960 lib/services/services_linux.c                      op->rsc, pcmk_rc_str(rc));
rsc               964 lib/services/services_linux.c                     op->rsc, pcmk_rc_str(rc));
rsc                94 lib/services/services_private.h gboolean is_op_blocked(const char *rsc);
rsc               314 lib/services/systemd.c                       error->name, pcmk__s(op->rsc, "unknown resource"));
rsc               326 lib/services/systemd.c              ((op->rsc == NULL)? "" : " for resource "), pcmk__s(op->rsc, ""),
rsc               737 lib/services/systemd.c                  op->action, pcmk__s(op->rsc, "unknown resource"));
rsc               748 lib/services/systemd.c                   op->action, pcmk__s(op->rsc, "unknown resource"), path);
rsc               902 lib/services/systemd.c               pcmk__s(op->rsc, "(unspecified)"), name,
rsc               990 lib/services/systemd.c               ((op->rsc == NULL)? "" : " for resource "), pcmk__s(op->rsc, ""));
rsc              1040 lib/services/systemd.c              op->action, op->agent, op->rsc);
rsc              1083 lib/services/systemd.c               ((op->rsc == NULL)? "" : " for resource "), pcmk__s(op->rsc, ""));
rsc               418 lib/services/upstart.c                       error->name, pcmk__s(op->rsc, "unknown resource"));
rsc               430 lib/services/upstart.c                   error->name, pcmk__s(op->rsc, "unknown resource"));
rsc               436 lib/services/upstart.c              op->action, op->agent, pcmk__s(op->rsc, "with unknown name"),
rsc               468 lib/services/upstart.c                   pcmk__s(op->rsc, "unknown resource"));
rsc               475 lib/services/upstart.c                  pcmk__s(op->rsc, "unknown resource"));
rsc               484 lib/services/upstart.c                   op->action, pcmk__s(op->rsc, "unknown resource"), path);
rsc               623 lib/services/upstart.c               action, pcmk__s(op->rsc, "unknown resource"), job);
rsc              1756 tools/crm_mon.c send_custom_trap(const char *node, const char *rsc, const char *task, int target_rc, int rc,
rsc              1768 tools/crm_mon.c     if(rsc) {
rsc              1769 tools/crm_mon.c         setenv("CRM_notify_rsc", rsc, 1);
rsc              1807 tools/crm_mon.c     char *rsc = NULL;
rsc              1836 tools/crm_mon.c     if (parse_op_key(id, &rsc, &task, NULL) == FALSE) {
rsc              1867 tools/crm_mon.c         crm_notice("%s of %s on %s completed: %s", task, rsc, node, desc);
rsc              1874 tools/crm_mon.c         crm_warn("%s of %s on %s failed: %s", task, rsc, node, desc);
rsc              1878 tools/crm_mon.c         crm_warn("%s of %s on %s failed: %s", task, rsc, node, desc);
rsc              1882 tools/crm_mon.c         send_custom_trap(node, rsc, task, target_rc, rc, status, desc);
rsc              1886 tools/crm_mon.c     free(rsc);
rsc               969 tools/crm_resource.c ban_or_move(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc               976 tools/crm_resource.c     CRM_CHECK(rsc != NULL, return EINVAL);
rsc               978 tools/crm_resource.c     current = pe__find_active_requires(rsc, &nactive);
rsc               985 tools/crm_resource.c     } else if (pcmk_is_set(rsc->flags, pcmk_rsc_promotable)) {
rsc               990 tools/crm_resource.c         for(iter = rsc->children; iter; iter = iter->next) {
rsc              1029 tools/crm_resource.c cleanup(pcmk__output_t *out, pcmk_resource_t *rsc, pcmk_node_t *node)
rsc              1034 tools/crm_resource.c         rsc = uber_parent(rsc);
rsc              1038 tools/crm_resource.c               rsc->id, options.rsc_id, (options.host_uname? options.host_uname: "all nodes"));
rsc              1039 tools/crm_resource.c     rc = cli_resource_delete(controld_api, options.host_uname, rsc,
rsc              1045 tools/crm_resource.c         cli_resource_check(out, rsc, node);
rsc              1227 tools/crm_resource.c refresh_resource(pcmk__output_t *out, pcmk_resource_t *rsc, pcmk_node_t *node)
rsc              1232 tools/crm_resource.c         rsc = uber_parent(rsc);
rsc              1236 tools/crm_resource.c               rsc->id, options.rsc_id, (options.host_uname? options.host_uname: "all nodes"));
rsc              1237 tools/crm_resource.c     rc = cli_resource_delete(controld_api, options.host_uname, rsc, NULL, 0,
rsc              1242 tools/crm_resource.c         cli_resource_check(out, rsc, node);
rsc              1450 tools/crm_resource.c     pcmk_resource_t *rsc = NULL;
rsc              1666 tools/crm_resource.c         rsc = pe_find_resource_with_flags(scheduler->resources, options.rsc_id,
rsc              1668 tools/crm_resource.c         if (rsc == NULL) {
rsc              1678 tools/crm_resource.c         if (strchr(options.rsc_id, ':') != NULL && pe_rsc_is_clone(rsc->parent) &&
rsc              1775 tools/crm_resource.c             rc = cli_resource_restart(out, rsc, node, options.move_lifetime,
rsc              1793 tools/crm_resource.c                 exit_code = cli_resource_execute(rsc, options.rsc_id,
rsc              1805 tools/crm_resource.c                 rc = pcmk__resource_digests(out, rsc, node,
rsc              1811 tools/crm_resource.c             rc = out->message(out, "locations-and-colocations", rsc,
rsc              1843 tools/crm_resource.c             GList *nodes = cli_resource_search(rsc, options.rsc_id, scheduler);
rsc              1850 tools/crm_resource.c             rc = cli_resource_print(rsc, scheduler, true);
rsc              1854 tools/crm_resource.c             rc = cli_resource_print(rsc, scheduler, false);
rsc              1862 tools/crm_resource.c                                   scheduler->resources, rsc, node);
rsc              1872 tools/crm_resource.c                 rc = ban_or_move(out, rsc, options.move_lifetime);
rsc              1874 tools/crm_resource.c                 rc = cli_resource_move(rsc, options.rsc_id, options.host_uname,
rsc              1890 tools/crm_resource.c                 rc = ban_or_move(out, rsc, options.move_lifetime);
rsc              1909 tools/crm_resource.c             rc = out->message(out, "property-list", rsc, options.prop_name);
rsc              1923 tools/crm_resource.c             pcmk_node_t *current = rsc->fns->active_node(rsc, &count, NULL);
rsc              1929 tools/crm_resource.c                          " returning the default value for %s", rsc->id,
rsc              1934 tools/crm_resource.c             crm_debug("Looking up %s in %s", options.prop_name, rsc->id);
rsc              1937 tools/crm_resource.c                 params = pe_rsc_params(rsc, current, scheduler);
rsc              1944 tools/crm_resource.c                 get_meta_attributes(params, rsc, current, scheduler);
rsc              1950 tools/crm_resource.c                 value = crm_element_value(rsc->xml, options.prop_name);
rsc              1955 tools/crm_resource.c                 pe__unpack_dataset_nvpairs(rsc->xml, XML_TAG_UTILIZATION, NULL, params,
rsc              1961 tools/crm_resource.c             rc = out->message(out, "attribute-list", rsc, options.prop_name, value);
rsc              1978 tools/crm_resource.c             rc = cli_resource_update_attribute(rsc, options.rsc_id,
rsc              1991 tools/crm_resource.c             rc = cli_resource_delete_attribute(rsc, options.rsc_id,
rsc              2001 tools/crm_resource.c             if (rsc == NULL) {
rsc              2009 tools/crm_resource.c                 cleanup(out, rsc, node);
rsc              2014 tools/crm_resource.c             if (rsc == NULL) {
rsc              2017 tools/crm_resource.c                 refresh_resource(out, rsc, node);
rsc                47 tools/crm_resource.h     pcmk_resource_t *rsc;   // Resource being checked
rsc                52 tools/crm_resource.h resource_checks_t *cli_check_resource(pcmk_resource_t *rsc, char *role_s,
rsc                65 tools/crm_resource.h                                    const char *rsc, const char *node, gboolean promoted_role_only);
rsc                68 tools/crm_resource.h void cli_resource_print_cts(pcmk_resource_t *rsc, pcmk__output_t *out);
rsc                71 tools/crm_resource.h int cli_resource_print(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler,
rsc                77 tools/crm_resource.h int cli_resource_check(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc                81 tools/crm_resource.h GList *cli_resource_search(pcmk_resource_t *rsc, const char *requested_name,
rsc                84 tools/crm_resource.h                         const pcmk_resource_t *rsc, const char *operation,
rsc                90 tools/crm_resource.h int cli_resource_restart(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc                94 tools/crm_resource.h int cli_resource_move(const pcmk_resource_t *rsc, const char *rsc_id,
rsc               104 tools/crm_resource.h crm_exit_t cli_resource_execute(pcmk_resource_t *rsc,
rsc               111 tools/crm_resource.h int cli_resource_update_attribute(pcmk_resource_t *rsc,
rsc               117 tools/crm_resource.h int cli_resource_delete_attribute(pcmk_resource_t *rsc,
rsc               126 tools/crm_resource.h bool resource_is_running_on(pcmk_resource_t *rsc, const char *host);
rsc               349 tools/crm_resource_ban.c                          const char *rsc, const char *node,
rsc               370 tools/crm_resource_ban.c     if ((node != NULL) || (rsc != NULL) || promoted_role_only) {
rsc               376 tools/crm_resource_ban.c             if (promoted_role_only || (rsc != NULL)) {
rsc               381 tools/crm_resource_ban.c         if ((rsc != NULL) && promoted_role_only) {
rsc               384 tools/crm_resource_ban.c                            "@" XML_LOC_ATTR_SOURCE "='", rsc, "' "
rsc               387 tools/crm_resource_ban.c         } else if (rsc != NULL) {
rsc               390 tools/crm_resource_ban.c                            "@" XML_LOC_ATTR_SOURCE "='", rsc, "'", NULL);
rsc               432 tools/crm_resource_ban.c                                const char *rsc, const char *node, gboolean promoted_role_only)
rsc               453 tools/crm_resource_ban.c         build_clear_xpath_string(buf, constraint_node, rsc, node,
rsc                63 tools/crm_resource_print.c cli_resource_print_cts(pcmk_resource_t *rsc, pcmk__output_t *out)
rsc                67 tools/crm_resource_print.c     const char *rtype = crm_element_value(rsc->xml, XML_ATTR_TYPE);
rsc                68 tools/crm_resource_print.c     const char *rprov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER);
rsc                69 tools/crm_resource_print.c     const char *rclass = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
rsc                70 tools/crm_resource_print.c     pcmk_node_t *node = pe__current_node(rsc);
rsc                83 tools/crm_resource_print.c               rsc->xml->name, rsc->id,
rsc                84 tools/crm_resource_print.c               rsc->clone_name ? rsc->clone_name : rsc->id, rsc->parent ? rsc->parent->id : "NA",
rsc                85 tools/crm_resource_print.c               rprov ? rprov : "NA", rclass, rtype, host ? host : "NA", needs_quorum, rsc->flags,
rsc                86 tools/crm_resource_print.c               rsc->flags);
rsc                88 tools/crm_resource_print.c     g_list_foreach(rsc->children, (GFunc) cli_resource_print_cts, out);
rsc               118 tools/crm_resource_print.c cli_resource_print(pcmk_resource_t *rsc, pcmk_scheduler_t *scheduler,
rsc               128 tools/crm_resource_print.c     out->message(out, crm_map_element_name(rsc->xml), show_opts, rsc, all, all);
rsc               129 tools/crm_resource_print.c     out->message(out, "resource-config", rsc, !expanded);
rsc               140 tools/crm_resource_print.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               150 tools/crm_resource_print.c         out->err(out, "Attribute '%s' not found for '%s'", attr, rsc->id);
rsc               234 tools/crm_resource_print.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               242 tools/crm_resource_print.c         out->err(out, "Attribute '%s' not found for '%s'", attr, rsc->id);
rsc               286 tools/crm_resource_print.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               289 tools/crm_resource_print.c     const char *value = crm_element_value(rsc->xml, attr);
rsc               303 tools/crm_resource_print.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               306 tools/crm_resource_print.c     const char *value = crm_element_value(rsc->xml, attr);
rsc               449 tools/crm_resource_print.c     const pcmk_resource_t *parent = pe__const_top_resource(checks->rsc, false);
rsc               482 tools/crm_resource_print.c                        pe_pref(checks->rsc->cluster->config_hash,
rsc               495 tools/crm_resource_print.c     const pcmk_resource_t *parent = pe__const_top_resource(checks->rsc, false);
rsc               601 tools/crm_resource_print.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               608 tools/crm_resource_print.c     if ((rsc == NULL) && (host_uname == NULL)) {
rsc               613 tools/crm_resource_print.c             pcmk_resource_t *rsc = (pcmk_resource_t *) lpc->data;
rsc               614 tools/crm_resource_print.c             rsc->fns->location(rsc, &hosts, TRUE);
rsc               617 tools/crm_resource_print.c                 out->list_item(out, "reason", "Resource %s is not running", rsc->id);
rsc               619 tools/crm_resource_print.c                 out->list_item(out, "reason", "Resource %s is running", rsc->id);
rsc               622 tools/crm_resource_print.c             cli_resource_check(out, rsc, NULL);
rsc               627 tools/crm_resource_print.c     } else if ((rsc != NULL) && (host_uname != NULL)) {
rsc               628 tools/crm_resource_print.c         if (resource_is_running_on(rsc, host_uname)) {
rsc               630 tools/crm_resource_print.c                            rsc->id, host_uname);
rsc               633 tools/crm_resource_print.c                            rsc->id, host_uname);
rsc               636 tools/crm_resource_print.c         cli_resource_check(out, rsc, node);
rsc               638 tools/crm_resource_print.c     } else if ((rsc == NULL) && (host_uname != NULL)) {
rsc               646 tools/crm_resource_print.c             pcmk_resource_t *rsc = (pcmk_resource_t *) lpc->data;
rsc               648 tools/crm_resource_print.c                            rsc->id, host_uname);
rsc               649 tools/crm_resource_print.c             cli_resource_check(out, rsc, node);
rsc               653 tools/crm_resource_print.c             pcmk_resource_t *rsc = (pcmk_resource_t *) lpc->data;
rsc               655 tools/crm_resource_print.c                            rsc->id, host_uname);
rsc               656 tools/crm_resource_print.c             cli_resource_check(out, rsc, node);
rsc               663 tools/crm_resource_print.c     } else if ((rsc != NULL) && (host_uname == NULL)) {
rsc               666 tools/crm_resource_print.c         rsc->fns->location(rsc, &hosts, TRUE);
rsc               668 tools/crm_resource_print.c                        rsc->id, (hosts? "" : "not "));
rsc               669 tools/crm_resource_print.c         cli_resource_check(out, rsc, NULL);
rsc               683 tools/crm_resource_print.c     pcmk_resource_t *rsc = va_arg(args, pcmk_resource_t *);
rsc               690 tools/crm_resource_print.c     if ((rsc == NULL) && (host_uname == NULL)) {
rsc               697 tools/crm_resource_print.c             pcmk_resource_t *rsc = (pcmk_resource_t *) lpc->data;
rsc               699 tools/crm_resource_print.c             rsc->fns->location(rsc, &hosts, TRUE);
rsc               702 tools/crm_resource_print.c                                            "id", rsc->id,
rsc               706 tools/crm_resource_print.c             cli_resource_check(out, rsc, NULL);
rsc               714 tools/crm_resource_print.c     } else if ((rsc != NULL) && (host_uname != NULL)) {
rsc               715 tools/crm_resource_print.c         if (resource_is_running_on(rsc, host_uname)) {
rsc               719 tools/crm_resource_print.c         cli_resource_check(out, rsc, node);
rsc               721 tools/crm_resource_print.c     } else if ((rsc == NULL) && (host_uname != NULL)) {
rsc               731 tools/crm_resource_print.c             pcmk_resource_t *rsc = (pcmk_resource_t *) lpc->data;
rsc               734 tools/crm_resource_print.c                                            "id", rsc->id,
rsc               739 tools/crm_resource_print.c             cli_resource_check(out, rsc, node);
rsc               744 tools/crm_resource_print.c             pcmk_resource_t *rsc = (pcmk_resource_t *) lpc->data;
rsc               747 tools/crm_resource_print.c                                            "id", rsc->id,
rsc               752 tools/crm_resource_print.c             cli_resource_check(out, rsc, node);
rsc               761 tools/crm_resource_print.c     } else if ((rsc != NULL) && (host_uname == NULL)) {
rsc               764 tools/crm_resource_print.c         rsc->fns->location(rsc, &hosts, TRUE);
rsc               766 tools/crm_resource_print.c         cli_resource_check(out, rsc, NULL);
rsc               774 tools/crm_resource_print.c add_resource_name(pcmk_resource_t *rsc, pcmk__output_t *out)
rsc               776 tools/crm_resource_print.c     if (rsc->children == NULL) {
rsc               777 tools/crm_resource_print.c         out->list_item(out, "resource", "%s", rsc->id);
rsc               779 tools/crm_resource_print.c         g_list_foreach(rsc->children, (GFunc) add_resource_name, out);
rsc                19 tools/crm_resource_runtime.c build_node_info_list(const pcmk_resource_t *rsc)
rsc                23 tools/crm_resource_runtime.c     for (const GList *iter = rsc->children; iter != NULL; iter = iter->next) {
rsc                33 tools/crm_resource_runtime.c             ni->promoted = pcmk_is_set(rsc->flags, pcmk_rsc_promotable) &&
rsc                44 tools/crm_resource_runtime.c cli_resource_search(pcmk_resource_t *rsc, const char *requested_name,
rsc                48 tools/crm_resource_runtime.c     const pcmk_resource_t *parent = pe__const_top_resource(rsc, false);
rsc                50 tools/crm_resource_runtime.c     if (pe_rsc_is_clone(rsc)) {
rsc                51 tools/crm_resource_runtime.c         retval = build_node_info_list(rsc);
rsc                55 tools/crm_resource_runtime.c                && !pcmk_is_set(rsc->flags, pcmk_rsc_unique)
rsc                56 tools/crm_resource_runtime.c                && rsc->clone_name
rsc                57 tools/crm_resource_runtime.c                && pcmk__str_eq(requested_name, rsc->clone_name, pcmk__str_casei)
rsc                58 tools/crm_resource_runtime.c                && !pcmk__str_eq(requested_name, rsc->id, pcmk__str_casei)) {
rsc                62 tools/crm_resource_runtime.c     } else if (rsc->running_on != NULL) {
rsc                63 tools/crm_resource_runtime.c         for (GList *iter = rsc->running_on; iter != NULL; iter = iter->next) {
rsc                67 tools/crm_resource_runtime.c             ni->promoted = (rsc->fns->state(rsc, TRUE) == pcmk_role_promoted);
rsc                79 tools/crm_resource_runtime.c                    const char *rsc, const char *attr_set_type, const char *set_name,
rsc               103 tools/crm_resource_runtime.c                    xpath_base, "//*[@" XML_ATTR_ID "=\"", rsc, "\"]", NULL);
rsc               164 tools/crm_resource_runtime.c                                        pcmk_resource_t *rsc, const char *rsc_id,
rsc               170 tools/crm_resource_runtime.c     char *lookup_id = clone_strip(rsc->id);
rsc               174 tools/crm_resource_runtime.c     for(GList *gIter = rsc->children; gIter; gIter = gIter->next) {
rsc               180 tools/crm_resource_runtime.c         if (rsc->variant == pcmk_rsc_variant_clone) {
rsc               191 tools/crm_resource_runtime.c         *result = g_list_append(*result, rsc);
rsc               201 tools/crm_resource_runtime.c find_matching_attr_resources(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc               215 tools/crm_resource_runtime.c         return g_list_append(result, rsc);
rsc               217 tools/crm_resource_runtime.c     if ((rsc->parent != NULL)
rsc               218 tools/crm_resource_runtime.c         && (rsc->parent->variant == pcmk_rsc_variant_clone)) {
rsc               226 tools/crm_resource_runtime.c             rsc = rsc->parent;
rsc               228 tools/crm_resource_runtime.c                       cmd, attr_name, rsc->id, rsc_id);
rsc               230 tools/crm_resource_runtime.c         return g_list_append(result, rsc);
rsc               232 tools/crm_resource_runtime.c     } else if ((rsc->parent == NULL) && (rsc->children != NULL)
rsc               233 tools/crm_resource_runtime.c                && (rsc->variant == pcmk_rsc_variant_clone)) {
rsc               234 tools/crm_resource_runtime.c         pcmk_resource_t *child = rsc->children->data;
rsc               242 tools/crm_resource_runtime.c                 rsc = child;
rsc               250 tools/crm_resource_runtime.c         return g_list_append(result, rsc);
rsc               253 tools/crm_resource_runtime.c     find_matching_attr_resources_recursive(out, &result, rsc, rsc_id, attr_set,
rsc               261 tools/crm_resource_runtime.c cli_resource_update_attribute(pcmk_resource_t *rsc, const char *requested_name,
rsc               267 tools/crm_resource_runtime.c     pcmk__output_t *out = rsc->cluster->priv;
rsc               273 tools/crm_resource_runtime.c     const char *top_id = pe__const_top_resource(rsc, false)->id;
rsc               299 tools/crm_resource_runtime.c         resources = g_list_append(resources, rsc);
rsc               302 tools/crm_resource_runtime.c         crm_xml_add(rsc->xml, attr_name, attr_value);
rsc               304 tools/crm_resource_runtime.c         rc = cib->cmds->replace(cib, XML_CIB_TAG_RESOURCES, rsc->xml,
rsc               314 tools/crm_resource_runtime.c         resources = find_matching_attr_resources(out, rsc, requested_name,
rsc               341 tools/crm_resource_runtime.c         rsc = (pcmk_resource_t *) iter->data;
rsc               343 tools/crm_resource_runtime.c         lookup_id = clone_strip(rsc->id); /* Could be a cloned group! */
rsc               366 tools/crm_resource_runtime.c                 xml_top = create_xml_node(NULL, (const char *) rsc->xml->name);
rsc               414 tools/crm_resource_runtime.c                 pcmk__unpack_constraints(rsc->cluster);
rsc               415 tools/crm_resource_runtime.c                 pe__clear_resource_flags_on_all(rsc->cluster,
rsc               423 tools/crm_resource_runtime.c             pe__set_resource_flags(rsc, pcmk_rsc_detect_loop);
rsc               424 tools/crm_resource_runtime.c             for (lpc = rsc->rsc_cons_lhs; lpc != NULL; lpc = lpc->next) {
rsc               448 tools/crm_resource_runtime.c cli_resource_delete_attribute(pcmk_resource_t *rsc, const char *requested_name,
rsc               453 tools/crm_resource_runtime.c     pcmk__output_t *out = rsc->cluster->priv;
rsc               459 tools/crm_resource_runtime.c                            pe__const_top_resource(rsc, false)->id, NULL,
rsc               464 tools/crm_resource_runtime.c         resources = find_matching_attr_resources(out, rsc, requested_name,
rsc               470 tools/crm_resource_runtime.c         xml_remove_prop(rsc->xml, attr_name);
rsc               472 tools/crm_resource_runtime.c         rc = cib->cmds->replace(cib, XML_CIB_TAG_RESOURCES, rsc->xml,
rsc               481 tools/crm_resource_runtime.c         resources = g_list_append(resources, rsc);
rsc               490 tools/crm_resource_runtime.c         rsc = (pcmk_resource_t *) iter->data;
rsc               492 tools/crm_resource_runtime.c         lookup_id = clone_strip(rsc->id);
rsc               553 tools/crm_resource_runtime.c     pcmk_resource_t *rsc = pe_find_resource(scheduler->resources, rsc_id);
rsc               555 tools/crm_resource_runtime.c     if (rsc == NULL) {
rsc               559 tools/crm_resource_runtime.c     } else if (rsc->variant != pcmk_rsc_variant_primitive) {
rsc               564 tools/crm_resource_runtime.c     rsc_class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
rsc               565 tools/crm_resource_runtime.c     rsc_provider = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER),
rsc               566 tools/crm_resource_runtime.c     rsc_type = crm_element_value(rsc->xml, XML_ATTR_TYPE);
rsc               599 tools/crm_resource_runtime.c     if (rsc->clone_name) {
rsc               600 tools/crm_resource_runtime.c         rsc_api_id = rsc->clone_name;
rsc               601 tools/crm_resource_runtime.c         rsc_long_id = rsc->id;
rsc               603 tools/crm_resource_runtime.c         rsc_api_id = rsc->id;
rsc               626 tools/crm_resource_runtime.c rsc_fail_name(const pcmk_resource_t *rsc)
rsc               628 tools/crm_resource_runtime.c     const char *name = (rsc->clone_name? rsc->clone_name : rsc->id);
rsc               630 tools/crm_resource_runtime.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_unique)) {
rsc               747 tools/crm_resource_runtime.c clear_rsc_fail_attrs(const pcmk_resource_t *rsc, const char *operation,
rsc               752 tools/crm_resource_runtime.c     char *rsc_name = rsc_fail_name(rsc);
rsc               768 tools/crm_resource_runtime.c                     const pcmk_resource_t *rsc, const char *operation,
rsc               776 tools/crm_resource_runtime.c     if (rsc == NULL) {
rsc               779 tools/crm_resource_runtime.c     } else if (rsc->children) {
rsc               781 tools/crm_resource_runtime.c         for (const GList *lpc = rsc->children; lpc != NULL; lpc = lpc->next) {
rsc               795 tools/crm_resource_runtime.c         GList *nodes = g_hash_table_get_values(rsc->known_on);
rsc               800 tools/crm_resource_runtime.c         } else if(nodes == NULL && rsc->exclusive_discover) {
rsc               804 tools/crm_resource_runtime.c             g_hash_table_iter_init(&iter, rsc->allowed_nodes);
rsc               812 tools/crm_resource_runtime.c             nodes = g_hash_table_get_values(rsc->allowed_nodes);
rsc               819 tools/crm_resource_runtime.c                 rc = cli_resource_delete(controld_api, node->details->uname, rsc,
rsc               837 tools/crm_resource_runtime.c                  rsc->id, host_uname);
rsc               843 tools/crm_resource_runtime.c                  rsc->id, host_uname);
rsc               849 tools/crm_resource_runtime.c                  rsc->id, host_uname);
rsc               853 tools/crm_resource_runtime.c     rc = clear_rsc_fail_attrs(rsc, operation, interval_spec, node);
rsc               856 tools/crm_resource_runtime.c                  rsc->id, host_uname, pcmk_rc_str(rc));
rsc               861 tools/crm_resource_runtime.c         rc = clear_rsc_failures(out, controld_api, host_uname, rsc->id, operation,
rsc               864 tools/crm_resource_runtime.c         rc = clear_rsc_history(controld_api, host_uname, rsc->id, scheduler);
rsc               868 tools/crm_resource_runtime.c                  rsc->id, host_uname, pcmk_rc_str(rc));
rsc               870 tools/crm_resource_runtime.c         out->info(out, "Cleaned up %s on %s", rsc->id, host_uname);
rsc               941 tools/crm_resource_runtime.c     const char *role_s = g_hash_table_lookup(checks->rsc->meta,
rsc               953 tools/crm_resource_runtime.c             if (pcmk_is_set(pe__const_top_resource(checks->rsc, false)->flags,
rsc               967 tools/crm_resource_runtime.c     const char *managed_s = g_hash_table_lookup(checks->rsc->meta,
rsc               978 tools/crm_resource_runtime.c     if (checks->rsc->lock_node != NULL) {
rsc               980 tools/crm_resource_runtime.c         checks->lock_node = checks->rsc->lock_node->details->uname;
rsc              1022 tools/crm_resource_runtime.c         g_hash_table_iter_init(&iter, checks->rsc->allowed_nodes);
rsc              1040 tools/crm_resource_runtime.c cli_resource_check(pcmk__output_t *out, pcmk_resource_t *rsc, pcmk_node_t *node)
rsc              1042 tools/crm_resource_runtime.c     resource_checks_t checks = { .rsc = rsc };
rsc              1062 tools/crm_resource_runtime.c generate_resource_params(pcmk_resource_t *rsc, pcmk_node_t *node,
rsc              1074 tools/crm_resource_runtime.c     params = pe_rsc_params(rsc, node, scheduler);
rsc              1083 tools/crm_resource_runtime.c     get_meta_attributes(meta, rsc, node, scheduler);
rsc              1097 tools/crm_resource_runtime.c bool resource_is_running_on(pcmk_resource_t *rsc, const char *host)
rsc              1103 tools/crm_resource_runtime.c     if (rsc == NULL) {
rsc              1107 tools/crm_resource_runtime.c     rsc->fns->location(rsc, &hosts, TRUE);
rsc              1112 tools/crm_resource_runtime.c             crm_trace("Resource %s is running on %s\n", rsc->id, host);
rsc              1118 tools/crm_resource_runtime.c         crm_trace("Resource %s is not running on: %s\n", rsc->id, host);
rsc              1122 tools/crm_resource_runtime.c         crm_trace("Resource %s is not running\n", rsc->id);
rsc              1147 tools/crm_resource_runtime.c         pcmk_resource_t *rsc = (pcmk_resource_t *) rIter->data;
rsc              1153 tools/crm_resource_runtime.c         if (rsc->variant == pcmk_rsc_variant_group) {
rsc              1155 tools/crm_resource_runtime.c                                    get_active_resources(host, rsc->children));
rsc              1156 tools/crm_resource_runtime.c         } else if (resource_is_running_on(rsc, host)) {
rsc              1157 tools/crm_resource_runtime.c             active = g_list_append(active, strdup(rsc->id));
rsc              1329 tools/crm_resource_runtime.c max_rsc_stop_timeout(pcmk_resource_t *rsc)
rsc              1336 tools/crm_resource_runtime.c     if (rsc == NULL) {
rsc              1341 tools/crm_resource_runtime.c     if (rsc->children != NULL) {
rsc              1342 tools/crm_resource_runtime.c         for (GList *iter = rsc->children; iter; iter = iter->next) {
rsc              1347 tools/crm_resource_runtime.c                 pe_rsc_trace(rsc,
rsc              1349 tools/crm_resource_runtime.c                              rsc->id, pcmk__readable_interval(delay), child->id);
rsc              1357 tools/crm_resource_runtime.c     config = pcmk__find_action_config(rsc, PCMK_ACTION_STOP, 0, true);
rsc              1364 tools/crm_resource_runtime.c     meta = pcmk__unpack_action_meta(rsc, NULL, PCMK_ACTION_STOP, 0, config);
rsc              1397 tools/crm_resource_runtime.c         pcmk_resource_t *rsc = pe_find_resource(scheduler->resources,
rsc              1399 tools/crm_resource_runtime.c         int delay = max_rsc_stop_timeout(rsc);
rsc              1402 tools/crm_resource_runtime.c             pe_rsc_trace(rsc,
rsc              1404 tools/crm_resource_runtime.c                          pcmk__readable_interval(delay), rsc->id);
rsc              1439 tools/crm_resource_runtime.c cli_resource_restart(pcmk__output_t *out, pcmk_resource_t *rsc,
rsc              1462 tools/crm_resource_runtime.c     pcmk_resource_t *parent = uber_parent(rsc);
rsc              1465 tools/crm_resource_runtime.c     const char *id = rsc->clone_name ? rsc->clone_name : rsc->id;
rsc              1471 tools/crm_resource_runtime.c     if (pe_rsc_is_bundled(rsc)) {
rsc              1472 tools/crm_resource_runtime.c         rsc = parent->parent;
rsc              1475 tools/crm_resource_runtime.c     running = resource_is_running_on(rsc, host);
rsc              1479 tools/crm_resource_runtime.c             lookup_id = strdup(rsc->id);
rsc              1481 tools/crm_resource_runtime.c             lookup_id = clone_strip(rsc->id);
rsc              1484 tools/crm_resource_runtime.c         rsc = parent->fns->find_rsc(parent, lookup_id, node,
rsc              1488 tools/crm_resource_runtime.c         running = resource_is_running_on(rsc, host);
rsc              1500 tools/crm_resource_runtime.c     if (!pcmk_is_set(rsc->flags, pcmk_rsc_managed)) {
rsc              1505 tools/crm_resource_runtime.c     rsc_id = strdup(rsc->id);
rsc              1508 tools/crm_resource_runtime.c         lookup_id = strdup(rsc->id);
rsc              1510 tools/crm_resource_runtime.c         lookup_id = clone_strip(rsc->id);
rsc              1514 tools/crm_resource_runtime.c         if (pe_rsc_is_clone(rsc) || pe_bundle_replicas(rsc)) {
rsc              1575 tools/crm_resource_runtime.c         rc = cli_resource_update_attribute(rsc, rsc_id, NULL, XML_TAG_META_SETS,
rsc              1654 tools/crm_resource_runtime.c         rc = cli_resource_update_attribute(rsc, rsc_id, NULL, XML_TAG_META_SETS,
rsc              1661 tools/crm_resource_runtime.c         rc = cli_resource_delete_attribute(rsc, rsc_id, NULL, XML_TAG_META_SETS,
rsc              1681 tools/crm_resource_runtime.c     while (waiting_for_starts(list_delta, rsc, host)) {
rsc              1689 tools/crm_resource_runtime.c         for (lpc = 0; (lpc < step_timeout_s) && waiting_for_starts(list_delta, rsc, host); lpc++) {
rsc              1734 tools/crm_resource_runtime.c         cli_resource_update_attribute(rsc, rsc_id, NULL, XML_TAG_META_SETS, NULL,
rsc              1739 tools/crm_resource_runtime.c         cli_resource_delete_attribute(rsc, rsc_id, NULL, XML_TAG_META_SETS,
rsc              2064 tools/crm_resource_runtime.c cli_resource_execute(pcmk_resource_t *rsc, const char *requested_name,
rsc              2079 tools/crm_resource_runtime.c         if(pe_rsc_is_clone(rsc)) {
rsc              2080 tools/crm_resource_runtime.c             GList *nodes = cli_resource_search(rsc, requested_name, scheduler);
rsc              2083 tools/crm_resource_runtime.c                          rsc_action, rsc->id);
rsc              2093 tools/crm_resource_runtime.c     if(pe_rsc_is_clone(rsc)) {
rsc              2095 tools/crm_resource_runtime.c         rsc = rsc->children->data;
rsc              2098 tools/crm_resource_runtime.c     if (rsc->variant == pcmk_rsc_variant_group) {
rsc              2101 tools/crm_resource_runtime.c     } else if (pe_rsc_is_bundled(rsc)) {
rsc              2106 tools/crm_resource_runtime.c     rclass = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
rsc              2107 tools/crm_resource_runtime.c     rprov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER);
rsc              2108 tools/crm_resource_runtime.c     rtype = crm_element_value(rsc->xml, XML_ATTR_TYPE);
rsc              2110 tools/crm_resource_runtime.c     params = generate_resource_params(rsc, NULL /* @TODO use local node */,
rsc              2114 tools/crm_resource_runtime.c         timeout_ms = pe_get_configured_timeout(rsc, get_action(rsc_action),
rsc              2118 tools/crm_resource_runtime.c     rid = pe_rsc_is_anon_clone(rsc->parent)? requested_name : rsc->id;
rsc              2128 tools/crm_resource_runtime.c cli_resource_move(const pcmk_resource_t *rsc, const char *rsc_id,
rsc              2145 tools/crm_resource_runtime.c         && !pcmk_is_set(rsc->flags, pcmk_rsc_promotable)) {
rsc              2147 tools/crm_resource_runtime.c         const pcmk_resource_t *p = pe__const_top_resource(rsc, false);
rsc              2150 tools/crm_resource_runtime.c             out->info(out, "Using parent '%s' for move instead of '%s'.", rsc->id, rsc_id);
rsc              2152 tools/crm_resource_runtime.c             rsc = p;
rsc              2161 tools/crm_resource_runtime.c     current = pe__find_active_requires(rsc, &count);
rsc              2163 tools/crm_resource_runtime.c     if (pcmk_is_set(rsc->flags, pcmk_rsc_promotable)) {
rsc              2167 tools/crm_resource_runtime.c         for (const GList *iter = rsc->children; iter; iter = iter->next) {
rsc              2172 tools/crm_resource_runtime.c                 rsc = child;
rsc              2185 tools/crm_resource_runtime.c         if (pe_rsc_is_clone(rsc)) {
rsc              2217 tools/crm_resource_runtime.c               rsc->id, (promoted_role_only? " (promoted)" : ""),