rsc 417 daemons/attrd/attrd_corosync.c const char *rsc = crm_element_value(xml, PCMK__XA_ATTR_RESOURCE); rsc 428 daemons/attrd/attrd_corosync.c if (attrd_failure_regex(®ex, rsc, op, interval_ms) != pcmk_ok) { rsc 430 daemons/attrd/attrd_corosync.c pcmk__s(rsc, "all resources")); rsc 445 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 115 daemons/attrd/attrd_ipc.c rsc = crm_element_value(xml, PCMK__XA_ATTR_RESOURCE); rsc 124 daemons/attrd/attrd_ipc.c if (rsc) { rsc 128 daemons/attrd/attrd_ipc.c pattern = crm_strdup_printf(ATTRD_RE_CLEAR_ONE, rsc); rsc 134 daemons/attrd/attrd_ipc.c rsc, op, interval_ms); rsc 222 daemons/attrd/attrd_utils.c attrd_failure_regex(regex_t *regex, const char *rsc, const char *op, rsc 230 daemons/attrd/attrd_utils.c if (rsc == NULL) { rsc 233 daemons/attrd/attrd_utils.c pattern = crm_strdup_printf(ATTRD_RE_CLEAR_ONE, rsc); rsc 235 daemons/attrd/attrd_utils.c pattern = crm_strdup_printf(ATTRD_RE_CLEAR_OP, rsc, op, interval_ms); rsc 86 daemons/attrd/pacemaker-attrd.h int attrd_failure_regex(regex_t *regex, const char *rsc, const char *op, rsc 129 daemons/controld/controld_attrd.c update_attrd_clear_failures(const char *host, const char *rsc, const char *op, rsc 149 daemons/controld/controld_attrd.c "on %s node %s", interval_desc, op_desc, rsc, rsc 151 daemons/controld/controld_attrd.c rc = pcmk__attrd_api_clear_failures(attrd_api, host, rsc, op, rsc 156 daemons/controld/controld_attrd.c CRM_XS " rc=%d", pcmk__s(rsc, "all resources"), rsc 33 daemons/controld/controld_execd.c const char *rsc; rsc 47 daemons/controld/controld_execd.c static void do_lrm_rsc_op(lrm_state_t *lrm_state, lrmd_rsc_info_t *rsc, rsc 52 daemons/controld/controld_execd.c static int do_update_resource(const char *node_name, lrmd_rsc_info_t *rsc, rsc 70 daemons/controld/controld_execd.c make_stop_id(const char *rsc, int call_id) rsc 72 daemons/controld/controld_execd.c return crm_strdup_printf("%s:%d", rsc, call_id); rsc 154 daemons/controld/controld_execd.c free(history->rsc.type); rsc 155 daemons/controld/controld_execd.c free(history->rsc.standard); rsc 156 daemons/controld/controld_execd.c free(history->rsc.provider); rsc 166 daemons/controld/controld_execd.c update_history_cache(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, lrmd_event_data_t * op) rsc 185 daemons/controld/controld_execd.c if (entry == NULL && rsc) { rsc 190 daemons/controld/controld_execd.c entry->rsc.id = entry->id; rsc 191 daemons/controld/controld_execd.c entry->rsc.type = strdup(rsc->type); rsc 192 daemons/controld/controld_execd.c entry->rsc.standard = strdup(rsc->standard); rsc 193 daemons/controld/controld_execd.c pcmk__str_update(&entry->rsc.provider, rsc->provider); rsc 272 daemons/controld/controld_execd.c const char *rsc_id, const lrmd_rsc_info_t *rsc, rsc 278 daemons/controld/controld_execd.c controld_ack_event_directly(ack_host, ack_sys, rsc, op, rsc_id); rsc 684 daemons/controld/controld_execd.c build_operation_update(xmlNode * parent, const lrmd_rsc_info_t *rsc, rsc 709 daemons/controld/controld_execd.c if ((rsc == NULL) || (op->params == NULL) rsc 710 daemons/controld/controld_execd.c || !crm_op_needs_metadata(rsc->standard, op->op_type)) { rsc 713 daemons/controld/controld_execd.c op->op_type, op->rsc_id, op->params, rsc); rsc 730 daemons/controld/controld_execd.c metadata = controld_get_rsc_metadata(lrm_state, rsc, rsc 738 daemons/controld/controld_execd.c rsc->standard, rsc->provider, rsc->type); rsc 790 daemons/controld/controld_execd.c crm_xml_add(xml_rsc, XML_ATTR_TYPE, entry->rsc.type); rsc 791 daemons/controld/controld_execd.c crm_xml_add(xml_rsc, XML_AGENT_ATTR_CLASS, entry->rsc.standard); rsc 792 daemons/controld/controld_execd.c crm_xml_add(xml_rsc, XML_AGENT_ATTR_PROVIDER, entry->rsc.provider); rsc 801 daemons/controld/controld_execd.c build_operation_update(xml_rsc, &(entry->rsc), entry->failed, lrm_state->node_name, rsc 803 daemons/controld/controld_execd.c build_operation_update(xml_rsc, &(entry->rsc), entry->last, lrm_state->node_name, rsc 806 daemons/controld/controld_execd.c build_operation_update(xml_rsc, &(entry->rsc), gIter->data, lrm_state->node_name, rsc 925 daemons/controld/controld_execd.c if (pcmk__str_eq(event->rsc, op->rsc, pcmk__str_none)) { rsc 926 daemons/controld/controld_execd.c notify_deleted(event->lrm_state, op->input, event->rsc, event->rc); rsc 935 daemons/controld/controld_execd.c const char *rsc = user_data; rsc 938 daemons/controld/controld_execd.c if (pcmk__str_eq(rsc, pending->rsc_id, pcmk__str_none)) { rsc 940 daemons/controld/controld_execd.c pending->op_key, pending->call_id, rsc); rsc 973 daemons/controld/controld_execd.c event.rsc = rsc_id; rsc 1194 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc; rsc 1207 daemons/controld/controld_execd.c remove = !cancel_op(data->lrm_state, data->rsc->id, key, op->call_id, data->remove); rsc 1213 daemons/controld/controld_execd.c cancel_op_key(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, const char *key, gboolean remove) rsc 1218 daemons/controld/controld_execd.c CRM_CHECK(rsc != NULL, return FALSE); rsc 1222 daemons/controld/controld_execd.c data.rsc = rsc; rsc 1309 daemons/controld/controld_execd.c lrmd_rsc_info_t * rsc, rsc 1321 daemons/controld/controld_execd.c if (rsc && unregister) { rsc 1334 daemons/controld/controld_execd.c op->rsc = strdup(rsc->id); rsc 1407 daemons/controld/controld_execd.c delete_resource(lrm_state, entry->id, &entry->rsc, &gIter, from_sys, rsc 1500 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc = NULL; rsc 1530 daemons/controld/controld_execd.c if (get_lrm_resource(lrm_state, xml_rsc, TRUE, &rsc) == pcmk_ok) { rsc 1531 daemons/controld/controld_execd.c crm_info("Failing resource %s...", rsc->id); rsc 1536 daemons/controld/controld_execd.c lrmd_free_rsc_info(rsc); rsc 1573 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc, const char *from_host, const char *from_sys) rsc 1598 daemons/controld/controld_execd.c op_key = pcmk__op_key(rsc->id, op_task, interval_ms); rsc 1609 daemons/controld/controld_execd.c in_progress = cancel_op_key(lrm_state, rsc, op_key, TRUE); rsc 1613 daemons/controld/controld_execd.c in_progress = cancel_op(lrm_state, rsc->id, NULL, call, TRUE); rsc 1617 daemons/controld/controld_execd.c if (!in_progress || is_remote_lrmd_ra(NULL, NULL, rsc->id)) { rsc 1618 daemons/controld/controld_execd.c char *op_id = make_stop_id(rsc->id, call); rsc 1620 daemons/controld/controld_execd.c if (is_remote_lrmd_ra(NULL, NULL, rsc->id) == FALSE) { rsc 1623 daemons/controld/controld_execd.c erase_lrm_history_by_id(lrm_state, rsc->id, op_key, NULL, call); rsc 1624 daemons/controld/controld_execd.c send_task_ok_ack(lrm_state, input, rsc->id, rsc, op_task, rsc 1644 daemons/controld/controld_execd.c send_task_ok_ack(lrm_state, input, rsc->id, rsc, op_task, rsc 1655 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc, const char *from_sys, const char *from_host, rsc 1659 daemons/controld/controld_execd.c int cib_rc = controld_delete_resource_history(rsc->id, lrm_state->node_name, rsc 1666 daemons/controld/controld_execd.c op = construct_op(lrm_state, input->xml, rsc->id, CRMD_ACTION_DELETE); rsc 1672 daemons/controld/controld_execd.c controld_ack_event_directly(from_host, from_sys, NULL, op, rsc->id); rsc 1677 daemons/controld/controld_execd.c if (crm_rsc_delete && is_remote_lrmd_ra(NULL, NULL, rsc->id)) { rsc 1681 daemons/controld/controld_execd.c delete_resource(lrm_state, rsc->id, rsc, NULL, from_sys, rsc 1687 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc; // Copy of resource information rsc 1692 daemons/controld/controld_execd.c new_metadata_cb_data(lrmd_rsc_info_t *rsc, xmlNode *input_xml) rsc 1699 daemons/controld/controld_execd.c data->rsc = lrmd_copy_rsc_info(rsc); rsc 1706 daemons/controld/controld_execd.c lrmd_free_rsc_info(data->rsc); rsc 1728 daemons/controld/controld_execd.c md = controld_cache_metadata(lrm_state->metadata_cache, data->rsc, rsc 1731 daemons/controld/controld_execd.c do_lrm_rsc_op(lrm_state, data->rsc, data->input_xml, md); rsc 1815 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc = NULL; rsc 1824 daemons/controld/controld_execd.c rc = get_lrm_resource(lrm_state, xml_rsc, create_rsc, &rsc); rsc 1866 daemons/controld/controld_execd.c if (!do_lrm_cancel(input, lrm_state, rsc, from_host, from_sys)) { rsc 1871 daemons/controld/controld_execd.c do_lrm_delete(input, lrm_state, rsc, from_sys, from_host, rsc 1886 daemons/controld/controld_execd.c md = controld_get_rsc_metadata(lrm_state, rsc, rsc 1890 daemons/controld/controld_execd.c if ((md == NULL) && crm_op_needs_metadata(rsc->standard, rsc 1905 daemons/controld/controld_execd.c data = new_metadata_cb_data(rsc, input->xml); rsc 1907 daemons/controld/controld_execd.c rsc->id, rsc->standard, rsc 1908 daemons/controld/controld_execd.c ((rsc->provider == NULL)? "" : ":"), rsc 1909 daemons/controld/controld_execd.c ((rsc->provider == NULL)? "" : rsc->provider), rsc 1910 daemons/controld/controld_execd.c rsc->type); rsc 1911 daemons/controld/controld_execd.c (void) lrmd__metadata_async(rsc, metadata_complete, rsc 1914 daemons/controld/controld_execd.c do_lrm_rsc_op(lrm_state, rsc, input->xml, md); rsc 1918 daemons/controld/controld_execd.c lrmd_free_rsc_info(rsc); rsc 2062 daemons/controld/controld_execd.c const lrmd_rsc_info_t *rsc, lrmd_event_data_t *op, rsc 2089 daemons/controld/controld_execd.c build_operation_update(iter, rsc, op, fsa_our_uname, __func__); rsc 2128 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc; rsc 2140 daemons/controld/controld_execd.c && pcmk__str_eq(op->rsc_id, event->rsc->id, pcmk__str_none)) { rsc 2143 daemons/controld/controld_execd.c remove = !cancel_op(event->lrm_state, event->rsc->id, key, op->call_id, FALSE); rsc 2166 daemons/controld/controld_execd.c record_pending_op(const char *node_name, lrmd_rsc_info_t *rsc, lrmd_event_data_t *op) rsc 2171 daemons/controld/controld_execd.c CRM_CHECK(rsc != NULL, return); rsc 2196 daemons/controld/controld_execd.c do_update_resource(node_name, rsc, op, 0); rsc 2200 daemons/controld/controld_execd.c do_lrm_rsc_op(lrm_state_t *lrm_state, lrmd_rsc_info_t *rsc, xmlNode *msg, rsc 2214 daemons/controld/controld_execd.c CRM_CHECK((rsc != NULL) && (msg != NULL), return); rsc 2228 daemons/controld/controld_execd.c operation, rsc->id, pcmk__s(transition, "")); rsc 2250 daemons/controld/controld_execd.c op = construct_op(lrm_state, msg, rsc->id, operation); rsc 2253 daemons/controld/controld_execd.c if (is_remote_lrmd_ra(NULL, NULL, rsc->id) rsc 2275 daemons/controld/controld_execd.c data.rsc = rsc; rsc 2283 daemons/controld/controld_execd.c rsc->id, operation, op->interval_ms); rsc 2290 daemons/controld/controld_execd.c crm_action_str(op->op_type, op->interval_ms), rsc->id, lrm_state->node_name, rsc 2291 daemons/controld/controld_execd.c pcmk__s(transition, ""), rsc->id, operation, op->interval_ms); rsc 2308 daemons/controld/controld_execd.c operation, rsc->id, fsa_state2string(fsa_state), rsc 2313 daemons/controld/controld_execd.c controld_ack_event_directly(NULL, NULL, rsc, op, rsc->id); rsc 2319 daemons/controld/controld_execd.c record_pending_op(lrm_state->node_name, rsc, op); rsc 2321 daemons/controld/controld_execd.c op_id = pcmk__op_key(rsc->id, op->op_type, op->interval_ms); rsc 2325 daemons/controld/controld_execd.c cancel_op_key(lrm_state, rsc, op_id, FALSE); rsc 2339 daemons/controld/controld_execd.c rc = controld_execute_resource_agent(lrm_state, rsc->id, op->op_type, rsc 2347 daemons/controld/controld_execd.c char *call_id_s = make_stop_id(rsc->id, call_id); rsc 2357 daemons/controld/controld_execd.c pending->rsc_id = strdup(rsc->id); rsc 2373 daemons/controld/controld_execd.c controld_ack_event_directly(NULL, NULL, rsc, op, rsc->id); rsc 2381 daemons/controld/controld_execd.c CRM_XS " rc=%d", operation, rsc->id, pcmk_rc_str(rc), rc); rsc 2390 daemons/controld/controld_execd.c operation, rsc->id, lrm_state->node_name, pcmk_rc_str(rc), rc); rsc 2441 daemons/controld/controld_execd.c do_update_resource(const char *node_name, lrmd_rsc_info_t *rsc, rsc 2489 daemons/controld/controld_execd.c build_operation_update(iter, rsc, op, node_name, __func__); rsc 2491 daemons/controld/controld_execd.c if (rsc) { rsc 2494 daemons/controld/controld_execd.c crm_xml_add(iter, XML_ATTR_TYPE, rsc->type); rsc 2495 daemons/controld/controld_execd.c crm_xml_add(iter, XML_AGENT_ATTR_CLASS, rsc->standard); rsc 2496 daemons/controld/controld_execd.c crm_xml_add(iter, XML_AGENT_ATTR_PROVIDER, rsc->provider); rsc 2518 daemons/controld/controld_execd.c controld_ack_event_directly(NULL, NULL, rsc, op, op->rsc_id); rsc 2702 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc = NULL; rsc 2729 daemons/controld/controld_execd.c rsc = lrm_state_get_rsc_info(lrm_state, op->rsc_id, 0); rsc 2731 daemons/controld/controld_execd.c if ((rsc == NULL) && action_xml) { rsc 2742 daemons/controld/controld_execd.c rsc = lrmd_new_rsc_info(op->rsc_id, standard, provider, type); rsc 2786 daemons/controld/controld_execd.c if (node_name && rsc) { rsc 2788 daemons/controld/controld_execd.c update_id = do_update_resource(node_name, rsc, op, rsc 2895 daemons/controld/controld_execd.c } else if (rsc && (op->rc == PCMK_OCF_OK)) { rsc 2898 daemons/controld/controld_execd.c controld_cache_metadata(lrm_state->metadata_cache, rsc, metadata); rsc 2914 daemons/controld/controld_execd.c if (lrm_state && rsc) { rsc 2915 daemons/controld/controld_execd.c update_history_cache(lrm_state, rsc, op); rsc 2918 daemons/controld/controld_execd.c lrmd_free_rsc_info(rsc); rsc 42 daemons/controld/controld_execd_state.c free(op->rsc); rsc 658 daemons/controld/controld_execd_state.c lrmd_rsc_info_t *rsc = NULL; rsc 667 daemons/controld/controld_execd_state.c rsc = g_hash_table_lookup(lrm_state->rsc_info_cache, rsc_id); rsc 668 daemons/controld/controld_execd_state.c if (rsc == NULL) { rsc 670 daemons/controld/controld_execd_state.c rsc = ((lrmd_t *) lrm_state->conn)->cmds->get_rsc_info(lrm_state->conn, rsc_id, options); rsc 671 daemons/controld/controld_execd_state.c if (rsc == NULL) { rsc 675 daemons/controld/controld_execd_state.c g_hash_table_insert(lrm_state->rsc_info_cache, rsc->id, rsc); rsc 678 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 188 daemons/controld/controld_lrm.h const lrmd_rsc_info_t *rsc, rsc 585 daemons/controld/controld_messages.c const char *rsc = NULL; rsc 598 daemons/controld/controld_messages.c rsc = ID(xml_rsc); rsc 610 daemons/controld/controld_messages.c if ((rsc == NULL) || (uname == NULL)) { rsc 622 daemons/controld/controld_messages.c update_attrd_clear_failures(uname, rsc, op, interval_spec, is_remote_node); rsc 625 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 245 daemons/controld/controld_te_actions.c xmlNode *rsc = NULL; rsc 281 daemons/controld/controld_te_actions.c rsc = create_xml_node(state, XML_CIB_TAG_LRM); rsc 282 daemons/controld/controld_te_actions.c crm_xml_add(rsc, XML_ATTR_ID, target_uuid); rsc 284 daemons/controld/controld_te_actions.c rsc = create_xml_node(rsc, XML_LRM_TAG_RESOURCES); rsc 285 daemons/controld/controld_te_actions.c rsc = create_xml_node(rsc, XML_LRM_TAG_RESOURCE); rsc 286 daemons/controld/controld_te_actions.c crm_xml_add(rsc, XML_ATTR_ID, rsc_id); rsc 289 daemons/controld/controld_te_actions.c crm_copy_xml_element(action_rsc, rsc, XML_ATTR_TYPE); rsc 290 daemons/controld/controld_te_actions.c crm_copy_xml_element(action_rsc, rsc, XML_AGENT_ATTR_CLASS); rsc 291 daemons/controld/controld_te_actions.c crm_copy_xml_element(action_rsc, rsc, XML_AGENT_ATTR_PROVIDER); rsc 293 daemons/controld/controld_te_actions.c pcmk__create_history_xml(rsc, op, CRM_FEATURE_SET, target_rc, target, rsc 224 daemons/controld/controld_te_callbacks.c xmlNode *rsc = NULL; rsc 258 daemons/controld/controld_te_callbacks.c for (rsc = pcmk__xml_first_child(xml); rsc != NULL; rsc 259 daemons/controld/controld_te_callbacks.c rsc = pcmk__xml_next(rsc)) { rsc 260 daemons/controld/controld_te_callbacks.c crm_trace("Processing %s", ID(rsc)); rsc 261 daemons/controld/controld_te_callbacks.c process_lrm_resource_diff(rsc, node); rsc 89 daemons/controld/controld_utils.h void update_attrd_clear_failures(const char *host, const char *rsc, rsc 448 daemons/execd/cts-exec-helper.c pe_resource_t *rsc = NULL; rsc 482 daemons/execd/cts-exec-helper.c rsc = pe_find_resource_with_flags(data_set->resources, options.rsc_id, rsc 484 daemons/execd/cts-exec-helper.c if (rsc == NULL) { rsc 491 daemons/execd/cts-exec-helper.c params = pe_rsc_params(rsc, NULL, data_set); rsc 502 daemons/execd/cts-exec-helper.c get_meta_attributes(meta, rsc, NULL, data_set); 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 893 daemons/execd/execd_commands.c if (rsc && pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_NAGIOS, pcmk__str_casei)) { rsc 940 daemons/execd/execd_commands.c if(rsc) { rsc 941 daemons/execd/execd_commands.c rsc->active = NULL; rsc 943 daemons/execd/execd_commands.c schedule_lrmd_cmd(rsc, cmd); rsc 964 daemons/execd/execd_commands.c cmd_finalize(cmd, rsc); rsc 982 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = g_hash_table_lookup(rsc_list, cmd->rsc_id); rsc 1036 daemons/execd/execd_commands.c if ((rsc != NULL) && pcmk__result_ok(&(cmd->result))) { rsc 1039 daemons/execd/execd_commands.c pcmk__set_result(&rsc->fence_probe_result, CRM_EX_OK, rsc 1043 daemons/execd/execd_commands.c pcmk__set_result(&rsc->fence_probe_result, CRM_EX_ERROR, rsc 1057 daemons/execd/execd_commands.c if (rsc && (cmd->interval_ms > 0) rsc 1062 daemons/execd/execd_commands.c cmd_finalize(cmd, rsc); rsc 1083 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = NULL; rsc 1089 daemons/execd/execd_commands.c while (g_hash_table_iter_next(&iter, NULL, (gpointer *) &rsc)) { rsc 1090 daemons/execd/execd_commands.c if (!pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH, rsc 1102 daemons/execd/execd_commands.c if (rsc->fence_probe_result.execution_status == PCMK_EXEC_DONE) { rsc 1103 daemons/execd/execd_commands.c pcmk__set_result(&rsc->fence_probe_result, CRM_EX_ERROR, rsc 1110 daemons/execd/execd_commands.c for (GList *op = rsc->recurring_ops; op != NULL; op = op->next) { rsc 1122 daemons/execd/execd_commands.c if (rsc->active != NULL) { rsc 1123 daemons/execd/execd_commands.c rsc->pending_ops = g_list_prepend(rsc->pending_ops, rsc->active); rsc 1125 daemons/execd/execd_commands.c while (rsc->pending_ops != NULL) { rsc 1127 daemons/execd/execd_commands.c stonith_action_complete((lrmd_cmd_t *) rsc->pending_ops->data, rsc 1148 daemons/execd/execd_commands.c execd_stonith_start(stonith_t *stonith_api, const lrmd_rsc_t *rsc, rsc 1173 daemons/execd/execd_commands.c cmd->rsc_id, rsc->provider, rsc 1174 daemons/execd/execd_commands.c rsc->type, device_params); rsc 1193 daemons/execd/execd_commands.c execd_stonith_stop(stonith_t *stonith_api, const lrmd_rsc_t *rsc) rsc 1199 daemons/execd/execd_commands.c rsc->rsc_id); rsc 1213 daemons/execd/execd_commands.c execd_stonith_monitor(stonith_t *stonith_api, lrmd_rsc_t *rsc, lrmd_cmd_t *cmd) rsc 1222 daemons/execd/execd_commands.c rsc->active = cmd; rsc 1231 daemons/execd/execd_commands.c execute_stonith_action(lrmd_rsc_t *rsc, lrmd_cmd_t *cmd) rsc 1241 daemons/execd/execd_commands.c stonith_action_complete(cmd, rsc->fence_probe_result.exit_status, rsc 1242 daemons/execd/execd_commands.c rsc->fence_probe_result.execution_status, rsc 1243 daemons/execd/execd_commands.c rsc->fence_probe_result.exit_reason); rsc 1253 daemons/execd/execd_commands.c rc = execd_stonith_start(stonith_api, rsc, cmd); rsc 1259 daemons/execd/execd_commands.c rc = execd_stonith_stop(stonith_api, rsc); rsc 1272 daemons/execd/execd_commands.c rc = execd_stonith_monitor(stonith_api, rsc, cmd); rsc 1286 daemons/execd/execd_commands.c execute_nonstonith_action(lrmd_rsc_t *rsc, lrmd_cmd_t *cmd) rsc 1291 daemons/execd/execd_commands.c CRM_ASSERT(rsc); rsc 1295 daemons/execd/execd_commands.c rsc->rsc_id, cmd->action, rsc->class, rsc->provider, rsc->type); rsc 1299 daemons/execd/execd_commands.c if (pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_NAGIOS, pcmk__str_casei) rsc 1303 daemons/execd/execd_commands.c cmd_finalize(cmd, rsc); rsc 1310 daemons/execd/execd_commands.c action = services__create_resource_action(rsc->rsc_id, rsc->class, rsc->provider, rsc 1311 daemons/execd/execd_commands.c rsc->type, rsc 1312 daemons/execd/execd_commands.c normalize_action_name(rsc, cmd->action), rsc 1319 daemons/execd/execd_commands.c cmd_finalize(cmd, rsc); rsc 1327 daemons/execd/execd_commands.c cmd_finalize(cmd, rsc); rsc 1360 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = (lrmd_rsc_t *) user_data; rsc 1363 daemons/execd/execd_commands.c CRM_CHECK(rsc != NULL, return FALSE); rsc 1365 daemons/execd/execd_commands.c if (rsc->active) { rsc 1366 daemons/execd/execd_commands.c crm_trace("%s is still active", rsc->rsc_id); rsc 1370 daemons/execd/execd_commands.c if (rsc->pending_ops) { rsc 1371 daemons/execd/execd_commands.c GList *first = rsc->pending_ops; rsc 1380 daemons/execd/execd_commands.c rsc->pending_ops = g_list_remove_link(rsc->pending_ops, first); rsc 1390 daemons/execd/execd_commands.c crm_trace("Nothing further to do for %s", rsc->rsc_id); rsc 1394 daemons/execd/execd_commands.c rsc->active = cmd; /* only one op at a time for a rsc */ rsc 1396 daemons/execd/execd_commands.c rsc->recurring_ops = g_list_append(rsc->recurring_ops, cmd); rsc 1401 daemons/execd/execd_commands.c if (pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH, pcmk__str_casei)) { rsc 1402 daemons/execd/execd_commands.c execute_stonith_action(rsc, cmd); rsc 1404 daemons/execd/execd_commands.c execute_nonstonith_action(rsc, cmd); rsc 1414 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = data; rsc 1415 daemons/execd/execd_commands.c int is_stonith = pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH, rsc 1418 daemons/execd/execd_commands.c gIter = rsc->pending_ops; rsc 1430 daemons/execd/execd_commands.c g_list_free(rsc->pending_ops); rsc 1432 daemons/execd/execd_commands.c gIter = rsc->recurring_ops; rsc 1443 daemons/execd/execd_commands.c if (rsc->active != cmd) { rsc 1451 daemons/execd/execd_commands.c services_action_cancel(rsc->rsc_id, rsc 1452 daemons/execd/execd_commands.c normalize_action_name(rsc, cmd->action), rsc 1459 daemons/execd/execd_commands.c g_list_free(rsc->recurring_ops); rsc 1461 daemons/execd/execd_commands.c free(rsc->rsc_id); rsc 1462 daemons/execd/execd_commands.c free(rsc->class); rsc 1463 daemons/execd/execd_commands.c free(rsc->provider); rsc 1464 daemons/execd/execd_commands.c free(rsc->type); rsc 1465 daemons/execd/execd_commands.c mainloop_destroy_trigger(rsc->work); rsc 1467 daemons/execd/execd_commands.c free(rsc); rsc 1511 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = build_rsc_from_xml(request); rsc 1512 daemons/execd/execd_commands.c lrmd_rsc_t *dup = g_hash_table_lookup(rsc_list, rsc->rsc_id); rsc 1515 daemons/execd/execd_commands.c pcmk__str_eq(rsc->class, dup->class, pcmk__str_casei) && rsc 1516 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 1518 daemons/execd/execd_commands.c crm_notice("Ignoring duplicate registration of '%s'", rsc->rsc_id); rsc 1519 daemons/execd/execd_commands.c free_rsc(rsc); rsc 1523 daemons/execd/execd_commands.c g_hash_table_replace(rsc_list, rsc->rsc_id, rsc); rsc 1524 daemons/execd/execd_commands.c crm_info("Cached agent information for '%s'", rsc->rsc_id); rsc 1535 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = NULL; rsc 1540 daemons/execd/execd_commands.c rsc = g_hash_table_lookup(rsc_list, rsc_id); rsc 1541 daemons/execd/execd_commands.c if (rsc == NULL) { rsc 1548 daemons/execd/execd_commands.c if (rsc) { rsc 1549 daemons/execd/execd_commands.c crm_xml_add(reply, F_LRMD_RSC_ID, rsc->rsc_id); rsc 1550 daemons/execd/execd_commands.c crm_xml_add(reply, F_LRMD_CLASS, rsc->class); rsc 1551 daemons/execd/execd_commands.c crm_xml_add(reply, F_LRMD_PROVIDER, rsc->provider); rsc 1552 daemons/execd/execd_commands.c crm_xml_add(reply, F_LRMD_TYPE, rsc->type); rsc 1562 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = NULL; rsc 1570 daemons/execd/execd_commands.c rsc = g_hash_table_lookup(rsc_list, rsc_id); rsc 1571 daemons/execd/execd_commands.c if (rsc == NULL) { rsc 1577 daemons/execd/execd_commands.c if (rsc->active) { rsc 1580 daemons/execd/execd_commands.c rsc->active, rsc_id); rsc 1592 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = NULL; rsc 1601 daemons/execd/execd_commands.c if (!(rsc = g_hash_table_lookup(rsc_list, rsc_id))) { rsc 1612 daemons/execd/execd_commands.c schedule_lrmd_cmd(rsc, cmd); rsc 1621 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = g_hash_table_lookup(rsc_list, rsc_id); rsc 1634 daemons/execd/execd_commands.c if (!rsc) { rsc 1638 daemons/execd/execd_commands.c for (gIter = rsc->pending_ops; gIter != NULL; gIter = gIter->next) { rsc 1643 daemons/execd/execd_commands.c cmd_finalize(cmd, rsc); rsc 1648 daemons/execd/execd_commands.c if (pcmk__str_eq(rsc->class, PCMK_RESOURCE_CLASS_STONITH, pcmk__str_casei)) { rsc 1651 daemons/execd/execd_commands.c for (gIter = rsc->recurring_ops; gIter != NULL; gIter = gIter->next) { rsc 1656 daemons/execd/execd_commands.c if (rsc->active != cmd) { rsc 1657 daemons/execd/execd_commands.c cmd_finalize(cmd, rsc); rsc 1663 daemons/execd/execd_commands.c normalize_action_name(rsc, action), rsc 1676 daemons/execd/execd_commands.c cancel_all_recurring(lrmd_rsc_t * rsc, const char *client_id) rsc 1687 daemons/execd/execd_commands.c if (rsc->recurring_ops) { rsc 1688 daemons/execd/execd_commands.c cmd_list = g_list_concat(cmd_list, g_list_copy(rsc->recurring_ops)); rsc 1690 daemons/execd/execd_commands.c if (rsc->pending_ops) { rsc 1691 daemons/execd/execd_commands.c cmd_list = g_list_concat(cmd_list, g_list_copy(rsc->pending_ops)); rsc 1708 daemons/execd/execd_commands.c cancel_op(rsc->rsc_id, cmd->action, cmd->interval_ms); rsc 1732 daemons/execd/execd_commands.c add_recurring_op_xml(xmlNode *reply, lrmd_rsc_t *rsc) rsc 1736 daemons/execd/execd_commands.c crm_xml_add(rsc_xml, F_LRMD_RSC_ID, rsc->rsc_id); rsc 1737 daemons/execd/execd_commands.c for (GList *item = rsc->recurring_ops; item != NULL; item = item->next) { rsc 1753 daemons/execd/execd_commands.c lrmd_rsc_t *rsc = NULL; rsc 1768 daemons/execd/execd_commands.c rsc = g_hash_table_lookup(rsc_list, rsc_id); rsc 1769 daemons/execd/execd_commands.c if (rsc == NULL) { rsc 1785 daemons/execd/execd_commands.c (gpointer *) &rsc)) { rsc 1786 daemons/execd/execd_commands.c add_recurring_op_xml(reply, rsc); rsc 1788 daemons/execd/execd_commands.c } else if (rsc) { rsc 1789 daemons/execd/execd_commands.c add_recurring_op_xml(reply, rsc); rsc 595 daemons/fenced/pacemaker-fenced.c our_node_allowed_for(const pe_resource_t *rsc) rsc 600 daemons/fenced/pacemaker-fenced.c if (rsc && stonith_our_uname) { rsc 601 daemons/fenced/pacemaker-fenced.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 681 daemons/fenced/pacemaker-fenced.c cib_device_update(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 689 daemons/fenced/pacemaker-fenced.c if(rsc->children) { rsc 691 daemons/fenced/pacemaker-fenced.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 693 daemons/fenced/pacemaker-fenced.c if(pe_rsc_is_clone(rsc)) { rsc 694 daemons/fenced/pacemaker-fenced.c crm_trace("Only processing one copy of the clone %s", rsc->id); rsc 702 daemons/fenced/pacemaker-fenced.c rclass = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 708 daemons/fenced/pacemaker-fenced.c if (pe__resource_is_disabled(rsc)) { rsc 709 daemons/fenced/pacemaker-fenced.c crm_info("Device %s has been disabled", rsc->id); rsc 717 daemons/fenced/pacemaker-fenced.c pcmk__str_eq(rsc->id, STONITH_WATCHDOG_ID, pcmk__str_none)) { rsc 719 daemons/fenced/pacemaker-fenced.c "device %s as disabled", rsc->id); rsc 724 daemons/fenced/pacemaker-fenced.c node = our_node_allowed_for(rsc); rsc 725 daemons/fenced/pacemaker-fenced.c if (rsc->parent && (rsc->parent->variant == pe_group)) { rsc 726 daemons/fenced/pacemaker-fenced.c parent = our_node_allowed_for(rsc->parent); rsc 733 daemons/fenced/pacemaker-fenced.c crm_info("Device %s has been disabled on %s: unknown", rsc->id, stonith_our_uname); rsc 734 daemons/fenced/pacemaker-fenced.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 746 daemons/fenced/pacemaker-fenced.c rsc->id, stonith_our_uname, pcmk_readable_score(score)); rsc 758 daemons/fenced/pacemaker-fenced.c const char *agent = crm_element_value(rsc->xml, XML_EXPR_ATTR_TYPE); rsc 761 daemons/fenced/pacemaker-fenced.c crm_debug("Device %s is allowed on %s: score=%d", rsc->id, stonith_our_uname, node->weight); rsc 762 daemons/fenced/pacemaker-fenced.c rsc_params = pe_rsc_params(rsc, node, data_set); rsc 763 daemons/fenced/pacemaker-fenced.c get_meta_attributes(rsc->meta, rsc, node, data_set); rsc 765 daemons/fenced/pacemaker-fenced.c rsc_provides = g_hash_table_lookup(rsc->meta, PCMK_STONITH_PROVIDES); rsc 776 daemons/fenced/pacemaker-fenced.c data = create_device_registration_xml(rsc_name(rsc), st_namespace_any, rsc 38 include/crm/lrmd_internal.h int lrmd__metadata_async(lrmd_rsc_info_t *rsc, rsc 23 include/crm/pengine/complex.h GHashTable *pe_rsc_params(pe_resource_t *rsc, const pe_node_t *node, rsc 25 include/crm/pengine/complex.h void get_meta_attributes(GHashTable * meta_hash, pe_resource_t *rsc, rsc 27 include/crm/pengine/complex.h void get_rsc_attributes(GHashTable *meta_hash, const pe_resource_t *rsc, rsc 30 include/crm/pengine/complex.h gboolean is_parent(pe_resource_t *child, pe_resource_t *rsc); rsc 31 include/crm/pengine/complex.h pe_resource_t *uber_parent(pe_resource_t *rsc); rsc 45 include/crm/pengine/internal.h # define pe_rsc_info(rsc, fmt, args...) crm_log_tag(LOG_INFO, rsc ? rsc->id : "<NULL>", fmt, ##args) rsc 46 include/crm/pengine/internal.h # define pe_rsc_debug(rsc, fmt, args...) crm_log_tag(LOG_DEBUG, rsc ? rsc->id : "<NULL>", fmt, ##args) rsc 47 include/crm/pengine/internal.h # define pe_rsc_trace(rsc, fmt, args...) crm_log_tag(LOG_TRACE, rsc ? rsc->id : "<NULL>", fmt, ##args) rsc 234 include/crm/pengine/internal.h pe_action_t *pe__new_rsc_pseudo_action(pe_resource_t *rsc, const char *task, rsc 244 include/crm/pengine/internal.h char *native_parameter(pe_resource_t * rsc, pe_node_t * node, gboolean create, const char *name, rsc 246 include/crm/pengine/internal.h pe_node_t *native_location(const pe_resource_t *rsc, GList **list, int current); rsc 251 include/crm/pengine/internal.h void common_update_score(pe_resource_t * rsc, const char *id, int score); rsc 252 include/crm/pengine/internal.h void native_add_running(pe_resource_t * rsc, pe_node_t * node, pe_working_set_t * data_set, gboolean failed); rsc 254 include/crm/pengine/internal.h gboolean native_unpack(pe_resource_t * rsc, pe_working_set_t * data_set); rsc 255 include/crm/pengine/internal.h gboolean group_unpack(pe_resource_t * rsc, pe_working_set_t * data_set); rsc 256 include/crm/pengine/internal.h gboolean clone_unpack(pe_resource_t * rsc, pe_working_set_t * data_set); rsc 257 include/crm/pengine/internal.h gboolean pe__unpack_bundle(pe_resource_t *rsc, pe_working_set_t *data_set); rsc 259 include/crm/pengine/internal.h pe_resource_t *native_find_rsc(pe_resource_t *rsc, const char *id, const pe_node_t *node, rsc 262 include/crm/pengine/internal.h gboolean native_active(pe_resource_t * rsc, gboolean all); rsc 263 include/crm/pengine/internal.h gboolean group_active(pe_resource_t * rsc, gboolean all); rsc 264 include/crm/pengine/internal.h gboolean clone_active(pe_resource_t * rsc, gboolean all); rsc 265 include/crm/pengine/internal.h gboolean pe__bundle_active(pe_resource_t *rsc, gboolean all); rsc 268 include/crm/pengine/internal.h void native_print(pe_resource_t *rsc, const char *pre_text, long options, rsc 272 include/crm/pengine/internal.h void group_print(pe_resource_t *rsc, const char *pre_text, long options, rsc 276 include/crm/pengine/internal.h void clone_print(pe_resource_t *rsc, const char *pre_text, long options, rsc 280 include/crm/pengine/internal.h void pe__print_bundle(pe_resource_t *rsc, const char *pre_text, long options, rsc 283 include/crm/pengine/internal.h gchar * pcmk__native_output_string(pe_resource_t *rsc, const char *name, pe_node_t *node, rsc 292 include/crm/pengine/internal.h void pe__create_notifications(pe_resource_t *rsc, notify_data_t *n_data); rsc 293 include/crm/pengine/internal.h notify_data_t *pe__clone_notif_pseudo_ops(pe_resource_t *rsc, const char *task, rsc 297 include/crm/pengine/internal.h void pe__order_notifs_after_fencing(pe_action_t *action, pe_resource_t *rsc, rsc 302 include/crm/pengine/internal.h pe__rsc_bool_str(const pe_resource_t *rsc, uint64_t rsc_flag) rsc 304 include/crm/pengine/internal.h return pcmk__btoa(pcmk_is_set(rsc->flags, rsc_flag)); rsc 321 include/crm/pengine/internal.h void native_free(pe_resource_t * rsc); rsc 322 include/crm/pengine/internal.h void group_free(pe_resource_t * rsc); rsc 323 include/crm/pengine/internal.h void clone_free(pe_resource_t * rsc); rsc 324 include/crm/pengine/internal.h void pe__free_bundle(pe_resource_t *rsc); rsc 326 include/crm/pengine/internal.h enum rsc_role_e native_resource_state(const pe_resource_t * rsc, gboolean current); rsc 327 include/crm/pengine/internal.h enum rsc_role_e group_resource_state(const pe_resource_t * rsc, gboolean current); rsc 328 include/crm/pengine/internal.h enum rsc_role_e clone_resource_state(const pe_resource_t * rsc, gboolean current); rsc 329 include/crm/pengine/internal.h enum rsc_role_e pe__bundle_resource_state(const pe_resource_t *rsc, rsc 332 include/crm/pengine/internal.h void pe__count_common(pe_resource_t *rsc); rsc 333 include/crm/pengine/internal.h void pe__count_bundle(pe_resource_t *rsc); rsc 335 include/crm/pengine/internal.h void common_free(pe_resource_t * rsc); rsc 349 include/crm/pengine/internal.h int pe_get_failcount(pe_node_t *node, pe_resource_t *rsc, time_t *last_failure, rsc 353 include/crm/pengine/internal.h pe_action_t *pe__clear_failcount(pe_resource_t *rsc, pe_node_t *node, rsc 359 include/crm/pengine/internal.h pe_node_t *pe__find_active_on(const pe_resource_t *rsc, rsc 362 include/crm/pengine/internal.h pe_node_t *pe__find_active_requires(const pe_resource_t *rsc, rsc 366 include/crm/pengine/internal.h pe__current_node(const pe_resource_t *rsc) rsc 368 include/crm/pengine/internal.h return pe__find_active_on(rsc, NULL, NULL); rsc 390 include/crm/pengine/internal.h int line, bool to_log, pe_resource_t *rsc, rsc 394 include/crm/pengine/internal.h #define pe__show_node_weights(level, rsc, text, nodes, data_set) \ rsc 396 include/crm/pengine/internal.h (level), (rsc), (text), (nodes), (data_set)) rsc 398 include/crm/pengine/internal.h xmlNode *find_rsc_op_entry(const pe_resource_t *rsc, const char *key); rsc 400 include/crm/pengine/internal.h pe_action_t *custom_action(pe_resource_t *rsc, char *key, const char *task, rsc 404 include/crm/pengine/internal.h # define delete_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_DELETE, 0) rsc 405 include/crm/pengine/internal.h # define delete_action(rsc, node, optional) custom_action( \ rsc 406 include/crm/pengine/internal.h rsc, delete_key(rsc), CRMD_ACTION_DELETE, node, \ rsc 407 include/crm/pengine/internal.h optional, TRUE, rsc->cluster); rsc 409 include/crm/pengine/internal.h # define stopped_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_STOPPED, 0) rsc 410 include/crm/pengine/internal.h # define stopped_action(rsc, node, optional) custom_action( \ rsc 411 include/crm/pengine/internal.h rsc, stopped_key(rsc), CRMD_ACTION_STOPPED, node, \ rsc 412 include/crm/pengine/internal.h optional, TRUE, rsc->cluster); rsc 414 include/crm/pengine/internal.h # define stop_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_STOP, 0) rsc 415 include/crm/pengine/internal.h # define stop_action(rsc, node, optional) custom_action( \ rsc 416 include/crm/pengine/internal.h rsc, stop_key(rsc), CRMD_ACTION_STOP, node, \ rsc 417 include/crm/pengine/internal.h optional, TRUE, rsc->cluster); rsc 419 include/crm/pengine/internal.h # define reload_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_RELOAD_AGENT, 0) rsc 420 include/crm/pengine/internal.h # define start_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_START, 0) rsc 421 include/crm/pengine/internal.h # define start_action(rsc, node, optional) custom_action( \ rsc 422 include/crm/pengine/internal.h rsc, start_key(rsc), CRMD_ACTION_START, node, \ rsc 423 include/crm/pengine/internal.h optional, TRUE, rsc->cluster) rsc 425 include/crm/pengine/internal.h # define started_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_STARTED, 0) rsc 426 include/crm/pengine/internal.h # define started_action(rsc, node, optional) custom_action( \ rsc 427 include/crm/pengine/internal.h rsc, started_key(rsc), CRMD_ACTION_STARTED, node, \ rsc 428 include/crm/pengine/internal.h optional, TRUE, rsc->cluster) rsc 430 include/crm/pengine/internal.h # define promote_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_PROMOTE, 0) rsc 431 include/crm/pengine/internal.h # define promote_action(rsc, node, optional) custom_action( \ rsc 432 include/crm/pengine/internal.h rsc, promote_key(rsc), CRMD_ACTION_PROMOTE, node, \ rsc 433 include/crm/pengine/internal.h optional, TRUE, rsc->cluster) rsc 435 include/crm/pengine/internal.h # define promoted_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_PROMOTED, 0) rsc 436 include/crm/pengine/internal.h # define promoted_action(rsc, node, optional) custom_action( \ rsc 437 include/crm/pengine/internal.h rsc, promoted_key(rsc), CRMD_ACTION_PROMOTED, node, \ rsc 438 include/crm/pengine/internal.h optional, TRUE, rsc->cluster) rsc 440 include/crm/pengine/internal.h # define demote_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_DEMOTE, 0) rsc 441 include/crm/pengine/internal.h # define demote_action(rsc, node, optional) custom_action( \ rsc 442 include/crm/pengine/internal.h rsc, demote_key(rsc), CRMD_ACTION_DEMOTE, node, \ rsc 443 include/crm/pengine/internal.h optional, TRUE, rsc->cluster) rsc 445 include/crm/pengine/internal.h # define demoted_key(rsc) pcmk__op_key(rsc->id, CRMD_ACTION_DEMOTED, 0) rsc 446 include/crm/pengine/internal.h # define demoted_action(rsc, node, optional) custom_action( \ rsc 447 include/crm/pengine/internal.h rsc, demoted_key(rsc), CRMD_ACTION_DEMOTED, node, \ rsc 448 include/crm/pengine/internal.h optional, TRUE, rsc->cluster) rsc 450 include/crm/pengine/internal.h extern int pe_get_configured_timeout(pe_resource_t *rsc, const char *action, rsc 455 include/crm/pengine/internal.h extern enum action_tasks get_complex_task(pe_resource_t * rsc, const char *name, rsc 461 include/crm/pengine/internal.h GList *pe__resource_actions(const pe_resource_t *rsc, const pe_node_t *node, rsc 466 include/crm/pengine/internal.h extern void resource_location(pe_resource_t * rsc, pe_node_t * node, int score, const char *tag, rsc 472 include/crm/pengine/internal.h extern gboolean get_target_role(pe_resource_t * rsc, enum rsc_role_e *role); rsc 473 include/crm/pengine/internal.h void pe__set_next_role(pe_resource_t *rsc, enum rsc_role_e role, rsc 476 include/crm/pengine/internal.h extern pe_resource_t *find_clone_instance(pe_resource_t * rsc, const char *sub_id, rsc 488 include/crm/pengine/internal.h pe_base_name_eq(pe_resource_t *rsc, const char *id) rsc 490 include/crm/pengine/internal.h if (id && rsc && rsc->id) { rsc 492 include/crm/pengine/internal.h size_t base_len = pe_base_name_end(rsc->id) - rsc->id + 1; rsc 494 include/crm/pengine/internal.h return (strlen(id) == base_len) && !strncmp(id, rsc->id, base_len); rsc 502 include/crm/pengine/internal.h bool is_set_recursive(const pe_resource_t *rsc, long long flag, bool any); rsc 526 include/crm/pengine/internal.h op_digest_cache_t *pe__calculate_digests(pe_resource_t *rsc, const char *task, rsc 534 include/crm/pengine/internal.h op_digest_cache_t *rsc_action_digest_cmp(pe_resource_t * rsc, xmlNode * xml_op, pe_node_t * node, rsc 539 include/crm/pengine/internal.h pe_resource_t * rsc, pe_node_t *node, const char *reason, pe_action_t *dependency, pe_working_set_t * data_set); rsc 545 include/crm/pengine/internal.h void pe__set_resource_flags_recursive(pe_resource_t *rsc, uint64_t flags); rsc 546 include/crm/pengine/internal.h void pe__clear_resource_flags_recursive(pe_resource_t *rsc, uint64_t flags); rsc 561 include/crm/pengine/internal.h void common_print(pe_resource_t *rsc, const char *pre_text, const char *name, rsc 563 include/crm/pengine/internal.h int pe__common_output_text(pcmk__output_t *out, pe_resource_t * rsc, const char *name, pe_node_t *node, unsigned int options); rsc 564 include/crm/pengine/internal.h int pe__common_output_html(pcmk__output_t *out, pe_resource_t * rsc, const char *name, pe_node_t *node, unsigned int options); rsc 567 include/crm/pengine/internal.h bool pe__bundle_needs_remote_name(pe_resource_t *rsc, rsc 569 include/crm/pengine/internal.h const char *pe__add_bundle_remote_name(pe_resource_t *rsc, rsc 574 include/crm/pengine/internal.h const pe_resource_t *rsc); rsc 576 include/crm/pengine/internal.h bool pe__is_universal_clone(pe_resource_t *rsc, rsc 578 include/crm/pengine/internal.h void pe__add_param_check(xmlNode *rsc_op, pe_resource_t *rsc, pe_node_t *node, rsc 602 include/crm/pengine/internal.h bool pe__resource_is_disabled(pe_resource_t *rsc); rsc 603 include/crm/pengine/internal.h pe_action_t *pe__clear_resource_history(pe_resource_t *rsc, pe_node_t *node, rsc 608 include/crm/pengine/internal.h bool pe__rsc_has_tag(pe_working_set_t *data_set, const char *rsc, const char *tag); rsc 611 include/crm/pengine/internal.h bool pe__rsc_running_on_any(pe_resource_t *rsc, GList *node_list); rsc 616 include/crm/pengine/internal.h bool pcmk__rsc_filtered_by_node(pe_resource_t *rsc, GList *only_node); rsc 618 include/crm/pengine/internal.h gboolean pe__bundle_is_filtered(pe_resource_t *rsc, GList *only_rsc, gboolean check_parent); rsc 619 include/crm/pengine/internal.h gboolean pe__clone_is_filtered(pe_resource_t *rsc, GList *only_rsc, gboolean check_parent); rsc 620 include/crm/pengine/internal.h gboolean pe__group_is_filtered(pe_resource_t *rsc, GList *only_rsc, gboolean check_parent); rsc 621 include/crm/pengine/internal.h gboolean pe__native_is_filtered(pe_resource_t *rsc, GList *only_rsc, gboolean check_parent); rsc 623 include/crm/pengine/internal.h xmlNode *pe__failed_probe_for_rsc(pe_resource_t *rsc, const char *name); rsc 625 include/crm/pengine/internal.h const char *pe__clone_child_id(pe_resource_t *rsc); rsc 406 include/crm/pengine/pe_types.h pe_resource_t *rsc; rsc 26 include/crm/pengine/remote_internal.h bool pe__resource_is_remote_conn(const pe_resource_t *rsc, rsc 29 include/crm/pengine/remote_internal.h const pe_resource_t *rsc); rsc 31 include/crm/pengine/status.h const char *rsc_printable_id(pe_resource_t *rsc); rsc 43 include/crm/pengine/status.h GList *find_operations(const char *rsc, const char *node, gboolean active_filter, rsc 45 include/crm/pengine/status.h int pe_bundle_replicas(const pe_resource_t *rsc); rsc 55 include/crm/pengine/status.h pe_rsc_is_clone(const pe_resource_t *rsc) rsc 57 include/crm/pengine/status.h return rsc && (rsc->variant == pe_clone); rsc 68 include/crm/pengine/status.h pe_rsc_is_unique_clone(const pe_resource_t *rsc) rsc 70 include/crm/pengine/status.h return pe_rsc_is_clone(rsc) && pcmk_is_set(rsc->flags, pe_rsc_unique); rsc 81 include/crm/pengine/status.h pe_rsc_is_anon_clone(const pe_resource_t *rsc) rsc 83 include/crm/pengine/status.h return pe_rsc_is_clone(rsc) && !pcmk_is_set(rsc->flags, pe_rsc_unique); rsc 94 include/crm/pengine/status.h pe_rsc_is_bundled(pe_resource_t *rsc) rsc 96 include/crm/pengine/status.h return uber_parent(rsc)->parent != NULL; rsc 119 include/crm/services.h char *rsc; rsc 138 include/pacemaker.h int pcmk_resource_digests(xmlNodePtr *xml, pe_resource_t *rsc, rsc 17 include/pcmki/pcmki_resource.h int pcmk__resource_digests(pcmk__output_t *out, pe_resource_t *rsc, rsc 22 include/pcmki/pcmki_sched_allocate.h pe_node_t *pcmk__bundle_allocate(pe_resource_t *rsc, const pe_node_t *prefer); rsc 23 include/pcmki/pcmki_sched_allocate.h void pcmk__bundle_create_actions(pe_resource_t *rsc); rsc 24 include/pcmki/pcmki_sched_allocate.h bool pcmk__bundle_create_probe(pe_resource_t *rsc, pe_node_t *node); rsc 25 include/pcmki/pcmki_sched_allocate.h void pcmk__bundle_internal_constraints(pe_resource_t *rsc); rsc 26 include/pcmki/pcmki_sched_allocate.h void pcmk__bundle_rsc_location(pe_resource_t *rsc, pe__location_t *constraint); rsc 29 include/pcmki/pcmki_sched_allocate.h void pcmk__bundle_expand(pe_resource_t *rsc); rsc 30 include/pcmki/pcmki_sched_allocate.h void pcmk__bundle_add_utilization(const pe_resource_t *rsc, rsc 33 include/pcmki/pcmki_sched_allocate.h void pcmk__bundle_shutdown_lock(pe_resource_t *rsc); rsc 35 include/pcmki/pcmki_sched_allocate.h pe_node_t *pcmk__clone_allocate(pe_resource_t *rsc, const pe_node_t *prefer); rsc 36 include/pcmki/pcmki_sched_allocate.h void clone_create_actions(pe_resource_t *rsc); rsc 37 include/pcmki/pcmki_sched_allocate.h void clone_internal_constraints(pe_resource_t *rsc); rsc 38 include/pcmki/pcmki_sched_allocate.h void clone_rsc_location(pe_resource_t *rsc, pe__location_t *constraint); rsc 41 include/pcmki/pcmki_sched_allocate.h void clone_expand(pe_resource_t *rsc); rsc 42 include/pcmki/pcmki_sched_allocate.h bool clone_create_probe(pe_resource_t *rsc, pe_node_t *node); rsc 43 include/pcmki/pcmki_sched_allocate.h extern void clone_append_meta(pe_resource_t * rsc, xmlNode * xml); rsc 44 include/pcmki/pcmki_sched_allocate.h void pcmk__clone_add_utilization(const pe_resource_t *rsc, rsc 47 include/pcmki/pcmki_sched_allocate.h void pcmk__clone_shutdown_lock(pe_resource_t *rsc); rsc 56 include/pcmki/pcmki_sched_allocate.h void clone_create_pseudo_actions(pe_resource_t *rsc, GList *children, rsc 28 include/pcmki/pcmki_sched_utils.h const pe_resource_t *rsc, rsc 32 include/pcmki/pcmki_sched_utils.h const pe_resource_t *rsc, rsc 41 include/pcmki/pcmki_sched_utils.h int copies_per_node(pe_resource_t * rsc); rsc 135 include/pcmki/pcmki_transition.h int (*rsc) (pcmk__graph_t *graph, pcmk__graph_action_t *action); rsc 19 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 23 lib/common/tests/operations/parse_op_key_test.c assert_true(parse_op_key("Fencing_monitor_60000", &rsc, &ty, &ms)); rsc 24 lib/common/tests/operations/parse_op_key_test.c assert_string_equal(rsc, "Fencing"); rsc 27 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 34 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 38 lib/common/tests/operations/parse_op_key_test.c assert_true(parse_op_key("ClusterIP:0_start_0", &rsc, &ty, &ms)); rsc 39 lib/common/tests/operations/parse_op_key_test.c assert_string_equal(rsc, "ClusterIP:0"); rsc 42 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 45 lib/common/tests/operations/parse_op_key_test.c assert_true(parse_op_key("imagestoreclone:1_post_notify_stop_0", &rsc, &ty, &ms)); rsc 46 lib/common/tests/operations/parse_op_key_test.c assert_string_equal(rsc, "imagestoreclone:1"); rsc 49 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 56 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 60 lib/common/tests/operations/parse_op_key_test.c assert_true(parse_op_key("httpd-bundle-0_monitor_30000", &rsc, &ty, &ms)); rsc 61 lib/common/tests/operations/parse_op_key_test.c assert_string_equal(rsc, "httpd-bundle-0"); rsc 64 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 67 lib/common/tests/operations/parse_op_key_test.c assert_true(parse_op_key("httpd-bundle-ip-192.168.122.132_start_0", &rsc, &ty, &ms)); rsc 68 lib/common/tests/operations/parse_op_key_test.c assert_string_equal(rsc, "httpd-bundle-ip-192.168.122.132"); rsc 71 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 78 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 82 lib/common/tests/operations/parse_op_key_test.c assert_true(parse_op_key("vm_migrate_from_0", &rsc, &ty, &ms)); rsc 83 lib/common/tests/operations/parse_op_key_test.c assert_string_equal(rsc, "vm"); rsc 86 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 89 lib/common/tests/operations/parse_op_key_test.c assert_true(parse_op_key("vm_migrate_to_0", &rsc, &ty, &ms)); rsc 90 lib/common/tests/operations/parse_op_key_test.c assert_string_equal(rsc, "vm"); rsc 93 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 96 lib/common/tests/operations/parse_op_key_test.c assert_true(parse_op_key("vm_idcc_devel_migrate_to_0", &rsc, &ty, &ms)); rsc 97 lib/common/tests/operations/parse_op_key_test.c assert_string_equal(rsc, "vm_idcc_devel"); rsc 100 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 107 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 111 lib/common/tests/operations/parse_op_key_test.c assert_true(parse_op_key("rsc_drbd_7788:1_post_notify_start_0", &rsc, &ty, &ms)); rsc 112 lib/common/tests/operations/parse_op_key_test.c assert_string_equal(rsc, "rsc_drbd_7788:1"); rsc 115 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 118 lib/common/tests/operations/parse_op_key_test.c assert_true(parse_op_key("rabbitmq-bundle-clone_pre_notify_stop_0", &rsc, &ty, &ms)); rsc 119 lib/common/tests/operations/parse_op_key_test.c assert_string_equal(rsc, "rabbitmq-bundle-clone"); rsc 122 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 125 lib/common/tests/operations/parse_op_key_test.c assert_true(parse_op_key("post_notify_start_0", &rsc, &ty, &ms)); rsc 126 lib/common/tests/operations/parse_op_key_test.c assert_string_equal(rsc, "post_notify"); rsc 129 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 148 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 151 lib/common/tests/operations/parse_op_key_test.c assert_true(parse_op_key("Fencing_monitor_60000", &rsc, NULL, &ms)); rsc 152 lib/common/tests/operations/parse_op_key_test.c assert_string_equal(rsc, "Fencing"); rsc 154 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 160 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 163 lib/common/tests/operations/parse_op_key_test.c assert_true(parse_op_key("Fencing_monitor_60000", &rsc, &ty, NULL)); rsc 164 lib/common/tests/operations/parse_op_key_test.c assert_string_equal(rsc, "Fencing"); rsc 166 lib/common/tests/operations/parse_op_key_test.c free(rsc); rsc 173 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 177 lib/common/tests/operations/parse_op_key_test.c assert_false(parse_op_key("", &rsc, &ty, &ms)); rsc 178 lib/common/tests/operations/parse_op_key_test.c assert_null(rsc); rsc 182 lib/common/tests/operations/parse_op_key_test.c assert_false(parse_op_key(NULL, &rsc, &ty, &ms)); rsc 183 lib/common/tests/operations/parse_op_key_test.c assert_null(rsc); rsc 191 lib/common/tests/operations/parse_op_key_test.c char *rsc = NULL; rsc 195 lib/common/tests/operations/parse_op_key_test.c assert_false(parse_op_key("httpd-bundle-0", &rsc, &ty, &ms)); rsc 196 lib/common/tests/operations/parse_op_key_test.c assert_null(rsc); rsc 200 lib/common/tests/operations/parse_op_key_test.c assert_false(parse_op_key("httpd-bundle-0_monitor", &rsc, &ty, &ms)); rsc 201 lib/common/tests/operations/parse_op_key_test.c assert_null(rsc); rsc 205 lib/common/tests/operations/parse_op_key_test.c assert_false(parse_op_key("httpd-bundle-0_30000", &rsc, &ty, &ms)); rsc 206 lib/common/tests/operations/parse_op_key_test.c assert_null(rsc); rsc 2392 lib/lrmd/lrmd_client.c lrmd__metadata_async(lrmd_rsc_info_t *rsc, rsc 2404 lib/lrmd/lrmd_client.c if ((rsc == NULL) || (rsc->standard == NULL) || (rsc->type == NULL)) { rsc 2413 lib/lrmd/lrmd_client.c if (strcmp(rsc->standard, PCMK_RESOURCE_CLASS_STONITH) == 0) { rsc 2414 lib/lrmd/lrmd_client.c return stonith__metadata_async(rsc->type, rsc 2419 lib/lrmd/lrmd_client.c action = services__create_resource_action(pcmk__s(rsc->id, rsc->type), rsc 2420 lib/lrmd/lrmd_client.c rsc->standard, rsc->provider, rsc 2421 lib/lrmd/lrmd_client.c rsc->type, CRMD_ACTION_METADATA, rsc 66 lib/pacemaker/libpacemaker_private.h pe_node_t *(*assign)(pe_resource_t *rsc, const pe_node_t *prefer); rsc 74 lib/pacemaker/libpacemaker_private.h void (*create_actions)(pe_resource_t *rsc); rsc 85 lib/pacemaker/libpacemaker_private.h bool (*create_probe)(pe_resource_t *rsc, pe_node_t *node); rsc 93 lib/pacemaker/libpacemaker_private.h void (*internal_constraints)(pe_resource_t *rsc); rsc 130 lib/pacemaker/libpacemaker_private.h GList *(*colocated_resources)(pe_resource_t *rsc, pe_resource_t *orig_rsc, rsc 140 lib/pacemaker/libpacemaker_private.h void (*apply_location)(pe_resource_t *rsc, pe__location_t *location); rsc 184 lib/pacemaker/libpacemaker_private.h void (*output_actions)(pe_resource_t *rsc); rsc 192 lib/pacemaker/libpacemaker_private.h void (*add_actions_to_graph)(pe_resource_t *rsc); rsc 204 lib/pacemaker/libpacemaker_private.h void (*add_graph_meta)(pe_resource_t *rsc, xmlNode *xml); rsc 221 lib/pacemaker/libpacemaker_private.h void (*add_utilization)(const pe_resource_t *rsc, rsc 231 lib/pacemaker/libpacemaker_private.h void (*shutdown_lock)(pe_resource_t *rsc); rsc 250 lib/pacemaker/libpacemaker_private.h pe_action_t *pcmk__new_cancel_action(pe_resource_t *rsc, const char *name, rsc 266 lib/pacemaker/libpacemaker_private.h bool pcmk__check_action_config(pe_resource_t *rsc, pe_node_t *node, rsc 276 lib/pacemaker/libpacemaker_private.h void pcmk__create_recurring_actions(pe_resource_t *rsc); rsc 279 lib/pacemaker/libpacemaker_private.h void pcmk__schedule_cancel(pe_resource_t *rsc, const char *call_id, rsc 284 lib/pacemaker/libpacemaker_private.h void pcmk__reschedule_recurring(pe_resource_t *rsc, const char *task, rsc 298 lib/pacemaker/libpacemaker_private.h void pcmk__add_rsc_actions_to_graph(pe_resource_t *rsc); rsc 310 lib/pacemaker/libpacemaker_private.h void pcmk__order_vs_unfence(pe_resource_t *rsc, pe_node_t *node, rsc 340 lib/pacemaker/libpacemaker_private.h pe_resource_t **rsc, pe_tag_t **tag); rsc 356 lib/pacemaker/libpacemaker_private.h pe__location_t *pcmk__new_location(const char *id, pe_resource_t *rsc, rsc 365 lib/pacemaker/libpacemaker_private.h void pcmk__apply_location(pe_resource_t *rsc, pe__location_t *constraint); rsc 393 lib/pacemaker/libpacemaker_private.h void pcmk__add_colocated_node_scores(pe_resource_t *rsc, const char *log_id, rsc 401 lib/pacemaker/libpacemaker_private.h void pcmk__add_this_with(pe_resource_t *rsc, pcmk__colocation_t *colocation); rsc 404 lib/pacemaker/libpacemaker_private.h void pcmk__add_with_this(pe_resource_t *rsc, pcmk__colocation_t *colocation); rsc 430 lib/pacemaker/libpacemaker_private.h const pe_resource_t *rsc) rsc 432 lib/pacemaker/libpacemaker_private.h if (rsc == NULL) { rsc 433 lib/pacemaker/libpacemaker_private.h rsc = colocation->primary; rsc 449 lib/pacemaker/libpacemaker_private.h && !pcmk_is_set(rsc->flags, pe_rsc_failed) rsc 450 lib/pacemaker/libpacemaker_private.h && pcmk__list_of_1(rsc->running_on)) { rsc 457 lib/pacemaker/libpacemaker_private.h return colocation->influence || (rsc->running_on == NULL); rsc 524 lib/pacemaker/libpacemaker_private.h void pcmk__add_promotion_scores(pe_resource_t *rsc); rsc 527 lib/pacemaker/libpacemaker_private.h void pcmk__require_promotion_tickets(pe_resource_t *rsc); rsc 530 lib/pacemaker/libpacemaker_private.h void pcmk__set_instance_roles(pe_resource_t *rsc); rsc 536 lib/pacemaker/libpacemaker_private.h void pcmk__promotable_restart_ordering(pe_resource_t *rsc); rsc 561 lib/pacemaker/libpacemaker_private.h bool pcmk__rsc_corresponds_to_guest(pe_resource_t *rsc, pe_node_t *node); rsc 567 lib/pacemaker/libpacemaker_private.h void pcmk__substitute_remote_addr(pe_resource_t *rsc, GHashTable *params); rsc 576 lib/pacemaker/libpacemaker_private.h pe_node_t *pcmk__primitive_assign(pe_resource_t *rsc, const pe_node_t *prefer); rsc 579 lib/pacemaker/libpacemaker_private.h void pcmk__primitive_create_actions(pe_resource_t *rsc); rsc 582 lib/pacemaker/libpacemaker_private.h void pcmk__primitive_internal_constraints(pe_resource_t *rsc); rsc 595 lib/pacemaker/libpacemaker_private.h void pcmk__schedule_cleanup(pe_resource_t *rsc, const pe_node_t *node, rsc 599 lib/pacemaker/libpacemaker_private.h void pcmk__primitive_add_graph_meta(pe_resource_t *rsc, xmlNode *xml); rsc 602 lib/pacemaker/libpacemaker_private.h void pcmk__primitive_add_utilization(const pe_resource_t *rsc, rsc 607 lib/pacemaker/libpacemaker_private.h void pcmk__primitive_shutdown_lock(pe_resource_t *rsc); rsc 613 lib/pacemaker/libpacemaker_private.h pe_node_t *pcmk__group_assign(pe_resource_t *rsc, const pe_node_t *prefer); rsc 616 lib/pacemaker/libpacemaker_private.h void pcmk__group_create_actions(pe_resource_t *rsc); rsc 619 lib/pacemaker/libpacemaker_private.h void pcmk__group_internal_constraints(pe_resource_t *rsc); rsc 628 lib/pacemaker/libpacemaker_private.h void pcmk__group_apply_location(pe_resource_t *rsc, pe__location_t *location); rsc 643 lib/pacemaker/libpacemaker_private.h GList *pcmk__group_colocated_resources(pe_resource_t *rsc, rsc 648 lib/pacemaker/libpacemaker_private.h void pcmk__group_add_utilization(const pe_resource_t *rsc, rsc 653 lib/pacemaker/libpacemaker_private.h void pcmk__group_shutdown_lock(pe_resource_t *rsc); rsc 673 lib/pacemaker/libpacemaker_private.h void pcmk__output_bundle_actions(pe_resource_t *rsc); rsc 722 lib/pacemaker/libpacemaker_private.h pe_node_t *pcmk__top_allowed_node(const pe_resource_t *rsc, rsc 732 lib/pacemaker/libpacemaker_private.h bool pcmk__rsc_agent_changed(pe_resource_t *rsc, pe_node_t *node, rsc 739 lib/pacemaker/libpacemaker_private.h GList *pcmk__colocated_resources(pe_resource_t *rsc, pe_resource_t *orig_rsc, rsc 743 lib/pacemaker/libpacemaker_private.h void pcmk__noop_add_graph_meta(pe_resource_t *rsc, xmlNode *xml); rsc 746 lib/pacemaker/libpacemaker_private.h void pcmk__output_resource_actions(pe_resource_t *rsc); rsc 749 lib/pacemaker/libpacemaker_private.h bool pcmk__finalize_assignment(pe_resource_t *rsc, pe_node_t *chosen, rsc 753 lib/pacemaker/libpacemaker_private.h bool pcmk__assign_resource(pe_resource_t *rsc, pe_node_t *node, bool force); rsc 756 lib/pacemaker/libpacemaker_private.h void pcmk__unassign_resource(pe_resource_t *rsc); rsc 759 lib/pacemaker/libpacemaker_private.h bool pcmk__threshold_reached(pe_resource_t *rsc, pe_node_t *node, rsc 775 lib/pacemaker/libpacemaker_private.h bool pcmk__probe_rsc_on_node(pe_resource_t *rsc, pe_node_t *node); rsc 789 lib/pacemaker/libpacemaker_private.h void pcmk__create_migration_actions(pe_resource_t *rsc, rsc 794 lib/pacemaker/libpacemaker_private.h bool pcmk__rsc_can_migrate(const pe_resource_t *rsc, const pe_node_t *current); rsc 807 lib/pacemaker/libpacemaker_private.h pe_resource_t *rsc); rsc 811 lib/pacemaker/libpacemaker_private.h const pe_resource_t *rsc); rsc 814 lib/pacemaker/libpacemaker_private.h const pe_node_t *pcmk__ban_insufficient_capacity(pe_resource_t *rsc); rsc 817 lib/pacemaker/libpacemaker_private.h void pcmk__create_utilization_constraints(pe_resource_t *rsc, rsc 152 lib/pacemaker/pcmk_graph_consumer.c CRM_ASSERT(graph_fns->rsc != NULL); rsc 243 lib/pacemaker/pcmk_graph_consumer.c return graph_fns->rsc(graph, action); rsc 160 lib/pacemaker/pcmk_graph_producer.c } else if (action->rsc && action->rsc->is_remote_node rsc 172 lib/pacemaker/pcmk_graph_producer.c if (input->rsc && pcmk__str_eq(action->rsc->id, input->rsc->id, pcmk__str_casei) rsc 180 lib/pacemaker/pcmk_graph_producer.c add_node_to_xml_by_id(action->rsc->id, downed); rsc 203 lib/pacemaker/pcmk_graph_producer.c return pcmk__notify_key(action->rsc->clone_name, n_type, n_task); rsc 206 lib/pacemaker/pcmk_graph_producer.c return pcmk__op_key(action->rsc->clone_name, action->cancel_task, rsc 209 lib/pacemaker/pcmk_graph_producer.c return pcmk__op_key(action->rsc->clone_name, action->task, interval_ms); rsc 254 lib/pacemaker/pcmk_graph_producer.c (long long) action->rsc->lock_time); rsc 259 lib/pacemaker/pcmk_graph_producer.c rsc_xml = create_xml_node(action_xml, crm_element_name(action->rsc->xml)); rsc 260 lib/pacemaker/pcmk_graph_producer.c if (pcmk_is_set(action->rsc->flags, pe_rsc_orphan) rsc 261 lib/pacemaker/pcmk_graph_producer.c && (action->rsc->clone_name != NULL)) { rsc 271 lib/pacemaker/pcmk_graph_producer.c action->rsc->id, action->rsc->clone_name); rsc 272 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(rsc_xml, XML_ATTR_ID, action->rsc->clone_name); rsc 273 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(rsc_xml, XML_ATTR_ID_LONG, action->rsc->id); rsc 275 lib/pacemaker/pcmk_graph_producer.c } else if (!pcmk_is_set(action->rsc->flags, pe_rsc_unique)) { rsc 276 lib/pacemaker/pcmk_graph_producer.c const char *xml_id = ID(action->rsc->xml); rsc 279 lib/pacemaker/pcmk_graph_producer.c xml_id, action->rsc->id, action->rsc->clone_name); rsc 295 lib/pacemaker/pcmk_graph_producer.c if ((action->rsc->clone_name != NULL) rsc 296 lib/pacemaker/pcmk_graph_producer.c && !pcmk__str_eq(xml_id, action->rsc->clone_name, rsc 298 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(rsc_xml, XML_ATTR_ID_LONG, action->rsc->clone_name); rsc 300 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(rsc_xml, XML_ATTR_ID_LONG, action->rsc->id); rsc 304 lib/pacemaker/pcmk_graph_producer.c CRM_ASSERT(action->rsc->clone_name == NULL); rsc 305 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(rsc_xml, XML_ATTR_ID, action->rsc->id); rsc 310 lib/pacemaker/pcmk_graph_producer.c g_hash_table_lookup(action->rsc->meta, attr_list[lpc])); rsc 335 lib/pacemaker/pcmk_graph_producer.c if ((action->rsc != NULL) && (action->node != NULL)) { rsc 337 lib/pacemaker/pcmk_graph_producer.c GHashTable *params = pe_rsc_params(action->rsc, action->node, rsc 338 lib/pacemaker/pcmk_graph_producer.c action->rsc->cluster); rsc 340 lib/pacemaker/pcmk_graph_producer.c pcmk__substitute_remote_addr(action->rsc, params); rsc 344 lib/pacemaker/pcmk_graph_producer.c } else if ((action->rsc != NULL) && (action->rsc->variant <= pe_native)) { rsc 345 lib/pacemaker/pcmk_graph_producer.c GHashTable *params = pe_rsc_params(action->rsc, NULL, rsc 346 lib/pacemaker/pcmk_graph_producer.c action->rsc->cluster); rsc 352 lib/pacemaker/pcmk_graph_producer.c if (action->rsc != NULL) { rsc 353 lib/pacemaker/pcmk_graph_producer.c pe_resource_t *parent = action->rsc; rsc 432 lib/pacemaker/pcmk_graph_producer.c if ((action->rsc != NULL) && (action->rsc->clone_name != NULL)) { rsc 460 lib/pacemaker/pcmk_graph_producer.c if ((action->rsc != NULL) rsc 507 lib/pacemaker/pcmk_graph_producer.c if ((action->rsc != NULL) rsc 508 lib/pacemaker/pcmk_graph_producer.c && !pcmk_is_set(action->rsc->flags, pe_rsc_managed) rsc 521 lib/pacemaker/pcmk_graph_producer.c action->uuid, action->id, action->rsc->id); rsc 658 lib/pacemaker/pcmk_graph_producer.c if (action->rsc && pcmk__str_eq(action->task, RSC_MIGRATE, pcmk__str_casei)) { rsc 659 lib/pacemaker/pcmk_graph_producer.c pe_node_t *allocated = action->rsc->allocated_to; rsc 717 lib/pacemaker/pcmk_graph_producer.c } else if (input->action->rsc rsc 718 lib/pacemaker/pcmk_graph_producer.c && input->action->rsc != action->rsc rsc 719 lib/pacemaker/pcmk_graph_producer.c && pcmk_is_set(input->action->rsc->flags, pe_rsc_failed) rsc 720 lib/pacemaker/pcmk_graph_producer.c && !pcmk_is_set(input->action->rsc->flags, pe_rsc_managed) rsc 722 lib/pacemaker/pcmk_graph_producer.c && action->rsc && pe_rsc_is_clone(action->rsc)) { rsc 845 lib/pacemaker/pcmk_graph_producer.c if (action->rsc != NULL) { rsc 846 lib/pacemaker/pcmk_graph_producer.c synapse_priority = action->rsc->priority; rsc 963 lib/pacemaker/pcmk_graph_producer.c pcmk__add_rsc_actions_to_graph(pe_resource_t *rsc) rsc 967 lib/pacemaker/pcmk_graph_producer.c CRM_ASSERT(rsc != NULL); rsc 968 lib/pacemaker/pcmk_graph_producer.c pe_rsc_trace(rsc, "Adding actions for %s to graph", rsc->id); rsc 971 lib/pacemaker/pcmk_graph_producer.c g_list_foreach(rsc->actions, add_action_to_graph, rsc->cluster); rsc 974 lib/pacemaker/pcmk_graph_producer.c for (iter = rsc->children; iter != NULL; iter = iter->next) { rsc 1039 lib/pacemaker/pcmk_graph_producer.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 1041 lib/pacemaker/pcmk_graph_producer.c pe_rsc_trace(rsc, "Processing actions for %s", rsc->id); rsc 1042 lib/pacemaker/pcmk_graph_producer.c rsc->cmds->add_actions_to_graph(rsc); rsc 1052 lib/pacemaker/pcmk_graph_producer.c if ((action->rsc != NULL) rsc 1055 lib/pacemaker/pcmk_graph_producer.c && !pcmk_is_set(action->rsc->flags, pe_rsc_maintenance) rsc 1067 lib/pacemaker/pcmk_graph_producer.c pe__node_name(action->node), action->rsc->id, rsc 1068 lib/pacemaker/pcmk_graph_producer.c pcmk_is_set(action->rsc->flags, pe_rsc_managed)? " blocked" : " unmanaged", rsc 1069 lib/pacemaker/pcmk_graph_producer.c pcmk_is_set(action->rsc->flags, pe_rsc_failed)? " failed" : "", rsc 540 lib/pacemaker/pcmk_injections.c pe_resource_t *rsc = NULL; rsc 556 lib/pacemaker/pcmk_injections.c rsc = pe_find_resource(data_set->resources, resource); rsc 557 lib/pacemaker/pcmk_injections.c if (rsc == NULL) { rsc 562 lib/pacemaker/pcmk_injections.c rclass = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 563 lib/pacemaker/pcmk_injections.c rtype = crm_element_value(rsc->xml, XML_ATTR_TYPE); rsc 564 lib/pacemaker/pcmk_injections.c rprovider = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER); rsc 23 lib/pacemaker/pcmk_output.c colocations_header(pe_resource_t *rsc, pcmk__colocation_t *cons, rsc 29 lib/pacemaker/pcmk_output.c rsc->id, pcmk_readable_score(cons->score), rsc 34 lib/pacemaker/pcmk_output.c rsc->id, pcmk_readable_score(cons->score), rsc 41 lib/pacemaker/pcmk_output.c colocations_xml_node(pcmk__output_t *out, pe_resource_t *rsc, rsc 68 lib/pacemaker/pcmk_output.c do_locations_list_xml(pcmk__output_t *out, pe_resource_t *rsc, bool add_header) rsc 71 lib/pacemaker/pcmk_output.c GList *list = rsc->rsc_location; rsc 88 lib/pacemaker/pcmk_output.c "rsc", rsc->id, rsc 109 lib/pacemaker/pcmk_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 132 lib/pacemaker/pcmk_output.c len = strlen(rsc->id); rsc 137 lib/pacemaker/pcmk_output.c if ((rsc->role > RSC_ROLE_STARTED) rsc 138 lib/pacemaker/pcmk_output.c || (rsc->next_role > RSC_ROLE_UNPROMOTED)) { rsc 146 lib/pacemaker/pcmk_output.c if(rsc->role == rsc->next_role) { rsc 152 lib/pacemaker/pcmk_output.c details = crm_strdup_printf("%s -> %s %s", role2text(rsc->role), rsc 153 lib/pacemaker/pcmk_output.c role2text(rsc->next_role), rsc 162 lib/pacemaker/pcmk_output.c details = crm_strdup_printf("%s %s", role2text(rsc->role), rsc 171 lib/pacemaker/pcmk_output.c details = crm_strdup_printf("%s %s", role2text(rsc->role), rsc 182 lib/pacemaker/pcmk_output.c role2text(rsc->role)); rsc 191 lib/pacemaker/pcmk_output.c details = crm_strdup_printf("%s -> %s %s", role2text(rsc->role), rsc 192 lib/pacemaker/pcmk_output.c role2text(rsc->next_role), rsc 197 lib/pacemaker/pcmk_output.c details = crm_strdup_printf("%s %s -> %s %s", role2text(rsc->role), rsc 199 lib/pacemaker/pcmk_output.c role2text(rsc->next_role), rsc 220 lib/pacemaker/pcmk_output.c rsc->id, detail_width, details, reason ? " " : "", reason ? reason : ""); rsc 234 lib/pacemaker/pcmk_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 254 lib/pacemaker/pcmk_output.c if ((rsc->role > RSC_ROLE_STARTED) rsc 255 lib/pacemaker/pcmk_output.c || (rsc->next_role > RSC_ROLE_UNPROMOTED)) { rsc 263 lib/pacemaker/pcmk_output.c if(rsc->role == rsc->next_role) { rsc 270 lib/pacemaker/pcmk_output.c "resource", rsc->id, rsc 277 lib/pacemaker/pcmk_output.c "role", role2text(rsc->role), rsc 278 lib/pacemaker/pcmk_output.c "next-role", role2text(rsc->next_role), rsc 289 lib/pacemaker/pcmk_output.c "role", role2text(rsc->role), rsc 300 lib/pacemaker/pcmk_output.c "role", role2text(rsc->role), rsc 313 lib/pacemaker/pcmk_output.c "role", role2text(rsc->role), rsc 326 lib/pacemaker/pcmk_output.c "role", role2text(rsc->role), rsc 327 lib/pacemaker/pcmk_output.c "next-role", role2text(rsc->next_role), rsc 334 lib/pacemaker/pcmk_output.c "role", role2text(rsc->role), rsc 336 lib/pacemaker/pcmk_output.c "next-role", role2text(rsc->next_role), rsc 361 lib/pacemaker/pcmk_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 366 lib/pacemaker/pcmk_output.c if (pcmk_is_set(rsc->flags, pe_rsc_allocating)) { rsc 370 lib/pacemaker/pcmk_output.c pe__set_resource_flags(rsc, pe_rsc_allocating); rsc 371 lib/pacemaker/pcmk_output.c for (GList *lpc = rsc->rsc_cons; lpc != NULL; lpc = lpc->next) { rsc 375 lib/pacemaker/pcmk_output.c PCMK__OUTPUT_LIST_HEADER(out, false, rc, "Resources %s is colocated with", rsc->id); rsc 406 lib/pacemaker/pcmk_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 411 lib/pacemaker/pcmk_output.c if (pcmk_is_set(rsc->flags, pe_rsc_allocating)) { rsc 415 lib/pacemaker/pcmk_output.c pe__set_resource_flags(rsc, pe_rsc_allocating); rsc 416 lib/pacemaker/pcmk_output.c for (GList *lpc = rsc->rsc_cons; lpc != NULL; lpc = lpc->next) { rsc 439 lib/pacemaker/pcmk_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 444 lib/pacemaker/pcmk_output.c if (pcmk_is_set(rsc->flags, pe_rsc_allocating)) { rsc 448 lib/pacemaker/pcmk_output.c pe__set_resource_flags(rsc, pe_rsc_allocating); rsc 449 lib/pacemaker/pcmk_output.c for (GList *lpc = rsc->rsc_cons_lhs; lpc != NULL; lpc = lpc->next) { rsc 453 lib/pacemaker/pcmk_output.c PCMK__OUTPUT_LIST_HEADER(out, false, rc, "Resources colocated with %s", rsc->id); rsc 484 lib/pacemaker/pcmk_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 489 lib/pacemaker/pcmk_output.c if (pcmk_is_set(rsc->flags, pe_rsc_allocating)) { rsc 493 lib/pacemaker/pcmk_output.c pe__set_resource_flags(rsc, pe_rsc_allocating); rsc 494 lib/pacemaker/pcmk_output.c for (GList *lpc = rsc->rsc_cons_lhs; lpc != NULL; lpc = lpc->next) { rsc 517 lib/pacemaker/pcmk_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 520 lib/pacemaker/pcmk_output.c GList *list = rsc->rsc_location; rsc 535 lib/pacemaker/pcmk_output.c rsc->id); rsc 546 lib/pacemaker/pcmk_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 547 lib/pacemaker/pcmk_output.c return do_locations_list_xml(out, rsc, true); rsc 555 lib/pacemaker/pcmk_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 564 lib/pacemaker/pcmk_output.c rsc = uber_parent(rsc); rsc 567 lib/pacemaker/pcmk_output.c out->message(out, "locations-list", rsc); rsc 570 lib/pacemaker/pcmk_output.c out->message(out, "rscs-colocated-with-list", rsc, recursive); rsc 573 lib/pacemaker/pcmk_output.c out->message(out, "rsc-is-colocated-with-list", rsc, recursive); rsc 582 lib/pacemaker/pcmk_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 591 lib/pacemaker/pcmk_output.c rsc = uber_parent(rsc); rsc 595 lib/pacemaker/pcmk_output.c do_locations_list_xml(out, rsc, false); rsc 598 lib/pacemaker/pcmk_output.c out->message(out, "rscs-colocated-with-list", rsc, recursive); rsc 601 lib/pacemaker/pcmk_output.c out->message(out, "rsc-is-colocated-with-list", rsc, recursive); rsc 877 lib/pacemaker/pcmk_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 896 lib/pacemaker/pcmk_output.c if ((rsc != NULL) && (rsc->id != NULL)) { rsc 897 lib/pacemaker/pcmk_output.c rsc_desc = rsc->id; rsc 947 lib/pacemaker/pcmk_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 957 lib/pacemaker/pcmk_output.c "resource", pcmk__s(rsc->id, ""), rsc 979 lib/pacemaker/pcmk_output.c __func__, lineno, rsc->id); \ rsc 992 lib/pacemaker/pcmk_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 1007 lib/pacemaker/pcmk_output.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed) rsc 1009 lib/pacemaker/pcmk_output.c pe_rsc_info(rsc, "Leave %s\t(%s%s)", rsc 1010 lib/pacemaker/pcmk_output.c rsc->id, role2text(rsc->role), rsc 1011 lib/pacemaker/pcmk_output.c !pcmk_is_set(rsc->flags, pe_rsc_managed)? " unmanaged" : ""); rsc 1018 lib/pacemaker/pcmk_output.c possible_matches = pe__resource_actions(rsc, next, RSC_START, false); rsc 1029 lib/pacemaker/pcmk_output.c possible_matches = pe__resource_actions(rsc, start_node, RSC_STOP, false); rsc 1033 lib/pacemaker/pcmk_output.c } else if (pcmk_is_set(rsc->flags, pe_rsc_stop_unexpected)) { rsc 1038 lib/pacemaker/pcmk_output.c possible_matches = pe__resource_actions(rsc, NULL, RSC_STOP, false); rsc 1045 lib/pacemaker/pcmk_output.c possible_matches = pe__resource_actions(rsc, next, RSC_PROMOTE, false); rsc 1051 lib/pacemaker/pcmk_output.c possible_matches = pe__resource_actions(rsc, next, RSC_DEMOTE, false); rsc 1057 lib/pacemaker/pcmk_output.c if (rsc->role == rsc->next_role) { rsc 1062 lib/pacemaker/pcmk_output.c possible_matches = pe__resource_actions(rsc, next, RSC_MIGRATED, false); rsc 1069 lib/pacemaker/pcmk_output.c rc = out->message(out, "rsc-action-item", "Migrate", rsc, current, rsc 1072 lib/pacemaker/pcmk_output.c } else if (pcmk_is_set(rsc->flags, pe_rsc_reload)) { rsc 1073 lib/pacemaker/pcmk_output.c rc = out->message(out, "rsc-action-item", "Reload", rsc, current, rsc 1080 lib/pacemaker/pcmk_output.c rc = out->message(out, "rsc-action-item", "Re-promote", rsc, rsc 1083 lib/pacemaker/pcmk_output.c pe_rsc_info(rsc, "Leave %s\t(%s %s)", rsc->id, rsc 1084 lib/pacemaker/pcmk_output.c role2text(rsc->role), pe__node_name(next)); rsc 1088 lib/pacemaker/pcmk_output.c rc = out->message(out, "rsc-action-item", "Stop", rsc, current, rsc 1093 lib/pacemaker/pcmk_output.c rc = out->message(out, "rsc-action-item", pcmk_is_set(rsc->flags, pe_rsc_failed)? "Recover" : "Move", rsc 1094 lib/pacemaker/pcmk_output.c rsc, current, next, stop, NULL); rsc 1096 lib/pacemaker/pcmk_output.c } else if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 1097 lib/pacemaker/pcmk_output.c rc = out->message(out, "rsc-action-item", "Recover", rsc, current, rsc 1102 lib/pacemaker/pcmk_output.c rc = out->message(out, "rsc-action-item", "Restart", rsc, current, rsc 1112 lib/pacemaker/pcmk_output.c && (rsc->next_role == RSC_ROLE_STOPPED rsc 1117 lib/pacemaker/pcmk_output.c key = stop_key(rsc); rsc 1118 lib/pacemaker/pcmk_output.c for (gIter = rsc->running_on; gIter != NULL; gIter = gIter->next) { rsc 1122 lib/pacemaker/pcmk_output.c possible_matches = find_actions(rsc->actions, key, node); rsc 1132 lib/pacemaker/pcmk_output.c if (out->message(out, "rsc-action-item", "Stop", rsc, node, NULL, rsc 1141 lib/pacemaker/pcmk_output.c && pcmk_all_flags_set(rsc->flags, pe_rsc_failed|pe_rsc_stop)) { rsc 1143 lib/pacemaker/pcmk_output.c rc = out->message(out, "rsc-action-item", "Recover", rsc, current, rsc 1148 lib/pacemaker/pcmk_output.c rc = out->message(out, "rsc-action-item", "Move", rsc, current, next, rsc 1152 lib/pacemaker/pcmk_output.c } else if (pcmk_is_set(rsc->flags, pe_rsc_reload)) { rsc 1153 lib/pacemaker/pcmk_output.c rc = out->message(out, "rsc-action-item", "Reload", rsc, current, next, rsc 1157 lib/pacemaker/pcmk_output.c rc = out->message(out, "rsc-action-item", "Restart", rsc, current, rsc 1161 lib/pacemaker/pcmk_output.c } else if (rsc->role == RSC_ROLE_PROMOTED) { rsc 1163 lib/pacemaker/pcmk_output.c rc = out->message(out, "rsc-action-item", "Demote", rsc, current, rsc 1166 lib/pacemaker/pcmk_output.c } else if (rsc->next_role == RSC_ROLE_PROMOTED) { rsc 1168 lib/pacemaker/pcmk_output.c rc = out->message(out, "rsc-action-item", "Promote", rsc, current, rsc 1171 lib/pacemaker/pcmk_output.c } else if (rsc->role == RSC_ROLE_STOPPED && rsc->next_role > RSC_ROLE_STOPPED) { rsc 1172 lib/pacemaker/pcmk_output.c rc = out->message(out, "rsc-action-item", "Start", rsc, current, next, rsc 1227 lib/pacemaker/pcmk_output.c xmlNodePtr rsc = va_arg(args, xmlNodePtr); rsc 1233 lib/pacemaker/pcmk_output.c if(rsc) { rsc 1234 lib/pacemaker/pcmk_output.c out->list_item(out, NULL, "Cluster action: %s for %s on %s", task, ID(rsc), node); rsc 1248 lib/pacemaker/pcmk_output.c xmlNodePtr rsc = va_arg(args, xmlNodePtr); rsc 1261 lib/pacemaker/pcmk_output.c if (rsc) { rsc 1262 lib/pacemaker/pcmk_output.c crm_xml_add(xml_node, "id", ID(rsc)); rsc 1554 lib/pacemaker/pcmk_output.c const char *rsc = va_arg(args, const char *); rsc 1565 lib/pacemaker/pcmk_output.c rsc, operation, interval_ms, node); rsc 1568 lib/pacemaker/pcmk_output.c rsc, operation, node); rsc 1578 lib/pacemaker/pcmk_output.c const char *rsc = va_arg(args, const char *); rsc 1590 lib/pacemaker/pcmk_output.c "resource", rsc, rsc 31 lib/pacemaker/pcmk_resource.c best_op(pe_resource_t *rsc, pe_node_t *node, pe_working_set_t *data_set) rsc 42 lib/pacemaker/pcmk_resource.c xpath = crm_strdup_printf(XPATH_OP_HISTORY, node->details->uname, rsc->id); rsc 117 lib/pacemaker/pcmk_resource.c pcmk__resource_digests(pcmk__output_t *out, pe_resource_t *rsc, rsc 126 lib/pacemaker/pcmk_resource.c if ((out == NULL) || (rsc == NULL) || (node == NULL)) { rsc 129 lib/pacemaker/pcmk_resource.c if (rsc->variant != pe_native) { rsc 135 lib/pacemaker/pcmk_resource.c xml_op = best_op(rsc, node, rsc->cluster); rsc 148 lib/pacemaker/pcmk_resource.c digests = pe__calculate_digests(rsc, task, &interval_ms, node, xml_op, rsc 149 lib/pacemaker/pcmk_resource.c overrides, true, rsc->cluster); rsc 150 lib/pacemaker/pcmk_resource.c rc = out->message(out, "digests", rsc, node, task, interval_ms, digests); rsc 157 lib/pacemaker/pcmk_resource.c pcmk_resource_digests(xmlNodePtr *xml, pe_resource_t *rsc, rsc 169 lib/pacemaker/pcmk_resource.c rc = pcmk__resource_digests(out, rsc, node, overrides); rsc 37 lib/pacemaker/pcmk_sched_actions.c if (action->rsc == NULL) { rsc 45 lib/pacemaker/pcmk_sched_actions.c flags = action->rsc->cmds->action_flags(action, NULL); rsc 46 lib/pacemaker/pcmk_sched_actions.c if ((node == NULL) || !pe_rsc_is_clone(action->rsc)) { rsc 56 lib/pacemaker/pcmk_sched_actions.c flags = action->rsc->cmds->action_flags(action, node); rsc 67 lib/pacemaker/pcmk_sched_actions.c pe__set_raw_action_flags(flags, action->rsc->id, rsc 188 lib/pacemaker/pcmk_sched_actions.c pe_resource_t *rsc = action->rsc; rsc 190 lib/pacemaker/pcmk_sched_actions.c if ((rsc != NULL) && (rsc->variant >= pe_group) && (action->uuid != NULL)) { rsc 191 lib/pacemaker/pcmk_sched_actions.c char *uuid = action_uuid_for_ordering(action->uuid, rsc); rsc 193 lib/pacemaker/pcmk_sched_actions.c result = find_first_action(rsc->actions, uuid, NULL, NULL); rsc 196 lib/pacemaker/pcmk_sched_actions.c "remapped action", action->uuid, uuid, rsc->id); rsc 242 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, rsc 249 lib/pacemaker/pcmk_sched_actions.c if (then->rsc != NULL) { rsc 250 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, rsc 261 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, "%s then %s: %s after pe_order_implies_then", rsc 266 lib/pacemaker/pcmk_sched_actions.c if (pcmk_is_set(order->type, pe_order_restart) && (then->rsc != NULL)) { rsc 269 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, node, rsc 273 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, "%s then %s: %s after pe_order_restart", rsc 279 lib/pacemaker/pcmk_sched_actions.c if (first->rsc != NULL) { rsc 280 lib/pacemaker/pcmk_sched_actions.c changed |= first->rsc->cmds->update_ordered_actions(first, then, rsc 291 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, "%s then %s: %s after pe_order_implies_first", rsc 297 lib/pacemaker/pcmk_sched_actions.c if (then->rsc != NULL) { rsc 298 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, rsc 305 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, rsc 312 lib/pacemaker/pcmk_sched_actions.c if (then->rsc != NULL) { rsc 313 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, rsc 334 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, "%s then %s: %s after pe_order_one_or_more", rsc 339 lib/pacemaker/pcmk_sched_actions.c if (pcmk_is_set(order->type, pe_order_probe) && (then->rsc != NULL)) { rsc 341 lib/pacemaker/pcmk_sched_actions.c && (first->rsc->running_on != NULL)) { rsc 343 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, rsc 348 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, rsc 355 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, "%s then %s: %s after pe_order_probe", rsc 361 lib/pacemaker/pcmk_sched_actions.c if (then->rsc != NULL) { rsc 362 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, rsc 375 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, "%s then %s: %s after pe_order_runnable_left", rsc 381 lib/pacemaker/pcmk_sched_actions.c if (then->rsc != NULL) { rsc 382 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, rsc 389 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, "%s then %s: %s after " rsc 396 lib/pacemaker/pcmk_sched_actions.c if (then->rsc != NULL) { rsc 397 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, rsc 404 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, "%s then %s: %s after pe_order_pseudo_left", rsc 410 lib/pacemaker/pcmk_sched_actions.c if (then->rsc != NULL) { rsc 411 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, rsc 418 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, "%s then %s: %s after pe_order_optional", rsc 424 lib/pacemaker/pcmk_sched_actions.c if (then->rsc != NULL) { rsc 425 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, rsc 432 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, "%s then %s: %s after pe_order_asymmetrical", rsc 441 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, "%s will be in graph because %s is required", rsc 450 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, "%s will be in graph because %s is required", rsc 459 lib/pacemaker/pcmk_sched_actions.c && (first->rsc != NULL) rsc 460 lib/pacemaker/pcmk_sched_actions.c && !pcmk_is_set(first->rsc->flags, pe_rsc_managed) rsc 461 lib/pacemaker/pcmk_sched_actions.c && pcmk_is_set(first->rsc->flags, pe_rsc_block) rsc 469 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, "%s then %s: %s after checking whether first " rsc 506 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, "Updating %s %s (%s %s) on %s", rsc 539 lib/pacemaker/pcmk_sched_actions.c if ((first->rsc != NULL) rsc 540 lib/pacemaker/pcmk_sched_actions.c && (first->rsc->variant == pe_group) rsc 543 lib/pacemaker/pcmk_sched_actions.c first_node = first->rsc->fns->location(first->rsc, NULL, FALSE); rsc 545 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(first->rsc, "Found %s for 'first' %s", rsc 550 lib/pacemaker/pcmk_sched_actions.c if ((then->rsc != NULL) rsc 551 lib/pacemaker/pcmk_sched_actions.c && (then->rsc->variant == pe_group) rsc 554 lib/pacemaker/pcmk_sched_actions.c then_node = then->rsc->fns->location(then->rsc, NULL, FALSE); rsc 556 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, "Found %s for 'then' %s", rsc 566 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, rsc 576 lib/pacemaker/pcmk_sched_actions.c if ((first->rsc != NULL) rsc 585 lib/pacemaker/pcmk_sched_actions.c pe__clear_resource_flags(first->rsc, pe_rsc_reload); rsc 589 lib/pacemaker/pcmk_sched_actions.c if ((first->rsc != NULL) && (then->rsc != NULL) rsc 590 lib/pacemaker/pcmk_sched_actions.c && (first->rsc != then->rsc) && !is_parent(then->rsc, first->rsc)) { rsc 594 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, "Ordering %s after %s instead of %s", rsc 598 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, rsc 625 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, rsc 673 lib/pacemaker/pcmk_sched_actions.c return action && action->rsc && (action->rsc->variant == pe_native); rsc 687 lib/pacemaker/pcmk_sched_actions.c if ((action)->rsc != (reason)->rsc) { \ rsc 709 lib/pacemaker/pcmk_sched_actions.c if (then->rsc == NULL) { rsc 714 lib/pacemaker/pcmk_sched_actions.c then_rsc_role = then->rsc->fns->state(then->rsc, TRUE); rsc 715 lib/pacemaker/pcmk_sched_actions.c then_on = then->rsc->running_on; rsc 778 lib/pacemaker/pcmk_sched_actions.c && pcmk_is_set(then->rsc->flags, pe_rsc_managed) rsc 779 lib/pacemaker/pcmk_sched_actions.c && (first->rsc == then->rsc)) { rsc 787 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(first->rsc, "Handling %s -> %s for %s", rsc 865 lib/pacemaker/pcmk_sched_actions.c && (then->rsc != NULL) && (then->rsc->role == RSC_ROLE_PROMOTED) rsc 923 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(then->rsc, rsc 929 lib/pacemaker/pcmk_sched_actions.c if ((then->rsc != NULL) && (then->rsc->parent != NULL)) { rsc 937 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(first->rsc, rsc 1011 lib/pacemaker/pcmk_sched_actions.c (action->rsc? action->rsc->id : "<none>"), rsc 1299 lib/pacemaker/pcmk_sched_actions.c if ((action == NULL) || (action->rsc == NULL) rsc 1300 lib/pacemaker/pcmk_sched_actions.c || (action->rsc->lock_node == NULL) || (action->node == NULL) rsc 1301 lib/pacemaker/pcmk_sched_actions.c || (action->node->details != action->rsc->lock_node->details)) { rsc 1399 lib/pacemaker/pcmk_sched_actions.c if (action->rsc != NULL) { rsc 1434 lib/pacemaker/pcmk_sched_actions.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 1436 lib/pacemaker/pcmk_sched_actions.c rsc->cmds->output_actions(rsc); rsc 1451 lib/pacemaker/pcmk_sched_actions.c action_in_config(pe_resource_t *rsc, const char *task, guint interval_ms) rsc 1453 lib/pacemaker/pcmk_sched_actions.c char *key = pcmk__op_key(rsc->id, task, interval_ms); rsc 1454 lib/pacemaker/pcmk_sched_actions.c bool config = (find_rsc_op_entry(rsc, key) != NULL); rsc 1527 lib/pacemaker/pcmk_sched_actions.c force_restart(pe_resource_t *rsc, const char *task, guint interval_ms, rsc 1530 lib/pacemaker/pcmk_sched_actions.c char *key = pcmk__op_key(rsc->id, task, interval_ms); rsc 1531 lib/pacemaker/pcmk_sched_actions.c pe_action_t *required = custom_action(rsc, key, task, NULL, FALSE, TRUE, rsc 1532 lib/pacemaker/pcmk_sched_actions.c rsc->cluster); rsc 1535 lib/pacemaker/pcmk_sched_actions.c trigger_unfencing(rsc, node, "Device parameters changed", NULL, rsc 1536 lib/pacemaker/pcmk_sched_actions.c rsc->cluster); rsc 1547 lib/pacemaker/pcmk_sched_actions.c schedule_reload(pe_resource_t *rsc, pe_node_t *node) rsc 1552 lib/pacemaker/pcmk_sched_actions.c if (rsc->variant > pe_native) { rsc 1553 lib/pacemaker/pcmk_sched_actions.c g_list_foreach(rsc->children, (GFunc) schedule_reload, node); rsc 1559 lib/pacemaker/pcmk_sched_actions.c || !pcmk_is_set(rsc->flags, pe_rsc_managed) rsc 1560 lib/pacemaker/pcmk_sched_actions.c || pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 1561 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(rsc, "Skip reload of %s:%s%s %s", rsc 1562 lib/pacemaker/pcmk_sched_actions.c rsc->id, rsc 1563 lib/pacemaker/pcmk_sched_actions.c pcmk_is_set(rsc->flags, pe_rsc_managed)? "" : " unmanaged", rsc 1564 lib/pacemaker/pcmk_sched_actions.c pcmk_is_set(rsc->flags, pe_rsc_failed)? " failed" : "", rsc 1572 lib/pacemaker/pcmk_sched_actions.c if (pcmk_is_set(rsc->flags, pe_rsc_start_pending)) { rsc 1573 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(rsc, "%s: preventing agent reload because start pending", rsc 1574 lib/pacemaker/pcmk_sched_actions.c rsc->id); rsc 1575 lib/pacemaker/pcmk_sched_actions.c custom_action(rsc, stop_key(rsc), CRMD_ACTION_STOP, node, FALSE, TRUE, rsc 1576 lib/pacemaker/pcmk_sched_actions.c rsc->cluster); rsc 1581 lib/pacemaker/pcmk_sched_actions.c pe__set_resource_flags(rsc, pe_rsc_reload); rsc 1582 lib/pacemaker/pcmk_sched_actions.c reload = custom_action(rsc, reload_key(rsc), CRMD_ACTION_RELOAD_AGENT, node, rsc 1583 lib/pacemaker/pcmk_sched_actions.c FALSE, TRUE, rsc->cluster); rsc 1587 lib/pacemaker/pcmk_sched_actions.c pcmk__new_ordering(NULL, NULL, reload, rsc, stop_key(rsc), NULL, rsc 1589 lib/pacemaker/pcmk_sched_actions.c rsc->cluster); rsc 1590 lib/pacemaker/pcmk_sched_actions.c pcmk__new_ordering(NULL, NULL, reload, rsc, demote_key(rsc), NULL, rsc 1592 lib/pacemaker/pcmk_sched_actions.c rsc->cluster); rsc 1610 lib/pacemaker/pcmk_sched_actions.c pcmk__check_action_config(pe_resource_t *rsc, pe_node_t *node, xmlNode *xml_op) rsc 1616 lib/pacemaker/pcmk_sched_actions.c CRM_CHECK((rsc != NULL) && (node != NULL) && (xml_op != NULL), rsc 1626 lib/pacemaker/pcmk_sched_actions.c if (action_in_config(rsc, task, interval_ms)) { rsc 1627 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(rsc, "%s-interval %s for %s on %s is in configuration", rsc 1628 lib/pacemaker/pcmk_sched_actions.c pcmk__readable_interval(interval_ms), task, rsc->id, rsc 1630 lib/pacemaker/pcmk_sched_actions.c } else if (pcmk_is_set(rsc->cluster->flags, rsc 1632 lib/pacemaker/pcmk_sched_actions.c pcmk__schedule_cancel(rsc, rsc 1637 lib/pacemaker/pcmk_sched_actions.c pe_rsc_debug(rsc, "%s-interval %s for %s on %s is orphaned", rsc 1638 lib/pacemaker/pcmk_sched_actions.c pcmk__readable_interval(interval_ms), task, rsc->id, rsc 1645 lib/pacemaker/pcmk_sched_actions.c pcmk__readable_interval(interval_ms), task, rsc->id, rsc 1648 lib/pacemaker/pcmk_sched_actions.c digest_data = rsc_action_digest_cmp(rsc, xml_op, node, rsc->cluster); rsc 1650 lib/pacemaker/pcmk_sched_actions.c if (only_sanitized_changed(xml_op, digest_data, rsc->cluster)) { rsc 1651 lib/pacemaker/pcmk_sched_actions.c if (!pcmk__is_daemon && (rsc->cluster->priv != NULL)) { rsc 1652 lib/pacemaker/pcmk_sched_actions.c pcmk__output_t *out = rsc->cluster->priv; rsc 1657 lib/pacemaker/pcmk_sched_actions.c pcmk__readable_interval(interval_ms), task, rsc->id, rsc 1667 lib/pacemaker/pcmk_sched_actions.c force_restart(rsc, task, interval_ms, node); rsc 1680 lib/pacemaker/pcmk_sched_actions.c pcmk__reschedule_recurring(rsc, task, interval_ms, node); rsc 1685 lib/pacemaker/pcmk_sched_actions.c trigger_unfencing(rsc, node, rsc 1687 lib/pacemaker/pcmk_sched_actions.c rsc->cluster); rsc 1689 lib/pacemaker/pcmk_sched_actions.c schedule_reload(rsc, node); rsc 1692 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(rsc, rsc 1694 lib/pacemaker/pcmk_sched_actions.c rsc->id); rsc 1697 lib/pacemaker/pcmk_sched_actions.c force_restart(rsc, task, interval_ms, node); rsc 1717 lib/pacemaker/pcmk_sched_actions.c rsc_history_as_list(pe_resource_t *rsc, xmlNode *rsc_entry, rsc 1746 lib/pacemaker/pcmk_sched_actions.c process_rsc_history(xmlNode *rsc_entry, pe_resource_t *rsc, pe_node_t *node) rsc 1753 lib/pacemaker/pcmk_sched_actions.c if (pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 1754 lib/pacemaker/pcmk_sched_actions.c if (pe_rsc_is_anon_clone(uber_parent(rsc))) { rsc 1755 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(rsc, rsc 1758 lib/pacemaker/pcmk_sched_actions.c rsc->id); rsc 1760 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(rsc, rsc 1762 lib/pacemaker/pcmk_sched_actions.c "for orphaned resource %s", rsc->id); rsc 1763 lib/pacemaker/pcmk_sched_actions.c pcmk__schedule_cleanup(rsc, node, false); rsc 1768 lib/pacemaker/pcmk_sched_actions.c if (pe_find_node_id(rsc->running_on, node->details->id) == NULL) { rsc 1769 lib/pacemaker/pcmk_sched_actions.c if (pcmk__rsc_agent_changed(rsc, node, rsc_entry, false)) { rsc 1770 lib/pacemaker/pcmk_sched_actions.c pcmk__schedule_cleanup(rsc, node, false); rsc 1772 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(rsc, rsc 1775 lib/pacemaker/pcmk_sched_actions.c rsc->id, pe__node_name(node)); rsc 1779 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(rsc, "Checking for configuration changes for %s on %s", rsc 1780 lib/pacemaker/pcmk_sched_actions.c rsc->id, pe__node_name(node)); rsc 1782 lib/pacemaker/pcmk_sched_actions.c if (pcmk__rsc_agent_changed(rsc, node, rsc_entry, true)) { rsc 1783 lib/pacemaker/pcmk_sched_actions.c pcmk__schedule_cleanup(rsc, node, false); rsc 1786 lib/pacemaker/pcmk_sched_actions.c sorted_op_list = rsc_history_as_list(rsc, rsc_entry, &start_index, rsc 1806 lib/pacemaker/pcmk_sched_actions.c && (pcmk_is_set(rsc->flags, pe_rsc_maintenance) rsc 1809 lib/pacemaker/pcmk_sched_actions.c pcmk__schedule_cancel(rsc, rsc 1820 lib/pacemaker/pcmk_sched_actions.c if (pe__bundle_needs_remote_name(rsc, rsc->cluster)) { rsc 1828 lib/pacemaker/pcmk_sched_actions.c pe__add_param_check(rsc_op, rsc, node, pe_check_active, rsc 1829 lib/pacemaker/pcmk_sched_actions.c rsc->cluster); rsc 1831 lib/pacemaker/pcmk_sched_actions.c } else if (pcmk__check_action_config(rsc, node, rsc_op) rsc 1832 lib/pacemaker/pcmk_sched_actions.c && (pe_get_failcount(node, rsc, NULL, pe_fc_effective, rsc 1833 lib/pacemaker/pcmk_sched_actions.c NULL, rsc->cluster) != 0)) { rsc 1834 lib/pacemaker/pcmk_sched_actions.c pe__clear_failcount(rsc, node, "action definition changed", rsc 1835 lib/pacemaker/pcmk_sched_actions.c rsc->cluster); rsc 1867 lib/pacemaker/pcmk_sched_actions.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 1869 lib/pacemaker/pcmk_sched_actions.c if (rsc->variant == pe_native) { rsc 1870 lib/pacemaker/pcmk_sched_actions.c process_rsc_history(rsc_entry, rsc, node); rsc 43 lib/pacemaker/pcmk_sched_allocate.c check_params(pe_resource_t *rsc, pe_node_t *node, xmlNode *rsc_op, rsc 51 lib/pacemaker/pcmk_sched_allocate.c if (pcmk__check_action_config(rsc, node, rsc_op) rsc 52 lib/pacemaker/pcmk_sched_allocate.c && pe_get_failcount(node, rsc, NULL, pe_fc_effective, NULL, rsc 59 lib/pacemaker/pcmk_sched_allocate.c digest_data = rsc_action_digest_cmp(rsc, rsc_op, node, data_set); rsc 64 lib/pacemaker/pcmk_sched_allocate.c rsc->id, ID(rsc_op), node->details->id); rsc 75 lib/pacemaker/pcmk_sched_allocate.c pe__clear_failcount(rsc, node, reason, data_set); rsc 90 lib/pacemaker/pcmk_sched_allocate.c failcount_clear_action_exists(pe_node_t *node, pe_resource_t *rsc) rsc 92 lib/pacemaker/pcmk_sched_allocate.c GList *list = pe__resource_actions(rsc, node, CRM_OP_CLEAR_FAILCOUNT, TRUE); rsc 109 lib/pacemaker/pcmk_sched_allocate.c check_failure_threshold(pe_resource_t *rsc, pe_node_t *node) rsc 112 lib/pacemaker/pcmk_sched_allocate.c if (rsc->children != NULL) { rsc 113 lib/pacemaker/pcmk_sched_allocate.c g_list_foreach(rsc->children, (GFunc) check_failure_threshold, rsc 117 lib/pacemaker/pcmk_sched_allocate.c } else if (failcount_clear_action_exists(node, rsc)) { rsc 133 lib/pacemaker/pcmk_sched_allocate.c if (pcmk__threshold_reached(rsc, node, &failed)) { rsc 135 lib/pacemaker/pcmk_sched_allocate.c rsc->cluster); rsc 153 lib/pacemaker/pcmk_sched_allocate.c apply_exclusive_discovery(pe_resource_t *rsc, pe_node_t *node) rsc 155 lib/pacemaker/pcmk_sched_allocate.c if (rsc->exclusive_discover || uber_parent(rsc)->exclusive_discover) { rsc 159 lib/pacemaker/pcmk_sched_allocate.c g_list_foreach(rsc->children, (GFunc) apply_exclusive_discovery, node); rsc 161 lib/pacemaker/pcmk_sched_allocate.c match = g_hash_table_lookup(rsc->allowed_nodes, node->details->id); rsc 177 lib/pacemaker/pcmk_sched_allocate.c apply_stickiness(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 182 lib/pacemaker/pcmk_sched_allocate.c if (rsc->children != NULL) { rsc 183 lib/pacemaker/pcmk_sched_allocate.c g_list_foreach(rsc->children, (GFunc) apply_stickiness, data_set); rsc 190 lib/pacemaker/pcmk_sched_allocate.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed) rsc 191 lib/pacemaker/pcmk_sched_allocate.c || (rsc->stickiness < 1) || !pcmk__list_of_1(rsc->running_on)) { rsc 195 lib/pacemaker/pcmk_sched_allocate.c node = rsc->running_on->data; rsc 202 lib/pacemaker/pcmk_sched_allocate.c if (!pcmk_is_set(rsc->cluster->flags, pe_flag_symmetric_cluster) rsc 203 lib/pacemaker/pcmk_sched_allocate.c && (pe_hash_table_lookup(rsc->allowed_nodes, rsc 205 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_debug(rsc, rsc 208 lib/pacemaker/pcmk_sched_allocate.c rsc->id, pe__node_name(node)); rsc 212 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_debug(rsc, "Resource %s has %d stickiness on %s", rsc 213 lib/pacemaker/pcmk_sched_allocate.c rsc->id, rsc->stickiness, pe__node_name(node)); rsc 214 lib/pacemaker/pcmk_sched_allocate.c resource_location(rsc, node, rsc->stickiness, "stickiness", rsc 215 lib/pacemaker/pcmk_sched_allocate.c rsc->cluster); rsc 231 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 233 lib/pacemaker/pcmk_sched_allocate.c rsc->cmds->shutdown_lock(rsc); rsc 284 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) rsc_iter->data; rsc 286 lib/pacemaker/pcmk_sched_allocate.c check_failure_threshold(rsc, node); rsc 287 lib/pacemaker/pcmk_sched_allocate.c apply_exclusive_discovery(rsc, node); rsc 316 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 318 lib/pacemaker/pcmk_sched_allocate.c if (rsc->is_remote_node) { rsc 319 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_trace(rsc, "Allocating remote connection resource '%s'", rsc 320 lib/pacemaker/pcmk_sched_allocate.c rsc->id); rsc 321 lib/pacemaker/pcmk_sched_allocate.c rsc->cmds->assign(rsc, rsc->partial_migration_target); rsc 328 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 330 lib/pacemaker/pcmk_sched_allocate.c if (!rsc->is_remote_node) { rsc 331 lib/pacemaker/pcmk_sched_allocate.c pe_rsc_trace(rsc, "Allocating %s resource '%s'", rsc 332 lib/pacemaker/pcmk_sched_allocate.c crm_element_name(rsc->xml), rsc->id); rsc 333 lib/pacemaker/pcmk_sched_allocate.c rsc->cmds->assign(rsc, NULL); rsc 348 lib/pacemaker/pcmk_sched_allocate.c clear_failcounts_if_orphaned(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 350 lib/pacemaker/pcmk_sched_allocate.c if (!pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 353 lib/pacemaker/pcmk_sched_allocate.c crm_trace("Clear fail counts for orphaned resource %s", rsc->id); rsc 366 lib/pacemaker/pcmk_sched_allocate.c if (pe_get_failcount(node, rsc, NULL, pe_fc_effective, NULL, rsc 371 lib/pacemaker/pcmk_sched_allocate.c clear_op = pe__clear_failcount(rsc, node, "it is orphaned", data_set); rsc 376 lib/pacemaker/pcmk_sched_allocate.c pcmk__new_ordering(clear_op->rsc, NULL, clear_op, rsc, stop_key(rsc), rsc 406 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 408 lib/pacemaker/pcmk_sched_allocate.c rsc->cmds->create_actions(rsc); rsc 421 lib/pacemaker/pcmk_sched_allocate.c is_managed(const pe_resource_t *rsc) rsc 423 lib/pacemaker/pcmk_sched_allocate.c if (pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 426 lib/pacemaker/pcmk_sched_allocate.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 655 lib/pacemaker/pcmk_sched_allocate.c pe_resource_t *rsc = (pe_resource_t *) item->data; rsc 658 lib/pacemaker/pcmk_sched_allocate.c if (!pcmk_is_set(rsc->flags, pe_rsc_orphan) rsc 659 lib/pacemaker/pcmk_sched_allocate.c || (rsc->role != RSC_ROLE_STOPPED)) { rsc 660 lib/pacemaker/pcmk_sched_allocate.c out->message(out, crm_map_element_name(rsc->xml), 0, rsc, all, all); rsc 35 lib/pacemaker/pcmk_sched_bundle.c void distribute_children(pe_resource_t *rsc, GList *children, GList *nodes, rsc 39 lib/pacemaker/pcmk_sched_bundle.c get_container_list(const pe_resource_t *rsc) rsc 43 lib/pacemaker/pcmk_sched_bundle.c if (rsc->variant == pe_container) { rsc 46 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(data, rsc); rsc 58 lib/pacemaker/pcmk_sched_bundle.c get_containers_or_children(const pe_resource_t *rsc) rsc 60 lib/pacemaker/pcmk_sched_bundle.c return (rsc->variant == pe_container)? rsc 61 lib/pacemaker/pcmk_sched_bundle.c get_container_list(rsc) : rsc->children; rsc 74 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_allocate(pe_resource_t *rsc, const pe_node_t *prefer) rsc 80 lib/pacemaker/pcmk_sched_bundle.c CRM_CHECK(rsc != NULL, return NULL); rsc 82 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 84 lib/pacemaker/pcmk_sched_bundle.c pe__set_resource_flags(rsc, pe_rsc_allocating); rsc 85 lib/pacemaker/pcmk_sched_bundle.c containers = get_container_list(rsc); rsc 87 lib/pacemaker/pcmk_sched_bundle.c pe__show_node_weights(!pcmk_is_set(rsc->cluster->flags, pe_flag_show_scores), rsc 88 lib/pacemaker/pcmk_sched_bundle.c rsc, __func__, rsc->allowed_nodes, rsc->cluster); rsc 90 lib/pacemaker/pcmk_sched_bundle.c nodes = g_hash_table_get_values(rsc->allowed_nodes); rsc 93 lib/pacemaker/pcmk_sched_bundle.c distribute_children(rsc, containers, nodes, bundle_data->nreplicas, rsc 94 lib/pacemaker/pcmk_sched_bundle.c bundle_data->nreplicas_per_host, rsc->cluster); rsc 105 lib/pacemaker/pcmk_sched_bundle.c pe_rsc_trace(rsc, "Allocating bundle %s IP %s", rsc 106 lib/pacemaker/pcmk_sched_bundle.c rsc->id, replica->ip->id); rsc 119 lib/pacemaker/pcmk_sched_bundle.c NULL, true, rsc->cluster); rsc 123 lib/pacemaker/pcmk_sched_bundle.c pe_rsc_trace(rsc, "Allocating bundle %s connection %s", rsc 124 lib/pacemaker/pcmk_sched_bundle.c rsc->id, replica->remote->id); rsc 144 lib/pacemaker/pcmk_sched_bundle.c pe_rsc_trace(rsc, "Allocating bundle %s replica child %s", rsc 145 lib/pacemaker/pcmk_sched_bundle.c rsc->id, replica->child->id); rsc 163 lib/pacemaker/pcmk_sched_bundle.c pe_rsc_trace(rsc, "Allocating bundle %s child %s", rsc 164 lib/pacemaker/pcmk_sched_bundle.c rsc->id, bundle_data->child->id); rsc 168 lib/pacemaker/pcmk_sched_bundle.c pe__clear_resource_flags(rsc, pe_rsc_allocating|pe_rsc_provisional); rsc 174 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_create_actions(pe_resource_t *rsc) rsc 180 lib/pacemaker/pcmk_sched_bundle.c CRM_CHECK(rsc != NULL, return); rsc 182 lib/pacemaker/pcmk_sched_bundle.c containers = get_container_list(rsc); rsc 183 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 200 lib/pacemaker/pcmk_sched_bundle.c clone_create_pseudo_actions(rsc, containers, NULL, NULL); rsc 207 lib/pacemaker/pcmk_sched_bundle.c pe__new_rsc_pseudo_action(rsc, RSC_PROMOTE, true, true); rsc 208 lib/pacemaker/pcmk_sched_bundle.c action = pe__new_rsc_pseudo_action(rsc, RSC_PROMOTED, true, true); rsc 212 lib/pacemaker/pcmk_sched_bundle.c pe__new_rsc_pseudo_action(rsc, RSC_DEMOTE, true, true); rsc 213 lib/pacemaker/pcmk_sched_bundle.c action = pe__new_rsc_pseudo_action(rsc, RSC_DEMOTED, true, true); rsc 222 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_internal_constraints(pe_resource_t *rsc) rsc 226 lib/pacemaker/pcmk_sched_bundle.c CRM_CHECK(rsc != NULL, return); rsc 228 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 231 lib/pacemaker/pcmk_sched_bundle.c pcmk__order_resource_actions(rsc, RSC_START, bundle_data->child, rsc 233 lib/pacemaker/pcmk_sched_bundle.c pcmk__order_resource_actions(rsc, RSC_STOP, bundle_data->child, rsc 237 lib/pacemaker/pcmk_sched_bundle.c pcmk__order_resource_actions(bundle_data->child, RSC_STARTED, rsc, rsc 240 lib/pacemaker/pcmk_sched_bundle.c pcmk__order_resource_actions(bundle_data->child, RSC_STOPPED, rsc, rsc 244 lib/pacemaker/pcmk_sched_bundle.c pcmk__order_resource_actions(bundle_data->child, RSC_START, rsc, rsc 247 lib/pacemaker/pcmk_sched_bundle.c pcmk__order_resource_actions(bundle_data->child, RSC_STOP, rsc, rsc 262 lib/pacemaker/pcmk_sched_bundle.c pcmk__order_starts(rsc, replica->container, rsc 266 lib/pacemaker/pcmk_sched_bundle.c pcmk__order_stops(rsc, replica->child, rsc 269 lib/pacemaker/pcmk_sched_bundle.c pcmk__order_stops(rsc, replica->container, rsc 271 lib/pacemaker/pcmk_sched_bundle.c pcmk__order_resource_actions(replica->container, RSC_START, rsc, rsc 274 lib/pacemaker/pcmk_sched_bundle.c pcmk__order_resource_actions(replica->container, RSC_STOP, rsc, rsc 289 lib/pacemaker/pcmk_sched_bundle.c rsc->cluster); rsc 312 lib/pacemaker/pcmk_sched_bundle.c pcmk__promotable_restart_ordering(rsc); rsc 315 lib/pacemaker/pcmk_sched_bundle.c pcmk__order_resource_actions(bundle_data->child, RSC_DEMOTED, rsc, rsc 320 lib/pacemaker/pcmk_sched_bundle.c pcmk__order_resource_actions(rsc, RSC_DEMOTE, bundle_data->child, rsc 325 lib/pacemaker/pcmk_sched_bundle.c pcmk__order_resource_actions(bundle_data->child, RSC_PROMOTED, rsc, rsc 330 lib/pacemaker/pcmk_sched_bundle.c pcmk__order_resource_actions(rsc, RSC_PROMOTE, bundle_data->child, rsc 340 lib/pacemaker/pcmk_sched_bundle.c const pe_resource_t *rsc, enum rsc_role_e filter, rsc 346 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 349 lib/pacemaker/pcmk_sched_bundle.c rsc_lh->id, rsc->id, pe__node_name(candidate)); rsc 363 lib/pacemaker/pcmk_sched_bundle.c crm_trace("Can't pair %s with %s", rsc_lh->id, rsc->id); rsc 368 lib/pacemaker/pcmk_sched_bundle.c compatible_replica(const pe_resource_t *rsc_lh, const pe_resource_t *rsc, rsc 378 lib/pacemaker/pcmk_sched_bundle.c return compatible_replica_for_node(rsc_lh, active_node_lh, rsc, filter, rsc 388 lib/pacemaker/pcmk_sched_bundle.c pair = compatible_replica_for_node(rsc_lh, node, rsc, filter, current); rsc 394 lib/pacemaker/pcmk_sched_bundle.c pe_rsc_debug(rsc, "Can't pair %s with %s", rsc_lh->id, (rsc? rsc->id : "none")); rsc 400 lib/pacemaker/pcmk_sched_bundle.c int copies_per_node(pe_resource_t * rsc) rsc 411 lib/pacemaker/pcmk_sched_bundle.c switch(rsc->variant) { rsc 419 lib/pacemaker/pcmk_sched_bundle.c const char *max_clones_node = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INCARNATION_NODEMAX); rsc 434 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(data, rsc); rsc 551 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(data, action->rsc); rsc 568 lib/pacemaker/pcmk_sched_bundle.c containers = get_container_list(action->rsc); rsc 577 lib/pacemaker/pcmk_sched_bundle.c const pe_resource_t *rsc, enum rsc_role_e filter, rsc 584 lib/pacemaker/pcmk_sched_bundle.c crm_err("Can't colocate unrunnable child %s with %s", local_child->id, rsc->id); rsc 589 lib/pacemaker/pcmk_sched_bundle.c local_child->id, rsc->id, pe__node_name(local_node)); rsc 591 lib/pacemaker/pcmk_sched_bundle.c children = get_containers_or_children(rsc); rsc 602 lib/pacemaker/pcmk_sched_bundle.c crm_trace("Can't pair %s with %s", local_child->id, rsc->id); rsc 603 lib/pacemaker/pcmk_sched_bundle.c if(children != rsc->children) { rsc 610 lib/pacemaker/pcmk_sched_bundle.c replica_for_container(const pe_resource_t *rsc, const pe_resource_t *container, rsc 613 lib/pacemaker/pcmk_sched_bundle.c if (rsc->variant == pe_container) { rsc 616 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(data, rsc); rsc 647 lib/pacemaker/pcmk_sched_bundle.c children = get_containers_or_children(then->rsc); rsc 651 lib/pacemaker/pcmk_sched_bundle.c first->rsc, rsc 667 lib/pacemaker/pcmk_sched_bundle.c pe_rsc_info(then->rsc, "Inhibiting %s from being active", then_child->id); rsc 683 lib/pacemaker/pcmk_sched_bundle.c first_replica = replica_for_container(first->rsc, first_child, rsc 697 lib/pacemaker/pcmk_sched_bundle.c then_replica = replica_for_container(then->rsc, then_child, node); rsc 768 lib/pacemaker/pcmk_sched_bundle.c if(children != then->rsc->children) { rsc 778 lib/pacemaker/pcmk_sched_bundle.c pe_resource_t *rsc = NULL; rsc 781 lib/pacemaker/pcmk_sched_bundle.c if(first->rsc == NULL || then->rsc == NULL) { rsc 784 lib/pacemaker/pcmk_sched_bundle.c } else if(first->rsc == then->rsc) { rsc 787 lib/pacemaker/pcmk_sched_bundle.c } else if(first->rsc->variant < pe_clone || then->rsc->variant < pe_clone) { rsc 794 lib/pacemaker/pcmk_sched_bundle.c rsc = first->rsc; rsc 796 lib/pacemaker/pcmk_sched_bundle.c rsc = then->rsc; rsc 799 lib/pacemaker/pcmk_sched_bundle.c interleave_s = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INTERLEAVE); rsc 802 lib/pacemaker/pcmk_sched_bundle.c first->uuid, then->uuid, interleave ? "yes" : "no", rsc->id); rsc 843 lib/pacemaker/pcmk_sched_bundle.c } else if(then->rsc) { rsc 852 lib/pacemaker/pcmk_sched_bundle.c children = get_containers_or_children(then->rsc); rsc 883 lib/pacemaker/pcmk_sched_bundle.c if(children != then->rsc->children) { rsc 891 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_rsc_location(pe_resource_t *rsc, pe__location_t *constraint) rsc 894 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 896 lib/pacemaker/pcmk_sched_bundle.c pcmk__apply_location(rsc, constraint); rsc 928 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_expand(pe_resource_t *rsc) rsc 932 lib/pacemaker/pcmk_sched_bundle.c CRM_CHECK(rsc != NULL, return); rsc 934 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 946 lib/pacemaker/pcmk_sched_bundle.c && pe__bundle_needs_remote_name(replica->remote, rsc->cluster)) { rsc 960 lib/pacemaker/pcmk_sched_bundle.c rsc->cluster, rsc 970 lib/pacemaker/pcmk_sched_bundle.c NULL, rsc->cluster); rsc 984 lib/pacemaker/pcmk_sched_bundle.c rsc->id); rsc 1010 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_create_probe(pe_resource_t *rsc, pe_node_t *node) rsc 1015 lib/pacemaker/pcmk_sched_bundle.c CRM_CHECK(rsc != NULL, return false); rsc 1017 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1063 lib/pacemaker/pcmk_sched_bundle.c rsc->cluster); rsc 1087 lib/pacemaker/pcmk_sched_bundle.c pe_order_probe, rsc->cluster); rsc 1095 lib/pacemaker/pcmk_sched_bundle.c pcmk__output_bundle_actions(pe_resource_t *rsc) rsc 1099 lib/pacemaker/pcmk_sched_bundle.c CRM_CHECK(rsc != NULL, return); rsc 1101 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1124 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_add_utilization(const pe_resource_t *rsc, rsc 1131 lib/pacemaker/pcmk_sched_bundle.c if (!pcmk_is_set(rsc->flags, pe_rsc_provisional)) { rsc 1135 lib/pacemaker/pcmk_sched_bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1153 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_shutdown_lock(pe_resource_t *rsc) rsc 20 lib/pacemaker/pcmk_sched_clone.c static void append_parent_colocation(pe_resource_t * rsc, pe_resource_t * child, gboolean all); rsc 23 lib/pacemaker/pcmk_sched_clone.c can_run_instance(pe_resource_t * rsc, pe_node_t * node, int limit) rsc 27 lib/pacemaker/pcmk_sched_clone.c if (node == NULL && rsc->allowed_nodes) { rsc 29 lib/pacemaker/pcmk_sched_clone.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 31 lib/pacemaker/pcmk_sched_clone.c can_run_instance(rsc, local_node, limit); rsc 43 lib/pacemaker/pcmk_sched_clone.c } else if (pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 47 lib/pacemaker/pcmk_sched_clone.c local_node = pcmk__top_allowed_node(rsc, node); rsc 51 lib/pacemaker/pcmk_sched_clone.c rsc->id, pe__node_name(node)); rsc 55 lib/pacemaker/pcmk_sched_clone.c common_update_score(rsc, node->details->id, local_node->weight); rsc 56 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "%s cannot run on %s: Parent node weight doesn't allow it.", rsc 57 lib/pacemaker/pcmk_sched_clone.c rsc->id, pe__node_name(node)); rsc 60 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "%s can run on %s (already running %d)", rsc 61 lib/pacemaker/pcmk_sched_clone.c rsc->id, pe__node_name(node), local_node->count); rsc 65 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "%s cannot run on %s: node full (%d >= %d)", rsc 66 lib/pacemaker/pcmk_sched_clone.c rsc->id, pe__node_name(node), local_node->count, limit); rsc 71 lib/pacemaker/pcmk_sched_clone.c common_update_score(rsc, node->details->id, -INFINITY); rsc 77 lib/pacemaker/pcmk_sched_clone.c allocate_instance(pe_resource_t *rsc, pe_node_t *prefer, gboolean all_coloc, rsc 83 lib/pacemaker/pcmk_sched_clone.c CRM_ASSERT(rsc); rsc 84 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Checking allocation of %s (preferring %s, using %s parent colocations)", rsc 85 lib/pacemaker/pcmk_sched_clone.c rsc->id, (prefer? prefer->details->uname: "none"), rsc 88 lib/pacemaker/pcmk_sched_clone.c if (!pcmk_is_set(rsc->flags, pe_rsc_provisional)) { rsc 89 lib/pacemaker/pcmk_sched_clone.c return rsc->fns->location(rsc, NULL, FALSE); rsc 91 lib/pacemaker/pcmk_sched_clone.c } else if (pcmk_is_set(rsc->flags, pe_rsc_allocating)) { rsc 92 lib/pacemaker/pcmk_sched_clone.c pe_rsc_debug(rsc, "Dependency loop detected involving %s", rsc->id); rsc 99 lib/pacemaker/pcmk_sched_clone.c append_parent_colocation(rsc->parent, rsc, all_coloc); rsc 102 lib/pacemaker/pcmk_sched_clone.c pe_node_t *local_prefer = g_hash_table_lookup(rsc->allowed_nodes, prefer->details->id); rsc 105 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Not pre-allocating %s to %s - unavailable", rsc->id, rsc 111 lib/pacemaker/pcmk_sched_clone.c can_run_instance(rsc, NULL, limit); rsc 113 lib/pacemaker/pcmk_sched_clone.c backup = pcmk__copy_node_table(rsc->allowed_nodes); rsc 114 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Allocating instance %s", rsc->id); rsc 115 lib/pacemaker/pcmk_sched_clone.c chosen = rsc->cmds->assign(rsc, prefer); rsc 118 lib/pacemaker/pcmk_sched_clone.c rsc->id, pe__node_name(prefer), pe__node_name(chosen)); rsc 119 lib/pacemaker/pcmk_sched_clone.c g_hash_table_destroy(rsc->allowed_nodes); rsc 120 lib/pacemaker/pcmk_sched_clone.c rsc->allowed_nodes = backup; rsc 121 lib/pacemaker/pcmk_sched_clone.c pcmk__unassign_resource(rsc); rsc 126 lib/pacemaker/pcmk_sched_clone.c pe_node_t *local_node = pcmk__top_allowed_node(rsc, chosen); rsc 131 lib/pacemaker/pcmk_sched_clone.c } else if (pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 134 lib/pacemaker/pcmk_sched_clone.c chosen->details->id, rsc->parent->id, rsc 135 lib/pacemaker/pcmk_sched_clone.c g_hash_table_size(rsc->parent->allowed_nodes)); rsc 146 lib/pacemaker/pcmk_sched_clone.c append_parent_colocation(pe_resource_t * rsc, pe_resource_t * child, gboolean all) rsc 151 lib/pacemaker/pcmk_sched_clone.c gIter = rsc->rsc_cons; rsc 160 lib/pacemaker/pcmk_sched_clone.c gIter = rsc->rsc_cons_lhs; rsc 175 lib/pacemaker/pcmk_sched_clone.c distribute_children(pe_resource_t *rsc, GList *children, GList *nodes, rsc 179 lib/pacemaker/pcmk_sched_clone.c distribute_children(pe_resource_t *rsc, GList *children, GList *nodes, rsc 206 lib/pacemaker/pcmk_sched_clone.c pe_rsc_debug(rsc, "Allocating up to %d %s instances to a possible %d nodes (at most %d per host, %d optimal)", rsc 207 lib/pacemaker/pcmk_sched_clone.c max, rsc->id, available_nodes, per_host_max, loop_max); rsc 225 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, rsc 231 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Not pre-allocating because %s can not run %s", rsc 237 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, rsc 245 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Pre-allocated %s to %s", child->id, rsc 251 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Done pre-allocating (%d of %d)", allocated, max); rsc 268 lib/pacemaker/pcmk_sched_clone.c pe_rsc_debug(rsc, "Child %s not allocated - limit reached %d %d", child->id, allocated, max); rsc 278 lib/pacemaker/pcmk_sched_clone.c pe_rsc_debug(rsc, "Allocated %d %s instances of a possible %d", rsc 279 lib/pacemaker/pcmk_sched_clone.c allocated, rsc->id, max); rsc 292 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_allocate(pe_resource_t *rsc, const pe_node_t *prefer) rsc 297 lib/pacemaker/pcmk_sched_clone.c get_clone_variant_data(clone_data, rsc); rsc 299 lib/pacemaker/pcmk_sched_clone.c if (!pcmk_is_set(rsc->flags, pe_rsc_provisional)) { rsc 302 lib/pacemaker/pcmk_sched_clone.c } else if (pcmk_is_set(rsc->flags, pe_rsc_allocating)) { rsc 303 lib/pacemaker/pcmk_sched_clone.c pe_rsc_debug(rsc, "Dependency loop detected involving %s", rsc->id); rsc 307 lib/pacemaker/pcmk_sched_clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 308 lib/pacemaker/pcmk_sched_clone.c pcmk__add_promotion_scores(rsc); rsc 311 lib/pacemaker/pcmk_sched_clone.c pe__set_resource_flags(rsc, pe_rsc_allocating); rsc 316 lib/pacemaker/pcmk_sched_clone.c for (GList *gIter = rsc->rsc_cons; gIter != NULL; gIter = gIter->next) { rsc 319 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "%s: Allocating %s first", rsc 320 lib/pacemaker/pcmk_sched_clone.c rsc->id, constraint->primary->id); rsc 324 lib/pacemaker/pcmk_sched_clone.c for (GList *gIter = rsc->rsc_cons_lhs; gIter != NULL; gIter = gIter->next) { rsc 334 lib/pacemaker/pcmk_sched_clone.c pcmk__add_colocated_node_scores(dependent, rsc->id, rsc 335 lib/pacemaker/pcmk_sched_clone.c &rsc->allowed_nodes, attr, factor, rsc 340 lib/pacemaker/pcmk_sched_clone.c pe__show_node_weights(!pcmk_is_set(rsc->cluster->flags, pe_flag_show_scores), rsc 341 lib/pacemaker/pcmk_sched_clone.c rsc, __func__, rsc->allowed_nodes, rsc->cluster); rsc 343 lib/pacemaker/pcmk_sched_clone.c nodes = g_hash_table_get_values(rsc->allowed_nodes); rsc 345 lib/pacemaker/pcmk_sched_clone.c rsc->children = g_list_sort(rsc->children, pcmk__cmp_instance); rsc 346 lib/pacemaker/pcmk_sched_clone.c distribute_children(rsc, rsc->children, nodes, clone_data->clone_max, rsc 347 lib/pacemaker/pcmk_sched_clone.c clone_data->clone_node_max, rsc->cluster); rsc 350 lib/pacemaker/pcmk_sched_clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 351 lib/pacemaker/pcmk_sched_clone.c pcmk__set_instance_roles(rsc); rsc 354 lib/pacemaker/pcmk_sched_clone.c pe__clear_resource_flags(rsc, pe_rsc_provisional|pe_rsc_allocating); rsc 355 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Done allocating %s", rsc->id); rsc 360 lib/pacemaker/pcmk_sched_clone.c clone_update_pseudo_status(pe_resource_t * rsc, gboolean * stopping, gboolean * starting, rsc 365 lib/pacemaker/pcmk_sched_clone.c if (rsc->children) { rsc 367 lib/pacemaker/pcmk_sched_clone.c gIter = rsc->children; rsc 381 lib/pacemaker/pcmk_sched_clone.c if (rsc->running_on) { rsc 385 lib/pacemaker/pcmk_sched_clone.c gIter = rsc->actions; rsc 393 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Skipping optional: %s", action->uuid); rsc 398 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Skipping unrunnable: %s", action->uuid); rsc 402 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Stopping due to: %s", action->uuid); rsc 407 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Skipping pseudo-op: %s run=%d, pseudo=%d", rsc 412 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Starting due to: %s", action->uuid); rsc 413 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "%s run=%d, pseudo=%d", rsc 424 lib/pacemaker/pcmk_sched_clone.c find_rsc_action(pe_resource_t *rsc, const char *task) rsc 427 lib/pacemaker/pcmk_sched_clone.c GList *actions = pe__resource_actions(rsc, NULL, task, FALSE); rsc 446 lib/pacemaker/pcmk_sched_clone.c child_ordering_constraints(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 454 lib/pacemaker/pcmk_sched_clone.c if (!pe__clone_is_ordered(rsc)) { rsc 459 lib/pacemaker/pcmk_sched_clone.c rsc->children = g_list_sort(rsc->children, pcmk__cmp_instance_number); rsc 461 lib/pacemaker/pcmk_sched_clone.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 485 lib/pacemaker/pcmk_sched_clone.c clone_create_actions(pe_resource_t *rsc) rsc 489 lib/pacemaker/pcmk_sched_clone.c get_clone_variant_data(clone_data, rsc); rsc 491 lib/pacemaker/pcmk_sched_clone.c pe_rsc_debug(rsc, "Creating actions for clone %s", rsc->id); rsc 492 lib/pacemaker/pcmk_sched_clone.c clone_create_pseudo_actions(rsc, rsc->children, &clone_data->start_notify, rsc 494 lib/pacemaker/pcmk_sched_clone.c child_ordering_constraints(rsc, rsc->cluster); rsc 496 lib/pacemaker/pcmk_sched_clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 497 lib/pacemaker/pcmk_sched_clone.c pcmk__create_promotable_actions(rsc); rsc 502 lib/pacemaker/pcmk_sched_clone.c clone_create_pseudo_actions(pe_resource_t *rsc, GList *children, rsc 517 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Creating actions for %s", rsc->id); rsc 535 lib/pacemaker/pcmk_sched_clone.c start = pe__new_rsc_pseudo_action(rsc, RSC_START, !child_starting, true); rsc 536 lib/pacemaker/pcmk_sched_clone.c started = pe__new_rsc_pseudo_action(rsc, RSC_STARTED, !child_starting, rsc 545 lib/pacemaker/pcmk_sched_clone.c *start_notify = pe__clone_notif_pseudo_ops(rsc, RSC_START, start, rsc 550 lib/pacemaker/pcmk_sched_clone.c stop = pe__new_rsc_pseudo_action(rsc, RSC_STOP, !child_stopping, true); rsc 551 lib/pacemaker/pcmk_sched_clone.c stopped = pe__new_rsc_pseudo_action(rsc, RSC_STOPPED, !child_stopping, rsc 559 lib/pacemaker/pcmk_sched_clone.c *stop_notify = pe__clone_notif_pseudo_ops(rsc, RSC_STOP, stop, stopped); rsc 568 lib/pacemaker/pcmk_sched_clone.c clone_internal_constraints(pe_resource_t *rsc) rsc 572 lib/pacemaker/pcmk_sched_clone.c bool ordered = pe__clone_is_ordered(rsc); rsc 574 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Internal constraints for %s", rsc->id); rsc 575 lib/pacemaker/pcmk_sched_clone.c pcmk__order_resource_actions(rsc, RSC_STOPPED, rsc, RSC_START, rsc 577 lib/pacemaker/pcmk_sched_clone.c pcmk__order_resource_actions(rsc, RSC_START, rsc, RSC_STARTED, rsc 579 lib/pacemaker/pcmk_sched_clone.c pcmk__order_resource_actions(rsc, RSC_STOP, rsc, RSC_STOPPED, rsc 582 lib/pacemaker/pcmk_sched_clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 583 lib/pacemaker/pcmk_sched_clone.c pcmk__order_resource_actions(rsc, RSC_DEMOTED, rsc, RSC_STOP, rsc 585 lib/pacemaker/pcmk_sched_clone.c pcmk__order_resource_actions(rsc, RSC_STARTED, rsc, RSC_PROMOTE, rsc 591 lib/pacemaker/pcmk_sched_clone.c rsc->children = g_list_sort(rsc->children, pcmk__cmp_instance_number); rsc 593 lib/pacemaker/pcmk_sched_clone.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 598 lib/pacemaker/pcmk_sched_clone.c pcmk__order_starts(rsc, child_rsc, rsc 600 lib/pacemaker/pcmk_sched_clone.c pcmk__order_resource_actions(child_rsc, RSC_START, rsc, RSC_STARTED, rsc 606 lib/pacemaker/pcmk_sched_clone.c pcmk__order_stops(rsc, child_rsc, pe_order_implies_first_printed); rsc 607 lib/pacemaker/pcmk_sched_clone.c pcmk__order_resource_actions(child_rsc, RSC_STOP, rsc, RSC_STOPPED, rsc 615 lib/pacemaker/pcmk_sched_clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 616 lib/pacemaker/pcmk_sched_clone.c pcmk__order_promotable_instances(rsc); rsc 653 lib/pacemaker/pcmk_sched_clone.c const pe_resource_t *rsc, enum rsc_role_e filter, rsc 663 lib/pacemaker/pcmk_sched_clone.c return find_compatible_child_by_node(local_child, local_node, rsc, filter, current); rsc 673 lib/pacemaker/pcmk_sched_clone.c pair = find_compatible_child_by_node(local_child, node, rsc, filter, current); rsc 679 lib/pacemaker/pcmk_sched_clone.c pe_rsc_debug(rsc, "Can't pair %s with %s", local_child->id, rsc->id); rsc 826 lib/pacemaker/pcmk_sched_clone.c pe_resource_t *child = (pe_resource_t *) action->rsc->children->data; rsc 862 lib/pacemaker/pcmk_sched_clone.c "Action summary", action->rsc->id, \ rsc 882 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(action->rsc, "Checking for %s in %s on %s (%s)", task_s, child->id, rsc 901 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(action->rsc, "%s is not runnable because no children are", action->uuid); rsc 914 lib/pacemaker/pcmk_sched_clone.c return summary_action_flags(action, action->rsc->children, node); rsc 918 lib/pacemaker/pcmk_sched_clone.c clone_rsc_location(pe_resource_t *rsc, pe__location_t *constraint) rsc 920 lib/pacemaker/pcmk_sched_clone.c GList *gIter = rsc->children; rsc 922 lib/pacemaker/pcmk_sched_clone.c pe_rsc_trace(rsc, "Processing location constraint %s for %s", constraint->id, rsc->id); rsc 924 lib/pacemaker/pcmk_sched_clone.c pcmk__apply_location(rsc, constraint); rsc 940 lib/pacemaker/pcmk_sched_clone.c clone_expand(pe_resource_t *rsc) rsc 945 lib/pacemaker/pcmk_sched_clone.c get_clone_variant_data(clone_data, rsc); rsc 947 lib/pacemaker/pcmk_sched_clone.c g_list_foreach(rsc->actions, (GFunc) rsc->cmds->action_flags, NULL); rsc 949 lib/pacemaker/pcmk_sched_clone.c pe__create_notifications(rsc, clone_data->start_notify); rsc 950 lib/pacemaker/pcmk_sched_clone.c pe__create_notifications(rsc, clone_data->stop_notify); rsc 951 lib/pacemaker/pcmk_sched_clone.c pe__create_notifications(rsc, clone_data->promote_notify); rsc 952 lib/pacemaker/pcmk_sched_clone.c pe__create_notifications(rsc, clone_data->demote_notify); rsc 956 lib/pacemaker/pcmk_sched_clone.c gIter = rsc->children; rsc 963 lib/pacemaker/pcmk_sched_clone.c pcmk__add_rsc_actions_to_graph(rsc); rsc 978 lib/pacemaker/pcmk_sched_clone.c rsc_known_on(const pe_resource_t *rsc, const pe_node_t *node) rsc 980 lib/pacemaker/pcmk_sched_clone.c if (rsc->children) { rsc 981 lib/pacemaker/pcmk_sched_clone.c for (GList *child_iter = rsc->children; child_iter != NULL; rsc 991 lib/pacemaker/pcmk_sched_clone.c } else if (rsc->known_on) { rsc 995 lib/pacemaker/pcmk_sched_clone.c g_hash_table_iter_init(&iter, rsc->known_on); rsc 1021 lib/pacemaker/pcmk_sched_clone.c probe_anonymous_clone(pe_resource_t *rsc, pe_node_t *node, rsc 1025 lib/pacemaker/pcmk_sched_clone.c pe_resource_t *child = find_instance_on(rsc, node); rsc 1029 lib/pacemaker/pcmk_sched_clone.c for (GList *child_iter = rsc->children; child_iter && !child; rsc 1046 lib/pacemaker/pcmk_sched_clone.c child = rsc->children->data; rsc 1063 lib/pacemaker/pcmk_sched_clone.c clone_create_probe(pe_resource_t *rsc, pe_node_t *node) rsc 1065 lib/pacemaker/pcmk_sched_clone.c CRM_ASSERT(rsc); rsc 1067 lib/pacemaker/pcmk_sched_clone.c rsc->children = g_list_sort(rsc->children, pcmk__cmp_instance_number); rsc 1068 lib/pacemaker/pcmk_sched_clone.c if (rsc->children == NULL) { rsc 1069 lib/pacemaker/pcmk_sched_clone.c pe_warn("Clone %s has no children", rsc->id); rsc 1073 lib/pacemaker/pcmk_sched_clone.c if (rsc->exclusive_discover) { rsc 1074 lib/pacemaker/pcmk_sched_clone.c pe_node_t *allowed = g_hash_table_lookup(rsc->allowed_nodes, node->details->id); rsc 1083 lib/pacemaker/pcmk_sched_clone.c g_hash_table_remove(rsc->allowed_nodes, node->details->id); rsc 1090 lib/pacemaker/pcmk_sched_clone.c if (pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 1091 lib/pacemaker/pcmk_sched_clone.c return pcmk__probe_resource_list(rsc->children, node); rsc 1093 lib/pacemaker/pcmk_sched_clone.c return probe_anonymous_clone(rsc, node, rsc->cluster); rsc 1098 lib/pacemaker/pcmk_sched_clone.c clone_append_meta(pe_resource_t * rsc, xmlNode * xml) rsc 1103 lib/pacemaker/pcmk_sched_clone.c get_clone_variant_data(clone_data, rsc); rsc 1106 lib/pacemaker/pcmk_sched_clone.c crm_xml_add(xml, name, pe__rsc_bool_str(rsc, pe_rsc_unique)); rsc 1110 lib/pacemaker/pcmk_sched_clone.c crm_xml_add(xml, name, pe__rsc_bool_str(rsc, pe_rsc_notify)); rsc 1121 lib/pacemaker/pcmk_sched_clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 1122 lib/pacemaker/pcmk_sched_clone.c int promoted_max = pe__clone_promoted_max(rsc); rsc 1123 lib/pacemaker/pcmk_sched_clone.c int promoted_node_max = pe__clone_promoted_node_max(rsc); rsc 1148 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_add_utilization(const pe_resource_t *rsc, rsc 1155 lib/pacemaker/pcmk_sched_clone.c if (!pcmk_is_set(rsc->flags, pe_rsc_provisional)) { rsc 1160 lib/pacemaker/pcmk_sched_clone.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 1182 lib/pacemaker/pcmk_sched_clone.c if (!existing && (rsc->children != NULL)) { rsc 1184 lib/pacemaker/pcmk_sched_clone.c child = (pe_resource_t *) rsc->children->data; rsc 1192 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_shutdown_lock(pe_resource_t *rsc) rsc 141 lib/pacemaker/pcmk_sched_colocation.c pcmk__add_this_with(pe_resource_t *rsc, pcmk__colocation_t *colocation) rsc 143 lib/pacemaker/pcmk_sched_colocation.c rsc->rsc_cons = g_list_insert_sorted(rsc->rsc_cons, colocation, rsc 155 lib/pacemaker/pcmk_sched_colocation.c pcmk__add_with_this(pe_resource_t *rsc, pcmk__colocation_t *colocation) rsc 157 lib/pacemaker/pcmk_sched_colocation.c rsc->rsc_cons_lhs = g_list_insert_sorted(rsc->rsc_cons_lhs, colocation, rsc 299 lib/pacemaker/pcmk_sched_colocation.c unpack_influence(const char *coloc_id, const pe_resource_t *rsc, rsc 313 lib/pacemaker/pcmk_sched_colocation.c return pcmk_is_set(rsc->flags, pe_rsc_critical); rsc 799 lib/pacemaker/pcmk_sched_colocation.c mark_action_blocked(pe_resource_t *rsc, const char *task, rsc 804 lib/pacemaker/pcmk_sched_colocation.c for (GList *gIter = rsc->actions; gIter != NULL; gIter = gIter->next) { rsc 812 lib/pacemaker/pcmk_sched_colocation.c pcmk__block_colocation_dependents(action, rsc->cluster); rsc 813 lib/pacemaker/pcmk_sched_colocation.c pcmk__update_action_for_orderings(action, rsc->cluster); rsc 818 lib/pacemaker/pcmk_sched_colocation.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 840 lib/pacemaker/pcmk_sched_colocation.c pe_resource_t *rsc = NULL; rsc 852 lib/pacemaker/pcmk_sched_colocation.c CRM_ASSERT(action->rsc != NULL); // Start and promote are resource actions rsc 858 lib/pacemaker/pcmk_sched_colocation.c rsc = uber_parent(action->rsc); rsc 859 lib/pacemaker/pcmk_sched_colocation.c if (rsc->parent != NULL) { rsc 860 lib/pacemaker/pcmk_sched_colocation.c rsc = rsc->parent; // Bundle rsc 863 lib/pacemaker/pcmk_sched_colocation.c if (rsc->rsc_cons_lhs == NULL) { rsc 868 lib/pacemaker/pcmk_sched_colocation.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 877 lib/pacemaker/pcmk_sched_colocation.c rsc->id, child->id, action->task); rsc 883 lib/pacemaker/pcmk_sched_colocation.c rsc->id, action->rsc->id, action->task); rsc 886 lib/pacemaker/pcmk_sched_colocation.c for (gIter = rsc->rsc_cons_lhs; gIter != NULL; gIter = gIter->next) { rsc 906 lib/pacemaker/pcmk_sched_colocation.c action->rsc); rsc 908 lib/pacemaker/pcmk_sched_colocation.c mark_action_blocked(colocation->dependent, RSC_START, action->rsc); rsc 1172 lib/pacemaker/pcmk_sched_colocation.c best_node_score_matching_attr(const pe_resource_t *rsc, const char *attr, rsc 1181 lib/pacemaker/pcmk_sched_colocation.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 1195 lib/pacemaker/pcmk_sched_colocation.c rsc->id, attr, value); rsc 1199 lib/pacemaker/pcmk_sched_colocation.c best_node, rsc->id, best_score, attr, value); rsc 1220 lib/pacemaker/pcmk_sched_colocation.c add_node_scores_matching_attr(GHashTable *nodes, const pe_resource_t *rsc, rsc 1239 lib/pacemaker/pcmk_sched_colocation.c score = best_node_score_matching_attr(rsc, attr, rsc 1317 lib/pacemaker/pcmk_sched_colocation.c init_group_colocated_nodes(const pe_resource_t *rsc, const char *log_id, rsc 1325 lib/pacemaker/pcmk_sched_colocation.c if (rsc->children == NULL) { rsc 1331 lib/pacemaker/pcmk_sched_colocation.c member = pe__last_group_member(rsc); rsc 1343 lib/pacemaker/pcmk_sched_colocation.c member = rsc->children->data; rsc 1346 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_trace(rsc, "%s: Merging scores from group %s using member %s " rsc 1347 lib/pacemaker/pcmk_sched_colocation.c "(at %.6f)", log_id, rsc->id, member->id, factor); rsc 1370 lib/pacemaker/pcmk_sched_colocation.c init_nongroup_colocated_nodes(const pe_resource_t *rsc, const char *log_id, rsc 1380 lib/pacemaker/pcmk_sched_colocation.c work = pcmk__copy_node_table(rsc->allowed_nodes); rsc 1383 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_trace(rsc, "%s: Merging scores from %s (at %.6f)", rsc 1384 lib/pacemaker/pcmk_sched_colocation.c log_id, rsc->id, factor); rsc 1386 lib/pacemaker/pcmk_sched_colocation.c add_node_scores_matching_attr(work, rsc, attr, factor, rsc 1411 lib/pacemaker/pcmk_sched_colocation.c pcmk__add_colocated_node_scores(pe_resource_t *rsc, const char *log_id, rsc 1417 lib/pacemaker/pcmk_sched_colocation.c CRM_CHECK((rsc != NULL) && (nodes != NULL), return); rsc 1420 lib/pacemaker/pcmk_sched_colocation.c log_id = rsc->id; rsc 1424 lib/pacemaker/pcmk_sched_colocation.c if (pcmk_is_set(rsc->flags, pe_rsc_merging)) { rsc 1425 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_info(rsc, "%s: Breaking dependency loop at %s", rsc 1426 lib/pacemaker/pcmk_sched_colocation.c log_id, rsc->id); rsc 1429 lib/pacemaker/pcmk_sched_colocation.c pe__set_resource_flags(rsc, pe_rsc_merging); rsc 1431 lib/pacemaker/pcmk_sched_colocation.c if (rsc->variant == pe_group) { rsc 1432 lib/pacemaker/pcmk_sched_colocation.c work = init_group_colocated_nodes(rsc, log_id, nodes, attr, factor, rsc 1435 lib/pacemaker/pcmk_sched_colocation.c work = init_nongroup_colocated_nodes(rsc, log_id, nodes, attr, factor, rsc 1439 lib/pacemaker/pcmk_sched_colocation.c pe__clear_resource_flags(rsc, pe_rsc_merging); rsc 1448 lib/pacemaker/pcmk_sched_colocation.c gIter = rsc->rsc_cons; rsc 1449 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_trace(rsc, rsc 1451 lib/pacemaker/pcmk_sched_colocation.c g_list_length(gIter), rsc->id); rsc 1453 lib/pacemaker/pcmk_sched_colocation.c } else if (rsc->variant == pe_group) { rsc 1454 lib/pacemaker/pcmk_sched_colocation.c pe_resource_t *last_rsc = pe__last_group_member(rsc); rsc 1457 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_trace(rsc, "Checking additional %d optional 'with group %s' " rsc 1459 lib/pacemaker/pcmk_sched_colocation.c g_list_length(gIter), rsc->id, last_rsc->id); rsc 1462 lib/pacemaker/pcmk_sched_colocation.c gIter = rsc->rsc_cons_lhs; rsc 1463 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_trace(rsc, rsc 1465 lib/pacemaker/pcmk_sched_colocation.c g_list_length(gIter), rsc->id); rsc 1480 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_trace(rsc, "Optionally merging score of '%s' constraint (%s with %s)", rsc 1487 lib/pacemaker/pcmk_sched_colocation.c pe__show_node_weights(true, NULL, log_id, work, rsc->cluster); rsc 1491 lib/pacemaker/pcmk_sched_colocation.c pe_rsc_info(rsc, "%s: Rolling back optional scores from %s", rsc 1492 lib/pacemaker/pcmk_sched_colocation.c log_id, rsc->id); rsc 1494 lib/pacemaker/pcmk_sched_colocation.c pe__clear_resource_flags(rsc, pe_rsc_merging); rsc 1516 lib/pacemaker/pcmk_sched_colocation.c pe__clear_resource_flags(rsc, pe_rsc_merging); rsc 183 lib/pacemaker/pcmk_sched_constraints.c pe_resource_t **rsc, pe_tag_t **tag) rsc 185 lib/pacemaker/pcmk_sched_constraints.c if (rsc != NULL) { rsc 186 lib/pacemaker/pcmk_sched_constraints.c *rsc = pcmk__find_constraint_resource(data_set->resources, id); rsc 187 lib/pacemaker/pcmk_sched_constraints.c if (*rsc != NULL) { rsc 235 lib/pacemaker/pcmk_sched_constraints.c pe_resource_t *rsc = NULL; rsc 238 lib/pacemaker/pcmk_sched_constraints.c if (!pcmk__valid_resource_or_tag(data_set, ID(xml_rsc), &rsc, rsc 246 lib/pacemaker/pcmk_sched_constraints.c } else if (rsc) { rsc 338 lib/pacemaker/pcmk_sched_constraints.c pe_resource_t *rsc = NULL; rsc 357 lib/pacemaker/pcmk_sched_constraints.c if (!pcmk__valid_resource_or_tag(data_set, id, &rsc, &tag)) { rsc 382 lib/pacemaker/pcmk_sched_constraints.c } else if ((rsc != NULL) && convert_rsc) { rsc 416 lib/pacemaker/pcmk_sched_constraints.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 418 lib/pacemaker/pcmk_sched_constraints.c rsc->cmds->internal_constraints(rsc); rsc 29 lib/pacemaker/pcmk_sched_fencing.c rsc_is_known_on(pe_resource_t *rsc, const pe_node_t *node) rsc 31 lib/pacemaker/pcmk_sched_fencing.c if (pe_hash_table_lookup(rsc->known_on, node->details->id)) { rsc 34 lib/pacemaker/pcmk_sched_fencing.c } else if ((rsc->variant == pe_native) rsc 35 lib/pacemaker/pcmk_sched_fencing.c && pe_rsc_is_anon_clone(rsc->parent) rsc 36 lib/pacemaker/pcmk_sched_fencing.c && pe_hash_table_lookup(rsc->parent->known_on, node->details->id)) { rsc 55 lib/pacemaker/pcmk_sched_fencing.c order_start_vs_fencing(pe_resource_t *rsc, pe_action_t *stonith_op, rsc 64 lib/pacemaker/pcmk_sched_fencing.c for (gIter = rsc->actions; gIter != NULL; gIter = gIter->next) { rsc 78 lib/pacemaker/pcmk_sched_fencing.c && pe_hash_table_lookup(rsc->allowed_nodes, target->details->id) 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", action->uuid, rsc 109 lib/pacemaker/pcmk_sched_fencing.c order_stop_vs_fencing(pe_resource_t *rsc, pe_action_t *stonith_op, rsc 116 lib/pacemaker/pcmk_sched_fencing.c pe_resource_t *top = uber_parent(rsc); rsc 124 lib/pacemaker/pcmk_sched_fencing.c action_list = pe__resource_actions(rsc, target, RSC_STOP, FALSE); rsc 132 lib/pacemaker/pcmk_sched_fencing.c if (pcmk_is_set(rsc->flags, pe_rsc_needs_fencing) rsc 163 lib/pacemaker/pcmk_sched_fencing.c if (!pe_rsc_is_bundled(rsc)) { rsc 169 lib/pacemaker/pcmk_sched_fencing.c if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 171 lib/pacemaker/pcmk_sched_fencing.c rsc->id, (order_implicit? "after" : "because"), rsc 179 lib/pacemaker/pcmk_sched_fencing.c if (pcmk_is_set(rsc->flags, pe_rsc_notify)) { rsc 180 lib/pacemaker/pcmk_sched_fencing.c pe__order_notifs_after_fencing(action, rsc, stonith_op); rsc 203 lib/pacemaker/pcmk_sched_fencing.c rsc->id, pe__node_name(node)); rsc 204 lib/pacemaker/pcmk_sched_fencing.c pcmk__new_ordering(rsc, stop_key(rsc), NULL, NULL, rsc 213 lib/pacemaker/pcmk_sched_fencing.c action_list = pe__resource_actions(rsc, target, RSC_DEMOTE, FALSE); rsc 219 lib/pacemaker/pcmk_sched_fencing.c || pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 221 lib/pacemaker/pcmk_sched_fencing.c if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 222 lib/pacemaker/pcmk_sched_fencing.c pe_rsc_info(rsc, rsc 224 lib/pacemaker/pcmk_sched_fencing.c rsc->id, pe__node_name(target)); rsc 226 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(pe_resource_t *rsc, pe_action_t *stonith_op, rsc 259 lib/pacemaker/pcmk_sched_fencing.c if (rsc->children) { rsc 262 lib/pacemaker/pcmk_sched_fencing.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 268 lib/pacemaker/pcmk_sched_fencing.c } else if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 269 lib/pacemaker/pcmk_sched_fencing.c pe_rsc_trace(rsc, rsc 271 lib/pacemaker/pcmk_sched_fencing.c rsc->id); rsc 274 lib/pacemaker/pcmk_sched_fencing.c order_start_vs_fencing(rsc, stonith_op, data_set); rsc 275 lib/pacemaker/pcmk_sched_fencing.c order_stop_vs_fencing(rsc, stonith_op, data_set); rsc 309 lib/pacemaker/pcmk_sched_fencing.c pcmk__order_vs_unfence(pe_resource_t *rsc, pe_node_t *node, pe_action_t *action, rsc 319 lib/pacemaker/pcmk_sched_fencing.c if ((pcmk_is_set(rsc->flags, pe_rsc_fence_device) rsc 320 lib/pacemaker/pcmk_sched_fencing.c && pcmk_is_set(rsc->cluster->flags, pe_flag_enable_unfencing)) rsc 321 lib/pacemaker/pcmk_sched_fencing.c || pcmk_is_set(rsc->flags, pe_rsc_needs_unfencing)) { rsc 328 lib/pacemaker/pcmk_sched_fencing.c rsc->cluster); rsc 335 lib/pacemaker/pcmk_sched_fencing.c rsc->id, action->task); rsc 337 lib/pacemaker/pcmk_sched_fencing.c trigger_unfencing(NULL, node, reason, NULL, rsc->cluster); rsc 466 lib/pacemaker/pcmk_sched_fencing.c pe_resource_t *rsc = (pe_resource_t *) user_data; rsc 469 lib/pacemaker/pcmk_sched_fencing.c rsc->cluster); rsc 472 lib/pacemaker/pcmk_sched_fencing.c rsc->id, unfence->uuid); rsc 489 lib/pacemaker/pcmk_sched_fencing.c pcmk__new_ordering(rsc, stop_key(rsc), NULL, rsc 492 lib/pacemaker/pcmk_sched_fencing.c rsc->cluster); rsc 495 lib/pacemaker/pcmk_sched_fencing.c rsc, start_key(rsc), NULL, rsc 497 lib/pacemaker/pcmk_sched_fencing.c rsc->cluster); rsc 26 lib/pacemaker/pcmk_sched_group.c expand_group_colocations(pe_resource_t *rsc) rsc 32 lib/pacemaker/pcmk_sched_group.c if (rsc->children == NULL) { rsc 37 lib/pacemaker/pcmk_sched_group.c member = (pe_resource_t *) rsc->children->data; rsc 38 lib/pacemaker/pcmk_sched_group.c for (item = rsc->rsc_cons; item != NULL; item = item->next) { rsc 58 lib/pacemaker/pcmk_sched_group.c for (item = rsc->children->next; item != NULL; item = item->next) { rsc 61 lib/pacemaker/pcmk_sched_group.c for (GList *cons_iter = rsc->rsc_cons; cons_iter != NULL; rsc 75 lib/pacemaker/pcmk_sched_group.c g_list_free(rsc->rsc_cons); rsc 76 lib/pacemaker/pcmk_sched_group.c rsc->rsc_cons = NULL; rsc 79 lib/pacemaker/pcmk_sched_group.c member = pe__last_group_member(rsc); rsc 80 lib/pacemaker/pcmk_sched_group.c for (item = rsc->rsc_cons_lhs; item != NULL; item = item->next) { rsc 83 lib/pacemaker/pcmk_sched_group.c g_list_free(rsc->rsc_cons_lhs); rsc 84 lib/pacemaker/pcmk_sched_group.c rsc->rsc_cons_lhs = NULL; rsc 97 lib/pacemaker/pcmk_sched_group.c pcmk__group_assign(pe_resource_t *rsc, const pe_node_t *prefer) rsc 102 lib/pacemaker/pcmk_sched_group.c CRM_ASSERT(rsc != NULL); rsc 104 lib/pacemaker/pcmk_sched_group.c if (!pcmk_is_set(rsc->flags, pe_rsc_provisional)) { rsc 105 lib/pacemaker/pcmk_sched_group.c return rsc->allocated_to; // Assignment already done rsc 107 lib/pacemaker/pcmk_sched_group.c if (pcmk_is_set(rsc->flags, pe_rsc_allocating)) { rsc 108 lib/pacemaker/pcmk_sched_group.c pe_rsc_debug(rsc, "Assignment dependency loop detected involving %s", rsc 109 lib/pacemaker/pcmk_sched_group.c rsc->id); rsc 113 lib/pacemaker/pcmk_sched_group.c if (rsc->children == NULL) { rsc 115 lib/pacemaker/pcmk_sched_group.c pe__clear_resource_flags(rsc, pe_rsc_provisional); rsc 119 lib/pacemaker/pcmk_sched_group.c pe__set_resource_flags(rsc, pe_rsc_allocating); rsc 120 lib/pacemaker/pcmk_sched_group.c first_member = (pe_resource_t *) rsc->children->data; rsc 121 lib/pacemaker/pcmk_sched_group.c rsc->role = first_member->role; rsc 123 lib/pacemaker/pcmk_sched_group.c expand_group_colocations(rsc); rsc 125 lib/pacemaker/pcmk_sched_group.c pe__show_node_weights(!pcmk_is_set(rsc->cluster->flags, pe_flag_show_scores), rsc 126 lib/pacemaker/pcmk_sched_group.c rsc, __func__, rsc->allowed_nodes, rsc->cluster); rsc 128 lib/pacemaker/pcmk_sched_group.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 132 lib/pacemaker/pcmk_sched_group.c pe_rsc_trace(rsc, "Assigning group %s member %s", rsc 133 lib/pacemaker/pcmk_sched_group.c rsc->id, member->id); rsc 140 lib/pacemaker/pcmk_sched_group.c pe__set_next_role(rsc, first_member->next_role, "first group member"); rsc 141 lib/pacemaker/pcmk_sched_group.c pe__clear_resource_flags(rsc, pe_rsc_allocating|pe_rsc_provisional); rsc 143 lib/pacemaker/pcmk_sched_group.c if (!pe__group_flag_is_set(rsc, pe__group_colocated)) { rsc 174 lib/pacemaker/pcmk_sched_group.c pcmk__group_create_actions(pe_resource_t *rsc) rsc 176 lib/pacemaker/pcmk_sched_group.c CRM_ASSERT(rsc != NULL); rsc 178 lib/pacemaker/pcmk_sched_group.c pe_rsc_trace(rsc, "Creating actions for group %s", rsc->id); rsc 181 lib/pacemaker/pcmk_sched_group.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 188 lib/pacemaker/pcmk_sched_group.c create_group_pseudo_op(rsc, RSC_START); rsc 189 lib/pacemaker/pcmk_sched_group.c create_group_pseudo_op(rsc, RSC_STARTED); rsc 190 lib/pacemaker/pcmk_sched_group.c create_group_pseudo_op(rsc, RSC_STOP); rsc 191 lib/pacemaker/pcmk_sched_group.c create_group_pseudo_op(rsc, RSC_STOPPED); rsc 192 lib/pacemaker/pcmk_sched_group.c if (crm_is_true(g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_PROMOTABLE))) { rsc 193 lib/pacemaker/pcmk_sched_group.c create_group_pseudo_op(rsc, RSC_DEMOTE); rsc 194 lib/pacemaker/pcmk_sched_group.c create_group_pseudo_op(rsc, RSC_DEMOTED); rsc 195 lib/pacemaker/pcmk_sched_group.c create_group_pseudo_op(rsc, RSC_PROMOTE); rsc 196 lib/pacemaker/pcmk_sched_group.c create_group_pseudo_op(rsc, RSC_PROMOTED); rsc 337 lib/pacemaker/pcmk_sched_group.c pcmk__group_internal_constraints(pe_resource_t *rsc) rsc 341 lib/pacemaker/pcmk_sched_group.c CRM_ASSERT(rsc != NULL); rsc 346 lib/pacemaker/pcmk_sched_group.c pcmk__order_resource_actions(rsc, RSC_STOP, rsc, RSC_STOPPED, rsc 348 lib/pacemaker/pcmk_sched_group.c pcmk__order_resource_actions(rsc, RSC_STOPPED, rsc, RSC_START, rsc 350 lib/pacemaker/pcmk_sched_group.c pcmk__order_resource_actions(rsc, RSC_START, rsc, RSC_STARTED, rsc 353 lib/pacemaker/pcmk_sched_group.c member_data.ordered = pe__group_flag_is_set(rsc, pe__group_ordered); rsc 354 lib/pacemaker/pcmk_sched_group.c member_data.colocated = pe__group_flag_is_set(rsc, pe__group_colocated); rsc 355 lib/pacemaker/pcmk_sched_group.c member_data.promotable = pcmk_is_set(uber_parent(rsc)->flags, pe_rsc_promotable); rsc 356 lib/pacemaker/pcmk_sched_group.c g_list_foreach(rsc->children, member_internal_constraints, &member_data); rsc 521 lib/pacemaker/pcmk_sched_group.c for (GList *iter = action->rsc->children; iter != NULL; iter = iter->next) { rsc 538 lib/pacemaker/pcmk_sched_group.c pe_rsc_trace(action->rsc, "%s is mandatory because %s is", rsc 550 lib/pacemaker/pcmk_sched_group.c pe_rsc_trace(action->rsc, "%s is unrunnable because %s is", rsc 561 lib/pacemaker/pcmk_sched_group.c pe_rsc_trace(action->rsc, rsc 605 lib/pacemaker/pcmk_sched_group.c CRM_ASSERT(then->rsc != NULL); rsc 612 lib/pacemaker/pcmk_sched_group.c for (GList *iter = then->rsc->children; iter != NULL; iter = iter->next) { rsc 636 lib/pacemaker/pcmk_sched_group.c pcmk__group_apply_location(pe_resource_t *rsc, pe__location_t *location) rsc 642 lib/pacemaker/pcmk_sched_group.c CRM_ASSERT((rsc != NULL) && (location != NULL)); rsc 646 lib/pacemaker/pcmk_sched_group.c reset_scores = pe__group_flag_is_set(rsc, pe__group_colocated); rsc 649 lib/pacemaker/pcmk_sched_group.c pcmk__apply_location(rsc, location); rsc 652 lib/pacemaker/pcmk_sched_group.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 673 lib/pacemaker/pcmk_sched_group.c pcmk__group_colocated_resources(pe_resource_t *rsc, pe_resource_t *orig_rsc, rsc 678 lib/pacemaker/pcmk_sched_group.c CRM_ASSERT(rsc != NULL); rsc 681 lib/pacemaker/pcmk_sched_group.c orig_rsc = rsc; rsc 684 lib/pacemaker/pcmk_sched_group.c if (pe__group_flag_is_set(rsc, pe__group_colocated) rsc 685 lib/pacemaker/pcmk_sched_group.c || pe_rsc_is_clone(rsc->parent)) { rsc 689 lib/pacemaker/pcmk_sched_group.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 695 lib/pacemaker/pcmk_sched_group.c } else if (rsc->children != NULL) { rsc 699 lib/pacemaker/pcmk_sched_group.c member = (pe_resource_t *) rsc->children->data; rsc 705 lib/pacemaker/pcmk_sched_group.c colocated_rscs = pcmk__colocated_resources(rsc, orig_rsc, colocated_rscs); rsc 712 lib/pacemaker/pcmk_sched_group.c pcmk__group_add_utilization(const pe_resource_t *rsc, rsc 718 lib/pacemaker/pcmk_sched_group.c CRM_ASSERT((rsc != NULL) && (orig_rsc != NULL) && (utilization != NULL)); rsc 720 lib/pacemaker/pcmk_sched_group.c if (!pcmk_is_set(rsc->flags, pe_rsc_provisional)) { rsc 725 lib/pacemaker/pcmk_sched_group.c orig_rsc->id, rsc->id); rsc 726 lib/pacemaker/pcmk_sched_group.c if (pe__group_flag_is_set(rsc, pe__group_colocated) rsc 727 lib/pacemaker/pcmk_sched_group.c || pe_rsc_is_clone(rsc->parent)) { rsc 729 lib/pacemaker/pcmk_sched_group.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 739 lib/pacemaker/pcmk_sched_group.c } else if (rsc->children != NULL) { rsc 741 lib/pacemaker/pcmk_sched_group.c member = (pe_resource_t *) rsc->children->data; rsc 754 lib/pacemaker/pcmk_sched_group.c pcmk__group_shutdown_lock(pe_resource_t *rsc) rsc 756 lib/pacemaker/pcmk_sched_group.c CRM_ASSERT(rsc != NULL); rsc 758 lib/pacemaker/pcmk_sched_group.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 23 lib/pacemaker/pcmk_sched_location.c pe_node_t *node, pe_resource_t *rsc) rsc 34 lib/pacemaker/pcmk_sched_location.c const char *attr_score = pe_node_attribute_calculated(node, score, rsc); rsc 51 lib/pacemaker/pcmk_sched_location.c generate_location_rule(pe_resource_t *rsc, xmlNode *rule_xml, rsc 98 lib/pacemaker/pcmk_sched_location.c location_rule = pcmk__new_location(rule_id, rsc, 0, discovery, NULL, rsc 134 lib/pacemaker/pcmk_sched_location.c node->weight = get_node_score(rule_id, score, raw_score, node, rsc); rsc 143 lib/pacemaker/pcmk_sched_location.c .params = pe_rsc_params(rsc, node, data_set), rsc 144 lib/pacemaker/pcmk_sched_location.c .meta = rsc->meta, rsc 153 lib/pacemaker/pcmk_sched_location.c score_f = get_node_score(rule_id, score, raw_score, node, rsc); rsc 200 lib/pacemaker/pcmk_sched_location.c unpack_rsc_location(xmlNode *xml_obj, pe_resource_t *rsc, const char *role, rsc 210 lib/pacemaker/pcmk_sched_location.c if (rsc == NULL) { rsc 227 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 296 lib/pacemaker/pcmk_sched_location.c pe_resource_t *rsc; rsc 298 lib/pacemaker/pcmk_sched_location.c rsc = pcmk__find_constraint_resource(data_set->resources, value); rsc 299 lib/pacemaker/pcmk_sched_location.c unpack_rsc_location(xml_obj, rsc, NULL, NULL, data_set, NULL); rsc 373 lib/pacemaker/pcmk_sched_location.c pe_resource_t *rsc = NULL; rsc 400 lib/pacemaker/pcmk_sched_location.c if (!pcmk__valid_resource_or_tag(data_set, rsc_id, &rsc, &tag)) { rsc 405 lib/pacemaker/pcmk_sched_location.c } else if (rsc != NULL) { rsc 539 lib/pacemaker/pcmk_sched_location.c pcmk__new_location(const char *id, pe_resource_t *rsc, rsc 549 lib/pacemaker/pcmk_sched_location.c } else if (rsc == NULL) { rsc 560 lib/pacemaker/pcmk_sched_location.c new_con->rsc_lh = rsc; rsc 573 lib/pacemaker/pcmk_sched_location.c rsc->exclusive_discover = TRUE; rsc 589 lib/pacemaker/pcmk_sched_location.c rsc->rsc_location = g_list_prepend(rsc->rsc_location, new_con); rsc 623 lib/pacemaker/pcmk_sched_location.c pcmk__apply_location(pe_resource_t *rsc, pe__location_t *location) rsc 627 lib/pacemaker/pcmk_sched_location.c CRM_CHECK((rsc != NULL) && (location != NULL), return); rsc 631 lib/pacemaker/pcmk_sched_location.c if (need_role && (location->role_filter != rsc->next_role)) { rsc 632 lib/pacemaker/pcmk_sched_location.c pe_rsc_trace(rsc, rsc 634 lib/pacemaker/pcmk_sched_location.c location->id, rsc->id, role2text(rsc->next_role), rsc 640 lib/pacemaker/pcmk_sched_location.c pe_rsc_trace(rsc, "Not applying %s to %s because no nodes match", rsc 641 lib/pacemaker/pcmk_sched_location.c location->id, rsc->id); rsc 645 lib/pacemaker/pcmk_sched_location.c pe_rsc_trace(rsc, "Applying %s%s%s to %s", location->id, rsc 647 lib/pacemaker/pcmk_sched_location.c (need_role? role2text(location->role_filter) : ""), rsc->id); rsc 655 lib/pacemaker/pcmk_sched_location.c weighted_node = (pe_node_t *) pe_hash_table_lookup(rsc->allowed_nodes, rsc 658 lib/pacemaker/pcmk_sched_location.c pe_rsc_trace(rsc, "* = %d on %s", rsc 661 lib/pacemaker/pcmk_sched_location.c g_hash_table_insert(rsc->allowed_nodes, rsc 665 lib/pacemaker/pcmk_sched_location.c pe_rsc_trace(rsc, "* + %d on %s", rsc 673 lib/pacemaker/pcmk_sched_location.c rsc->exclusive_discover = TRUE; rsc 46 lib/pacemaker/pcmk_sched_migration.c pcmk__create_migration_actions(pe_resource_t *rsc, const pe_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_MIGRATE, 0), rsc 63 lib/pacemaker/pcmk_sched_migration.c rsc->cluster); rsc 65 lib/pacemaker/pcmk_sched_migration.c migrate_from = custom_action(rsc, pcmk__op_key(rsc->id, RSC_MIGRATED, 0), rsc 66 lib/pacemaker/pcmk_sched_migration.c RSC_MIGRATED, rsc->allocated_to, TRUE, TRUE, rsc 67 lib/pacemaker/pcmk_sched_migration.c rsc->cluster); rsc 70 lib/pacemaker/pcmk_sched_migration.c && ((migrate_to != NULL) || (rsc->partial_migration_target != NULL))) { rsc 78 lib/pacemaker/pcmk_sched_migration.c if (rsc->partial_migration_target == NULL) { rsc 87 lib/pacemaker/pcmk_sched_migration.c pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, RSC_STATUS, 0), NULL, rsc 88 lib/pacemaker/pcmk_sched_migration.c rsc, pcmk__op_key(rsc->id, RSC_MIGRATE, 0), rsc 89 lib/pacemaker/pcmk_sched_migration.c NULL, pe_order_optional, rsc->cluster); rsc 90 lib/pacemaker/pcmk_sched_migration.c pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, RSC_MIGRATE, 0), NULL, rsc 91 lib/pacemaker/pcmk_sched_migration.c rsc, pcmk__op_key(rsc->id, RSC_MIGRATED, 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, RSC_STATUS, 0), NULL, rsc 101 lib/pacemaker/pcmk_sched_migration.c rsc, pcmk__op_key(rsc->id, RSC_MIGRATED, 0), rsc 102 lib/pacemaker/pcmk_sched_migration.c NULL, pe_order_optional, rsc->cluster); rsc 106 lib/pacemaker/pcmk_sched_migration.c pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, RSC_MIGRATED, 0), NULL, rsc 107 lib/pacemaker/pcmk_sched_migration.c rsc, pcmk__op_key(rsc->id, RSC_STOP, 0), NULL, rsc 109 lib/pacemaker/pcmk_sched_migration.c rsc->cluster); rsc 110 lib/pacemaker/pcmk_sched_migration.c pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, RSC_MIGRATED, 0), NULL, rsc 111 lib/pacemaker/pcmk_sched_migration.c rsc, pcmk__op_key(rsc->id, RSC_START, 0), NULL, rsc 113 lib/pacemaker/pcmk_sched_migration.c rsc->cluster); rsc 117 lib/pacemaker/pcmk_sched_migration.c add_migration_meta(migrate_to, current, rsc->allocated_to); rsc 119 lib/pacemaker/pcmk_sched_migration.c if (!rsc->is_remote_node) { rsc 136 lib/pacemaker/pcmk_sched_migration.c add_migration_meta(migrate_from, current, rsc->allocated_to); rsc 151 lib/pacemaker/pcmk_sched_migration.c pe_resource_t *rsc = (pe_resource_t *) user_data; rsc 154 lib/pacemaker/pcmk_sched_migration.c bool cleanup = pcmk_is_set(rsc->cluster->flags, pe_flag_remove_after_stop); rsc 156 lib/pacemaker/pcmk_sched_migration.c pe_rsc_trace(rsc, rsc 158 lib/pacemaker/pcmk_sched_migration.c (cleanup? " and cleanup" : ""), rsc->id, rsc 160 lib/pacemaker/pcmk_sched_migration.c stop = stop_action(rsc, dangling_source, FALSE); rsc 163 lib/pacemaker/pcmk_sched_migration.c pcmk__schedule_cleanup(rsc, dangling_source, false); rsc 177 lib/pacemaker/pcmk_sched_migration.c pcmk__rsc_can_migrate(const pe_resource_t *rsc, const pe_node_t *current) rsc 179 lib/pacemaker/pcmk_sched_migration.c CRM_CHECK(rsc != NULL, return false); rsc 181 lib/pacemaker/pcmk_sched_migration.c if (!pcmk_is_set(rsc->flags, pe_rsc_allow_migrate)) { rsc 182 lib/pacemaker/pcmk_sched_migration.c pe_rsc_trace(rsc, "%s cannot migrate because " rsc 184 lib/pacemaker/pcmk_sched_migration.c rsc->id); rsc 188 lib/pacemaker/pcmk_sched_migration.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 189 lib/pacemaker/pcmk_sched_migration.c pe_rsc_trace(rsc, "%s cannot migrate because it is not managed", rsc 190 lib/pacemaker/pcmk_sched_migration.c rsc->id); rsc 194 lib/pacemaker/pcmk_sched_migration.c if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 195 lib/pacemaker/pcmk_sched_migration.c pe_rsc_trace(rsc, "%s cannot migrate because it is failed", rsc 196 lib/pacemaker/pcmk_sched_migration.c rsc->id); rsc 200 lib/pacemaker/pcmk_sched_migration.c if (pcmk_is_set(rsc->flags, pe_rsc_start_pending)) { rsc 201 lib/pacemaker/pcmk_sched_migration.c pe_rsc_trace(rsc, "%s cannot migrate because it has a start pending", rsc 202 lib/pacemaker/pcmk_sched_migration.c rsc->id); rsc 207 lib/pacemaker/pcmk_sched_migration.c pe_rsc_trace(rsc, "%s cannot migrate because " rsc 209 lib/pacemaker/pcmk_sched_migration.c rsc->id, pe__node_name(current)); rsc 213 lib/pacemaker/pcmk_sched_migration.c if ((rsc->allocated_to == NULL) || rsc->allocated_to->details->unclean) { rsc 214 lib/pacemaker/pcmk_sched_migration.c pe_rsc_trace(rsc, "%s cannot migrate because " rsc 216 lib/pacemaker/pcmk_sched_migration.c rsc->id, pe__node_name(rsc->allocated_to)); rsc 307 lib/pacemaker/pcmk_sched_nodes.c pe_resource_t *rsc = (pe_resource_t *) r->data; rsc 315 lib/pacemaker/pcmk_sched_nodes.c constrain = !crm_is_true(g_hash_table_lookup(rsc->meta, rsc 319 lib/pacemaker/pcmk_sched_nodes.c pcmk__new_location(strategy_str, rsc, health, NULL, node, rsc 322 lib/pacemaker/pcmk_sched_nodes.c pe_rsc_trace(rsc, "%s is immune from health ban on %s", rsc 323 lib/pacemaker/pcmk_sched_nodes.c rsc->id, pe__node_name(node)); rsc 340 lib/pacemaker/pcmk_sched_nodes.c pcmk__top_allowed_node(const pe_resource_t *rsc, const pe_node_t *node) rsc 344 lib/pacemaker/pcmk_sched_nodes.c if ((rsc == NULL) || (node == NULL)) { rsc 346 lib/pacemaker/pcmk_sched_nodes.c } else if (rsc->parent == NULL) { rsc 347 lib/pacemaker/pcmk_sched_nodes.c allowed_nodes = rsc->allowed_nodes; rsc 349 lib/pacemaker/pcmk_sched_nodes.c allowed_nodes = rsc->parent->allowed_nodes; rsc 233 lib/pacemaker/pcmk_sched_ordering.c pe_resource_t *rsc = NULL; rsc 243 lib/pacemaker/pcmk_sched_ordering.c rsc = pcmk__find_constraint_resource(data_set->resources, rsc_id); rsc 244 lib/pacemaker/pcmk_sched_ordering.c if (rsc == NULL) { rsc 256 lib/pacemaker/pcmk_sched_ordering.c if (!pe_rsc_is_clone(rsc)) { rsc 262 lib/pacemaker/pcmk_sched_ordering.c rsc = find_clone_instance(rsc, instance_id, data_set); rsc 263 lib/pacemaker/pcmk_sched_ordering.c if (rsc == NULL) { rsc 270 lib/pacemaker/pcmk_sched_ordering.c return rsc; rsc 283 lib/pacemaker/pcmk_sched_ordering.c get_minimum_first_instances(pe_resource_t *rsc, xmlNode *xml) rsc 288 lib/pacemaker/pcmk_sched_ordering.c if (!pe_rsc_is_clone(rsc)) { rsc 292 lib/pacemaker/pcmk_sched_ordering.c clone_min = g_hash_table_lookup(rsc->meta, rsc 379 lib/pacemaker/pcmk_sched_ordering.c #define handle_restart_type(rsc, kind, flag, flags) do { \ rsc 381 lib/pacemaker/pcmk_sched_ordering.c && ((rsc)->restart_type == pe_restart_restart)) { \ rsc 535 lib/pacemaker/pcmk_sched_ordering.c first_rsc = first_action->rsc; rsc 538 lib/pacemaker/pcmk_sched_ordering.c then_rsc = then_action->rsc; rsc 562 lib/pacemaker/pcmk_sched_ordering.c order->lh_rsc = first_action->rsc; rsc 566 lib/pacemaker/pcmk_sched_ordering.c order->rh_rsc = then_action->rsc; rsc 1074 lib/pacemaker/pcmk_sched_ordering.c && (input->action->rsc != NULL) rsc 1075 lib/pacemaker/pcmk_sched_ordering.c && pcmk__rsc_corresponds_to_guest(action->rsc, input->action->node)) { rsc 1078 lib/pacemaker/pcmk_sched_ordering.c input->action->rsc->id, action->rsc->id); rsc 1089 lib/pacemaker/pcmk_sched_ordering.c if ((input->type == pe_order_load) && action->rsc rsc 1132 lib/pacemaker/pcmk_sched_ordering.c if ((action->rsc == NULL) || (action->node == NULL) rsc 1140 lib/pacemaker/pcmk_sched_ordering.c if (pcmk_is_set(action->rsc->flags, pe_rsc_maintenance)) { rsc 1141 lib/pacemaker/pcmk_sched_ordering.c pe_rsc_trace(action->rsc, rsc 1148 lib/pacemaker/pcmk_sched_ordering.c pe_rsc_trace(action->rsc, rsc 1159 lib/pacemaker/pcmk_sched_ordering.c if (!pcmk_any_flags_set(action->rsc->flags, rsc 1161 lib/pacemaker/pcmk_sched_ordering.c pe_rsc_trace(action->rsc, rsc 1168 lib/pacemaker/pcmk_sched_ordering.c pe_rsc_trace(action->rsc, "Ordering %s before shutdown of %s", rsc 1171 lib/pacemaker/pcmk_sched_ordering.c pcmk__new_ordering(action->rsc, NULL, action, NULL, rsc 1189 lib/pacemaker/pcmk_sched_ordering.c find_actions_by_task(const pe_resource_t *rsc, const char *original_key) rsc 1192 lib/pacemaker/pcmk_sched_ordering.c GList *list = find_actions(rsc->actions, original_key, NULL); rsc 1201 lib/pacemaker/pcmk_sched_ordering.c key = pcmk__op_key(rsc->id, task, interval_ms); rsc 1202 lib/pacemaker/pcmk_sched_ordering.c list = find_actions(rsc->actions, key, NULL); rsc 1222 lib/pacemaker/pcmk_sched_ordering.c const pe_resource_t *rsc, pe__ordering_t *order) rsc 1227 lib/pacemaker/pcmk_sched_ordering.c CRM_CHECK((rsc != NULL) && (order != NULL), return); rsc 1230 lib/pacemaker/pcmk_sched_ordering.c pe_rsc_trace(rsc, "Applying ordering %d for 'then' resource %s", rsc 1231 lib/pacemaker/pcmk_sched_ordering.c order->id, rsc->id); rsc 1237 lib/pacemaker/pcmk_sched_ordering.c then_actions = find_actions_by_task(rsc, order->rh_action_task); rsc 1241 lib/pacemaker/pcmk_sched_ordering.c pe_rsc_trace(rsc, "Ignoring ordering %d: no %s actions found for %s", rsc 1242 lib/pacemaker/pcmk_sched_ordering.c order->id, order->rh_action_task, rsc->id); rsc 1246 lib/pacemaker/pcmk_sched_ordering.c if ((first_action != NULL) && (first_action->rsc == rsc) rsc 1249 lib/pacemaker/pcmk_sched_ordering.c pe_rsc_trace(rsc, rsc 1251 lib/pacemaker/pcmk_sched_ordering.c first_action->uuid, order->rh_action_task, rsc->id); rsc 1256 lib/pacemaker/pcmk_sched_ordering.c pe_rsc_debug(rsc, rsc 1258 lib/pacemaker/pcmk_sched_ordering.c order->id, rsc->id); rsc 1271 lib/pacemaker/pcmk_sched_ordering.c "to order it after", then_action_iter->task, rsc->id, rsc 1343 lib/pacemaker/pcmk_sched_ordering.c then_rsc = order->rh_action->rsc; rsc 1382 lib/pacemaker/pcmk_sched_ordering.c pe_resource_t *rsc = order->lh_rsc; rsc 1384 lib/pacemaker/pcmk_sched_ordering.c if (rsc != NULL) { rsc 1385 lib/pacemaker/pcmk_sched_ordering.c rsc_order_first(rsc, order, data_set); rsc 1389 lib/pacemaker/pcmk_sched_ordering.c rsc = order->rh_rsc; rsc 1390 lib/pacemaker/pcmk_sched_ordering.c if (rsc != NULL) { rsc 1391 lib/pacemaker/pcmk_sched_ordering.c order_resource_actions_after(order->lh_action, rsc, order); rsc 1443 lib/pacemaker/pcmk_sched_ordering.c pcmk__promotable_restart_ordering(pe_resource_t *rsc) rsc 1446 lib/pacemaker/pcmk_sched_ordering.c pcmk__order_resource_actions(rsc, RSC_STOPPED, rsc, RSC_START, rsc 1448 lib/pacemaker/pcmk_sched_ordering.c pcmk__order_resource_actions(rsc, RSC_STOPPED, rsc, RSC_PROMOTE, rsc 1452 lib/pacemaker/pcmk_sched_ordering.c pcmk__order_resource_actions(rsc, RSC_DEMOTED, rsc, RSC_STOP, rsc 1454 lib/pacemaker/pcmk_sched_ordering.c pcmk__order_resource_actions(rsc, RSC_DEMOTED, rsc, RSC_START, rsc 1456 lib/pacemaker/pcmk_sched_ordering.c pcmk__order_resource_actions(rsc, RSC_DEMOTED, rsc, RSC_PROMOTE, rsc 1460 lib/pacemaker/pcmk_sched_ordering.c pcmk__order_resource_actions(rsc, RSC_STARTED, rsc, RSC_PROMOTE, rsc 1464 lib/pacemaker/pcmk_sched_ordering.c pcmk__order_resource_actions(rsc, RSC_DEMOTE, rsc, RSC_DEMOTED, rsc 19 lib/pacemaker/pcmk_sched_primitive.c static void stop_resource(pe_resource_t *rsc, pe_node_t *node, bool optional); rsc 20 lib/pacemaker/pcmk_sched_primitive.c static void start_resource(pe_resource_t *rsc, pe_node_t *node, bool optional); rsc 21 lib/pacemaker/pcmk_sched_primitive.c static void demote_resource(pe_resource_t *rsc, pe_node_t *node, bool optional); rsc 22 lib/pacemaker/pcmk_sched_primitive.c static void promote_resource(pe_resource_t *rsc, pe_node_t *node, rsc 24 lib/pacemaker/pcmk_sched_primitive.c static void assert_role_error(pe_resource_t *rsc, pe_node_t *node, rsc 77 lib/pacemaker/pcmk_sched_primitive.c typedef void (*rsc_transition_fn)(pe_resource_t *rsc, pe_node_t *node, rsc 128 lib/pacemaker/pcmk_sched_primitive.c sorted_allowed_nodes(const pe_resource_t *rsc) rsc 130 lib/pacemaker/pcmk_sched_primitive.c if (rsc->allowed_nodes != NULL) { rsc 131 lib/pacemaker/pcmk_sched_primitive.c GList *nodes = g_hash_table_get_values(rsc->allowed_nodes); rsc 134 lib/pacemaker/pcmk_sched_primitive.c return pcmk__sort_nodes(nodes, pe__current_node(rsc)); rsc 150 lib/pacemaker/pcmk_sched_primitive.c assign_best_node(pe_resource_t *rsc, const pe_node_t *prefer) rsc 156 lib/pacemaker/pcmk_sched_primitive.c const pe_node_t *most_free_node = pcmk__ban_insufficient_capacity(rsc); rsc 162 lib/pacemaker/pcmk_sched_primitive.c if (!pcmk_is_set(rsc->flags, pe_rsc_provisional)) { rsc 164 lib/pacemaker/pcmk_sched_primitive.c return rsc->allocated_to != NULL; rsc 168 lib/pacemaker/pcmk_sched_primitive.c nodes = sorted_allowed_nodes(rsc); rsc 175 lib/pacemaker/pcmk_sched_primitive.c chosen = g_hash_table_lookup(rsc->allowed_nodes, prefer->details->id); rsc 178 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Preferred node %s for %s was unknown", rsc 179 lib/pacemaker/pcmk_sched_primitive.c pe__node_name(prefer), rsc->id); rsc 188 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Preferred node %s for %s was unsuitable", rsc 189 lib/pacemaker/pcmk_sched_primitive.c pe__node_name(chosen), rsc->id); rsc 193 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Preferred node %s for %s was unavailable", rsc 194 lib/pacemaker/pcmk_sched_primitive.c pe__node_name(chosen), rsc->id); rsc 198 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, rsc 200 lib/pacemaker/pcmk_sched_primitive.c pe__node_name(chosen), rsc->id, g_list_length(nodes)); rsc 211 lib/pacemaker/pcmk_sched_primitive.c if (!pe_rsc_is_unique_clone(rsc->parent) rsc 223 lib/pacemaker/pcmk_sched_primitive.c pe_node_t *running = pe__current_node(rsc); rsc 229 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Current node for %s (%s) can't run resources", rsc 230 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(running)); rsc 252 lib/pacemaker/pcmk_sched_primitive.c pe__node_name(chosen), rsc->id, rsc 259 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Chose %s for %s from %d candidates", rsc 260 lib/pacemaker/pcmk_sched_primitive.c pe__node_name(chosen), rsc->id, g_list_length(nodes)); rsc 263 lib/pacemaker/pcmk_sched_primitive.c result = pcmk__finalize_assignment(rsc, chosen, false); rsc 279 lib/pacemaker/pcmk_sched_primitive.c pe_resource_t *rsc = (pe_resource_t *) user_data; rsc 287 lib/pacemaker/pcmk_sched_primitive.c archive = pcmk__copy_node_table(rsc->allowed_nodes); rsc 290 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, rsc 293 lib/pacemaker/pcmk_sched_primitive.c rsc->id, colocation->id, other->id, rsc 298 lib/pacemaker/pcmk_sched_primitive.c rsc->cmds->apply_coloc_score(rsc, other, colocation, true); rsc 300 lib/pacemaker/pcmk_sched_primitive.c && !pcmk__any_node_available(rsc->allowed_nodes)) { rsc 301 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_info(rsc, rsc 304 lib/pacemaker/pcmk_sched_primitive.c rsc->id, other->id); rsc 305 lib/pacemaker/pcmk_sched_primitive.c g_hash_table_destroy(rsc->allowed_nodes); rsc 306 lib/pacemaker/pcmk_sched_primitive.c rsc->allowed_nodes = archive; rsc 325 lib/pacemaker/pcmk_sched_primitive.c pe_resource_t *rsc = (pe_resource_t *) user_data; rsc 333 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, rsc 335 lib/pacemaker/pcmk_sched_primitive.c "to colocation %s", rsc->id, other->id, colocation->id); rsc 336 lib/pacemaker/pcmk_sched_primitive.c pcmk__add_colocated_node_scores(other, rsc->id, &rsc->allowed_nodes, rsc 386 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_assign(pe_resource_t *rsc, const pe_node_t *prefer) rsc 388 lib/pacemaker/pcmk_sched_primitive.c CRM_ASSERT(rsc != NULL); rsc 391 lib/pacemaker/pcmk_sched_primitive.c if ((rsc->parent != NULL) rsc 392 lib/pacemaker/pcmk_sched_primitive.c && !pcmk_is_set(rsc->parent->flags, pe_rsc_allocating)) { rsc 393 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_debug(rsc, "%s: Assigning parent %s first", rsc 394 lib/pacemaker/pcmk_sched_primitive.c rsc->id, rsc->parent->id); rsc 395 lib/pacemaker/pcmk_sched_primitive.c rsc->parent->cmds->assign(rsc->parent, prefer); rsc 398 lib/pacemaker/pcmk_sched_primitive.c if (!pcmk_is_set(rsc->flags, pe_rsc_provisional)) { rsc 399 lib/pacemaker/pcmk_sched_primitive.c return rsc->allocated_to; // Assignment has already been done rsc 403 lib/pacemaker/pcmk_sched_primitive.c if (pcmk_is_set(rsc->flags, pe_rsc_allocating)) { rsc 404 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_debug(rsc, "Breaking assignment loop involving %s", rsc->id); rsc 407 lib/pacemaker/pcmk_sched_primitive.c pe__set_resource_flags(rsc, pe_rsc_allocating); rsc 409 lib/pacemaker/pcmk_sched_primitive.c pe__show_node_weights(true, rsc, "Pre-assignment", rsc->allowed_nodes, rsc 410 lib/pacemaker/pcmk_sched_primitive.c rsc->cluster); rsc 412 lib/pacemaker/pcmk_sched_primitive.c g_list_foreach(rsc->rsc_cons, apply_this_with, rsc); rsc 413 lib/pacemaker/pcmk_sched_primitive.c pe__show_node_weights(true, rsc, "Post-this-with", rsc->allowed_nodes, rsc 414 lib/pacemaker/pcmk_sched_primitive.c rsc->cluster); rsc 416 lib/pacemaker/pcmk_sched_primitive.c g_list_foreach(rsc->rsc_cons_lhs, apply_with_this, rsc); rsc 418 lib/pacemaker/pcmk_sched_primitive.c if (rsc->next_role == RSC_ROLE_STOPPED) { rsc 419 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, rsc 421 lib/pacemaker/pcmk_sched_primitive.c rsc->id); rsc 422 lib/pacemaker/pcmk_sched_primitive.c resource_location(rsc, NULL, -INFINITY, XML_RSC_ATTR_TARGET_ROLE, rsc 423 lib/pacemaker/pcmk_sched_primitive.c rsc->cluster); rsc 425 lib/pacemaker/pcmk_sched_primitive.c } else if ((rsc->next_role > rsc->role) rsc 426 lib/pacemaker/pcmk_sched_primitive.c && !pcmk_is_set(rsc->cluster->flags, pe_flag_have_quorum) rsc 427 lib/pacemaker/pcmk_sched_primitive.c && (rsc->cluster->no_quorum_policy == no_quorum_freeze)) { rsc 430 lib/pacemaker/pcmk_sched_primitive.c rsc->id, role2text(rsc->role), role2text(rsc->next_role)); rsc 431 lib/pacemaker/pcmk_sched_primitive.c pe__set_next_role(rsc, rsc->role, "no-quorum-policy=freeze"); rsc 434 lib/pacemaker/pcmk_sched_primitive.c pe__show_node_weights(!pcmk_is_set(rsc->cluster->flags, pe_flag_show_scores), rsc 435 lib/pacemaker/pcmk_sched_primitive.c rsc, __func__, rsc->allowed_nodes, rsc->cluster); rsc 438 lib/pacemaker/pcmk_sched_primitive.c if (pcmk_is_set(rsc->cluster->flags, pe_flag_stonith_enabled) rsc 439 lib/pacemaker/pcmk_sched_primitive.c && !pcmk_is_set(rsc->cluster->flags, pe_flag_have_stonith_resource)) { rsc 440 lib/pacemaker/pcmk_sched_primitive.c pe__clear_resource_flags(rsc, pe_rsc_managed); rsc 443 lib/pacemaker/pcmk_sched_primitive.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 448 lib/pacemaker/pcmk_sched_primitive.c pe__set_next_role(rsc, rsc->role, "unmanaged"); rsc 449 lib/pacemaker/pcmk_sched_primitive.c assign_to = pe__current_node(rsc); rsc 452 lib/pacemaker/pcmk_sched_primitive.c } else if (rsc->role == RSC_ROLE_PROMOTED) { rsc 454 lib/pacemaker/pcmk_sched_primitive.c } else if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 459 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_info(rsc, "Unmanaged resource %s assigned to %s: %s", rsc->id, rsc 461 lib/pacemaker/pcmk_sched_primitive.c pcmk__finalize_assignment(rsc, assign_to, true); rsc 463 lib/pacemaker/pcmk_sched_primitive.c } else if (pcmk_is_set(rsc->cluster->flags, pe_flag_stop_everything)) { rsc 464 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_debug(rsc, "Forcing %s to stop: stop-all-resources", rsc->id); rsc 465 lib/pacemaker/pcmk_sched_primitive.c pcmk__finalize_assignment(rsc, NULL, true); rsc 467 lib/pacemaker/pcmk_sched_primitive.c } else if (pcmk_is_set(rsc->flags, pe_rsc_provisional) rsc 468 lib/pacemaker/pcmk_sched_primitive.c && assign_best_node(rsc, prefer)) { rsc 471 lib/pacemaker/pcmk_sched_primitive.c } else if (rsc->allocated_to == NULL) { rsc 472 lib/pacemaker/pcmk_sched_primitive.c if (!pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 473 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_info(rsc, "Resource %s cannot run anywhere", rsc->id); rsc 474 lib/pacemaker/pcmk_sched_primitive.c } else if (rsc->running_on != NULL) { rsc 475 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_info(rsc, "Stopping orphan resource %s", rsc->id); rsc 479 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_debug(rsc, "%s: pre-assigned to %s", rsc->id, rsc 480 lib/pacemaker/pcmk_sched_primitive.c pe__node_name(rsc->allocated_to)); rsc 483 lib/pacemaker/pcmk_sched_primitive.c pe__clear_resource_flags(rsc, pe_rsc_allocating); rsc 485 lib/pacemaker/pcmk_sched_primitive.c if (rsc->is_remote_node) { rsc 486 lib/pacemaker/pcmk_sched_primitive.c remote_connection_assigned(rsc); rsc 489 lib/pacemaker/pcmk_sched_primitive.c return rsc->allocated_to; rsc 504 lib/pacemaker/pcmk_sched_primitive.c schedule_restart_actions(pe_resource_t *rsc, pe_node_t *current, rsc 507 lib/pacemaker/pcmk_sched_primitive.c enum rsc_role_e role = rsc->role; rsc 511 lib/pacemaker/pcmk_sched_primitive.c pe__set_resource_flags(rsc, pe_rsc_restarting); rsc 516 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Creating %s action to take %s down from %s to %s", rsc 517 lib/pacemaker/pcmk_sched_primitive.c (need_stop? "required" : "optional"), rsc->id, rsc 523 lib/pacemaker/pcmk_sched_primitive.c fn(rsc, current, !need_stop); rsc 528 lib/pacemaker/pcmk_sched_primitive.c while ((rsc->role <= rsc->next_role) && (role != rsc->role) rsc 529 lib/pacemaker/pcmk_sched_primitive.c && !pcmk_is_set(rsc->flags, pe_rsc_block)) { rsc 532 lib/pacemaker/pcmk_sched_primitive.c next_role = rsc_state_matrix[role][rsc->role]; rsc 536 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Creating %s action to take %s up from %s to %s", rsc 537 lib/pacemaker/pcmk_sched_primitive.c (required? "required" : "optional"), rsc->id, rsc 543 lib/pacemaker/pcmk_sched_primitive.c fn(rsc, rsc->allocated_to, !required); rsc 547 lib/pacemaker/pcmk_sched_primitive.c pe__clear_resource_flags(rsc, pe_rsc_restarting); rsc 559 lib/pacemaker/pcmk_sched_primitive.c set_default_next_role(pe_resource_t *rsc) rsc 561 lib/pacemaker/pcmk_sched_primitive.c if (rsc->next_role != RSC_ROLE_UNKNOWN) { rsc 565 lib/pacemaker/pcmk_sched_primitive.c if (rsc->allocated_to == NULL) { rsc 566 lib/pacemaker/pcmk_sched_primitive.c pe__set_next_role(rsc, RSC_ROLE_STOPPED, "assignment"); rsc 568 lib/pacemaker/pcmk_sched_primitive.c pe__set_next_role(rsc, RSC_ROLE_STARTED, "assignment"); rsc 580 lib/pacemaker/pcmk_sched_primitive.c create_pending_start(pe_resource_t *rsc) rsc 584 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, rsc 586 lib/pacemaker/pcmk_sched_primitive.c rsc->id); rsc 587 lib/pacemaker/pcmk_sched_primitive.c start = start_action(rsc, rsc->allocated_to, TRUE); rsc 598 lib/pacemaker/pcmk_sched_primitive.c schedule_role_transition_actions(pe_resource_t *rsc) rsc 600 lib/pacemaker/pcmk_sched_primitive.c enum rsc_role_e role = rsc->role; rsc 602 lib/pacemaker/pcmk_sched_primitive.c while (role != rsc->next_role) { rsc 603 lib/pacemaker/pcmk_sched_primitive.c enum rsc_role_e next_role = rsc_state_matrix[role][rsc->next_role]; rsc 606 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, rsc 608 lib/pacemaker/pcmk_sched_primitive.c rsc->id, role2text(role), role2text(next_role), rsc 609 lib/pacemaker/pcmk_sched_primitive.c role2text(rsc->next_role)); rsc 614 lib/pacemaker/pcmk_sched_primitive.c fn(rsc, rsc->allocated_to, false); rsc 626 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_create_actions(pe_resource_t *rsc) rsc 639 lib/pacemaker/pcmk_sched_primitive.c CRM_ASSERT(rsc != NULL); rsc 641 lib/pacemaker/pcmk_sched_primitive.c next_role_source = set_default_next_role(rsc); rsc 642 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, rsc 645 lib/pacemaker/pcmk_sched_primitive.c rsc->id, role2text(rsc->role), role2text(rsc->next_role), rsc 646 lib/pacemaker/pcmk_sched_primitive.c next_role_source, pe__node_name(rsc->allocated_to)); rsc 648 lib/pacemaker/pcmk_sched_primitive.c current = pe__find_active_on(rsc, &num_all_active, &num_clean_active); rsc 650 lib/pacemaker/pcmk_sched_primitive.c g_list_foreach(rsc->dangling_migrations, pcmk__abort_dangling_migration, rsc 651 lib/pacemaker/pcmk_sched_primitive.c rsc); rsc 653 lib/pacemaker/pcmk_sched_primitive.c if ((current != NULL) && (rsc->allocated_to != NULL) rsc 654 lib/pacemaker/pcmk_sched_primitive.c && (current->details != rsc->allocated_to->details) rsc 655 lib/pacemaker/pcmk_sched_primitive.c && (rsc->next_role >= RSC_ROLE_STARTED)) { rsc 657 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Moving %s from %s to %s", rsc 658 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(current), rsc 659 lib/pacemaker/pcmk_sched_primitive.c pe__node_name(rsc->allocated_to)); rsc 661 lib/pacemaker/pcmk_sched_primitive.c allow_migrate = pcmk__rsc_can_migrate(rsc, current); rsc 668 lib/pacemaker/pcmk_sched_primitive.c if ((rsc->partial_migration_source != NULL) rsc 669 lib/pacemaker/pcmk_sched_primitive.c && (rsc->partial_migration_target != NULL) rsc 671 lib/pacemaker/pcmk_sched_primitive.c && pe__same_node(current, rsc->partial_migration_source) rsc 672 lib/pacemaker/pcmk_sched_primitive.c && pe__same_node(rsc->allocated_to, rsc->partial_migration_target)) { rsc 676 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Partial migration of %s from %s to %s will continue", rsc 677 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(rsc->partial_migration_source), rsc 678 lib/pacemaker/pcmk_sched_primitive.c pe__node_name(rsc->partial_migration_target)); rsc 680 lib/pacemaker/pcmk_sched_primitive.c } else if ((rsc->partial_migration_source != NULL) rsc 681 lib/pacemaker/pcmk_sched_primitive.c || (rsc->partial_migration_target != NULL)) { rsc 688 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(rsc->partial_migration_source), rsc 689 lib/pacemaker/pcmk_sched_primitive.c pe__node_name(rsc->partial_migration_target)); rsc 694 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(rsc->partial_migration_source), rsc 695 lib/pacemaker/pcmk_sched_primitive.c pe__node_name(rsc->partial_migration_target)); rsc 698 lib/pacemaker/pcmk_sched_primitive.c rsc->partial_migration_source = rsc->partial_migration_target = NULL; rsc 701 lib/pacemaker/pcmk_sched_primitive.c } else if (pcmk_is_set(rsc->flags, pe_rsc_needs_fencing)) { rsc 715 lib/pacemaker/pcmk_sched_primitive.c const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 719 lib/pacemaker/pcmk_sched_primitive.c pcmk__s(class, "Untyped"), rsc->id, num_all_active, rsc 720 lib/pacemaker/pcmk_sched_primitive.c recovery2text(rsc->recovery_type)); rsc 724 lib/pacemaker/pcmk_sched_primitive.c switch (rsc->recovery_type) { rsc 730 lib/pacemaker/pcmk_sched_primitive.c pe__set_resource_flags(rsc, pe_rsc_stop_unexpected); rsc 737 lib/pacemaker/pcmk_sched_primitive.c pe__clear_resource_flags(rsc, pe_rsc_stop_unexpected); rsc 740 lib/pacemaker/pcmk_sched_primitive.c if (pcmk_is_set(rsc->flags, pe_rsc_start_pending)) { rsc 741 lib/pacemaker/pcmk_sched_primitive.c create_pending_start(rsc); rsc 747 lib/pacemaker/pcmk_sched_primitive.c } else if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 748 lib/pacemaker/pcmk_sched_primitive.c if (pcmk_is_set(rsc->flags, pe_rsc_stop)) { rsc 750 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Recovering %s", rsc->id); rsc 752 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Recovering %s by demotion", rsc->id); rsc 753 lib/pacemaker/pcmk_sched_primitive.c if (rsc->next_role == RSC_ROLE_PROMOTED) { rsc 758 lib/pacemaker/pcmk_sched_primitive.c } else if (pcmk_is_set(rsc->flags, pe_rsc_block)) { rsc 759 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Blocking further actions on %s", rsc->id); rsc 762 lib/pacemaker/pcmk_sched_primitive.c } else if ((rsc->role > RSC_ROLE_STARTED) && (current != NULL) rsc 763 lib/pacemaker/pcmk_sched_primitive.c && (rsc->allocated_to != NULL)) { rsc 766 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Creating start action for promoted resource %s", rsc 767 lib/pacemaker/pcmk_sched_primitive.c rsc->id); rsc 768 lib/pacemaker/pcmk_sched_primitive.c start = start_action(rsc, rsc->allocated_to, TRUE); rsc 771 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "%s restart is required for recovery", rsc->id); rsc 777 lib/pacemaker/pcmk_sched_primitive.c schedule_restart_actions(rsc, current, need_stop, need_promote); rsc 780 lib/pacemaker/pcmk_sched_primitive.c schedule_role_transition_actions(rsc); rsc 782 lib/pacemaker/pcmk_sched_primitive.c pcmk__create_recurring_actions(rsc); rsc 785 lib/pacemaker/pcmk_sched_primitive.c pcmk__create_migration_actions(rsc, current); rsc 796 lib/pacemaker/pcmk_sched_primitive.c rsc_avoids_remote_nodes(const pe_resource_t *rsc) rsc 801 lib/pacemaker/pcmk_sched_primitive.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 823 lib/pacemaker/pcmk_sched_primitive.c allowed_nodes_as_list(const pe_resource_t *rsc) rsc 827 lib/pacemaker/pcmk_sched_primitive.c if (rsc->allowed_nodes) { rsc 828 lib/pacemaker/pcmk_sched_primitive.c allowed_nodes = g_hash_table_get_values(rsc->allowed_nodes); rsc 845 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_internal_constraints(pe_resource_t *rsc) rsc 852 lib/pacemaker/pcmk_sched_primitive.c CRM_ASSERT(rsc != NULL); rsc 854 lib/pacemaker/pcmk_sched_primitive.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 855 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, rsc 857 lib/pacemaker/pcmk_sched_primitive.c rsc->id); rsc 861 lib/pacemaker/pcmk_sched_primitive.c top = uber_parent(rsc); rsc 864 lib/pacemaker/pcmk_sched_primitive.c check_unfencing = !pcmk_is_set(rsc->flags, pe_rsc_fence_device) rsc 865 lib/pacemaker/pcmk_sched_primitive.c && pcmk_is_set(rsc->cluster->flags, pe_flag_enable_unfencing) rsc 866 lib/pacemaker/pcmk_sched_primitive.c && pcmk_is_set(rsc->flags, pe_rsc_needs_unfencing); rsc 869 lib/pacemaker/pcmk_sched_primitive.c check_utilization = (g_hash_table_size(rsc->utilization) > 0) rsc 870 lib/pacemaker/pcmk_sched_primitive.c && !pcmk__str_eq(rsc->cluster->placement_strategy, rsc 874 lib/pacemaker/pcmk_sched_primitive.c pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, RSC_STOP, 0), NULL, rsc 875 lib/pacemaker/pcmk_sched_primitive.c rsc, pcmk__op_key(rsc->id, RSC_START, 0), NULL, rsc 877 lib/pacemaker/pcmk_sched_primitive.c rsc->cluster); rsc 881 lib/pacemaker/pcmk_sched_primitive.c || (rsc->role > RSC_ROLE_UNPROMOTED)) { rsc 883 lib/pacemaker/pcmk_sched_primitive.c pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, RSC_DEMOTE, 0), NULL, rsc 884 lib/pacemaker/pcmk_sched_primitive.c rsc, pcmk__op_key(rsc->id, RSC_STOP, 0), NULL, rsc 885 lib/pacemaker/pcmk_sched_primitive.c pe_order_promoted_implies_first, rsc->cluster); rsc 887 lib/pacemaker/pcmk_sched_primitive.c pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, RSC_START, 0), NULL, rsc 888 lib/pacemaker/pcmk_sched_primitive.c rsc, pcmk__op_key(rsc->id, RSC_PROMOTE, 0), NULL, rsc 889 lib/pacemaker/pcmk_sched_primitive.c pe_order_runnable_left, rsc->cluster); rsc 893 lib/pacemaker/pcmk_sched_primitive.c pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, CRM_OP_LRM_DELETE, 0), rsc 894 lib/pacemaker/pcmk_sched_primitive.c NULL, rsc, pcmk__op_key(rsc->id, RSC_STATUS, 0), rsc 896 lib/pacemaker/pcmk_sched_primitive.c rsc->cluster); rsc 899 lib/pacemaker/pcmk_sched_primitive.c if (check_unfencing || check_utilization || (rsc->container != NULL)) { rsc 900 lib/pacemaker/pcmk_sched_primitive.c allowed_nodes = allowed_nodes_as_list(rsc); rsc 904 lib/pacemaker/pcmk_sched_primitive.c g_list_foreach(allowed_nodes, pcmk__order_restart_vs_unfence, rsc); rsc 908 lib/pacemaker/pcmk_sched_primitive.c pcmk__create_utilization_constraints(rsc, allowed_nodes); rsc 911 lib/pacemaker/pcmk_sched_primitive.c if (rsc->container != NULL) { rsc 914 lib/pacemaker/pcmk_sched_primitive.c if (rsc->is_remote_node) { rsc 920 lib/pacemaker/pcmk_sched_primitive.c if (!pcmk_is_set(rsc->flags, pe_rsc_allow_remote_remotes)) { rsc 921 lib/pacemaker/pcmk_sched_primitive.c rsc_avoids_remote_nodes(rsc->container); rsc 930 lib/pacemaker/pcmk_sched_primitive.c pcmk__order_resource_actions(rsc->container, RSC_STATUS, rsc, rsc 940 lib/pacemaker/pcmk_sched_primitive.c } else if (rsc->container->is_remote_node) { rsc 941 lib/pacemaker/pcmk_sched_primitive.c remote_rsc = rsc->container; rsc 943 lib/pacemaker/pcmk_sched_primitive.c remote_rsc = pe__resource_contains_guest_node(rsc->cluster, rsc 944 lib/pacemaker/pcmk_sched_primitive.c rsc->container); rsc 967 lib/pacemaker/pcmk_sched_primitive.c rsc->id, rsc->container->id); rsc 969 lib/pacemaker/pcmk_sched_primitive.c pcmk__new_ordering(rsc->container, rsc 970 lib/pacemaker/pcmk_sched_primitive.c pcmk__op_key(rsc->container->id, RSC_START, 0), rsc 971 lib/pacemaker/pcmk_sched_primitive.c NULL, rsc, pcmk__op_key(rsc->id, RSC_START, 0), rsc 974 lib/pacemaker/pcmk_sched_primitive.c rsc->cluster); rsc 976 lib/pacemaker/pcmk_sched_primitive.c pcmk__new_ordering(rsc, pcmk__op_key(rsc->id, RSC_STOP, 0), NULL, rsc 977 lib/pacemaker/pcmk_sched_primitive.c rsc->container, rsc 978 lib/pacemaker/pcmk_sched_primitive.c pcmk__op_key(rsc->container->id, RSC_STOP, 0), rsc 979 lib/pacemaker/pcmk_sched_primitive.c NULL, pe_order_implies_first, rsc->cluster); rsc 981 lib/pacemaker/pcmk_sched_primitive.c if (pcmk_is_set(rsc->flags, pe_rsc_allow_remote_remotes)) { rsc 986 lib/pacemaker/pcmk_sched_primitive.c pcmk__new_colocation("resource-with-container", NULL, score, rsc, rsc 987 lib/pacemaker/pcmk_sched_primitive.c rsc->container, NULL, NULL, true, rsc 988 lib/pacemaker/pcmk_sched_primitive.c rsc->cluster); rsc 992 lib/pacemaker/pcmk_sched_primitive.c if (rsc->is_remote_node || pcmk_is_set(rsc->flags, pe_rsc_fence_device)) { rsc 996 lib/pacemaker/pcmk_sched_primitive.c rsc_avoids_remote_nodes(rsc); rsc 1080 lib/pacemaker/pcmk_sched_primitive.c is_expected_node(const pe_resource_t *rsc, const pe_node_t *node) rsc 1082 lib/pacemaker/pcmk_sched_primitive.c return pcmk_all_flags_set(rsc->flags, rsc 1084 lib/pacemaker/pcmk_sched_primitive.c && (rsc->next_role > RSC_ROLE_STOPPED) rsc 1085 lib/pacemaker/pcmk_sched_primitive.c && pe__same_node(rsc->allocated_to, node); rsc 1097 lib/pacemaker/pcmk_sched_primitive.c stop_resource(pe_resource_t *rsc, pe_node_t *node, bool optional) rsc 1099 lib/pacemaker/pcmk_sched_primitive.c for (GList *iter = rsc->running_on; iter != NULL; iter = iter->next) { rsc 1103 lib/pacemaker/pcmk_sched_primitive.c if (is_expected_node(rsc, current)) { rsc 1108 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, rsc 1111 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(current)); rsc 1115 lib/pacemaker/pcmk_sched_primitive.c if (rsc->partial_migration_target != NULL) { rsc 1117 lib/pacemaker/pcmk_sched_primitive.c if (pe__same_node(current, rsc->partial_migration_target) rsc 1118 lib/pacemaker/pcmk_sched_primitive.c && pe__same_node(current, rsc->allocated_to)) { rsc 1119 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, rsc 1122 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(current)); rsc 1125 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, rsc 1128 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(current)); rsc 1133 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Scheduling stop of %s on %s", rsc 1134 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(current)); rsc 1135 lib/pacemaker/pcmk_sched_primitive.c stop = stop_action(rsc, current, optional); rsc 1137 lib/pacemaker/pcmk_sched_primitive.c if (rsc->allocated_to == NULL) { rsc 1139 lib/pacemaker/pcmk_sched_primitive.c } else if (pcmk_all_flags_set(rsc->flags, pe_rsc_restarting rsc 1148 lib/pacemaker/pcmk_sched_primitive.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 1152 lib/pacemaker/pcmk_sched_primitive.c if (pcmk_is_set(rsc->cluster->flags, pe_flag_remove_after_stop)) { rsc 1153 lib/pacemaker/pcmk_sched_primitive.c pcmk__schedule_cleanup(rsc, current, optional); rsc 1156 lib/pacemaker/pcmk_sched_primitive.c if (pcmk_is_set(rsc->flags, pe_rsc_needs_unfencing)) { rsc 1158 lib/pacemaker/pcmk_sched_primitive.c rsc->cluster); rsc 1163 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(current)); rsc 1178 lib/pacemaker/pcmk_sched_primitive.c start_resource(pe_resource_t *rsc, pe_node_t *node, bool optional) rsc 1184 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Scheduling %s start of %s on %s (score %d)", rsc 1185 lib/pacemaker/pcmk_sched_primitive.c (optional? "optional" : "required"), rsc->id, rsc 1187 lib/pacemaker/pcmk_sched_primitive.c start = start_action(rsc, node, TRUE); rsc 1189 lib/pacemaker/pcmk_sched_primitive.c pcmk__order_vs_unfence(rsc, node, start, pe_order_implies_then); rsc 1195 lib/pacemaker/pcmk_sched_primitive.c if (is_expected_node(rsc, node)) { rsc 1199 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, rsc 1202 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(node)); rsc 1216 lib/pacemaker/pcmk_sched_primitive.c promote_resource(pe_resource_t *rsc, pe_node_t *node, bool optional) rsc 1225 lib/pacemaker/pcmk_sched_primitive.c action_list = pe__resource_actions(rsc, node, RSC_START, true); rsc 1236 lib/pacemaker/pcmk_sched_primitive.c pe_action_t *promote = promote_action(rsc, node, optional); rsc 1238 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Scheduling %s promotion of %s on %s", rsc 1239 lib/pacemaker/pcmk_sched_primitive.c (optional? "optional" : "required"), rsc->id, rsc 1242 lib/pacemaker/pcmk_sched_primitive.c if (is_expected_node(rsc, node)) { rsc 1246 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, rsc 1249 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(node)); rsc 1253 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Not promoting %s on %s: start unrunnable", rsc 1254 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(node)); rsc 1255 lib/pacemaker/pcmk_sched_primitive.c action_list = pe__resource_actions(rsc, node, RSC_PROMOTE, true); rsc 1274 lib/pacemaker/pcmk_sched_primitive.c demote_resource(pe_resource_t *rsc, pe_node_t *node, bool optional) rsc 1281 lib/pacemaker/pcmk_sched_primitive.c for (GList *iter = rsc->running_on; iter != NULL; iter = iter->next) { rsc 1284 lib/pacemaker/pcmk_sched_primitive.c if (is_expected_node(rsc, current)) { rsc 1285 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, rsc 1288 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(current)); rsc 1290 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Scheduling %s demotion of %s on %s", rsc 1291 lib/pacemaker/pcmk_sched_primitive.c (optional? "optional" : "required"), rsc->id, rsc 1293 lib/pacemaker/pcmk_sched_primitive.c demote_action(rsc, current, optional); rsc 1299 lib/pacemaker/pcmk_sched_primitive.c assert_role_error(pe_resource_t *rsc, pe_node_t *node, bool optional) rsc 1313 lib/pacemaker/pcmk_sched_primitive.c pcmk__schedule_cleanup(pe_resource_t *rsc, const pe_node_t *node, bool optional) rsc 1322 lib/pacemaker/pcmk_sched_primitive.c CRM_CHECK((rsc != NULL) && (node != NULL), return); rsc 1324 lib/pacemaker/pcmk_sched_primitive.c if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 1325 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Skipping clean-up of %s on %s: resource failed", rsc 1326 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(node)); rsc 1331 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_trace(rsc, "Skipping clean-up of %s on %s: node unavailable", rsc 1332 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(node)); rsc 1336 lib/pacemaker/pcmk_sched_primitive.c crm_notice("Scheduling clean-up of %s on %s", rsc->id, pe__node_name(node)); rsc 1337 lib/pacemaker/pcmk_sched_primitive.c delete_action(rsc, node, optional); rsc 1340 lib/pacemaker/pcmk_sched_primitive.c pcmk__order_resource_actions(rsc, RSC_STOP, rsc, RSC_DELETE, flag); rsc 1341 lib/pacemaker/pcmk_sched_primitive.c pcmk__order_resource_actions(rsc, RSC_DELETE, rsc, RSC_START, flag); rsc 1352 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_add_graph_meta(pe_resource_t *rsc, xmlNode *xml) rsc 1358 lib/pacemaker/pcmk_sched_primitive.c CRM_ASSERT((rsc != NULL) && (xml != NULL)); rsc 1364 lib/pacemaker/pcmk_sched_primitive.c value = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INCARNATION); rsc 1372 lib/pacemaker/pcmk_sched_primitive.c value = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_REMOTE_NODE); rsc 1383 lib/pacemaker/pcmk_sched_primitive.c for (parent = rsc; parent != NULL; parent = parent->parent) { rsc 1394 lib/pacemaker/pcmk_sched_primitive.c value = g_hash_table_lookup(rsc->meta, "external-ip"); rsc 1402 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_add_utilization(const pe_resource_t *rsc, rsc 1406 lib/pacemaker/pcmk_sched_primitive.c if (!pcmk_is_set(rsc->flags, pe_rsc_provisional)) { rsc 1411 lib/pacemaker/pcmk_sched_primitive.c orig_rsc->id, rsc->id); rsc 1412 lib/pacemaker/pcmk_sched_primitive.c pcmk__release_node_capacity(utilization, rsc); rsc 1451 lib/pacemaker/pcmk_sched_primitive.c pe_resource_t *rsc = (pe_resource_t *) user_data; rsc 1453 lib/pacemaker/pcmk_sched_primitive.c if (strcmp(node->details->uname, rsc->lock_node->details->uname) != 0) { rsc 1454 lib/pacemaker/pcmk_sched_primitive.c resource_location(rsc, node, -CRM_SCORE_INFINITY, rsc 1455 lib/pacemaker/pcmk_sched_primitive.c XML_CONFIG_ATTR_SHUTDOWN_LOCK, rsc->cluster); rsc 1461 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_shutdown_lock(pe_resource_t *rsc) rsc 1463 lib/pacemaker/pcmk_sched_primitive.c const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 1467 lib/pacemaker/pcmk_sched_primitive.c || pe__resource_is_remote_conn(rsc, rsc->cluster)) { rsc 1471 lib/pacemaker/pcmk_sched_primitive.c if (rsc->lock_node != NULL) { rsc 1474 lib/pacemaker/pcmk_sched_primitive.c if (rsc->running_on != NULL) { rsc 1479 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_info(rsc, rsc 1481 lib/pacemaker/pcmk_sched_primitive.c rsc->id); rsc 1482 lib/pacemaker/pcmk_sched_primitive.c pe__clear_resource_history(rsc, rsc->lock_node, rsc->cluster); rsc 1483 lib/pacemaker/pcmk_sched_primitive.c rsc->lock_node = NULL; rsc 1484 lib/pacemaker/pcmk_sched_primitive.c rsc->lock_time = 0; rsc 1488 lib/pacemaker/pcmk_sched_primitive.c } else if (pcmk__list_of_1(rsc->running_on)) { rsc 1489 lib/pacemaker/pcmk_sched_primitive.c pe_node_t *node = rsc->running_on->data; rsc 1493 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_debug(rsc, "Not locking %s to unclean %s for shutdown", rsc 1494 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(node)); rsc 1496 lib/pacemaker/pcmk_sched_primitive.c rsc->lock_node = node; rsc 1497 lib/pacemaker/pcmk_sched_primitive.c rsc->lock_time = shutdown_time(node); rsc 1502 lib/pacemaker/pcmk_sched_primitive.c if (rsc->lock_node == NULL) { rsc 1507 lib/pacemaker/pcmk_sched_primitive.c if (rsc->cluster->shutdown_lock > 0) { rsc 1508 lib/pacemaker/pcmk_sched_primitive.c time_t lock_expiration = rsc->lock_time + rsc->cluster->shutdown_lock; rsc 1510 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_info(rsc, "Locking %s to %s due to shutdown (expires @%lld)", rsc 1511 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(rsc->lock_node), rsc 1513 lib/pacemaker/pcmk_sched_primitive.c pe__update_recheck_time(++lock_expiration, rsc->cluster); rsc 1515 lib/pacemaker/pcmk_sched_primitive.c pe_rsc_info(rsc, "Locking %s to %s due to shutdown", rsc 1516 lib/pacemaker/pcmk_sched_primitive.c rsc->id, pe__node_name(rsc->lock_node)); rsc 1520 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(pe_action_t *probe, pe_resource_t *rsc, pe_node_t *node) rsc 31 lib/pacemaker/pcmk_sched_probes.c pe_node_t *running = pe_find_node_id(rsc->running_on, node->details->id); rsc 37 lib/pacemaker/pcmk_sched_probes.c } else if (rsc->role == RSC_ROLE_PROMOTED) { rsc 57 lib/pacemaker/pcmk_sched_probes.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 59 lib/pacemaker/pcmk_sched_probes.c if (rsc->cmds->create_probe(rsc, node)) { rsc 124 lib/pacemaker/pcmk_sched_probes.c probe_action(pe_resource_t *rsc, pe_node_t *node) rsc 127 lib/pacemaker/pcmk_sched_probes.c char *key = pcmk__op_key(rsc->id, RSC_STATUS, 0); rsc 130 lib/pacemaker/pcmk_sched_probes.c role2text(rsc->role), rsc->id, pe__node_name(node)); rsc 132 lib/pacemaker/pcmk_sched_probes.c probe = custom_action(rsc, key, RSC_STATUS, node, FALSE, TRUE, rsc 133 lib/pacemaker/pcmk_sched_probes.c rsc->cluster); rsc 136 lib/pacemaker/pcmk_sched_probes.c pcmk__order_vs_unfence(rsc, node, probe, pe_order_optional); rsc 137 lib/pacemaker/pcmk_sched_probes.c add_expected_result(probe, rsc, node); rsc 153 lib/pacemaker/pcmk_sched_probes.c pcmk__probe_rsc_on_node(pe_resource_t *rsc, pe_node_t *node) rsc 158 lib/pacemaker/pcmk_sched_probes.c pe_resource_t *top = uber_parent(rsc); rsc 161 lib/pacemaker/pcmk_sched_probes.c CRM_CHECK((rsc != NULL) && (node != NULL), return false); rsc 163 lib/pacemaker/pcmk_sched_probes.c if (!pcmk_is_set(rsc->cluster->flags, pe_flag_startup_probes)) { rsc 169 lib/pacemaker/pcmk_sched_probes.c const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 176 lib/pacemaker/pcmk_sched_probes.c && pe__resource_contains_guest_node(rsc->cluster, rsc)) { rsc 180 lib/pacemaker/pcmk_sched_probes.c } else if (rsc->is_remote_node) { rsc 187 lib/pacemaker/pcmk_sched_probes.c if (rsc->children != NULL) { rsc 188 lib/pacemaker/pcmk_sched_probes.c return pcmk__probe_resource_list(rsc->children, node); rsc 191 lib/pacemaker/pcmk_sched_probes.c if ((rsc->container != NULL) && !rsc->is_remote_node) { rsc 195 lib/pacemaker/pcmk_sched_probes.c } else if (pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 199 lib/pacemaker/pcmk_sched_probes.c } else if (g_hash_table_lookup(rsc->known_on, node->details->id) != NULL) { rsc 204 lib/pacemaker/pcmk_sched_probes.c allowed = g_hash_table_lookup(rsc->allowed_nodes, node->details->id); rsc 206 lib/pacemaker/pcmk_sched_probes.c if (rsc->exclusive_discover || top->exclusive_discover) { rsc 246 lib/pacemaker/pcmk_sched_probes.c NULL, pe_order_optional, rsc->cluster); rsc 252 lib/pacemaker/pcmk_sched_probes.c probe = probe_action(rsc, node); rsc 257 lib/pacemaker/pcmk_sched_probes.c if ((pcmk_is_set(rsc->flags, pe_rsc_fence_device) rsc 258 lib/pacemaker/pcmk_sched_probes.c && pcmk_is_set(rsc->cluster->flags, pe_flag_enable_unfencing)) rsc 260 lib/pacemaker/pcmk_sched_probes.c top = rsc; rsc 264 lib/pacemaker/pcmk_sched_probes.c && (rsc->running_on == NULL)) { rsc 272 lib/pacemaker/pcmk_sched_probes.c pcmk__new_ordering(rsc, NULL, probe, rsc 274 lib/pacemaker/pcmk_sched_probes.c flags, rsc->cluster); rsc 275 lib/pacemaker/pcmk_sched_probes.c pcmk__new_ordering(rsc, NULL, probe, top, reload_key(rsc), NULL, rsc 276 lib/pacemaker/pcmk_sched_probes.c pe_order_optional, rsc->cluster); rsc 281 lib/pacemaker/pcmk_sched_probes.c pe_rsc_trace(rsc, rsc 283 lib/pacemaker/pcmk_sched_probes.c rsc->id, node->details->id, reason); rsc 471 lib/pacemaker/pcmk_sched_probes.c if ((after == NULL) || (probe == NULL) || (probe->rsc == NULL) rsc 472 lib/pacemaker/pcmk_sched_probes.c || (probe->rsc->variant != pe_native) rsc 490 lib/pacemaker/pcmk_sched_probes.c if ((after->rsc != NULL) && (after->rsc->variant == pe_native) rsc 491 lib/pacemaker/pcmk_sched_probes.c && (probe->rsc != after->rsc)) { rsc 496 lib/pacemaker/pcmk_sched_probes.c then_actions = pe__resource_actions(after->rsc, NULL, RSC_STOP, rsc 500 lib/pacemaker/pcmk_sched_probes.c then_actions = pe__resource_actions(after->rsc, NULL, rsc 518 lib/pacemaker/pcmk_sched_probes.c if ((after->rsc != NULL) rsc 519 lib/pacemaker/pcmk_sched_probes.c && (after->rsc->variant > pe_group)) { rsc 520 lib/pacemaker/pcmk_sched_probes.c const char *interleave_s = g_hash_table_lookup(after->rsc->meta, rsc 525 lib/pacemaker/pcmk_sched_probes.c compatible_rsc = find_compatible_child(probe->rsc, rsc 526 lib/pacemaker/pcmk_sched_probes.c after->rsc, rsc 555 lib/pacemaker/pcmk_sched_probes.c if ((after->rsc == NULL) rsc 556 lib/pacemaker/pcmk_sched_probes.c || (after->rsc->variant < pe_group) rsc 557 lib/pacemaker/pcmk_sched_probes.c || (probe->rsc->parent == after->rsc) rsc 558 lib/pacemaker/pcmk_sched_probes.c || (after_wrapper->action->rsc == NULL) rsc 559 lib/pacemaker/pcmk_sched_probes.c || (after_wrapper->action->rsc->variant > pe_group) rsc 560 lib/pacemaker/pcmk_sched_probes.c || (after->rsc != after_wrapper->action->rsc->parent)) { rsc 567 lib/pacemaker/pcmk_sched_probes.c if ((after->rsc->variant > pe_group) && interleave rsc 569 lib/pacemaker/pcmk_sched_probes.c || (compatible_rsc != after_wrapper->action->rsc))) { rsc 611 lib/pacemaker/pcmk_sched_probes.c add_restart_orderings_for_rsc(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 616 lib/pacemaker/pcmk_sched_probes.c if (rsc->variant != pe_native) { rsc 617 lib/pacemaker/pcmk_sched_probes.c g_list_foreach(rsc->children, (GFunc) add_restart_orderings_for_rsc, rsc 623 lib/pacemaker/pcmk_sched_probes.c probes = pe__resource_actions(rsc, NULL, RSC_STATUS, FALSE); rsc 684 lib/pacemaker/pcmk_sched_probes.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 690 lib/pacemaker/pcmk_sched_probes.c actions = pe__resource_actions(rsc, NULL, RSC_START, FALSE); rsc 698 lib/pacemaker/pcmk_sched_probes.c crm_err("No start action for %s", rsc->id); rsc 702 lib/pacemaker/pcmk_sched_probes.c probes = pe__resource_actions(rsc, NULL, RSC_STATUS, FALSE); rsc 710 lib/pacemaker/pcmk_sched_probes.c pe_resource_t *first_rsc = first->rsc; rsc 722 lib/pacemaker/pcmk_sched_probes.c CRM_ASSERT(before->action->rsc != NULL); rsc 723 lib/pacemaker/pcmk_sched_probes.c first_rsc = before->action->rsc; rsc 734 lib/pacemaker/pcmk_sched_probes.c } else if (uber_parent(first_rsc) == uber_parent(start->rsc)) { rsc 76 lib/pacemaker/pcmk_sched_promotable.c check_for_role_change(pe_resource_t *rsc, bool *demoting, bool *promoting) rsc 81 lib/pacemaker/pcmk_sched_promotable.c if (rsc->children != NULL) { rsc 82 lib/pacemaker/pcmk_sched_promotable.c for (iter = rsc->children; iter != NULL; iter = iter->next) { rsc 89 lib/pacemaker/pcmk_sched_promotable.c for (iter = rsc->actions; iter != NULL; iter = iter->next) { rsc 154 lib/pacemaker/pcmk_sched_promotable.c node_to_be_promoted_on(pe_resource_t *rsc) rsc 158 lib/pacemaker/pcmk_sched_promotable.c pe_resource_t *parent = uber_parent(rsc); rsc 161 lib/pacemaker/pcmk_sched_promotable.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 165 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, rsc 167 lib/pacemaker/pcmk_sched_promotable.c rsc->id, child->id); rsc 172 lib/pacemaker/pcmk_sched_promotable.c node = rsc->fns->location(rsc, NULL, FALSE); rsc 174 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "%s can't be promoted because it won't be active", rsc 175 lib/pacemaker/pcmk_sched_promotable.c rsc->id); rsc 178 lib/pacemaker/pcmk_sched_promotable.c } else if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 179 lib/pacemaker/pcmk_sched_promotable.c if (rsc->fns->state(rsc, TRUE) == RSC_ROLE_PROMOTED) { rsc 181 lib/pacemaker/pcmk_sched_promotable.c rsc->id, pe__node_name(node)); rsc 183 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "%s can't be promoted because it is unmanaged", rsc 184 lib/pacemaker/pcmk_sched_promotable.c rsc->id); rsc 188 lib/pacemaker/pcmk_sched_promotable.c } else if (rsc->priority < 0) { rsc 189 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, rsc 192 lib/pacemaker/pcmk_sched_promotable.c rsc->id, rsc->priority); rsc 196 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "%s can't be promoted because %s can't run resources", rsc 197 lib/pacemaker/pcmk_sched_promotable.c rsc->id, pe__node_name(node)); rsc 208 lib/pacemaker/pcmk_sched_promotable.c if (pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 211 lib/pacemaker/pcmk_sched_promotable.c rsc->id, parent->id, pe__node_name(node)); rsc 216 lib/pacemaker/pcmk_sched_promotable.c && pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 217 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, rsc 220 lib/pacemaker/pcmk_sched_promotable.c rsc->id, pe__node_name(node)); rsc 539 lib/pacemaker/pcmk_sched_promotable.c is_allowed(const pe_resource_t *rsc, const pe_node_t *node) rsc 541 lib/pacemaker/pcmk_sched_promotable.c pe_node_t *allowed = pe_hash_table_lookup(rsc->allowed_nodes, rsc 557 lib/pacemaker/pcmk_sched_promotable.c promotion_score_applies(pe_resource_t *rsc, const pe_node_t *node) rsc 559 lib/pacemaker/pcmk_sched_promotable.c char *id = clone_strip(rsc->id); rsc 560 lib/pacemaker/pcmk_sched_promotable.c pe_resource_t *parent = uber_parent(rsc); rsc 565 lib/pacemaker/pcmk_sched_promotable.c if (!pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 569 lib/pacemaker/pcmk_sched_promotable.c if (active == rsc) { rsc 587 lib/pacemaker/pcmk_sched_promotable.c if ((rsc->running_on == NULL) && (g_hash_table_size(rsc->known_on) == 0)) { rsc 595 lib/pacemaker/pcmk_sched_promotable.c if ((pe_hash_table_lookup(rsc->known_on, node->details->id) != NULL) rsc 596 lib/pacemaker/pcmk_sched_promotable.c || (pe_find_node_id(rsc->running_on, node->details->id) != NULL)) { rsc 599 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, rsc 601 lib/pacemaker/pcmk_sched_promotable.c rsc->id, id, pe__node_name(node)); rsc 607 lib/pacemaker/pcmk_sched_promotable.c if (is_allowed(rsc, node)) { rsc 608 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Counting %s promotion score (for %s) on %s: %s", rsc 609 lib/pacemaker/pcmk_sched_promotable.c rsc->id, id, pe__node_name(node), reason); rsc 614 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Ignoring %s promotion score (for %s) on %s: not allowed", rsc 615 lib/pacemaker/pcmk_sched_promotable.c rsc->id, id, pe__node_name(node)); rsc 631 lib/pacemaker/pcmk_sched_promotable.c promotion_attr_value(pe_resource_t *rsc, const pe_node_t *node, rsc 637 lib/pacemaker/pcmk_sched_promotable.c CRM_CHECK((rsc != NULL) && (node != NULL) && (name != NULL), return NULL); rsc 640 lib/pacemaker/pcmk_sched_promotable.c attr_value = pe_node_attribute_calculated(node, attr_name, rsc); rsc 656 lib/pacemaker/pcmk_sched_promotable.c promotion_score(pe_resource_t *rsc, const pe_node_t *node, bool *is_default) rsc 665 lib/pacemaker/pcmk_sched_promotable.c CRM_CHECK((rsc != NULL) && (node != NULL), return 0); rsc 670 lib/pacemaker/pcmk_sched_promotable.c if (rsc->children != NULL) { rsc 673 lib/pacemaker/pcmk_sched_promotable.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 686 lib/pacemaker/pcmk_sched_promotable.c if (!promotion_score_applies(rsc, node)) { rsc 694 lib/pacemaker/pcmk_sched_promotable.c name = (rsc->clone_name == NULL)? rsc->id : rsc->clone_name; rsc 696 lib/pacemaker/pcmk_sched_promotable.c attr_value = promotion_attr_value(rsc, node, name); rsc 698 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Promotion score for %s on %s = %s", rsc 700 lib/pacemaker/pcmk_sched_promotable.c } else if (!pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 705 lib/pacemaker/pcmk_sched_promotable.c name = clone_strip(rsc->id); rsc 706 lib/pacemaker/pcmk_sched_promotable.c if (strcmp(rsc->id, name) != 0) { rsc 707 lib/pacemaker/pcmk_sched_promotable.c attr_value = promotion_attr_value(rsc, node, name); rsc 708 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, "Promotion score for %s on %s (for %s) = %s", rsc 709 lib/pacemaker/pcmk_sched_promotable.c name, pe__node_name(node), rsc->id, rsc 732 lib/pacemaker/pcmk_sched_promotable.c pcmk__add_promotion_scores(pe_resource_t *rsc) rsc 734 lib/pacemaker/pcmk_sched_promotable.c if (pe__set_clone_flag(rsc, pe__clone_promotion_added) == pcmk_rc_already) { rsc 738 lib/pacemaker/pcmk_sched_promotable.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 758 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, rsc 768 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(rsc, rsc 787 lib/pacemaker/pcmk_sched_promotable.c pe_resource_t *rsc = (pe_resource_t *) data; rsc 789 lib/pacemaker/pcmk_sched_promotable.c if (rsc->role == RSC_ROLE_STARTED) { rsc 791 lib/pacemaker/pcmk_sched_promotable.c rsc->role = RSC_ROLE_UNPROMOTED; rsc 793 lib/pacemaker/pcmk_sched_promotable.c g_list_foreach(rsc->children, set_current_role_unpromoted, NULL); rsc 806 lib/pacemaker/pcmk_sched_promotable.c pe_resource_t *rsc = (pe_resource_t *) data; rsc 809 lib/pacemaker/pcmk_sched_promotable.c rsc->fns->location(rsc, &assigned, FALSE); rsc 811 lib/pacemaker/pcmk_sched_promotable.c pe__set_next_role(rsc, RSC_ROLE_STOPPED, "stopped instance"); rsc 813 lib/pacemaker/pcmk_sched_promotable.c pe__set_next_role(rsc, RSC_ROLE_UNPROMOTED, "unpromoted instance"); rsc 816 lib/pacemaker/pcmk_sched_promotable.c g_list_foreach(rsc->children, set_next_role_unpromoted, NULL); rsc 829 lib/pacemaker/pcmk_sched_promotable.c pe_resource_t *rsc = (pe_resource_t *) data; rsc 831 lib/pacemaker/pcmk_sched_promotable.c if (rsc->next_role == RSC_ROLE_UNKNOWN) { rsc 832 lib/pacemaker/pcmk_sched_promotable.c pe__set_next_role(rsc, RSC_ROLE_PROMOTED, "promoted instance"); rsc 834 lib/pacemaker/pcmk_sched_promotable.c g_list_foreach(rsc->children, set_next_role_promoted, NULL); rsc 1012 lib/pacemaker/pcmk_sched_promotable.c pcmk__set_instance_roles(pe_resource_t *rsc) rsc 1019 lib/pacemaker/pcmk_sched_promotable.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 1025 lib/pacemaker/pcmk_sched_promotable.c g_list_foreach(rsc->children, set_instance_priority, rsc); rsc 1026 lib/pacemaker/pcmk_sched_promotable.c sort_promotable_instances(rsc); rsc 1029 lib/pacemaker/pcmk_sched_promotable.c g_list_foreach(rsc->children, set_instance_role, &promoted); rsc 1030 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_info(rsc, "%s: Promoted %d instances of a possible %d", rsc 1031 lib/pacemaker/pcmk_sched_promotable.c rsc->id, promoted, pe__clone_promoted_max(rsc)); rsc 58 lib/pacemaker/pcmk_sched_recurring.c is_op_dup(const pe_resource_t *rsc, const char *name, guint interval_ms) rsc 62 lib/pacemaker/pcmk_sched_recurring.c for (xmlNode *op = first_named_child(rsc->ops_xml, "op"); rsc 123 lib/pacemaker/pcmk_sched_recurring.c is_recurring_history(const pe_resource_t *rsc, const xmlNode *xml, rsc 147 lib/pacemaker/pcmk_sched_recurring.c if (is_op_dup(rsc, op->name, op->interval_ms)) { rsc 164 lib/pacemaker/pcmk_sched_recurring.c op->key = pcmk__op_key(rsc->id, op->name, op->interval_ms); rsc 165 lib/pacemaker/pcmk_sched_recurring.c if (find_rsc_op_entry(rsc, op->key) == NULL) { rsc 167 lib/pacemaker/pcmk_sched_recurring.c op->id, rsc->id); rsc 187 lib/pacemaker/pcmk_sched_recurring.c active_recurring_should_be_optional(const pe_resource_t *rsc, rsc 194 lib/pacemaker/pcmk_sched_recurring.c pe_rsc_trace(rsc, "%s will be mandatory because resource is unmanaged", rsc 199 lib/pacemaker/pcmk_sched_recurring.c if (!pcmk_is_set(rsc->cmds->action_flags(start, NULL), rsc 201 lib/pacemaker/pcmk_sched_recurring.c pe_rsc_trace(rsc, "%s will be mandatory because %s is", rsc 206 lib/pacemaker/pcmk_sched_recurring.c possible_matches = find_actions_exact(rsc->actions, key, node); rsc 208 lib/pacemaker/pcmk_sched_recurring.c pe_rsc_trace(rsc, "%s will be mandatory because it is not active on %s", rsc 217 lib/pacemaker/pcmk_sched_recurring.c pe_rsc_trace(rsc, rsc 239 lib/pacemaker/pcmk_sched_recurring.c recurring_op_for_active(pe_resource_t *rsc, pe_action_t *start, rsc 250 lib/pacemaker/pcmk_sched_recurring.c is_optional = active_recurring_should_be_optional(rsc, node, op->key, rsc 253 lib/pacemaker/pcmk_sched_recurring.c if (((op->role != RSC_ROLE_UNKNOWN) && (rsc->next_role != op->role)) rsc 255 lib/pacemaker/pcmk_sched_recurring.c && (rsc->next_role == RSC_ROLE_PROMOTED))) { rsc 260 lib/pacemaker/pcmk_sched_recurring.c pe_action_t *cancel_op = pcmk__new_cancel_action(rsc, op->name, rsc 264 lib/pacemaker/pcmk_sched_recurring.c switch (rsc->role) { rsc 267 lib/pacemaker/pcmk_sched_recurring.c if (rsc->next_role == RSC_ROLE_PROMOTED) { rsc 268 lib/pacemaker/pcmk_sched_recurring.c after_key = promote_key(rsc); rsc 270 lib/pacemaker/pcmk_sched_recurring.c } else if (rsc->next_role == RSC_ROLE_STOPPED) { rsc 271 lib/pacemaker/pcmk_sched_recurring.c after_key = stop_key(rsc); rsc 276 lib/pacemaker/pcmk_sched_recurring.c after_key = demote_key(rsc); rsc 283 lib/pacemaker/pcmk_sched_recurring.c pcmk__new_ordering(rsc, NULL, cancel_op, rsc, after_key, NULL, rsc 284 lib/pacemaker/pcmk_sched_recurring.c pe_order_runnable_left, rsc->cluster); rsc 293 lib/pacemaker/pcmk_sched_recurring.c role2text(rsc->next_role)); rsc 297 lib/pacemaker/pcmk_sched_recurring.c pe_rsc_trace(rsc, rsc 300 lib/pacemaker/pcmk_sched_recurring.c op->id, rsc->id, role2text(rsc->next_role), rsc 303 lib/pacemaker/pcmk_sched_recurring.c mon = custom_action(rsc, strdup(op->key), op->name, node, is_optional, TRUE, rsc 304 lib/pacemaker/pcmk_sched_recurring.c rsc->cluster); rsc 307 lib/pacemaker/pcmk_sched_recurring.c pe_rsc_trace(rsc, "%s is unrunnable because start is", mon->uuid); rsc 312 lib/pacemaker/pcmk_sched_recurring.c pe_rsc_trace(rsc, "%s is unrunnable because no node is available", rsc 317 lib/pacemaker/pcmk_sched_recurring.c pe_rsc_info(rsc, "Start %s-interval %s for %s on %s", rsc 319 lib/pacemaker/pcmk_sched_recurring.c rsc->id, pe__node_name(node)); rsc 322 lib/pacemaker/pcmk_sched_recurring.c if (rsc->next_role == RSC_ROLE_PROMOTED) { rsc 327 lib/pacemaker/pcmk_sched_recurring.c if ((node == NULL) || pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 328 lib/pacemaker/pcmk_sched_recurring.c pcmk__new_ordering(rsc, start_key(rsc), NULL, rsc 331 lib/pacemaker/pcmk_sched_recurring.c rsc->cluster); rsc 333 lib/pacemaker/pcmk_sched_recurring.c pcmk__new_ordering(rsc, reload_key(rsc), NULL, rsc 336 lib/pacemaker/pcmk_sched_recurring.c rsc->cluster); rsc 338 lib/pacemaker/pcmk_sched_recurring.c if (rsc->next_role == RSC_ROLE_PROMOTED) { rsc 339 lib/pacemaker/pcmk_sched_recurring.c pcmk__new_ordering(rsc, promote_key(rsc), NULL, rsc 340 lib/pacemaker/pcmk_sched_recurring.c rsc, NULL, mon, rsc 342 lib/pacemaker/pcmk_sched_recurring.c rsc->cluster); rsc 344 lib/pacemaker/pcmk_sched_recurring.c } else if (rsc->role == RSC_ROLE_PROMOTED) { rsc 345 lib/pacemaker/pcmk_sched_recurring.c pcmk__new_ordering(rsc, demote_key(rsc), NULL, rsc 346 lib/pacemaker/pcmk_sched_recurring.c rsc, NULL, mon, rsc 348 lib/pacemaker/pcmk_sched_recurring.c rsc->cluster); rsc 364 lib/pacemaker/pcmk_sched_recurring.c cancel_if_running(pe_resource_t *rsc, const pe_node_t *node, const char *key, rsc 367 lib/pacemaker/pcmk_sched_recurring.c GList *possible_matches = find_actions_exact(rsc->actions, key, node); rsc 375 lib/pacemaker/pcmk_sched_recurring.c cancel_op = pcmk__new_cancel_action(rsc, name, interval_ms, node); rsc 377 lib/pacemaker/pcmk_sched_recurring.c switch (rsc->next_role) { rsc 385 lib/pacemaker/pcmk_sched_recurring.c pcmk__new_ordering(rsc, NULL, cancel_op, rsc 386 lib/pacemaker/pcmk_sched_recurring.c rsc, start_key(rsc), NULL, rsc 387 lib/pacemaker/pcmk_sched_recurring.c pe_order_runnable_left, rsc->cluster); rsc 392 lib/pacemaker/pcmk_sched_recurring.c pe_rsc_info(rsc, rsc 395 lib/pacemaker/pcmk_sched_recurring.c pcmk__readable_interval(interval_ms), name, rsc->id, rsc 396 lib/pacemaker/pcmk_sched_recurring.c pe__node_name(node), role2text(rsc->next_role)); rsc 408 lib/pacemaker/pcmk_sched_recurring.c order_after_probes(pe_resource_t *rsc, const pe_node_t *node, rsc 411 lib/pacemaker/pcmk_sched_recurring.c GList *probes = pe__resource_actions(rsc, node, RSC_STATUS, FALSE); rsc 429 lib/pacemaker/pcmk_sched_recurring.c order_after_stops(pe_resource_t *rsc, const pe_node_t *node, rsc 432 lib/pacemaker/pcmk_sched_recurring.c GList *stop_ops = pe__resource_actions(rsc, node, RSC_STOP, TRUE); rsc 439 lib/pacemaker/pcmk_sched_recurring.c && !pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 440 lib/pacemaker/pcmk_sched_recurring.c pe_rsc_trace(rsc, "%s optional on %s: unmanaged", rsc 451 lib/pacemaker/pcmk_sched_recurring.c if (pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 452 lib/pacemaker/pcmk_sched_recurring.c pcmk__new_ordering(rsc, stop_key(rsc), stop, rsc 455 lib/pacemaker/pcmk_sched_recurring.c rsc->cluster); rsc 470 lib/pacemaker/pcmk_sched_recurring.c recurring_op_for_inactive(pe_resource_t *rsc, const pe_node_t *node, rsc 480 lib/pacemaker/pcmk_sched_recurring.c if (!pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 486 lib/pacemaker/pcmk_sched_recurring.c pe_rsc_trace(rsc, "Creating recurring action %s for %s on nodes " rsc 487 lib/pacemaker/pcmk_sched_recurring.c "where it should not be running", op->id, rsc->id); rsc 489 lib/pacemaker/pcmk_sched_recurring.c for (GList *iter = rsc->cluster->nodes; iter != NULL; iter = iter->next) { rsc 499 lib/pacemaker/pcmk_sched_recurring.c cancel_if_running(rsc, node, op->key, op->name, op->interval_ms); rsc 504 lib/pacemaker/pcmk_sched_recurring.c possible_matches = find_actions_exact(rsc->actions, op->key, stop_node); rsc 508 lib/pacemaker/pcmk_sched_recurring.c pe_rsc_trace(rsc, rsc 512 lib/pacemaker/pcmk_sched_recurring.c op->key, op->id, rsc->id, pe__node_name(stop_node)); rsc 514 lib/pacemaker/pcmk_sched_recurring.c stopped_mon = custom_action(rsc, strdup(op->key), op->name, stop_node, rsc 515 lib/pacemaker/pcmk_sched_recurring.c is_optional, TRUE, rsc->cluster); rsc 519 lib/pacemaker/pcmk_sched_recurring.c if (pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 520 lib/pacemaker/pcmk_sched_recurring.c order_after_probes(rsc, stop_node, stopped_mon); rsc 526 lib/pacemaker/pcmk_sched_recurring.c order_after_stops(rsc, stop_node, stopped_mon); rsc 529 lib/pacemaker/pcmk_sched_recurring.c pe_rsc_debug(rsc, "%s unrunnable on %s: node unavailable)", rsc 539 lib/pacemaker/pcmk_sched_recurring.c stopped_mon->task, rsc->id, pe__node_name(stop_node)); rsc 551 lib/pacemaker/pcmk_sched_recurring.c pcmk__create_recurring_actions(pe_resource_t *rsc) rsc 555 lib/pacemaker/pcmk_sched_recurring.c if (pcmk_is_set(rsc->flags, pe_rsc_block)) { rsc 556 lib/pacemaker/pcmk_sched_recurring.c pe_rsc_trace(rsc, "Skipping recurring actions for blocked resource %s", rsc 557 lib/pacemaker/pcmk_sched_recurring.c rsc->id); rsc 561 lib/pacemaker/pcmk_sched_recurring.c if (pcmk_is_set(rsc->flags, pe_rsc_maintenance)) { rsc 562 lib/pacemaker/pcmk_sched_recurring.c pe_rsc_trace(rsc, "Skipping recurring actions for %s " rsc 563 lib/pacemaker/pcmk_sched_recurring.c "in maintenance mode", rsc->id); rsc 567 lib/pacemaker/pcmk_sched_recurring.c if (rsc->allocated_to == NULL) { rsc 570 lib/pacemaker/pcmk_sched_recurring.c } else if (rsc->allocated_to->details->maintenance) { rsc 571 lib/pacemaker/pcmk_sched_recurring.c pe_rsc_trace(rsc, rsc 574 lib/pacemaker/pcmk_sched_recurring.c rsc->id, pe__node_name(rsc->allocated_to)); rsc 576 lib/pacemaker/pcmk_sched_recurring.c } else if ((rsc->next_role != RSC_ROLE_STOPPED) rsc 577 lib/pacemaker/pcmk_sched_recurring.c || !pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 579 lib/pacemaker/pcmk_sched_recurring.c start = start_action(rsc, rsc->allocated_to, TRUE); rsc 582 lib/pacemaker/pcmk_sched_recurring.c pe_rsc_trace(rsc, "Creating any recurring actions needed for %s", rsc->id); rsc 584 lib/pacemaker/pcmk_sched_recurring.c for (xmlNode *op = first_named_child(rsc->ops_xml, "op"); rsc 589 lib/pacemaker/pcmk_sched_recurring.c if (!is_recurring_history(rsc, op, &op_history)) { rsc 594 lib/pacemaker/pcmk_sched_recurring.c recurring_op_for_active(rsc, start, rsc->allocated_to, &op_history); rsc 596 lib/pacemaker/pcmk_sched_recurring.c recurring_op_for_inactive(rsc, rsc->allocated_to, &op_history); rsc 614 lib/pacemaker/pcmk_sched_recurring.c pcmk__new_cancel_action(pe_resource_t *rsc, const char *task, guint interval_ms, rsc 621 lib/pacemaker/pcmk_sched_recurring.c CRM_ASSERT((rsc != NULL) && (task != NULL) && (node != NULL)); rsc 624 lib/pacemaker/pcmk_sched_recurring.c key = pcmk__op_key(rsc->id, task, interval_ms); rsc 626 lib/pacemaker/pcmk_sched_recurring.c cancel_op = custom_action(rsc, key, RSC_CANCEL, node, FALSE, TRUE, rsc 627 lib/pacemaker/pcmk_sched_recurring.c rsc->cluster); rsc 652 lib/pacemaker/pcmk_sched_recurring.c pcmk__schedule_cancel(pe_resource_t *rsc, const char *call_id, const char *task, rsc 658 lib/pacemaker/pcmk_sched_recurring.c CRM_CHECK((rsc != NULL) && (task != NULL) rsc 663 lib/pacemaker/pcmk_sched_recurring.c pcmk__readable_interval(interval_ms), task, rsc->id, rsc 665 lib/pacemaker/pcmk_sched_recurring.c cancel = pcmk__new_cancel_action(rsc, task, interval_ms, node); rsc 669 lib/pacemaker/pcmk_sched_recurring.c pcmk__new_ordering(rsc, stop_key(rsc), NULL, rsc, NULL, cancel, rsc 670 lib/pacemaker/pcmk_sched_recurring.c pe_order_optional, rsc->cluster); rsc 683 lib/pacemaker/pcmk_sched_recurring.c pcmk__reschedule_recurring(pe_resource_t *rsc, const char *task, rsc 688 lib/pacemaker/pcmk_sched_recurring.c trigger_unfencing(rsc, node, "Device parameters changed (reschedule)", rsc 689 lib/pacemaker/pcmk_sched_recurring.c NULL, rsc->cluster); rsc 690 lib/pacemaker/pcmk_sched_recurring.c op = custom_action(rsc, pcmk__op_key(rsc->id, task, interval_ms), rsc 691 lib/pacemaker/pcmk_sched_recurring.c task, node, TRUE, TRUE, rsc->cluster); rsc 67 lib/pacemaker/pcmk_sched_remote.c then_action->rsc, NULL, then_action, rsc 78 lib/pacemaker/pcmk_sched_remote.c pcmk__new_ordering(first_action->rsc, NULL, first_action, rsc 173 lib/pacemaker/pcmk_sched_remote.c if (action->rsc == NULL) { rsc 309 lib/pacemaker/pcmk_sched_remote.c CRM_ASSERT(action->rsc != NULL); 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 423 lib/pacemaker/pcmk_sched_remote.c pcmk__new_ordering(action->rsc, NULL, action, action->rsc, rsc 424 lib/pacemaker/pcmk_sched_remote.c pcmk__op_key(action->rsc->id, RSC_START, 0), rsc 461 lib/pacemaker/pcmk_sched_remote.c for (GList *item = action->rsc->actions; item != NULL; rsc 468 lib/pacemaker/pcmk_sched_remote.c action->rsc, NULL, rsc_action, rsc 520 lib/pacemaker/pcmk_sched_remote.c pcmk__rsc_corresponds_to_guest(pe_resource_t *rsc, pe_node_t *node) rsc 522 lib/pacemaker/pcmk_sched_remote.c return (rsc != NULL) && (rsc->fillers != NULL) && (node != NULL) rsc 524 lib/pacemaker/pcmk_sched_remote.c && (node->details->remote_rsc->container == rsc); rsc 567 lib/pacemaker/pcmk_sched_remote.c action->task, (action->rsc? action->rsc->id : "no resource"), rsc 576 lib/pacemaker/pcmk_sched_remote.c action->task, (action->rsc? action->rsc->id : "no resource"), rsc 585 lib/pacemaker/pcmk_sched_remote.c action->task, (action->rsc? action->rsc->id : "no resource"), rsc 618 lib/pacemaker/pcmk_sched_remote.c action->task, (action->rsc? action->rsc->id : "no resource"), rsc 630 lib/pacemaker/pcmk_sched_remote.c action->task, (action->rsc? action->rsc->id : "no resource"), rsc 649 lib/pacemaker/pcmk_sched_remote.c pcmk__substitute_remote_addr(pe_resource_t *rsc, GHashTable *params) rsc 655 lib/pacemaker/pcmk_sched_remote.c GHashTable *base = pe_rsc_params(rsc, NULL, rsc->cluster); rsc 715 lib/pacemaker/pcmk_sched_remote.c (gpointer) g_hash_table_lookup(action->rsc->meta, rsc 99 lib/pacemaker/pcmk_sched_resource.c pcmk__rsc_agent_changed(pe_resource_t *rsc, pe_node_t *node, rsc 110 lib/pacemaker/pcmk_sched_resource.c const char *value = crm_element_value(rsc->xml, attr_list[i]); rsc 115 lib/pacemaker/pcmk_sched_resource.c trigger_unfencing(rsc, node, "Device definition changed", NULL, rsc 116 lib/pacemaker/pcmk_sched_resource.c rsc->cluster); rsc 120 lib/pacemaker/pcmk_sched_resource.c rsc->id, pe__node_name(node), attr_list[i], rsc 127 lib/pacemaker/pcmk_sched_resource.c custom_action(rsc, stop_key(rsc), CRMD_ACTION_STOP, node, FALSE, TRUE, rsc 128 lib/pacemaker/pcmk_sched_resource.c rsc->cluster); rsc 129 lib/pacemaker/pcmk_sched_resource.c pe__set_resource_flags(rsc, pe_rsc_start_pending); rsc 145 lib/pacemaker/pcmk_sched_resource.c add_rsc_if_matching(GList *result, pe_resource_t *rsc, const char *id) rsc 147 lib/pacemaker/pcmk_sched_resource.c if ((strcmp(rsc->id, id) == 0) rsc 148 lib/pacemaker/pcmk_sched_resource.c || ((rsc->clone_name != NULL) && (strcmp(rsc->clone_name, id) == 0))) { rsc 149 lib/pacemaker/pcmk_sched_resource.c result = g_list_prepend(result, rsc); rsc 151 lib/pacemaker/pcmk_sched_resource.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 190 lib/pacemaker/pcmk_sched_resource.c set_allocation_methods_for_rsc(pe_resource_t *rsc, void *ignored) rsc 192 lib/pacemaker/pcmk_sched_resource.c rsc->cmds = &allocation_methods[rsc->variant]; rsc 193 lib/pacemaker/pcmk_sched_resource.c g_list_foreach(rsc->children, (GFunc) set_allocation_methods_for_rsc, NULL); rsc 211 lib/pacemaker/pcmk_sched_resource.c pcmk__colocated_resources(pe_resource_t *rsc, pe_resource_t *orig_rsc, rsc 217 lib/pacemaker/pcmk_sched_resource.c orig_rsc = rsc; rsc 220 lib/pacemaker/pcmk_sched_resource.c if ((rsc == NULL) || (g_list_find(colocated_rscs, rsc) != NULL)) { rsc 225 lib/pacemaker/pcmk_sched_resource.c rsc->id, orig_rsc->id); rsc 226 lib/pacemaker/pcmk_sched_resource.c colocated_rscs = g_list_append(colocated_rscs, rsc); rsc 229 lib/pacemaker/pcmk_sched_resource.c for (gIter = rsc->rsc_cons; gIter != NULL; gIter = gIter->next) { rsc 238 lib/pacemaker/pcmk_sched_resource.c (pcmk__colocation_affects(rsc, primary, constraint, rsc 248 lib/pacemaker/pcmk_sched_resource.c for (gIter = rsc->rsc_cons_lhs; gIter != NULL; gIter = gIter->next) { rsc 256 lib/pacemaker/pcmk_sched_resource.c if (pe_rsc_is_clone(rsc) && !pe_rsc_is_clone(dependent)) { rsc 261 lib/pacemaker/pcmk_sched_resource.c (pcmk__colocation_affects(dependent, rsc, constraint, rsc 275 lib/pacemaker/pcmk_sched_resource.c pcmk__noop_add_graph_meta(pe_resource_t *rsc, xmlNode *xml) rsc 280 lib/pacemaker/pcmk_sched_resource.c pcmk__output_resource_actions(pe_resource_t *rsc) rsc 282 lib/pacemaker/pcmk_sched_resource.c pcmk__output_t *out = rsc->cluster->priv; rsc 287 lib/pacemaker/pcmk_sched_resource.c if (rsc->children != NULL) { rsc 288 lib/pacemaker/pcmk_sched_resource.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 296 lib/pacemaker/pcmk_sched_resource.c next = rsc->allocated_to; rsc 297 lib/pacemaker/pcmk_sched_resource.c if (rsc->running_on) { rsc 298 lib/pacemaker/pcmk_sched_resource.c current = pe__current_node(rsc); rsc 299 lib/pacemaker/pcmk_sched_resource.c if (rsc->role == RSC_ROLE_STOPPED) { rsc 303 lib/pacemaker/pcmk_sched_resource.c rsc->role = RSC_ROLE_STARTED; rsc 307 lib/pacemaker/pcmk_sched_resource.c if ((current == NULL) && pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 312 lib/pacemaker/pcmk_sched_resource.c out->message(out, "rsc-action", rsc, current, next); rsc 337 lib/pacemaker/pcmk_sched_resource.c pcmk__finalize_assignment(pe_resource_t *rsc, pe_node_t *chosen, bool force) rsc 339 lib/pacemaker/pcmk_sched_resource.c pcmk__output_t *out = rsc->cluster->priv; rsc 341 lib/pacemaker/pcmk_sched_resource.c CRM_ASSERT(rsc->variant == pe_native); rsc 351 lib/pacemaker/pcmk_sched_resource.c rsc->id, pe__node_name(chosen), rsc 354 lib/pacemaker/pcmk_sched_resource.c pe__set_next_role(rsc, RSC_ROLE_STOPPED, "node availability"); rsc 359 lib/pacemaker/pcmk_sched_resource.c pcmk__unassign_resource(rsc); rsc 360 lib/pacemaker/pcmk_sched_resource.c pe__clear_resource_flags(rsc, pe_rsc_provisional); rsc 363 lib/pacemaker/pcmk_sched_resource.c crm_debug("Could not allocate a node for %s", rsc->id); rsc 364 lib/pacemaker/pcmk_sched_resource.c pe__set_next_role(rsc, RSC_ROLE_STOPPED, "unable to allocate"); rsc 366 lib/pacemaker/pcmk_sched_resource.c for (GList *iter = rsc->actions; iter != NULL; iter = iter->next) { rsc 399 lib/pacemaker/pcmk_sched_resource.c crm_debug("Assigning %s to %s", rsc->id, pe__node_name(chosen)); rsc 400 lib/pacemaker/pcmk_sched_resource.c rsc->allocated_to = pe__copy_node(chosen); rsc 403 lib/pacemaker/pcmk_sched_resource.c rsc); rsc 406 lib/pacemaker/pcmk_sched_resource.c pcmk__consume_node_capacity(chosen->details->utilization, rsc); rsc 408 lib/pacemaker/pcmk_sched_resource.c if (pcmk_is_set(rsc->cluster->flags, pe_flag_show_utilization)) { rsc 409 lib/pacemaker/pcmk_sched_resource.c out->message(out, "resource-util", rsc, chosen, __func__); rsc 435 lib/pacemaker/pcmk_sched_resource.c pcmk__assign_resource(pe_resource_t *rsc, pe_node_t *node, bool force) rsc 439 lib/pacemaker/pcmk_sched_resource.c if (rsc->children == NULL) { rsc 440 lib/pacemaker/pcmk_sched_resource.c if (rsc->allocated_to != NULL) { rsc 443 lib/pacemaker/pcmk_sched_resource.c pcmk__finalize_assignment(rsc, node, force); rsc 446 lib/pacemaker/pcmk_sched_resource.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 466 lib/pacemaker/pcmk_sched_resource.c pcmk__unassign_resource(pe_resource_t *rsc) rsc 468 lib/pacemaker/pcmk_sched_resource.c pe_node_t *old = rsc->allocated_to; rsc 474 lib/pacemaker/pcmk_sched_resource.c crm_info("Unassigning %s from %s", rsc->id, pe__node_name(old)); rsc 475 lib/pacemaker/pcmk_sched_resource.c pe__set_resource_flags(rsc, pe_rsc_provisional); rsc 476 lib/pacemaker/pcmk_sched_resource.c rsc->allocated_to = NULL; rsc 482 lib/pacemaker/pcmk_sched_resource.c rsc); rsc 484 lib/pacemaker/pcmk_sched_resource.c pcmk__release_node_capacity(old->details->utilization, rsc); rsc 500 lib/pacemaker/pcmk_sched_resource.c pcmk__threshold_reached(pe_resource_t *rsc, pe_node_t *node, rsc 504 lib/pacemaker/pcmk_sched_resource.c pe_resource_t *rsc_to_ban = rsc; rsc 507 lib/pacemaker/pcmk_sched_resource.c if (rsc->migration_threshold == 0) { rsc 512 lib/pacemaker/pcmk_sched_resource.c if (pcmk_is_set(rsc->flags, pe_rsc_failure_ignored)) { rsc 517 lib/pacemaker/pcmk_sched_resource.c fail_count = pe_get_failcount(node, rsc, NULL, rsc 519 lib/pacemaker/pcmk_sched_resource.c rsc->cluster); rsc 525 lib/pacemaker/pcmk_sched_resource.c if (!pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 526 lib/pacemaker/pcmk_sched_resource.c rsc_to_ban = uber_parent(rsc); rsc 530 lib/pacemaker/pcmk_sched_resource.c remaining_tries = rsc->migration_threshold - fail_count; rsc 537 lib/pacemaker/pcmk_sched_resource.c rsc->migration_threshold); rsc 547 lib/pacemaker/pcmk_sched_resource.c pe__node_name(node), rsc->migration_threshold); rsc 736 lib/pacemaker/pcmk_sched_resource.c apply_parent_colocations(const pe_resource_t *rsc, GHashTable **nodes) rsc 741 lib/pacemaker/pcmk_sched_resource.c for (iter = rsc->parent->rsc_cons; iter != NULL; iter = iter->next) { rsc 743 lib/pacemaker/pcmk_sched_resource.c pcmk__add_colocated_node_scores(colocation->primary, rsc->id, nodes, rsc 748 lib/pacemaker/pcmk_sched_resource.c for (iter = rsc->parent->rsc_cons_lhs; iter != NULL; iter = iter->next) { rsc 750 lib/pacemaker/pcmk_sched_resource.c if (!pcmk__colocation_has_influence(colocation, rsc)) { rsc 753 lib/pacemaker/pcmk_sched_resource.c pcmk__add_colocated_node_scores(colocation->dependent, rsc->id, nodes, rsc 831 lib/pacemaker/pcmk_sched_resource.c did_fail(const pe_resource_t * rsc) rsc 833 lib/pacemaker/pcmk_sched_resource.c if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 836 lib/pacemaker/pcmk_sched_resource.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 854 lib/pacemaker/pcmk_sched_resource.c node_is_allowed(const pe_resource_t *rsc, pe_node_t **node) rsc 857 lib/pacemaker/pcmk_sched_resource.c pe_node_t *allowed = pe_hash_table_lookup(rsc->allowed_nodes, rsc 860 lib/pacemaker/pcmk_sched_resource.c pe_rsc_trace(rsc, "%s: current location (%s) is unavailable", rsc 861 lib/pacemaker/pcmk_sched_resource.c rsc->id, pe__node_name(*node)); rsc 30 lib/pacemaker/pcmk_sched_tickets.c pe_resource_t *rsc; rsc 46 lib/pacemaker/pcmk_sched_tickets.c ticket_role_matches(pe_resource_t *rsc, rsc_ticket_t *rsc_ticket) rsc 49 lib/pacemaker/pcmk_sched_tickets.c || (rsc_ticket->role == rsc->role)) { rsc 52 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(pe_resource_t *rsc, rsc_ticket_t *rsc_ticket, rsc 70 lib/pacemaker/pcmk_sched_tickets.c CRM_CHECK((rsc != NULL) && (rsc_ticket != NULL), return); rsc 76 lib/pacemaker/pcmk_sched_tickets.c if (rsc->children) { rsc 77 lib/pacemaker/pcmk_sched_tickets.c pe_rsc_trace(rsc, "Processing ticket dependencies from %s", rsc->id); rsc 78 lib/pacemaker/pcmk_sched_tickets.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 85 lib/pacemaker/pcmk_sched_tickets.c pe_rsc_trace(rsc, "%s: Processing ticket dependency on %s (%s, %s)", rsc 86 lib/pacemaker/pcmk_sched_tickets.c rsc->id, rsc_ticket->ticket->id, rsc_ticket->id, rsc 89 lib/pacemaker/pcmk_sched_tickets.c if (!rsc_ticket->ticket->granted && (rsc->running_on != NULL)) { rsc 93 lib/pacemaker/pcmk_sched_tickets.c resource_location(rsc, NULL, -INFINITY, "__loss_of_ticket__", rsc 100 lib/pacemaker/pcmk_sched_tickets.c resource_location(rsc, NULL, -INFINITY, rsc 106 lib/pacemaker/pcmk_sched_tickets.c if (!ticket_role_matches(rsc, rsc_ticket)) { rsc 110 lib/pacemaker/pcmk_sched_tickets.c resource_location(rsc, NULL, -INFINITY, "__loss_of_ticket__", rsc 113 lib/pacemaker/pcmk_sched_tickets.c for (gIter = rsc->running_on; gIter != NULL; rsc 121 lib/pacemaker/pcmk_sched_tickets.c if (!ticket_role_matches(rsc, rsc_ticket)) { rsc 124 lib/pacemaker/pcmk_sched_tickets.c if (rsc->running_on != NULL) { rsc 125 lib/pacemaker/pcmk_sched_tickets.c pe__clear_resource_flags(rsc, pe_rsc_managed); rsc 126 lib/pacemaker/pcmk_sched_tickets.c pe__set_resource_flags(rsc, pe_rsc_block); rsc 135 lib/pacemaker/pcmk_sched_tickets.c resource_location(rsc, NULL, -INFINITY, "__no_ticket__", rsc 143 lib/pacemaker/pcmk_sched_tickets.c resource_location(rsc, NULL, -INFINITY, "__ticket_standby__", rsc 150 lib/pacemaker/pcmk_sched_tickets.c rsc_ticket_new(const char *id, pe_resource_t *rsc, pe_ticket_t *ticket, rsc 156 lib/pacemaker/pcmk_sched_tickets.c if (rsc == NULL) { rsc 174 lib/pacemaker/pcmk_sched_tickets.c new_rsc_ticket->rsc = rsc; rsc 190 lib/pacemaker/pcmk_sched_tickets.c new_rsc_ticket->ticket->id, new_rsc_ticket->rsc->id, rsc 195 lib/pacemaker/pcmk_sched_tickets.c new_rsc_ticket->ticket->id, new_rsc_ticket->rsc->id, rsc 201 lib/pacemaker/pcmk_sched_tickets.c new_rsc_ticket->ticket->id, new_rsc_ticket->rsc->id, rsc 207 lib/pacemaker/pcmk_sched_tickets.c new_rsc_ticket->ticket->id, new_rsc_ticket->rsc->id, rsc 214 lib/pacemaker/pcmk_sched_tickets.c new_rsc_ticket->ticket->id, new_rsc_ticket->rsc->id, rsc 220 lib/pacemaker/pcmk_sched_tickets.c new_rsc_ticket->ticket->id, new_rsc_ticket->rsc->id, rsc 226 lib/pacemaker/pcmk_sched_tickets.c pe_rsc_trace(rsc, "%s (%s) ==> %s", rsc 227 lib/pacemaker/pcmk_sched_tickets.c rsc->id, role2text(new_rsc_ticket->role), ticket->id); rsc 229 lib/pacemaker/pcmk_sched_tickets.c rsc->rsc_tickets = g_list_append(rsc->rsc_tickets, new_rsc_ticket); rsc 235 lib/pacemaker/pcmk_sched_tickets.c constraints_for_ticket(rsc, new_rsc_ticket, data_set); rsc 297 lib/pacemaker/pcmk_sched_tickets.c pe_resource_t *rsc = NULL; rsc 332 lib/pacemaker/pcmk_sched_tickets.c rsc = pcmk__find_constraint_resource(data_set->resources, rsc_id); rsc 335 lib/pacemaker/pcmk_sched_tickets.c if (rsc == NULL) { rsc 340 lib/pacemaker/pcmk_sched_tickets.c } else if ((instance != NULL) && !pe_rsc_is_clone(rsc)) { rsc 348 lib/pacemaker/pcmk_sched_tickets.c rsc = find_clone_instance(rsc, instance, data_set); rsc 349 lib/pacemaker/pcmk_sched_tickets.c if (rsc == NULL) { rsc 357 lib/pacemaker/pcmk_sched_tickets.c rsc_ticket_new(id, rsc, ticket, state, loss_policy, data_set); rsc 369 lib/pacemaker/pcmk_sched_tickets.c pe_resource_t *rsc = NULL; rsc 397 lib/pacemaker/pcmk_sched_tickets.c if (!pcmk__valid_resource_or_tag(data_set, rsc_id, &rsc, &tag)) { rsc 402 lib/pacemaker/pcmk_sched_tickets.c } else if (rsc != NULL) { rsc 520 lib/pacemaker/pcmk_sched_tickets.c pcmk__require_promotion_tickets(pe_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 169 lib/pacemaker/pcmk_sched_utilization.c pcmk__consume_node_capacity(GHashTable *current_utilization, pe_resource_t *rsc) rsc 176 lib/pacemaker/pcmk_sched_utilization.c g_hash_table_foreach(rsc->utilization, update_utilization_value, &data); rsc 188 lib/pacemaker/pcmk_sched_utilization.c const pe_resource_t *rsc) rsc 195 lib/pacemaker/pcmk_sched_utilization.c g_hash_table_foreach(rsc->utilization, update_utilization_value, &data); rsc 280 lib/pacemaker/pcmk_sched_utilization.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 282 lib/pacemaker/pcmk_sched_utilization.c rsc->cmds->add_utilization(rsc, orig_rsc, rscs, utilization); rsc 297 lib/pacemaker/pcmk_sched_utilization.c pcmk__ban_insufficient_capacity(pe_resource_t *rsc) rsc 307 lib/pacemaker/pcmk_sched_utilization.c CRM_CHECK(rsc != NULL, return NULL); rsc 310 lib/pacemaker/pcmk_sched_utilization.c if (pcmk__str_eq(rsc->cluster->placement_strategy, "default", rsc 316 lib/pacemaker/pcmk_sched_utilization.c colocated_rscs = rsc->cmds->colocated_resources(rsc, NULL, NULL); rsc 321 lib/pacemaker/pcmk_sched_utilization.c rscs_id = crm_strdup_printf("%s and its colocated resources", rsc->id); rsc 324 lib/pacemaker/pcmk_sched_utilization.c if (g_list_find(colocated_rscs, rsc) == NULL) { rsc 325 lib/pacemaker/pcmk_sched_utilization.c colocated_rscs = g_list_append(colocated_rscs, rsc); rsc 329 lib/pacemaker/pcmk_sched_utilization.c unallocated_utilization = sum_resource_utilization(rsc, colocated_rscs); rsc 332 lib/pacemaker/pcmk_sched_utilization.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 351 lib/pacemaker/pcmk_sched_utilization.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 356 lib/pacemaker/pcmk_sched_utilization.c pe_rsc_debug(rsc, "%s does not have enough capacity for %s", rsc 358 lib/pacemaker/pcmk_sched_utilization.c resource_location(rsc, node, -INFINITY, "__limit_utilization__", rsc 359 lib/pacemaker/pcmk_sched_utilization.c rsc->cluster); rsc 366 lib/pacemaker/pcmk_sched_utilization.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 369 lib/pacemaker/pcmk_sched_utilization.c && !have_enough_capacity(node, rsc->id, rsc->utilization)) { rsc 370 lib/pacemaker/pcmk_sched_utilization.c pe_rsc_debug(rsc, "%s does not have enough capacity for %s", rsc 371 lib/pacemaker/pcmk_sched_utilization.c pe__node_name(node), rsc->id); rsc 372 lib/pacemaker/pcmk_sched_utilization.c resource_location(rsc, node, -INFINITY, "__limit_utilization__", rsc 373 lib/pacemaker/pcmk_sched_utilization.c rsc->cluster); rsc 382 lib/pacemaker/pcmk_sched_utilization.c pe__show_node_weights(true, rsc, "Post-utilization", rsc 383 lib/pacemaker/pcmk_sched_utilization.c rsc->allowed_nodes, rsc->cluster); rsc 419 lib/pacemaker/pcmk_sched_utilization.c pcmk__create_utilization_constraints(pe_resource_t *rsc, GList *allowed_nodes) rsc 425 lib/pacemaker/pcmk_sched_utilization.c pe_rsc_trace(rsc, "Creating utilization constraints for %s - strategy: %s", rsc 426 lib/pacemaker/pcmk_sched_utilization.c rsc->id, rsc->cluster->placement_strategy); rsc 429 lib/pacemaker/pcmk_sched_utilization.c for (iter = rsc->running_on; iter != NULL; iter = iter->next) { rsc 431 lib/pacemaker/pcmk_sched_utilization.c load_stopped = new_load_stopped_op(node, rsc->cluster); rsc 432 lib/pacemaker/pcmk_sched_utilization.c pcmk__new_ordering(rsc, stop_key(rsc), NULL, NULL, NULL, load_stopped, rsc 433 lib/pacemaker/pcmk_sched_utilization.c pe_order_load, rsc->cluster); rsc 439 lib/pacemaker/pcmk_sched_utilization.c load_stopped = new_load_stopped_op(node, rsc->cluster); rsc 440 lib/pacemaker/pcmk_sched_utilization.c pcmk__new_ordering(NULL, NULL, load_stopped, rsc, start_key(rsc), NULL, rsc 441 lib/pacemaker/pcmk_sched_utilization.c pe_order_load, rsc->cluster); rsc 443 lib/pacemaker/pcmk_sched_utilization.c rsc, pcmk__op_key(rsc->id, RSC_MIGRATE, 0), NULL, rsc 444 lib/pacemaker/pcmk_sched_utilization.c pe_order_load, rsc->cluster); 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 105 lib/pacemaker/pcmk_simulate.c } else if (action->rsc && action_host) { rsc 244 lib/pacemaker/pcmk_simulate.c } else if ((action->rsc != NULL) rsc 245 lib/pacemaker/pcmk_simulate.c && !pcmk_is_set(action->rsc->flags, pe_rsc_managed)) { rsc 660 lib/pacemaker/pcmk_simulate.c xmlNode *rsc = first_named_child(action->xml, XML_CIB_TAG_RESOURCE); rsc 663 lib/pacemaker/pcmk_simulate.c out->message(out, "inject-cluster-action", node, task, rsc); rsc 96 lib/pengine/bundle.c xmlNode *rsc = create_xml_node(NULL, XML_CIB_TAG_RESOURCE); rsc 98 lib/pengine/bundle.c crm_xml_add(rsc, XML_ATTR_ID, name); rsc 99 lib/pengine/bundle.c crm_xml_add(rsc, XML_AGENT_ATTR_CLASS, PCMK_RESOURCE_CLASS_OCF); rsc 100 lib/pengine/bundle.c crm_xml_add(rsc, XML_AGENT_ATTR_PROVIDER, provider); rsc 101 lib/pengine/bundle.c crm_xml_add(rsc, XML_ATTR_TYPE, kind); rsc 103 lib/pengine/bundle.c return rsc; rsc 437 lib/pengine/bundle.c disallow_node(pe_resource_t *rsc, const char *uname) rsc 439 lib/pengine/bundle.c gpointer match = g_hash_table_lookup(rsc->allowed_nodes, uname); rsc 445 lib/pengine/bundle.c if (rsc->children) { rsc 446 lib/pengine/bundle.c g_list_foreach(rsc->children, (GFunc) disallow_node, (gpointer) uname); rsc 690 lib/pengine/bundle.c pe__bundle_needs_remote_name(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 695 lib/pengine/bundle.c if (rsc == NULL) { rsc 700 lib/pengine/bundle.c params = pe_rsc_params(rsc, NULL, data_set); rsc 704 lib/pengine/bundle.c && xml_contains_remote_node(rsc->xml); rsc 708 lib/pengine/bundle.c pe__add_bundle_remote_name(pe_resource_t *rsc, pe_working_set_t *data_set, rsc 716 lib/pengine/bundle.c if (!pe__bundle_needs_remote_name(rsc, data_set)) { rsc 720 lib/pengine/bundle.c replica = replica_for_remote(rsc); rsc 734 lib/pengine/bundle.c crm_trace("Cannot determine address for bundle connection %s", rsc->id); rsc 739 lib/pengine/bundle.c rsc->id, pe__node_name(node)); rsc 754 lib/pengine/bundle.c pe__unpack_bundle(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 762 lib/pengine/bundle.c CRM_ASSERT(rsc != NULL); rsc 763 lib/pengine/bundle.c pe_rsc_trace(rsc, "Processing resource %s...", rsc->id); rsc 766 lib/pengine/bundle.c rsc->variant_opaque = bundle_data; rsc 767 lib/pengine/bundle.c bundle_data->prefix = strdup(rsc->id); rsc 769 lib/pengine/bundle.c xml_obj = first_named_child(rsc->xml, PE__CONTAINER_AGENT_DOCKER_S); rsc 773 lib/pengine/bundle.c xml_obj = first_named_child(rsc->xml, PE__CONTAINER_AGENT_RKT_S); rsc 777 lib/pengine/bundle.c xml_obj = first_named_child(rsc->xml, PE__CONTAINER_AGENT_PODMAN_S); rsc 810 lib/pengine/bundle.c pe__clear_resource_flags(rsc, pe_rsc_unique); rsc 818 lib/pengine/bundle.c xml_obj = first_named_child(rsc->xml, "network"); rsc 855 lib/pengine/bundle.c xml_obj = first_named_child(rsc->xml, "storage"); rsc 880 lib/pengine/bundle.c xml_obj = first_named_child(rsc->xml, "primitive"); rsc 929 lib/pengine/bundle.c rsc->id, ID(xml_obj)); rsc 939 lib/pengine/bundle.c if (pe__unpack_resource(xml_resource, &(bundle_data->child), rsc, rsc 1014 lib/pengine/bundle.c g_hash_table_replace(rsc->meta, strdup(XML_RSC_ATTR_TARGET), rsc 1040 lib/pengine/bundle.c if (create_replica_resources(rsc, bundle_data, replica) != pcmk_rc_ok) { rsc 1041 lib/pengine/bundle.c pe_err("Failed unpacking resource %s", rsc->id); rsc 1042 lib/pengine/bundle.c rsc->fns->free(rsc); rsc 1071 lib/pengine/bundle.c rsc->children = g_list_append(rsc->children, bundle_data->child); rsc 1077 lib/pengine/bundle.c replica_resource_active(pe_resource_t *rsc, gboolean all) rsc 1079 lib/pengine/bundle.c if (rsc) { rsc 1080 lib/pengine/bundle.c gboolean child_active = rsc->fns->active(rsc, all); rsc 1092 lib/pengine/bundle.c pe__bundle_active(pe_resource_t *rsc, gboolean all) rsc 1097 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1163 lib/pengine/bundle.c print_rsc_in_list(pe_resource_t *rsc, const char *pre_text, long options, rsc 1166 lib/pengine/bundle.c if (rsc != NULL) { rsc 1170 lib/pengine/bundle.c rsc->fns->print(rsc, pre_text, options, print_data); rsc 1182 lib/pengine/bundle.c bundle_print_xml(pe_resource_t *rsc, const char *pre_text, long options, rsc 1187 lib/pengine/bundle.c CRM_CHECK(rsc != NULL, return); rsc 1194 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1197 lib/pengine/bundle.c status_print("id=\"%s\" ", rsc->id); rsc 1200 lib/pengine/bundle.c status_print("unique=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_unique)); rsc 1201 lib/pengine/bundle.c status_print("managed=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_managed)); rsc 1202 lib/pengine/bundle.c status_print("failed=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_failed)); rsc 1226 lib/pengine/bundle.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 1235 lib/pengine/bundle.c CRM_ASSERT(rsc != NULL); rsc 1237 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1239 lib/pengine/bundle.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 1243 lib/pengine/bundle.c print_everything = pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches); rsc 1273 lib/pengine/bundle.c "id", rsc->id, rsc 1276 lib/pengine/bundle.c "unique", pe__rsc_bool_str(rsc, pe_rsc_unique), rsc 1277 lib/pengine/bundle.c "managed", pe__rsc_bool_str(rsc, pe_rsc_managed), rsc 1278 lib/pengine/bundle.c "failed", pe__rsc_bool_str(rsc, pe_rsc_failed)); rsc 1321 lib/pengine/bundle.c pe_resource_t *rsc = replica->child; rsc 1326 lib/pengine/bundle.c if(rsc == NULL) { rsc 1327 lib/pengine/bundle.c rsc = replica->container; rsc 1342 lib/pengine/bundle.c pe__common_output_html(out, rsc, buffer, node, show_opts); rsc 1350 lib/pengine/bundle.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 1358 lib/pengine/bundle.c CRM_ASSERT(rsc != NULL); rsc 1360 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1362 lib/pengine/bundle.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 1366 lib/pengine/bundle.c print_everything = pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches); rsc 1396 lib/pengine/bundle.c rsc->id, bundle_data->image, rsc 1397 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_unique) ? " (unique)" : "", rsc 1398 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)"); rsc 1432 lib/pengine/bundle.c rsc->id, bundle_data->image, rsc 1433 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_unique) ? " (unique)" : "", rsc 1434 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)"); rsc 1449 lib/pengine/bundle.c pe_resource_t *rsc = replica->child; rsc 1454 lib/pengine/bundle.c if(rsc == NULL) { rsc 1455 lib/pengine/bundle.c rsc = replica->container; rsc 1470 lib/pengine/bundle.c pe__common_output_text(out, rsc, buffer, node, show_opts); rsc 1478 lib/pengine/bundle.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 1486 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1488 lib/pengine/bundle.c CRM_ASSERT(rsc != NULL); rsc 1490 lib/pengine/bundle.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 1494 lib/pengine/bundle.c print_everything = pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches); rsc 1524 lib/pengine/bundle.c rsc->id, bundle_data->image, rsc 1525 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_unique) ? " (unique)" : "", rsc 1526 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)"); rsc 1560 lib/pengine/bundle.c rsc->id, bundle_data->image, rsc 1561 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_unique) ? " (unique)" : "", rsc 1562 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)"); rsc 1582 lib/pengine/bundle.c pe_resource_t *rsc = replica->child; rsc 1587 lib/pengine/bundle.c if(rsc == NULL) { rsc 1588 lib/pengine/bundle.c rsc = replica->container; rsc 1604 lib/pengine/bundle.c common_print(rsc, pre_text, buffer, node, options, print_data); rsc 1612 lib/pengine/bundle.c pe__print_bundle(pe_resource_t *rsc, const char *pre_text, long options, rsc 1617 lib/pengine/bundle.c CRM_CHECK(rsc != NULL, return); rsc 1620 lib/pengine/bundle.c bundle_print_xml(rsc, pre_text, options, print_data); rsc 1624 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1632 lib/pengine/bundle.c rsc->id, bundle_data->image, rsc 1633 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_unique) ? " (unique)" : "", rsc 1634 lib/pengine/bundle.c pcmk_is_set(rsc->flags, pe_rsc_managed) ? "" : " (unmanaged)"); rsc 1714 lib/pengine/bundle.c pe__free_bundle(pe_resource_t *rsc) rsc 1717 lib/pengine/bundle.c CRM_CHECK(rsc != NULL, return); rsc 1719 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1720 lib/pengine/bundle.c pe_rsc_trace(rsc, "Freeing %s", rsc->id); rsc 1737 lib/pengine/bundle.c g_list_free(rsc->children); rsc 1744 lib/pengine/bundle.c common_free(rsc); rsc 1748 lib/pengine/bundle.c pe__bundle_resource_state(const pe_resource_t *rsc, gboolean current) rsc 1762 lib/pengine/bundle.c pe_bundle_replicas(const pe_resource_t *rsc) rsc 1764 lib/pengine/bundle.c if ((rsc == NULL) || (rsc->variant != pe_container)) { rsc 1769 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1775 lib/pengine/bundle.c pe__count_bundle(pe_resource_t *rsc) rsc 1779 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 1799 lib/pengine/bundle.c pe__bundle_is_filtered(pe_resource_t *rsc, GList *only_rsc, gboolean check_parent) rsc 1804 lib/pengine/bundle.c if (pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches)) { rsc 1807 lib/pengine/bundle.c get_bundle_variant_data(bundle_data, rsc); rsc 116 lib/pengine/clone.c clone_header(pcmk__output_t *out, int *rc, pe_resource_t *rsc, clone_variant_data_t *clone_data) rsc 120 lib/pengine/clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 124 lib/pengine/clone.c if (pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 128 lib/pengine/clone.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 132 lib/pengine/clone.c if (pe__resource_is_disabled(rsc)) { rsc 138 lib/pengine/clone.c rsc->id, ID(clone_data->xml_obj_child), rsc 143 lib/pengine/clone.c rsc->id, ID(clone_data->xml_obj_child)) rsc 148 lib/pengine/clone.c pe__force_anon(const char *standard, pe_resource_t *rsc, const char *rid, rsc 151 lib/pengine/clone.c if (pe_rsc_is_clone(rsc)) { rsc 154 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 158 lib/pengine/clone.c rsc->id, standard, rid); rsc 167 lib/pengine/clone.c find_clone_instance(pe_resource_t * rsc, const char *sub_id, pe_working_set_t * data_set) rsc 174 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 178 lib/pengine/clone.c child = pe_find_resource(rsc->children, child_id); rsc 185 lib/pengine/clone.c pe__create_clone_child(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 194 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 211 lib/pengine/clone.c if (pe__unpack_resource(child_copy, &child_rsc, rsc, rsc 220 lib/pengine/clone.c rsc->children = g_list_append(rsc->children, child_rsc); rsc 226 lib/pengine/clone.c pe_rsc_trace(rsc, "Added %s instance %s", rsc->id, child_rsc->id); rsc 236 lib/pengine/clone.c clone_unpack(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 240 lib/pengine/clone.c xmlNode *xml_obj = rsc->xml; rsc 243 lib/pengine/clone.c const char *max_clones = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INCARNATION_MAX); rsc 244 lib/pengine/clone.c const char *max_clones_node = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INCARNATION_NODEMAX); rsc 246 lib/pengine/clone.c pe_rsc_trace(rsc, "Processing resource %s...", rsc->id); rsc 249 lib/pengine/clone.c rsc->variant_opaque = clone_data; rsc 251 lib/pengine/clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 255 lib/pengine/clone.c promoted_max = g_hash_table_lookup(rsc->meta, rsc 259 lib/pengine/clone.c promoted_max = g_hash_table_lookup(rsc->meta, rsc 263 lib/pengine/clone.c promoted_node_max = g_hash_table_lookup(rsc->meta, rsc 268 lib/pengine/clone.c g_hash_table_lookup(rsc->meta, rsc 307 lib/pengine/clone.c if (crm_is_true(g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_ORDERED))) { rsc 309 lib/pengine/clone.c "Clone", rsc->id, rsc 315 lib/pengine/clone.c if ((rsc->flags & pe_rsc_unique) == 0 && clone_data->clone_node_max > 1) { rsc 318 lib/pengine/clone.c "per node", rsc->id); rsc 322 lib/pengine/clone.c pe_rsc_trace(rsc, "Options for %s", rsc->id); rsc 323 lib/pengine/clone.c pe_rsc_trace(rsc, "\tClone max: %d", clone_data->clone_max); rsc 324 lib/pengine/clone.c pe_rsc_trace(rsc, "\tClone node max: %d", clone_data->clone_node_max); rsc 325 lib/pengine/clone.c pe_rsc_trace(rsc, "\tClone is unique: %s", rsc 326 lib/pengine/clone.c pe__rsc_bool_str(rsc, pe_rsc_unique)); rsc 327 lib/pengine/clone.c pe_rsc_trace(rsc, "\tClone is promotable: %s", rsc 328 lib/pengine/clone.c pe__rsc_bool_str(rsc, pe_rsc_promotable)); rsc 341 lib/pengine/clone.c pcmk__config_err("%s has nothing to clone", rsc->id); rsc 351 lib/pengine/clone.c if (g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_STICKINESS) == NULL) { rsc 352 lib/pengine/clone.c add_hash_param(rsc->meta, XML_RSC_ATTR_STICKINESS, "1"); rsc 358 lib/pengine/clone.c add_hash_param(rsc->meta, XML_RSC_ATTR_UNIQUE, rsc 359 lib/pengine/clone.c pe__rsc_bool_str(rsc, pe_rsc_unique)); rsc 365 lib/pengine/clone.c if (pe__create_clone_child(rsc, data_set) == NULL) { rsc 372 lib/pengine/clone.c if (pe__create_clone_child(rsc, data_set) == NULL) { rsc 378 lib/pengine/clone.c pe_rsc_trace(rsc, "Added %d children to resource %s...", clone_data->clone_max, rsc->id); rsc 383 lib/pengine/clone.c clone_active(pe_resource_t * rsc, gboolean all) rsc 385 lib/pengine/clone.c GList *gIter = rsc->children; rsc 436 lib/pengine/clone.c configured_role_str(pe_resource_t * rsc) rsc 438 lib/pengine/clone.c const char *target_role = g_hash_table_lookup(rsc->meta, rsc 441 lib/pengine/clone.c if ((target_role == NULL) && rsc->children && rsc->children->data) { rsc 442 lib/pengine/clone.c target_role = g_hash_table_lookup(((pe_resource_t*)rsc->children->data)->meta, rsc 449 lib/pengine/clone.c configured_role(pe_resource_t * rsc) rsc 451 lib/pengine/clone.c const char *target_role = configured_role_str(rsc); rsc 464 lib/pengine/clone.c clone_print_xml(pe_resource_t *rsc, const char *pre_text, long options, rsc 468 lib/pengine/clone.c const char *target_role = configured_role_str(rsc); rsc 469 lib/pengine/clone.c GList *gIter = rsc->children; rsc 472 lib/pengine/clone.c status_print("id=\"%s\" ", rsc->id); rsc 474 lib/pengine/clone.c pe__rsc_bool_str(rsc, pe_rsc_promotable)); rsc 475 lib/pengine/clone.c status_print("unique=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_unique)); rsc 476 lib/pengine/clone.c status_print("managed=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_managed)); rsc 477 lib/pengine/clone.c status_print("failed=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_failed)); rsc 479 lib/pengine/clone.c pe__rsc_bool_str(rsc, pe_rsc_failure_ignored)); rsc 496 lib/pengine/clone.c is_set_recursive(const pe_resource_t *rsc, long long flag, bool any) rsc 501 lib/pengine/clone.c if (pcmk_is_set(rsc->flags, flag)) { rsc 509 lib/pengine/clone.c for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 531 lib/pengine/clone.c clone_print(pe_resource_t *rsc, const char *pre_text, long options, rsc 540 lib/pengine/clone.c GList *gIter = rsc->children; rsc 550 lib/pengine/clone.c clone_print_xml(rsc, pre_text, options, print_data); rsc 554 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 559 lib/pengine/clone.c pre_text ? pre_text : "", rsc->id, ID(clone_data->xml_obj_child), rsc 560 lib/pengine/clone.c pcmk_is_set(rsc->flags, pe_rsc_promotable)? " (promotable)" : "", rsc 561 lib/pengine/clone.c pcmk_is_set(rsc->flags, pe_rsc_unique)? " (unique)" : "", rsc 562 lib/pengine/clone.c pcmk_is_set(rsc->flags, pe_rsc_managed)? "" : " (unmanaged)"); rsc 580 lib/pengine/clone.c if (pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 582 lib/pengine/clone.c if (partially_active || !pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 676 lib/pengine/clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 677 lib/pengine/clone.c enum rsc_role_e role = configured_role(rsc); rsc 698 lib/pengine/clone.c enum rsc_role_e role = configured_role(rsc); rsc 704 lib/pengine/clone.c if (!pcmk_is_set(rsc->flags, pe_rsc_unique) rsc 708 lib/pengine/clone.c GList *list = g_hash_table_get_values(rsc->allowed_nodes); rsc 719 lib/pengine/clone.c list = g_hash_table_get_values(rsc->known_on); rsc 726 lib/pengine/clone.c if (pe_find_node(rsc->running_on, node->details->uname) == NULL) { rsc 758 lib/pengine/clone.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 762 lib/pengine/clone.c GList *gIter = rsc->children; rsc 768 lib/pengine/clone.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 772 lib/pengine/clone.c print_everything = pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches) || rsc 773 lib/pengine/clone.c (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches)); rsc 792 lib/pengine/clone.c "id", rsc->id, rsc 793 lib/pengine/clone.c "multi_state", pe__rsc_bool_str(rsc, pe_rsc_promotable), rsc 794 lib/pengine/clone.c "unique", pe__rsc_bool_str(rsc, pe_rsc_unique), rsc 795 lib/pengine/clone.c "managed", pe__rsc_bool_str(rsc, pe_rsc_managed), rsc 796 lib/pengine/clone.c "disabled", pcmk__btoa(pe__resource_is_disabled(rsc)), rsc 797 lib/pengine/clone.c "failed", pe__rsc_bool_str(rsc, pe_rsc_failed), rsc 798 lib/pengine/clone.c "failure_ignored", pe__rsc_bool_str(rsc, pe_rsc_failure_ignored), rsc 799 lib/pengine/clone.c "target_role", configured_role_str(rsc)); rsc 820 lib/pengine/clone.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 830 lib/pengine/clone.c GList *gIter = rsc->children; rsc 837 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 839 lib/pengine/clone.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 843 lib/pengine/clone.c print_everything = pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches) || rsc 844 lib/pengine/clone.c (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches)); rsc 863 lib/pengine/clone.c if (pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 865 lib/pengine/clone.c if (partially_active || !pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 928 lib/pengine/clone.c clone_header(out, &rc, rsc, clone_data); rsc 959 lib/pengine/clone.c clone_header(out, &rc, rsc, clone_data); rsc 982 lib/pengine/clone.c clone_header(out, &rc, rsc, clone_data); rsc 984 lib/pengine/clone.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 985 lib/pengine/clone.c enum rsc_role_e role = configured_role(rsc); rsc 1007 lib/pengine/clone.c if (!pcmk_is_set(rsc->flags, pe_rsc_unique) rsc 1011 lib/pengine/clone.c GList *list = g_hash_table_get_values(rsc->allowed_nodes); rsc 1023 lib/pengine/clone.c list = g_hash_table_get_values(rsc->known_on); rsc 1030 lib/pengine/clone.c if (pe_find_node(rsc->running_on, node->details->uname) == NULL && rsc 1033 lib/pengine/clone.c xmlNode *probe_op = pe__failed_probe_for_rsc(rsc, node->details->uname); rsc 1036 lib/pengine/clone.c if (configured_role(rsc) == RSC_ROLE_STOPPED) { rsc 1061 lib/pengine/clone.c clone_header(out, &rc, rsc, clone_data); rsc 1087 lib/pengine/clone.c clone_header(out, &rc, rsc, clone_data); rsc 1098 lib/pengine/clone.c clone_free(pe_resource_t * rsc) rsc 1102 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 1104 lib/pengine/clone.c pe_rsc_trace(rsc, "Freeing %s", rsc->id); rsc 1106 lib/pengine/clone.c for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 1119 lib/pengine/clone.c g_list_free(rsc->children); rsc 1128 lib/pengine/clone.c common_free(rsc); rsc 1132 lib/pengine/clone.c clone_resource_state(const pe_resource_t * rsc, gboolean current) rsc 1135 lib/pengine/clone.c GList *gIter = rsc->children; rsc 1146 lib/pengine/clone.c pe_rsc_trace(rsc, "%s role: %s", rsc->id, role2text(clone_role)); rsc 1158 lib/pengine/clone.c pe__is_universal_clone(pe_resource_t *rsc, rsc 1161 lib/pengine/clone.c if (pe_rsc_is_clone(rsc)) { rsc 1164 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 1173 lib/pengine/clone.c pe__clone_is_filtered(pe_resource_t *rsc, GList *only_rsc, gboolean check_parent) rsc 1178 lib/pengine/clone.c if (pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches)) { rsc 1181 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 1185 lib/pengine/clone.c for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 1200 lib/pengine/clone.c pe__clone_child_id(pe_resource_t *rsc) rsc 1203 lib/pengine/clone.c get_clone_variant_data(clone_data, rsc); rsc 523 lib/pengine/common.c const pe_resource_t *rsc) rsc 530 lib/pengine/common.c } else if(rsc == NULL) { rsc 534 lib/pengine/common.c source = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET); rsc 551 lib/pengine/common.c pe_rsc_trace(rsc, "%s: Looking for %s on the container host %s", rsc 552 lib/pengine/common.c rsc->id, name, pe__node_name(host)); rsc 556 lib/pengine/common.c pe_rsc_trace(rsc, "%s: Not looking for %s on the container host: %s is inactive", rsc 557 lib/pengine/common.c rsc->id, name, node->details->remote_rsc->container->id); rsc 102 lib/pengine/complex.c expand_parents_fixed_nvpairs(pe_resource_t * rsc, pe_rule_eval_data_t * rule_data, GHashTable * meta_hash, pe_working_set_t * data_set) rsc 105 lib/pengine/complex.c pe_resource_t *p = rsc->parent; rsc 142 lib/pengine/complex.c get_meta_attributes(GHashTable * meta_hash, pe_resource_t * rsc, rsc 146 lib/pengine/complex.c .standard = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS), rsc 147 lib/pengine/complex.c .provider = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER), rsc 148 lib/pengine/complex.c .agent = crm_element_value(rsc->xml, XML_EXPR_ATTR_TYPE) rsc 164 lib/pengine/complex.c for (xmlAttrPtr a = pcmk__xe_first_attr(rsc->xml); a != NULL; a = a->next) { rsc 166 lib/pengine/complex.c const char *prop_value = crm_element_value(rsc->xml, prop_name); rsc 171 lib/pengine/complex.c pe__unpack_dataset_nvpairs(rsc->xml, XML_TAG_META_SETS, &rule_data, rsc 176 lib/pengine/complex.c if (rsc->parent != NULL) { rsc 177 lib/pengine/complex.c expand_parents_fixed_nvpairs(rsc, &rule_data, meta_hash, data_set); rsc 186 lib/pengine/complex.c if (rsc->parent) { rsc 187 lib/pengine/complex.c g_hash_table_foreach(rsc->parent->meta, dup_attr, meta_hash); rsc 192 lib/pengine/complex.c get_rsc_attributes(GHashTable *meta_hash, const pe_resource_t *rsc, rsc 208 lib/pengine/complex.c pe__unpack_dataset_nvpairs(rsc->xml, XML_TAG_ATTR_SETS, &rule_data, rsc 212 lib/pengine/complex.c if (rsc->parent != NULL) { rsc 213 lib/pengine/complex.c get_rsc_attributes(meta_hash, rsc->parent, node, data_set); rsc 388 lib/pengine/complex.c detect_promotable(pe_resource_t *rsc) rsc 390 lib/pengine/complex.c const char *promotable = g_hash_table_lookup(rsc->meta, rsc 398 lib/pengine/complex.c if (pcmk__str_eq(crm_element_name(rsc->xml), PCMK_XE_PROMOTABLE_LEGACY, rsc 403 lib/pengine/complex.c g_hash_table_insert(rsc->meta, strdup(XML_RSC_ATTR_PROMOTABLE), rsc 429 lib/pengine/complex.c pe_rsc_params(pe_resource_t *rsc, const pe_node_t *node, rsc 441 lib/pengine/complex.c if ((rsc == NULL) || (data_set == NULL)) { rsc 449 lib/pengine/complex.c if (rsc->parameter_cache == NULL) { rsc 450 lib/pengine/complex.c rsc->parameter_cache = pcmk__strikey_table(free, free_params_table); rsc 452 lib/pengine/complex.c params_on_node = g_hash_table_lookup(rsc->parameter_cache, node_name); rsc 458 lib/pengine/complex.c get_rsc_attributes(params_on_node, rsc, node, data_set); rsc 459 lib/pengine/complex.c g_hash_table_insert(rsc->parameter_cache, strdup(node_name), rsc 474 lib/pengine/complex.c unpack_requires(pe_resource_t *rsc, const char *value, bool is_default) rsc 479 lib/pengine/complex.c pe__set_resource_flags(rsc, pe_rsc_needs_quorum); rsc 482 lib/pengine/complex.c pe__set_resource_flags(rsc, pe_rsc_needs_fencing); rsc 483 lib/pengine/complex.c if (!pcmk_is_set(rsc->cluster->flags, pe_flag_stonith_enabled)) { rsc 485 lib/pengine/complex.c rsc->id); rsc 489 lib/pengine/complex.c if (pcmk_is_set(rsc->flags, pe_rsc_fence_device)) { rsc 492 lib/pengine/complex.c "devices cannot require unfencing", rsc->id); rsc 493 lib/pengine/complex.c unpack_requires(rsc, PCMK__VALUE_QUORUM, true); rsc 496 lib/pengine/complex.c } else if (!pcmk_is_set(rsc->cluster->flags, pe_flag_stonith_enabled)) { rsc 499 lib/pengine/complex.c "is disabled", rsc->id); rsc 500 lib/pengine/complex.c unpack_requires(rsc, PCMK__VALUE_QUORUM, true); rsc 504 lib/pengine/complex.c pe__set_resource_flags(rsc, rsc 511 lib/pengine/complex.c if (pcmk_is_set(rsc->flags, pe_rsc_fence_device)) { rsc 514 lib/pengine/complex.c } else if ((rsc->variant == pe_native) rsc 515 lib/pengine/complex.c && xml_contains_remote_node(rsc->xml)) { rsc 518 lib/pengine/complex.c } else if (pcmk_is_set(rsc->cluster->flags, pe_flag_enable_unfencing)) { rsc 521 lib/pengine/complex.c } else if (pcmk_is_set(rsc->cluster->flags, pe_flag_stonith_enabled)) { rsc 524 lib/pengine/complex.c } else if (rsc->cluster->no_quorum_policy == no_quorum_ignore) { rsc 534 lib/pengine/complex.c rsc->id, value, orig_value); rsc 536 lib/pengine/complex.c unpack_requires(rsc, value, true); rsc 540 lib/pengine/complex.c pe_rsc_trace(rsc, "\tRequired to start: %s%s", value, rsc 562 lib/pengine/complex.c pe__unpack_resource(xmlNode *xml_obj, pe_resource_t **rsc, rsc 581 lib/pengine/complex.c CRM_CHECK(rsc != NULL, return EINVAL); rsc 583 lib/pengine/complex.c *rsc = NULL; rsc 601 lib/pengine/complex.c *rsc = calloc(1, sizeof(pe_resource_t)); rsc 602 lib/pengine/complex.c if (*rsc == NULL) { rsc 606 lib/pengine/complex.c (*rsc)->cluster = data_set; rsc 610 lib/pengine/complex.c (*rsc)->xml = expanded_xml; rsc 611 lib/pengine/complex.c (*rsc)->orig_xml = xml_obj; rsc 614 lib/pengine/complex.c (*rsc)->xml = xml_obj; rsc 615 lib/pengine/complex.c (*rsc)->orig_xml = NULL; rsc 620 lib/pengine/complex.c (*rsc)->parent = parent; rsc 622 lib/pengine/complex.c ops = find_xml_node((*rsc)->xml, "operations", FALSE); rsc 623 lib/pengine/complex.c (*rsc)->ops_xml = expand_idref(ops, data_set->input); rsc 625 lib/pengine/complex.c (*rsc)->variant = get_resource_type(crm_element_name((*rsc)->xml)); rsc 626 lib/pengine/complex.c if ((*rsc)->variant == pe_unknown) { rsc 628 lib/pengine/complex.c id, crm_element_name((*rsc)->xml)); rsc 629 lib/pengine/complex.c common_free(*rsc); rsc 630 lib/pengine/complex.c *rsc = NULL; rsc 634 lib/pengine/complex.c (*rsc)->meta = pcmk__strkey_table(free, free); rsc 635 lib/pengine/complex.c (*rsc)->allowed_nodes = pcmk__strkey_table(NULL, free); rsc 636 lib/pengine/complex.c (*rsc)->known_on = pcmk__strkey_table(NULL, free); rsc 638 lib/pengine/complex.c value = crm_element_value((*rsc)->xml, XML_RSC_ATTR_INCARNATION); rsc 640 lib/pengine/complex.c (*rsc)->id = crm_strdup_printf("%s:%s", id, value); rsc 641 lib/pengine/complex.c add_hash_param((*rsc)->meta, XML_RSC_ATTR_INCARNATION, value); rsc 644 lib/pengine/complex.c (*rsc)->id = strdup(id); rsc 647 lib/pengine/complex.c (*rsc)->fns = &resource_class_functions[(*rsc)->variant]; rsc 649 lib/pengine/complex.c get_meta_attributes((*rsc)->meta, *rsc, NULL, data_set); rsc 650 lib/pengine/complex.c (*rsc)->parameters = pe_rsc_params(*rsc, NULL, data_set); // \deprecated rsc 652 lib/pengine/complex.c (*rsc)->flags = 0; rsc 653 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_runnable|pe_rsc_provisional); rsc 656 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_managed); rsc 659 lib/pengine/complex.c (*rsc)->rsc_cons = NULL; rsc 660 lib/pengine/complex.c (*rsc)->rsc_tickets = NULL; rsc 661 lib/pengine/complex.c (*rsc)->actions = NULL; rsc 662 lib/pengine/complex.c (*rsc)->role = RSC_ROLE_STOPPED; rsc 663 lib/pengine/complex.c (*rsc)->next_role = RSC_ROLE_UNKNOWN; rsc 665 lib/pengine/complex.c (*rsc)->recovery_type = recovery_stop_start; rsc 666 lib/pengine/complex.c (*rsc)->stickiness = 0; rsc 667 lib/pengine/complex.c (*rsc)->migration_threshold = INFINITY; rsc 668 lib/pengine/complex.c (*rsc)->failure_timeout = 0; rsc 670 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_CIB_ATTR_PRIORITY); rsc 671 lib/pengine/complex.c (*rsc)->priority = char2score(value); rsc 673 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_CRITICAL); rsc 675 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_critical); rsc 678 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_NOTIFY); rsc 680 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_notify); rsc 683 lib/pengine/complex.c if (xml_contains_remote_node((*rsc)->xml)) { rsc 684 lib/pengine/complex.c (*rsc)->is_remote_node = TRUE; rsc 685 lib/pengine/complex.c if (g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_CONTAINER)) { rsc 692 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_OP_ATTR_ALLOW_MIGRATE); rsc 694 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_allow_migrate); rsc 703 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_allow_migrate); rsc 706 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_MANAGED); rsc 709 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_managed); rsc 711 lib/pengine/complex.c pe__clear_resource_flags(*rsc, pe_rsc_managed); rsc 715 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_MAINTENANCE); rsc 717 lib/pengine/complex.c pe__clear_resource_flags(*rsc, pe_rsc_managed); rsc 718 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_maintenance); rsc 721 lib/pengine/complex.c pe__clear_resource_flags(*rsc, pe_rsc_managed); rsc 722 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_maintenance); rsc 725 lib/pengine/complex.c if (pe_rsc_is_clone(uber_parent(*rsc))) { rsc 726 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_UNIQUE); rsc 728 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_unique); rsc 730 lib/pengine/complex.c if (detect_promotable(*rsc)) { rsc 731 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_promotable); rsc 734 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_unique); rsc 737 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_RESTART); rsc 739 lib/pengine/complex.c (*rsc)->restart_type = pe_restart_restart; rsc 740 lib/pengine/complex.c pe_rsc_trace((*rsc), "%s dependency restart handling: restart", rsc 741 lib/pengine/complex.c (*rsc)->id); rsc 746 lib/pengine/complex.c (*rsc)->restart_type = pe_restart_ignore; rsc 747 lib/pengine/complex.c pe_rsc_trace((*rsc), "%s dependency restart handling: ignore", rsc 748 lib/pengine/complex.c (*rsc)->id); rsc 751 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_MULTIPLE); rsc 753 lib/pengine/complex.c (*rsc)->recovery_type = recovery_stop_only; rsc 754 lib/pengine/complex.c pe_rsc_trace((*rsc), "%s multiple running resource recovery: stop only", rsc 755 lib/pengine/complex.c (*rsc)->id); rsc 758 lib/pengine/complex.c (*rsc)->recovery_type = recovery_block; rsc 759 lib/pengine/complex.c pe_rsc_trace((*rsc), "%s multiple running resource recovery: block", rsc 760 lib/pengine/complex.c (*rsc)->id); rsc 763 lib/pengine/complex.c (*rsc)->recovery_type = recovery_stop_unexpected; rsc 764 lib/pengine/complex.c pe_rsc_trace((*rsc), "%s multiple running resource recovery: " rsc 766 lib/pengine/complex.c (*rsc)->id); rsc 774 lib/pengine/complex.c (*rsc)->recovery_type = recovery_stop_start; rsc 775 lib/pengine/complex.c pe_rsc_trace((*rsc), "%s multiple running resource recovery: " rsc 776 lib/pengine/complex.c "stop/start", (*rsc)->id); rsc 779 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_STICKINESS); rsc 781 lib/pengine/complex.c (*rsc)->stickiness = char2score(value); rsc 784 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_FAIL_STICKINESS); rsc 786 lib/pengine/complex.c (*rsc)->migration_threshold = char2score(value); rsc 787 lib/pengine/complex.c if ((*rsc)->migration_threshold < 0) { rsc 795 lib/pengine/complex.c (*rsc)->migration_threshold = 1; rsc 799 lib/pengine/complex.c if (pcmk__str_eq(crm_element_value((*rsc)->xml, XML_AGENT_ATTR_CLASS), rsc 802 lib/pengine/complex.c pe__set_resource_flags(*rsc, pe_rsc_fence_device); rsc 805 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_REQUIRES); rsc 806 lib/pengine/complex.c unpack_requires(*rsc, value, false); rsc 808 lib/pengine/complex.c value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_FAIL_TIMEOUT); rsc 811 lib/pengine/complex.c (*rsc)->failure_timeout = (int) (crm_parse_interval_spec(value) / 1000); rsc 815 lib/pengine/complex.c GHashTable *params = pe_rsc_params(*rsc, NULL, data_set); rsc 827 lib/pengine/complex.c (*rsc)->remote_reconnect_ms = crm_parse_interval_spec(value); rsc 830 lib/pengine/complex.c (*rsc)->failure_timeout = (*rsc)->remote_reconnect_ms / 1000; rsc 834 lib/pengine/complex.c get_target_role(*rsc, &((*rsc)->next_role)); rsc 835 lib/pengine/complex.c pe_rsc_trace((*rsc), "%s desired next state: %s", (*rsc)->id, rsc 836 lib/pengine/complex.c (*rsc)->next_role != RSC_ROLE_UNKNOWN ? role2text((*rsc)->next_role) : "default"); rsc 838 lib/pengine/complex.c if ((*rsc)->fns->unpack(*rsc, data_set) == FALSE) { rsc 839 lib/pengine/complex.c (*rsc)->fns->free(*rsc); rsc 840 lib/pengine/complex.c *rsc = NULL; rsc 846 lib/pengine/complex.c resource_location(*rsc, NULL, 0, "symmetric_default", data_set); rsc 851 lib/pengine/complex.c resource_location(*rsc, NULL, 0, "remote_connection_default", data_set); rsc 854 lib/pengine/complex.c pe_rsc_trace((*rsc), "%s action notification: %s", (*rsc)->id, rsc 855 lib/pengine/complex.c pcmk_is_set((*rsc)->flags, pe_rsc_notify)? "required" : "not required"); rsc 857 lib/pengine/complex.c (*rsc)->utilization = pcmk__strkey_table(free, free); rsc 859 lib/pengine/complex.c pe__unpack_dataset_nvpairs((*rsc)->xml, XML_TAG_UTILIZATION, &rule_data, rsc 860 lib/pengine/complex.c (*rsc)->utilization, NULL, FALSE, data_set); rsc 864 lib/pengine/complex.c (*rsc)->fns->free(*rsc); rsc 865 lib/pengine/complex.c *rsc = NULL; rsc 873 lib/pengine/complex.c common_update_score(pe_resource_t * rsc, const char *id, int score) rsc 877 lib/pengine/complex.c node = pe_hash_table_lookup(rsc->allowed_nodes, id); rsc 879 lib/pengine/complex.c pe_rsc_trace(rsc, "Updating score for %s on %s: %d + %d", rsc->id, id, node->weight, score); rsc 883 lib/pengine/complex.c if (rsc->children) { rsc 884 lib/pengine/complex.c GList *gIter = rsc->children; rsc 895 lib/pengine/complex.c is_parent(pe_resource_t *child, pe_resource_t *rsc) rsc 899 lib/pengine/complex.c if (parent == NULL || rsc == NULL) { rsc 903 lib/pengine/complex.c if (parent->parent == rsc) { rsc 912 lib/pengine/complex.c uber_parent(pe_resource_t * rsc) rsc 914 lib/pengine/complex.c pe_resource_t *parent = rsc; rsc 926 lib/pengine/complex.c common_free(pe_resource_t * rsc) rsc 928 lib/pengine/complex.c if (rsc == NULL) { rsc 932 lib/pengine/complex.c pe_rsc_trace(rsc, "Freeing %s %d", rsc->id, rsc->variant); rsc 934 lib/pengine/complex.c g_list_free(rsc->rsc_cons); rsc 935 lib/pengine/complex.c g_list_free(rsc->rsc_cons_lhs); rsc 936 lib/pengine/complex.c g_list_free(rsc->rsc_tickets); rsc 937 lib/pengine/complex.c g_list_free(rsc->dangling_migrations); rsc 939 lib/pengine/complex.c if (rsc->parameter_cache != NULL) { rsc 940 lib/pengine/complex.c g_hash_table_destroy(rsc->parameter_cache); rsc 942 lib/pengine/complex.c if (rsc->meta != NULL) { rsc 943 lib/pengine/complex.c g_hash_table_destroy(rsc->meta); rsc 945 lib/pengine/complex.c if (rsc->utilization != NULL) { rsc 946 lib/pengine/complex.c g_hash_table_destroy(rsc->utilization); rsc 949 lib/pengine/complex.c if ((rsc->parent == NULL) && pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 950 lib/pengine/complex.c free_xml(rsc->xml); rsc 951 lib/pengine/complex.c rsc->xml = NULL; rsc 952 lib/pengine/complex.c free_xml(rsc->orig_xml); rsc 953 lib/pengine/complex.c rsc->orig_xml = NULL; rsc 956 lib/pengine/complex.c } else if (rsc->orig_xml) { rsc 957 lib/pengine/complex.c free_xml(rsc->xml); rsc 958 lib/pengine/complex.c rsc->xml = NULL; rsc 960 lib/pengine/complex.c if (rsc->running_on) { rsc 961 lib/pengine/complex.c g_list_free(rsc->running_on); rsc 962 lib/pengine/complex.c rsc->running_on = NULL; rsc 964 lib/pengine/complex.c if (rsc->known_on) { rsc 965 lib/pengine/complex.c g_hash_table_destroy(rsc->known_on); rsc 966 lib/pengine/complex.c rsc->known_on = NULL; rsc 968 lib/pengine/complex.c if (rsc->actions) { rsc 969 lib/pengine/complex.c g_list_free(rsc->actions); rsc 970 lib/pengine/complex.c rsc->actions = NULL; rsc 972 lib/pengine/complex.c if (rsc->allowed_nodes) { rsc 973 lib/pengine/complex.c g_hash_table_destroy(rsc->allowed_nodes); rsc 974 lib/pengine/complex.c rsc->allowed_nodes = NULL; rsc 976 lib/pengine/complex.c g_list_free(rsc->fillers); rsc 977 lib/pengine/complex.c g_list_free(rsc->rsc_location); rsc 978 lib/pengine/complex.c pe_rsc_trace(rsc, "Resource freed"); rsc 979 lib/pengine/complex.c free(rsc->id); rsc 980 lib/pengine/complex.c free(rsc->clone_name); rsc 981 lib/pengine/complex.c free(rsc->allocated_to); rsc 982 lib/pengine/complex.c free(rsc->variant_opaque); rsc 983 lib/pengine/complex.c free(rsc->pending_task); rsc 984 lib/pengine/complex.c free(rsc); rsc 1003 lib/pengine/complex.c pe__find_active_on(const pe_resource_t *rsc, unsigned int *count_all, rsc 1017 lib/pengine/complex.c if (rsc == NULL) { rsc 1021 lib/pengine/complex.c for (GList *node_iter = rsc->running_on; node_iter != NULL; rsc 1040 lib/pengine/complex.c if (rsc->partial_migration_source != NULL) { rsc 1041 lib/pengine/complex.c if (node->details == rsc->partial_migration_source->details) { rsc 1047 lib/pengine/complex.c } else if (!pcmk_is_set(rsc->flags, pe_rsc_needs_fencing)) { rsc 1083 lib/pengine/complex.c pe__find_active_requires(const pe_resource_t *rsc, unsigned int *count) rsc 1085 lib/pengine/complex.c if (rsc && !pcmk_is_set(rsc->flags, pe_rsc_needs_fencing)) { rsc 1086 lib/pengine/complex.c return pe__find_active_on(rsc, NULL, count); rsc 1088 lib/pengine/complex.c return pe__find_active_on(rsc, count, NULL); rsc 1092 lib/pengine/complex.c pe__count_common(pe_resource_t *rsc) rsc 1094 lib/pengine/complex.c if (rsc->children != NULL) { rsc 1095 lib/pengine/complex.c for (GList *item = rsc->children; item != NULL; item = item->next) { rsc 1099 lib/pengine/complex.c } else if (!pcmk_is_set(rsc->flags, pe_rsc_orphan) rsc 1100 lib/pengine/complex.c || (rsc->role > RSC_ROLE_STOPPED)) { rsc 1101 lib/pengine/complex.c rsc->cluster->ninstances++; rsc 1102 lib/pengine/complex.c if (pe__resource_is_disabled(rsc)) { rsc 1103 lib/pengine/complex.c rsc->cluster->disabled_resources++; rsc 1105 lib/pengine/complex.c if (pcmk_is_set(rsc->flags, pe_rsc_block)) { rsc 1106 lib/pengine/complex.c rsc->cluster->blocked_resources++; rsc 1120 lib/pengine/complex.c pe__set_next_role(pe_resource_t *rsc, enum rsc_role_e role, const char *why) rsc 1122 lib/pengine/complex.c CRM_ASSERT((rsc != NULL) && (why != NULL)); rsc 1123 lib/pengine/complex.c if (rsc->next_role != role) { rsc 1124 lib/pengine/complex.c pe_rsc_trace(rsc, "Resetting next role for %s from %s to %s (%s)", rsc 1125 lib/pengine/complex.c rsc->id, role2text(rsc->next_role), role2text(role), why); rsc 1126 lib/pengine/complex.c rsc->next_role = role; rsc 80 lib/pengine/failcounts.c block_failure(pe_node_t *node, pe_resource_t *rsc, xmlNode *xml_op, rsc 83 lib/pengine/failcounts.c char *xml_name = clone_strip(rsc->id); rsc 98 lib/pengine/failcounts.c xmlXPathObject *xpathObj = xpath_search(rsc->xml, xpath); rsc 177 lib/pengine/failcounts.c rsc_fail_name(pe_resource_t *rsc) rsc 179 lib/pengine/failcounts.c const char *name = (rsc->clone_name? rsc->clone_name : rsc->id); rsc 181 lib/pengine/failcounts.c return pcmk_is_set(rsc->flags, pe_rsc_unique)? strdup(name) : clone_strip(name); rsc 234 lib/pengine/failcounts.c generate_fail_regexes(pe_resource_t *rsc, pe_working_set_t *data_set, rsc 237 lib/pengine/failcounts.c char *rsc_name = rsc_fail_name(rsc); rsc 242 lib/pengine/failcounts.c pcmk_is_set(rsc->flags, pe_rsc_unique), failcount_re); rsc 245 lib/pengine/failcounts.c pcmk_is_set(rsc->flags, pe_rsc_unique), lastfailure_re); rsc 251 lib/pengine/failcounts.c pe_get_failcount(pe_node_t *node, pe_resource_t *rsc, time_t *last_failure, rsc 261 lib/pengine/failcounts.c generate_fail_regexes(rsc, data_set, &failcount_re, &lastfailure_re); rsc 285 lib/pengine/failcounts.c if ((failcount > 0) && rsc->failure_timeout rsc 286 lib/pengine/failcounts.c && block_failure(node, rsc, xml_op, data_set)) { rsc 289 lib/pengine/failcounts.c rsc->failure_timeout, rsc->id); rsc 290 lib/pengine/failcounts.c rsc->failure_timeout = 0; rsc 295 lib/pengine/failcounts.c && rsc->failure_timeout) { rsc 299 lib/pengine/failcounts.c if (now > (last + rsc->failure_timeout)) { rsc 301 lib/pengine/failcounts.c rsc->id, pe__node_name(node), rsc->failure_timeout); rsc 316 lib/pengine/failcounts.c if (pcmk_is_set(flags, pe_fc_fillers) && rsc->fillers rsc 317 lib/pengine/failcounts.c && !pe_rsc_is_bundled(rsc)) { rsc 321 lib/pengine/failcounts.c for (gIter = rsc->fillers; gIter != NULL; gIter = gIter->next) { rsc 336 lib/pengine/failcounts.c rsc->id, pcmk_readable_score(failcount), rsc 342 lib/pengine/failcounts.c rsc->id, pcmk_readable_score(failcount), rsc 360 lib/pengine/failcounts.c pe__clear_failcount(pe_resource_t *rsc, pe_node_t *node, rsc 366 lib/pengine/failcounts.c CRM_CHECK(rsc && node && reason && data_set, return NULL); rsc 368 lib/pengine/failcounts.c key = pcmk__op_key(rsc->id, CRM_OP_CLEAR_FAILCOUNT, 0); rsc 369 lib/pengine/failcounts.c clear = custom_action(rsc, key, CRM_OP_CLEAR_FAILCOUNT, node, FALSE, TRUE, rsc 373 lib/pengine/failcounts.c rsc->id, pe__node_name(node), reason, clear->uuid); rsc 100 lib/pengine/group.c inactive_resources(pe_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, pe_resource_t *rsc, int n_inactive, bool show_inactive) rsc 126 lib/pengine/group.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 130 lib/pengine/group.c if (pe__resource_is_disabled(rsc)) { rsc 136 lib/pengine/group.c rsc->id, (const char *) attrs->str); rsc 139 lib/pengine/group.c PCMK__OUTPUT_LIST_HEADER(out, FALSE, *rc, "Resource Group: %s", rsc->id); rsc 144 lib/pengine/group.c skip_child_rsc(pe_resource_t *rsc, pe_resource_t *child, gboolean parent_passes, rsc 171 lib/pengine/group.c group_unpack(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 173 lib/pengine/group.c xmlNode *xml_obj = rsc->xml; rsc 178 lib/pengine/group.c pe_rsc_trace(rsc, "Processing resource %s...", rsc->id); rsc 182 lib/pengine/group.c rsc->variant_opaque = group_data; rsc 185 lib/pengine/group.c set_group_flag(rsc, XML_RSC_ATTR_ORDERED, pe__group_ordered, rsc 187 lib/pengine/group.c set_group_flag(rsc, "collocated", pe__group_colocated, pe_wo_group_coloc); rsc 189 lib/pengine/group.c clone_id = crm_element_value(rsc->xml, XML_RSC_ATTR_INCARNATION); rsc 199 lib/pengine/group.c if (pe__unpack_resource(xml_native_rsc, &new_rsc, rsc, rsc 204 lib/pengine/group.c rsc->children = g_list_append(rsc->children, new_rsc); rsc 206 lib/pengine/group.c pe_rsc_trace(rsc, "Added %s member %s", rsc->id, new_rsc->id); rsc 210 lib/pengine/group.c if (rsc->children == NULL) { rsc 220 lib/pengine/group.c "any members", rsc->id); rsc 226 lib/pengine/group.c group_active(pe_resource_t * rsc, gboolean all) rsc 230 lib/pengine/group.c GList *gIter = rsc->children; rsc 255 lib/pengine/group.c group_print_xml(pe_resource_t *rsc, const char *pre_text, long options, rsc 258 lib/pengine/group.c GList *gIter = rsc->children; rsc 261 lib/pengine/group.c status_print("%s<group id=\"%s\" ", pre_text, rsc->id); rsc 262 lib/pengine/group.c status_print("number_resources=\"%d\" ", g_list_length(rsc->children)); rsc 280 lib/pengine/group.c group_print(pe_resource_t *rsc, const char *pre_text, long options, rsc 284 lib/pengine/group.c GList *gIter = rsc->children; rsc 291 lib/pengine/group.c group_print_xml(rsc, pre_text, options, print_data); rsc 297 lib/pengine/group.c status_print("%sResource Group: %s", pre_text ? pre_text : "", rsc->id); rsc 307 lib/pengine/group.c print_rscs_brief(rsc->children, child_text, options, print_data, TRUE); rsc 334 lib/pengine/group.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 338 lib/pengine/group.c GList *gIter = rsc->children; rsc 343 lib/pengine/group.c gboolean parent_passes = pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches) || rsc 344 lib/pengine/group.c (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches)); rsc 346 lib/pengine/group.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 354 lib/pengine/group.c if (skip_child_rsc(rsc, child_rsc, parent_passes, only_rsc, show_opts)) { rsc 360 lib/pengine/group.c , "id", rsc->id rsc 362 lib/pengine/group.c , "managed", pe__rsc_bool_str(rsc, pe_rsc_managed) rsc 363 lib/pengine/group.c , "disabled", pcmk__btoa(pe__resource_is_disabled(rsc))); rsc 384 lib/pengine/group.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 390 lib/pengine/group.c gboolean parent_passes = pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches) || rsc 391 lib/pengine/group.c (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches)); rsc 393 lib/pengine/group.c gboolean active = rsc->fns->active(rsc, TRUE); rsc 394 lib/pengine/group.c gboolean partially_active = rsc->fns->active(rsc, FALSE); rsc 396 lib/pengine/group.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 401 lib/pengine/group.c GList *rscs = pe__filter_rsc_list(rsc->children, only_rsc); rsc 404 lib/pengine/group.c group_header(out, &rc, rsc, !active && partially_active ? inactive_resources(rsc) : 0, rsc 413 lib/pengine/group.c for (GList *gIter = rsc->children; gIter; gIter = gIter->next) { rsc 416 lib/pengine/group.c if (skip_child_rsc(rsc, child_rsc, parent_passes, only_rsc, show_opts)) { rsc 420 lib/pengine/group.c group_header(out, &rc, rsc, !active && partially_active ? inactive_resources(rsc) : 0, rsc 433 lib/pengine/group.c group_free(pe_resource_t * rsc) rsc 435 lib/pengine/group.c CRM_CHECK(rsc != NULL, return); rsc 437 lib/pengine/group.c pe_rsc_trace(rsc, "Freeing %s", rsc->id); rsc 439 lib/pengine/group.c for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 447 lib/pengine/group.c pe_rsc_trace(rsc, "Freeing child list"); rsc 448 lib/pengine/group.c g_list_free(rsc->children); rsc 450 lib/pengine/group.c common_free(rsc); rsc 454 lib/pengine/group.c group_resource_state(const pe_resource_t * rsc, gboolean current) rsc 457 lib/pengine/group.c GList *gIter = rsc->children; rsc 468 lib/pengine/group.c pe_rsc_trace(rsc, "%s role: %s", rsc->id, role2text(group_role)); rsc 473 lib/pengine/group.c pe__group_is_filtered(pe_resource_t *rsc, GList *only_rsc, gboolean check_parent) rsc 477 lib/pengine/group.c if (check_parent && pcmk__str_in_list(rsc_printable_id(uber_parent(rsc)), only_rsc, pcmk__str_star_matches)) { rsc 479 lib/pengine/group.c } else if (pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches)) { rsc 481 lib/pengine/group.c } else if (strstr(rsc->id, ":") != NULL && pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches)) { rsc 484 lib/pengine/group.c for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 33 lib/pengine/native.c is_multiply_active(pe_resource_t *rsc) rsc 37 lib/pengine/native.c if (rsc->variant == pe_native) { rsc 38 lib/pengine/native.c pe__find_active_requires(rsc, &count); rsc 44 lib/pengine/native.c native_priority_to_node(pe_resource_t * rsc, pe_node_t * node, gboolean failed) rsc 48 lib/pengine/native.c if ((rsc->priority == 0) || (failed == TRUE)) { rsc 52 lib/pengine/native.c if (rsc->role == RSC_ROLE_PROMOTED) { rsc 54 lib/pengine/native.c priority = rsc->priority + 1; rsc 57 lib/pengine/native.c priority = rsc->priority; rsc 61 lib/pengine/native.c pe_rsc_trace(rsc, "%s now has priority %d with %s'%s' (priority: %d%s)", rsc 63 lib/pengine/native.c (rsc->role == RSC_ROLE_PROMOTED)? "promoted " : "", rsc 64 lib/pengine/native.c rsc->id, rsc->priority, rsc 65 lib/pengine/native.c (rsc->role == RSC_ROLE_PROMOTED)? " + 1" : ""); rsc 77 lib/pengine/native.c pe_rsc_trace(rsc, "%s now has priority %d with %s'%s' (priority: %d%s) " rsc 80 lib/pengine/native.c (rsc->role == RSC_ROLE_PROMOTED)? "promoted " : "", rsc 81 lib/pengine/native.c rsc->id, rsc->priority, rsc 82 lib/pengine/native.c (rsc->role == RSC_ROLE_PROMOTED)? " + 1" : "", rsc 89 lib/pengine/native.c native_add_running(pe_resource_t * rsc, pe_node_t * node, pe_working_set_t * data_set, gboolean failed) rsc 91 lib/pengine/native.c GList *gIter = rsc->running_on; rsc 103 lib/pengine/native.c pe_rsc_trace(rsc, "Adding %s to %s %s", rsc->id, pe__node_name(node), rsc 104 lib/pengine/native.c pcmk_is_set(rsc->flags, pe_rsc_managed)? "" : "(unmanaged)"); rsc 106 lib/pengine/native.c rsc->running_on = g_list_append(rsc->running_on, node); rsc 107 lib/pengine/native.c if (rsc->variant == pe_native) { rsc 108 lib/pengine/native.c node->details->running_rsc = g_list_append(node->details->running_rsc, rsc); rsc 110 lib/pengine/native.c native_priority_to_node(rsc, node, failed); rsc 113 lib/pengine/native.c if (rsc->variant == pe_native && node->details->maintenance) { rsc 114 lib/pengine/native.c pe__clear_resource_flags(rsc, pe_rsc_managed); rsc 117 lib/pengine/native.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 118 lib/pengine/native.c pe_resource_t *p = rsc->parent; rsc 120 lib/pengine/native.c pe_rsc_info(rsc, "resource %s isn't managed", rsc->id); rsc 121 lib/pengine/native.c resource_location(rsc, node, INFINITY, "not_managed_default", data_set); rsc 131 lib/pengine/native.c if (is_multiply_active(rsc)) { rsc 132 lib/pengine/native.c switch (rsc->recovery_type) { rsc 139 lib/pengine/native.c if (rsc->allowed_nodes != NULL) { rsc 140 lib/pengine/native.c g_hash_table_destroy(rsc->allowed_nodes); rsc 142 lib/pengine/native.c rsc->allowed_nodes = pe__node_list2table(data_set->nodes); rsc 143 lib/pengine/native.c g_hash_table_iter_init(&gIter, rsc->allowed_nodes); rsc 150 lib/pengine/native.c pe__clear_resource_flags(rsc, pe_rsc_managed); rsc 151 lib/pengine/native.c pe__set_resource_flags(rsc, pe_rsc_block); rsc 156 lib/pengine/native.c if (rsc->parent rsc 157 lib/pengine/native.c && (rsc->parent->variant == pe_group || rsc->parent->variant == pe_container) rsc 158 lib/pengine/native.c && rsc->parent->recovery_type == recovery_block) { rsc 159 lib/pengine/native.c GList *gIter = rsc->parent->children; rsc 176 lib/pengine/native.c rsc->id, pe__node_name(node), rsc 177 lib/pengine/native.c recovery2text(rsc->recovery_type)); rsc 180 lib/pengine/native.c pe_rsc_trace(rsc, "Resource %s is active on %s", rsc 181 lib/pengine/native.c rsc->id, pe__node_name(node)); rsc 184 lib/pengine/native.c if (rsc->parent != NULL) { rsc 185 lib/pengine/native.c native_add_running(rsc->parent, node, data_set, FALSE); rsc 190 lib/pengine/native.c recursive_clear_unique(pe_resource_t *rsc, gpointer user_data) rsc 192 lib/pengine/native.c pe__clear_resource_flags(rsc, pe_rsc_unique); rsc 193 lib/pengine/native.c add_hash_param(rsc->meta, XML_RSC_ATTR_UNIQUE, XML_BOOLEAN_FALSE); rsc 194 lib/pengine/native.c g_list_foreach(rsc->children, (GFunc) recursive_clear_unique, NULL); rsc 198 lib/pengine/native.c native_unpack(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 200 lib/pengine/native.c pe_resource_t *parent = uber_parent(rsc); rsc 201 lib/pengine/native.c const char *standard = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 204 lib/pengine/native.c pe_rsc_trace(rsc, "Processing resource %s...", rsc->id); rsc 208 lib/pengine/native.c && pcmk_is_set(rsc->flags, pe_rsc_unique) && pe_rsc_is_clone(parent)) { rsc 215 lib/pengine/native.c pe__force_anon(standard, parent, rsc->id, data_set); rsc 223 lib/pengine/native.c recursive_clear_unique(rsc, NULL); rsc 230 lib/pengine/native.c rsc->id, standard); rsc 237 lib/pengine/native.c rsc_is_on_node(pe_resource_t *rsc, const pe_node_t *node, int flags) rsc 239 lib/pengine/native.c pe_rsc_trace(rsc, "Checking whether %s is on %s", rsc 240 lib/pengine/native.c rsc->id, pe__node_name(node)); rsc 242 lib/pengine/native.c if (pcmk_is_set(flags, pe_find_current) && rsc->running_on) { rsc 244 lib/pengine/native.c for (GList *iter = rsc->running_on; iter; iter = iter->next) { rsc 253 lib/pengine/native.c && (rsc->running_on == NULL)) { rsc 256 lib/pengine/native.c } else if (!pcmk_is_set(flags, pe_find_current) && rsc->allocated_to rsc 257 lib/pengine/native.c && (rsc->allocated_to->details == node->details)) { rsc 264 lib/pengine/native.c native_find_rsc(pe_resource_t * rsc, const char *id, const pe_node_t *on_node, rsc 270 lib/pengine/native.c CRM_CHECK(id && rsc && rsc->id, return NULL); rsc 273 lib/pengine/native.c const char *rid = ID(rsc->xml); rsc 275 lib/pengine/native.c if (!pe_rsc_is_clone(uber_parent(rsc))) { rsc 278 lib/pengine/native.c } else if (!strcmp(id, rsc->id) || pcmk__str_eq(id, rid, pcmk__str_none)) { rsc 282 lib/pengine/native.c } else if (!strcmp(id, rsc->id)) { rsc 286 lib/pengine/native.c && rsc->clone_name && strcmp(rsc->clone_name, id) == 0) { rsc 291 lib/pengine/native.c && !pcmk_is_set(rsc->flags, pe_rsc_unique))) { rsc 292 lib/pengine/native.c match = pe_base_name_eq(rsc, id); rsc 296 lib/pengine/native.c if (!rsc_is_on_node(rsc, on_node, flags)) { rsc 302 lib/pengine/native.c return rsc; rsc 305 lib/pengine/native.c for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 308 lib/pengine/native.c result = rsc->fns->find_rsc(child, id, on_node, flags); rsc 318 lib/pengine/native.c native_parameter(pe_resource_t * rsc, pe_node_t * node, gboolean create, const char *name, rsc 325 lib/pengine/native.c CRM_CHECK(rsc != NULL, return NULL); rsc 328 lib/pengine/native.c pe_rsc_trace(rsc, "Looking up %s in %s", name, rsc->id); rsc 329 lib/pengine/native.c params = pe_rsc_params(rsc, node, data_set); rsc 333 lib/pengine/native.c value = g_hash_table_lookup(rsc->meta, name); rsc 340 lib/pengine/native.c native_active(pe_resource_t * rsc, gboolean all) rsc 342 lib/pengine/native.c for (GList *gIter = rsc->running_on; gIter != NULL; gIter = gIter->next) { rsc 346 lib/pengine/native.c pe_rsc_trace(rsc, "Resource %s: %s is unclean", rsc 347 lib/pengine/native.c rsc->id, pe__node_name(a_node)); rsc 349 lib/pengine/native.c } else if (a_node->details->online == FALSE && pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 350 lib/pengine/native.c pe_rsc_trace(rsc, "Resource %s: %s is offline", rsc 351 lib/pengine/native.c rsc->id, pe__node_name(a_node)); rsc 353 lib/pengine/native.c pe_rsc_trace(rsc, "Resource %s active on %s", rsc 354 lib/pengine/native.c rsc->id, pe__node_name(a_node)); rsc 367 lib/pengine/native.c native_pending_state(pe_resource_t * rsc) rsc 371 lib/pengine/native.c if (pcmk__str_eq(rsc->pending_task, CRMD_ACTION_START, pcmk__str_casei)) { rsc 374 lib/pengine/native.c } else if (pcmk__str_eq(rsc->pending_task, CRMD_ACTION_STOP, pcmk__str_casei)) { rsc 377 lib/pengine/native.c } else if (pcmk__str_eq(rsc->pending_task, CRMD_ACTION_MIGRATE, pcmk__str_casei)) { rsc 380 lib/pengine/native.c } else if (pcmk__str_eq(rsc->pending_task, CRMD_ACTION_MIGRATED, pcmk__str_casei)) { rsc 384 lib/pengine/native.c } else if (pcmk__str_eq(rsc->pending_task, CRMD_ACTION_PROMOTE, pcmk__str_casei)) { rsc 387 lib/pengine/native.c } else if (pcmk__str_eq(rsc->pending_task, CRMD_ACTION_DEMOTE, pcmk__str_casei)) { rsc 395 lib/pengine/native.c native_pending_task(pe_resource_t * rsc) rsc 399 lib/pengine/native.c if (pcmk__str_eq(rsc->pending_task, CRMD_ACTION_STATUS, pcmk__str_casei)) { rsc 417 lib/pengine/native.c native_displayable_role(pe_resource_t *rsc) rsc 419 lib/pengine/native.c enum rsc_role_e role = rsc->role; rsc 422 lib/pengine/native.c && pcmk_is_set(uber_parent(rsc)->flags, pe_rsc_promotable)) { rsc 430 lib/pengine/native.c native_displayable_state(pe_resource_t *rsc, bool print_pending) rsc 435 lib/pengine/native.c rsc_state = native_pending_state(rsc); rsc 438 lib/pengine/native.c rsc_state = role2text(native_displayable_role(rsc)); rsc 448 lib/pengine/native.c native_print_xml(pe_resource_t *rsc, const char *pre_text, long options, rsc 451 lib/pengine/native.c const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 452 lib/pengine/native.c const char *prov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER); rsc 453 lib/pengine/native.c const char *rsc_state = native_displayable_state(rsc, pcmk_is_set(options, pe_print_pending)); rsc 458 lib/pengine/native.c status_print("id=\"%s\" ", rsc_printable_id(rsc)); rsc 462 lib/pengine/native.c crm_element_value(rsc->xml, XML_ATTR_TYPE)); rsc 465 lib/pengine/native.c if (rsc->meta) { rsc 466 lib/pengine/native.c target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE); rsc 471 lib/pengine/native.c status_print("active=\"%s\" ", pcmk__btoa(rsc->fns->active(rsc, TRUE))); rsc 472 lib/pengine/native.c status_print("orphaned=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_orphan)); rsc 473 lib/pengine/native.c status_print("blocked=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_block)); rsc 474 lib/pengine/native.c status_print("managed=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_managed)); rsc 475 lib/pengine/native.c status_print("failed=\"%s\" ", pe__rsc_bool_str(rsc, pe_rsc_failed)); rsc 477 lib/pengine/native.c pe__rsc_bool_str(rsc, pe_rsc_failure_ignored)); rsc 478 lib/pengine/native.c status_print("nodes_running_on=\"%d\" ", g_list_length(rsc->running_on)); rsc 481 lib/pengine/native.c const char *pending_task = native_pending_task(rsc); rsc 492 lib/pengine/native.c } else if (rsc->running_on != NULL) { rsc 493 lib/pengine/native.c GList *gIter = rsc->running_on; rsc 542 lib/pengine/native.c pcmk__native_output_string(pe_resource_t *rsc, const char *name, pe_node_t *node, rsc 545 lib/pengine/native.c const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 547 lib/pengine/native.c const char *kind = crm_element_value(rsc->xml, XML_ATTR_TYPE); rsc 551 lib/pengine/native.c if (rsc->variant != pe_native) { rsc 560 lib/pengine/native.c provider = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER); rsc 563 lib/pengine/native.c if ((node == NULL) && (rsc->lock_node != NULL)) { rsc 564 lib/pengine/native.c node = rsc->lock_node; rsc 567 lib/pengine/native.c || pcmk__list_of_multiple(rsc->running_on)) { rsc 579 lib/pengine/native.c if (pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 582 lib/pengine/native.c if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 583 lib/pengine/native.c enum rsc_role_e role = native_displayable_role(rsc); rsc 592 lib/pengine/native.c pcmk__add_word(&outstr, 0, native_displayable_state(rsc, show_pending)); rsc 599 lib/pengine/native.c if (native_displayable_role(rsc) == RSC_ROLE_STOPPED) { rsc 600 lib/pengine/native.c xmlNode *probe_op = pe__failed_probe_for_rsc(rsc, node ? node->details->uname : NULL); rsc 614 lib/pengine/native.c if (node && (node == rsc->lock_node)) { rsc 618 lib/pengine/native.c const char *pending_task = native_pending_task(rsc); rsc 634 lib/pengine/native.c } else if (pcmk_is_set(uber_parent(rsc)->flags, pe_rsc_promotable) rsc 640 lib/pengine/native.c if (pcmk_is_set(rsc->flags, pe_rsc_block)) { rsc 642 lib/pengine/native.c } else if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 645 lib/pengine/native.c if (pcmk_is_set(rsc->flags, pe_rsc_failure_ignored)) { rsc 654 lib/pengine/native.c || pcmk__list_of_multiple(rsc->running_on)) { rsc 655 lib/pengine/native.c const char *desc = crm_element_value(rsc->xml, XML_ATTR_DESC); rsc 663 lib/pengine/native.c && pcmk__list_of_multiple(rsc->running_on)) { rsc 666 lib/pengine/native.c for (GList *iter = rsc->running_on; iter != NULL; iter = iter->next) { rsc 680 lib/pengine/native.c pe__common_output_html(pcmk__output_t *out, pe_resource_t * rsc, rsc 683 lib/pengine/native.c const char *kind = crm_element_value(rsc->xml, XML_ATTR_TYPE); rsc 689 lib/pengine/native.c CRM_ASSERT(rsc->variant == pe_native); rsc 692 lib/pengine/native.c if (rsc->meta) { rsc 693 lib/pengine/native.c const char *is_internal = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INTERNAL_RSC); rsc 698 lib/pengine/native.c crm_trace("skipping print of internal resource %s", rsc->id); rsc 701 lib/pengine/native.c target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE); rsc 704 lib/pengine/native.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 707 lib/pengine/native.c } else if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 710 lib/pengine/native.c } else if (rsc->variant == pe_native && (rsc->running_on == NULL)) { rsc 713 lib/pengine/native.c } else if (pcmk__list_of_multiple(rsc->running_on)) { rsc 716 lib/pengine/native.c } else if (pcmk_is_set(rsc->flags, pe_rsc_failure_ignored)) { rsc 724 lib/pengine/native.c gchar *s = pcmk__native_output_string(rsc, name, node, show_opts, rsc 736 lib/pengine/native.c pe__common_output_text(pcmk__output_t *out, pe_resource_t * rsc, rsc 741 lib/pengine/native.c CRM_ASSERT(rsc->variant == pe_native); rsc 743 lib/pengine/native.c if (rsc->meta) { rsc 744 lib/pengine/native.c const char *is_internal = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_INTERNAL_RSC); rsc 749 lib/pengine/native.c crm_trace("skipping print of internal resource %s", rsc->id); rsc 752 lib/pengine/native.c target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE); rsc 756 lib/pengine/native.c gchar *s = pcmk__native_output_string(rsc, name, node, show_opts, rsc 771 lib/pengine/native.c common_print(pe_resource_t *rsc, const char *pre_text, const char *name, rsc 776 lib/pengine/native.c CRM_ASSERT(rsc->variant == pe_native); rsc 778 lib/pengine/native.c if (rsc->meta) { rsc 779 lib/pengine/native.c const char *is_internal = g_hash_table_lookup(rsc->meta, rsc 785 lib/pengine/native.c crm_trace("skipping print of internal resource %s", rsc->id); rsc 788 lib/pengine/native.c target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE); rsc 792 lib/pengine/native.c native_print_xml(rsc, pre_text, options, print_data); rsc 801 lib/pengine/native.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 804 lib/pengine/native.c } else if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 807 lib/pengine/native.c } else if (rsc->running_on == NULL) { rsc 810 lib/pengine/native.c } else if (pcmk__list_of_multiple(rsc->running_on)) { rsc 813 lib/pengine/native.c } else if (pcmk_is_set(rsc->flags, pe_rsc_failure_ignored)) { rsc 822 lib/pengine/native.c gchar *resource_s = pcmk__native_output_string(rsc, name, node, options, rsc 833 lib/pengine/native.c && pcmk__list_of_multiple(rsc->running_on)) { rsc 835 lib/pengine/native.c GList *gIter = rsc->running_on; rsc 891 lib/pengine/native.c native_print(pe_resource_t *rsc, const char *pre_text, long options, rsc 896 lib/pengine/native.c CRM_ASSERT(rsc->variant == pe_native); rsc 898 lib/pengine/native.c native_print_xml(rsc, pre_text, options, print_data); rsc 902 lib/pengine/native.c node = pe__current_node(rsc); rsc 906 lib/pengine/native.c node = rsc->pending_node; rsc 909 lib/pengine/native.c common_print(rsc, pre_text, rsc_printable_id(rsc), node, options, print_data); rsc 917 lib/pengine/native.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 922 lib/pengine/native.c const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 923 lib/pengine/native.c const char *prov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER); rsc 924 lib/pengine/native.c const char *rsc_state = native_displayable_state(rsc, print_pending); rsc 932 lib/pengine/native.c if (rsc->meta != NULL) { rsc 933 lib/pengine/native.c target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE); rsc 936 lib/pengine/native.c CRM_ASSERT(rsc->variant == pe_native); rsc 938 lib/pengine/native.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 945 lib/pengine/native.c crm_element_value(rsc->xml, XML_ATTR_TYPE)); rsc 947 lib/pengine/native.c nodes_running_on = pcmk__itoa(g_list_length(rsc->running_on)); rsc 949 lib/pengine/native.c if (rsc->lock_node != NULL) { rsc 950 lib/pengine/native.c lock_node_name = rsc->lock_node->details->uname; rsc 954 lib/pengine/native.c "id", rsc_printable_id(rsc), rsc 958 lib/pengine/native.c "active", pcmk__btoa(rsc->fns->active(rsc, TRUE)), rsc 959 lib/pengine/native.c "orphaned", pe__rsc_bool_str(rsc, pe_rsc_orphan), rsc 960 lib/pengine/native.c "blocked", pe__rsc_bool_str(rsc, pe_rsc_block), rsc 961 lib/pengine/native.c "managed", pe__rsc_bool_str(rsc, pe_rsc_managed), rsc 962 lib/pengine/native.c "failed", pe__rsc_bool_str(rsc, pe_rsc_failed), rsc 963 lib/pengine/native.c "failure_ignored", pe__rsc_bool_str(rsc, pe_rsc_failure_ignored), rsc 965 lib/pengine/native.c "pending", (print_pending? native_pending_task(rsc) : NULL), rsc 971 lib/pengine/native.c if (rsc->running_on != NULL) { rsc 972 lib/pengine/native.c GList *gIter = rsc->running_on; rsc 994 lib/pengine/native.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 998 lib/pengine/native.c pe_node_t *node = pe__current_node(rsc); rsc 1000 lib/pengine/native.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 1004 lib/pengine/native.c CRM_ASSERT(rsc->variant == pe_native); rsc 1008 lib/pengine/native.c node = rsc->pending_node; rsc 1010 lib/pengine/native.c return pe__common_output_html(out, rsc, rsc_printable_id(rsc), node, show_opts); rsc 1018 lib/pengine/native.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 1022 lib/pengine/native.c pe_node_t *node = pe__current_node(rsc); rsc 1024 lib/pengine/native.c CRM_ASSERT(rsc->variant == pe_native); rsc 1026 lib/pengine/native.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 1032 lib/pengine/native.c node = rsc->pending_node; rsc 1034 lib/pengine/native.c return pe__common_output_text(out, rsc, rsc_printable_id(rsc), node, show_opts); rsc 1038 lib/pengine/native.c native_free(pe_resource_t * rsc) rsc 1040 lib/pengine/native.c pe_rsc_trace(rsc, "Freeing resource action list (not the data)"); rsc 1041 lib/pengine/native.c common_free(rsc); rsc 1045 lib/pengine/native.c native_resource_state(const pe_resource_t * rsc, gboolean current) rsc 1047 lib/pengine/native.c enum rsc_role_e role = rsc->next_role; rsc 1050 lib/pengine/native.c role = rsc->role; rsc 1052 lib/pengine/native.c pe_rsc_trace(rsc, "%s state: %s", rsc->id, role2text(role)); rsc 1068 lib/pengine/native.c native_location(const pe_resource_t *rsc, GList **list, int current) rsc 1073 lib/pengine/native.c if (rsc->children) { rsc 1074 lib/pengine/native.c GList *gIter = rsc->children; rsc 1084 lib/pengine/native.c if (rsc->running_on) { rsc 1085 lib/pengine/native.c result = g_list_copy(rsc->running_on); rsc 1087 lib/pengine/native.c if ((current == 2) && rsc->pending_node rsc 1088 lib/pengine/native.c && !pe_find_node_id(result, rsc->pending_node->details->id)) { rsc 1089 lib/pengine/native.c result = g_list_append(result, rsc->pending_node); rsc 1092 lib/pengine/native.c } else if (current == FALSE && rsc->allocated_to) { rsc 1093 lib/pengine/native.c result = g_list_append(NULL, rsc->allocated_to); rsc 1122 lib/pengine/native.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 1124 lib/pengine/native.c const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 1125 lib/pengine/native.c const char *kind = crm_element_value(rsc->xml, XML_ATTR_TYPE); rsc 1133 lib/pengine/native.c if (rsc->variant != pe_native) { rsc 1139 lib/pengine/native.c const char *prov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER); rsc 1160 lib/pengine/native.c GList *gIter2 = rsc->running_on; rsc 1167 lib/pengine/native.c pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 1376 lib/pengine/native.c pe__native_is_filtered(pe_resource_t *rsc, GList *only_rsc, gboolean check_parent) rsc 1378 lib/pengine/native.c if (pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches) || rsc 1379 lib/pengine/native.c pcmk__str_in_list(rsc->id, only_rsc, pcmk__str_star_matches)) { rsc 1381 lib/pengine/native.c } else if (check_parent && rsc->parent) { rsc 1382 lib/pengine/native.c pe_resource_t *up = uber_parent(rsc); rsc 1384 lib/pengine/native.c if (pe_rsc_is_bundled(rsc)) { rsc 54 lib/pengine/pe_actions.c find_existing_action(const char *key, pe_resource_t *rsc, const pe_node_t *node, rsc 63 lib/pengine/pe_actions.c matches = find_actions(((rsc == NULL)? data_set->actions : rsc->actions), rsc 76 lib/pengine/pe_actions.c find_rsc_op_entry_helper(const pe_resource_t *rsc, const char *key, rsc 89 lib/pengine/pe_actions.c for (operation = pcmk__xe_first_child(rsc->ops_xml); operation != NULL; rsc 103 lib/pengine/pe_actions.c match_key = pcmk__op_key(rsc->id, name, interval_ms); rsc 109 lib/pengine/pe_actions.c if (rsc->clone_name) { rsc 110 lib/pengine/pe_actions.c match_key = pcmk__op_key(rsc->clone_name, name, interval_ms); rsc 131 lib/pengine/pe_actions.c local_key = pcmk__op_key(rsc->id, "migrate", 0); rsc 136 lib/pengine/pe_actions.c local_key = pcmk__op_key(rsc->id, "notify", 0); rsc 145 lib/pengine/pe_actions.c find_rsc_op_entry(const pe_resource_t *rsc, const char *key) rsc 147 lib/pengine/pe_actions.c return find_rsc_op_entry_helper(rsc, key, FALSE); rsc 167 lib/pengine/pe_actions.c new_action(char *key, const char *task, pe_resource_t *rsc, rsc 175 lib/pengine/pe_actions.c action->rsc = rsc; rsc 197 lib/pengine/pe_actions.c if (rsc != NULL) { rsc 200 lib/pengine/pe_actions.c action->op_entry = find_rsc_op_entry_helper(rsc, key, TRUE); rsc 202 lib/pengine/pe_actions.c unpack_operation(action, action->op_entry, rsc->container, data_set, rsc 207 lib/pengine/pe_actions.c pe_rsc_trace(rsc, "Created %s action %d (%s): %s for %s on %s", rsc 210 lib/pengine/pe_actions.c ((rsc == NULL)? "no resource" : rsc->id), rsc 215 lib/pengine/pe_actions.c if (rsc == NULL) { rsc 218 lib/pengine/pe_actions.c rsc->actions = g_list_prepend(rsc->actions, action); rsc 264 lib/pengine/pe_actions.c if ((action->rsc != NULL) && (action->node != NULL) rsc 266 lib/pengine/pe_actions.c && !pcmk_is_set(action->rsc->flags, pe_rsc_managed) rsc 269 lib/pengine/pe_actions.c pe_rsc_debug(action->rsc, "%s on %s is optional (%s is unmanaged)", rsc 271 lib/pengine/pe_actions.c action->rsc->id); rsc 282 lib/pengine/pe_actions.c effective_quorum_policy(pe_resource_t *rsc, pe_working_set_t *data_set) rsc 290 lib/pengine/pe_actions.c switch (rsc->role) { rsc 293 lib/pengine/pe_actions.c if (rsc->next_role > RSC_ROLE_UNPROMOTED) { rsc 294 lib/pengine/pe_actions.c pe__set_next_role(rsc, RSC_ROLE_UNPROMOTED, rsc 326 lib/pengine/pe_actions.c pe_rsc_trace(action->rsc, "%s is unrunnable (unallocated)", rsc 338 lib/pengine/pe_actions.c if (pcmk_is_set(action->rsc->flags, pe_rsc_managed) rsc 361 lib/pengine/pe_actions.c pe_rsc_debug(action->rsc, "%s on %s is unrunnable " rsc 366 lib/pengine/pe_actions.c pe_rsc_trace(action->rsc, rsc 373 lib/pengine/pe_actions.c switch (effective_quorum_policy(action->rsc, data_set)) { rsc 375 lib/pengine/pe_actions.c pe_rsc_debug(action->rsc, "%s on %s is unrunnable (no quorum)", rsc 382 lib/pengine/pe_actions.c if (!action->rsc->fns->active(action->rsc, TRUE) rsc 383 lib/pengine/pe_actions.c || (action->rsc->next_role > action->rsc->role)) { rsc 384 lib/pengine/pe_actions.c pe_rsc_debug(action->rsc, rsc 408 lib/pengine/pe_actions.c update_resource_flags_for_action(pe_resource_t *rsc, pe_action_t *action) rsc 414 lib/pengine/pe_actions.c pe__set_resource_flags(rsc, pe_rsc_stopping); rsc 418 lib/pengine/pe_actions.c pe__set_resource_flags(rsc, pe_rsc_starting); rsc 420 lib/pengine/pe_actions.c pe__clear_resource_flags(rsc, pe_rsc_starting); rsc 445 lib/pengine/pe_actions.c "allowed for stop", action->rsc->id, value); rsc 452 lib/pengine/pe_actions.c CRM_CHECK(action->rsc != NULL, return NULL); rsc 454 lib/pengine/pe_actions.c for (operation = pcmk__xe_first_child(action->rsc->ops_xml); rsc 499 lib/pengine/pe_actions.c "allowed for it", action->rsc->id, name); rsc 582 lib/pengine/pe_actions.c find_min_interval_mon(pe_resource_t * rsc, gboolean include_disabled) rsc 591 lib/pengine/pe_actions.c for (operation = pcmk__xe_first_child(rsc->ops_xml); rsc 643 lib/pengine/pe_actions.c .standard = crm_element_value(action->rsc->xml, XML_AGENT_ATTR_CLASS), rsc 644 lib/pengine/pe_actions.c .provider = crm_element_value(action->rsc->xml, XML_AGENT_ATTR_PROVIDER), rsc 645 lib/pengine/pe_actions.c .agent = crm_element_value(action->rsc->xml, XML_EXPR_ATTR_TYPE) rsc 662 lib/pengine/pe_actions.c CRM_CHECK(action && action->rsc, return); rsc 672 lib/pengine/pe_actions.c xmlNode *min_interval_mon = find_min_interval_mon(action->rsc, FALSE); rsc 732 lib/pengine/pe_actions.c GHashTable *params = pe_rsc_params(action->rsc, action->node, data_set); rsc 754 lib/pengine/pe_actions.c } else if (pcmk_is_set(action->rsc->flags, pe_rsc_needs_fencing)) { rsc 758 lib/pengine/pe_actions.c } else if (pcmk_is_set(action->rsc->flags, pe_rsc_needs_quorum)) { rsc 766 lib/pengine/pe_actions.c pe_rsc_trace(action->rsc, "%s requires %s", action->uuid, value); rsc 826 lib/pengine/pe_actions.c pe_err("Resource %s: Unknown failure type (%s)", action->rsc->id, value); rsc 843 lib/pengine/pe_actions.c } else if (((value == NULL) || !pcmk_is_set(action->rsc->flags, pe_rsc_managed)) rsc 844 lib/pengine/pe_actions.c && pe__resource_is_remote_conn(action->rsc, data_set) rsc 849 lib/pengine/pe_actions.c if (!pcmk_is_set(action->rsc->flags, pe_rsc_managed)) { rsc 861 lib/pengine/pe_actions.c if (action->rsc->remote_reconnect_ms) { rsc 882 lib/pengine/pe_actions.c pe_rsc_trace(action->rsc, "%s failure handling: %s", rsc 904 lib/pengine/pe_actions.c pe_rsc_trace(action->rsc, "%s failure results in: %s", rsc 940 lib/pengine/pe_actions.c custom_action(pe_resource_t *rsc, char *key, const char *task, rsc 949 lib/pengine/pe_actions.c action = find_existing_action(key, rsc, on_node, data_set); rsc 953 lib/pengine/pe_actions.c action = new_action(key, task, rsc, on_node, optional, save_action, rsc 961 lib/pengine/pe_actions.c if (rsc != NULL) { rsc 969 lib/pengine/pe_actions.c update_resource_flags_for_action(rsc, action); rsc 1215 lib/pengine/pe_actions.c pe_get_configured_timeout(pe_resource_t *rsc, const char *action, pe_working_set_t *data_set) rsc 1231 lib/pengine/pe_actions.c for (child = first_named_child(rsc->ops_xml, XML_ATTR_OP); rsc 1262 lib/pengine/pe_actions.c get_complex_task(pe_resource_t * rsc, const char *name, gboolean allow_non_atomic) rsc 1266 lib/pengine/pe_actions.c if (rsc == NULL) { rsc 1269 lib/pengine/pe_actions.c } else if (allow_non_atomic == FALSE || rsc->variant == pe_native) { rsc 1275 lib/pengine/pe_actions.c crm_trace("Folding %s back into its atomic counterpart for %s", name, rsc->id); rsc 1398 lib/pengine/pe_actions.c pe__resource_actions(const pe_resource_t *rsc, const pe_node_t *node, rsc 1402 lib/pengine/pe_actions.c char *key = pcmk__op_key(rsc->id, task, 0); rsc 1405 lib/pengine/pe_actions.c result = find_actions_exact(rsc->actions, key, node); rsc 1407 lib/pengine/pe_actions.c result = find_actions(rsc->actions, key, node); rsc 1442 lib/pengine/pe_actions.c (action->rsc == NULL)? "" : " ", rsc 1443 lib/pengine/pe_actions.c (action->rsc == NULL)? "" : action->rsc->id, rsc 1450 lib/pengine/pe_actions.c pe_rsc_trace(action->rsc, "Changing %s reason from '%s' to '%s'", rsc 1453 lib/pengine/pe_actions.c pe_rsc_trace(action->rsc, "Set %s reason to '%s'", rsc 1473 lib/pengine/pe_actions.c pe__clear_resource_history(pe_resource_t *rsc, pe_node_t *node, rsc 1478 lib/pengine/pe_actions.c CRM_ASSERT(rsc && node); rsc 1479 lib/pengine/pe_actions.c key = pcmk__op_key(rsc->id, CRM_OP_LRM_DELETE, 0); rsc 1480 lib/pengine/pe_actions.c return custom_action(rsc, key, CRM_OP_LRM_DELETE, node, FALSE, TRUE, rsc 1647 lib/pengine/pe_actions.c pe__new_rsc_pseudo_action(pe_resource_t *rsc, const char *task, bool optional, rsc 1652 lib/pengine/pe_actions.c CRM_ASSERT((rsc != NULL) && (task != NULL)); rsc 1654 lib/pengine/pe_actions.c action = custom_action(rsc, pcmk__op_key(rsc->id, task, 0), task, NULL, rsc 1655 lib/pengine/pe_actions.c optional, TRUE, rsc->cluster); rsc 99 lib/pengine/pe_digest.c calculate_main_digest(op_digest_cache_t *data, pe_resource_t *rsc, rsc 112 lib/pengine/pe_digest.c (void) pe__add_bundle_remote_name(rsc, data_set, data->params_all, rsc 130 lib/pengine/pe_digest.c action = custom_action(rsc, pcmk__op_key(rsc->id, task, *interval_ms), rsc 180 lib/pengine/pe_digest.c calculate_secure_digest(op_digest_cache_t *data, pe_resource_t *rsc, rsc 184 lib/pengine/pe_digest.c const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 298 lib/pengine/pe_digest.c pe__calculate_digests(pe_resource_t *rsc, const char *task, guint *interval_ms, rsc 324 lib/pengine/pe_digest.c params = pe_rsc_params(rsc, node, data_set); rsc 325 lib/pengine/pe_digest.c calculate_main_digest(data, rsc, node, params, task, interval_ms, xml_op, rsc 328 lib/pengine/pe_digest.c calculate_secure_digest(data, rsc, params, xml_op, op_version, rsc 350 lib/pengine/pe_digest.c rsc_action_digest(pe_resource_t *rsc, const char *task, guint interval_ms, rsc 355 lib/pengine/pe_digest.c char *key = pcmk__op_key(rsc->id, task, interval_ms); rsc 359 lib/pengine/pe_digest.c data = pe__calculate_digests(rsc, task, &interval_ms, node, xml_op, rsc 380 lib/pengine/pe_digest.c rsc_action_digest_cmp(pe_resource_t * rsc, xmlNode * xml_op, pe_node_t * node, rsc 398 lib/pengine/pe_digest.c data = rsc_action_digest(rsc, task, interval_ms, node, xml_op, rsc 403 lib/pengine/pe_digest.c pe_rsc_info(rsc, "Parameters to %ums-interval %s action for %s on %s " rsc 405 lib/pengine/pe_digest.c interval_ms, task, rsc->id, pe__node_name(node), rsc 428 lib/pengine/pe_digest.c pe_rsc_info(rsc, "Parameters containing extra ones to %ums-interval" rsc 431 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 to %ums-interval %s action for %s on %s " rsc 439 lib/pengine/pe_digest.c interval_ms, task, rsc->id, pe__node_name(node), rsc 532 lib/pengine/pe_digest.c pe__compare_fencing_digest(pe_resource_t *rsc, const char *agent, rsc 538 lib/pengine/pe_digest.c op_digest_cache_t *data = rsc_action_digest(rsc, STONITH_DIGEST_TASK, 0U, rsc 549 lib/pengine/pe_digest.c if (unfencing_digest_matches(rsc->id, agent, data->digest_all_calc, rsc 557 lib/pengine/pe_digest.c if (unfencing_digest_matches(rsc->id, agent, data->digest_secure_calc, rsc 563 lib/pengine/pe_digest.c "for unfencing %s changed", rsc->id, rsc 574 lib/pengine/pe_digest.c char *digest = create_unfencing_summary(rsc->id, agent, rsc 578 lib/pengine/pe_digest.c "%s changed, try '%s'", rsc->id, rsc 582 lib/pengine/pe_digest.c char *digest = create_unfencing_summary(rsc->id, agent, rsc 586 lib/pengine/pe_digest.c rsc->id, pe__node_name(node), digest); rsc 15 lib/pengine/pe_notif.c pe_resource_t *rsc; rsc 51 lib/pengine/pe_notif.c if ((entry_a->rsc == NULL) && (entry_b->rsc == NULL)) { rsc 54 lib/pengine/pe_notif.c if (entry_a->rsc == NULL) { rsc 57 lib/pengine/pe_notif.c if (entry_b->rsc == NULL) { rsc 62 lib/pengine/pe_notif.c tmp = strcmp(entry_a->rsc->id, entry_b->rsc->id); rsc 97 lib/pengine/pe_notif.c dup->rsc = entry->rsc; rsc 193 lib/pengine/pe_notif.c CRM_LOG_ASSERT((entry != NULL) && (entry->rsc != NULL) rsc 194 lib/pengine/pe_notif.c && (entry->rsc->id != NULL)); rsc 195 lib/pengine/pe_notif.c if ((entry == NULL) || (entry->rsc == NULL) rsc 196 lib/pengine/pe_notif.c || (entry->rsc->id == NULL)) { rsc 207 lib/pengine/pe_notif.c if (pcmk__str_eq(entry->rsc->id, last_rsc_id, pcmk__str_none)) { rsc 210 lib/pengine/pe_notif.c last_rsc_id = entry->rsc->id; rsc 213 lib/pengine/pe_notif.c pcmk__add_word(rsc_names, 1024, entry->rsc->id); rsc 277 lib/pengine/pe_notif.c new_notify_pseudo_action(pe_resource_t *rsc, const pe_action_t *action, rsc 282 lib/pengine/pe_notif.c notify = custom_action(rsc, rsc 283 lib/pengine/pe_notif.c pcmk__notify_key(rsc->id, notif_type, action->task), rsc 286 lib/pengine/pe_notif.c TRUE, rsc->cluster); rsc 306 lib/pengine/pe_notif.c new_notify_action(pe_resource_t *rsc, pe_node_t *node, pe_action_t *op, rsc 315 lib/pengine/pe_notif.c CRM_CHECK((rsc != NULL) && (node != NULL), return NULL); rsc 328 lib/pengine/pe_notif.c pe_rsc_trace(rsc, "Skipping notify action for %s on %s: %s", rsc 329 lib/pengine/pe_notif.c rsc->id, pe__node_name(node), skip_reason); rsc 336 lib/pengine/pe_notif.c pe_rsc_trace(rsc, "Creating notify action for %s on %s (%s-%s)", rsc 337 lib/pengine/pe_notif.c rsc->id, pe__node_name(node), value, task); rsc 340 lib/pengine/pe_notif.c key = pcmk__notify_key(rsc->id, value, task); rsc 341 lib/pengine/pe_notif.c notify_action = custom_action(rsc, key, op->task, node, rsc 343 lib/pengine/pe_notif.c TRUE, rsc->cluster); rsc 364 lib/pengine/pe_notif.c new_post_notify_action(pe_resource_t *rsc, pe_node_t *node, rsc 372 lib/pengine/pe_notif.c notify = new_notify_action(rsc, node, n_data->post, n_data->post_done, rsc 382 lib/pengine/pe_notif.c for (GList *iter = rsc->actions; iter != NULL; iter = iter->next) { rsc 428 lib/pengine/pe_notif.c pe__clone_notif_pseudo_ops(pe_resource_t *rsc, const char *task, rsc 433 lib/pengine/pe_notif.c if (!pcmk_is_set(rsc->flags, pe_rsc_notify)) { rsc 445 lib/pengine/pe_notif.c n_data->pre = new_notify_pseudo_action(rsc, action, RSC_NOTIFY, "pre"); rsc 451 lib/pengine/pe_notif.c n_data->pre_done = new_notify_pseudo_action(rsc, action, RSC_NOTIFIED, rsc 466 lib/pengine/pe_notif.c n_data->post = new_notify_pseudo_action(rsc, complete, RSC_NOTIFY, rsc 478 lib/pengine/pe_notif.c n_data->post_done = new_notify_pseudo_action(rsc, complete, rsc 514 lib/pengine/pe_notif.c new_notify_entry(pe_resource_t *rsc, pe_node_t *node) rsc 519 lib/pengine/pe_notif.c entry->rsc = rsc; rsc 533 lib/pengine/pe_notif.c collect_resource_data(pe_resource_t *rsc, bool activity, notify_data_t *n_data) rsc 544 lib/pengine/pe_notif.c n_data->allowed_nodes = rsc->allowed_nodes; rsc 548 lib/pengine/pe_notif.c if (rsc->children != NULL) { rsc 549 lib/pengine/pe_notif.c for (iter = rsc->children; iter != NULL; iter = iter->next) { rsc 559 lib/pengine/pe_notif.c if (rsc->running_on != NULL) { rsc 560 lib/pengine/pe_notif.c node = rsc->running_on->data; // First is sufficient rsc 562 lib/pengine/pe_notif.c entry = new_notify_entry(rsc, node); rsc 565 lib/pengine/pe_notif.c switch (rsc->role) { rsc 589 lib/pengine/pe_notif.c rsc->id, pe__node_name(node), role2text(rsc->role)); rsc 599 lib/pengine/pe_notif.c for (iter = rsc->actions; iter != NULL; iter = iter->next) { rsc 611 lib/pengine/pe_notif.c entry = new_notify_entry(rsc, op->node); rsc 660 lib/pengine/pe_notif.c add_notif_keys(pe_resource_t *rsc, notify_data_t *n_data) rsc 744 lib/pengine/pe_notif.c source = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET); rsc 746 lib/pengine/pe_notif.c get_node_names(rsc->cluster->nodes, &node_list, &metal_list); rsc 749 lib/pengine/pe_notif.c get_node_names(rsc->cluster->nodes, &node_list, NULL); rsc 794 lib/pengine/pe_notif.c create_notify_actions(pe_resource_t *rsc, notify_data_t *n_data) rsc 802 lib/pengine/pe_notif.c if (rsc->children != NULL) { rsc 803 lib/pengine/pe_notif.c g_list_foreach(rsc->children, (GFunc) create_notify_actions, n_data); rsc 808 lib/pengine/pe_notif.c for (iter = rsc->actions; iter != NULL; iter = iter->next) { rsc 829 lib/pengine/pe_notif.c pe_rsc_trace(rsc, "No notify action needed for %s %s", rsc 830 lib/pengine/pe_notif.c rsc->id, n_data->action); rsc 837 lib/pengine/pe_notif.c pe_rsc_trace(rsc, "No notify action needed for %s %s", rsc 838 lib/pengine/pe_notif.c rsc->id, n_data->action); rsc 845 lib/pengine/pe_notif.c pe_rsc_trace(rsc, "No notify action needed for %s %s", rsc 846 lib/pengine/pe_notif.c rsc->id, n_data->action); rsc 856 lib/pengine/pe_notif.c pe_rsc_trace(rsc, "Creating notify actions for %s %s", rsc 857 lib/pengine/pe_notif.c rsc->id, n_data->action); rsc 860 lib/pengine/pe_notif.c if ((rsc->role != RSC_ROLE_STOPPED) rsc 863 lib/pengine/pe_notif.c stop = find_first_action(rsc->actions, NULL, RSC_STOP, NULL); rsc 865 lib/pengine/pe_notif.c for (iter = rsc->running_on; iter != NULL; iter = iter->next) { rsc 877 lib/pengine/pe_notif.c new_notify_action(rsc, current_node, n_data->pre, rsc 882 lib/pengine/pe_notif.c new_post_notify_action(rsc, current_node, n_data); rsc 888 lib/pengine/pe_notif.c if ((rsc->next_role != RSC_ROLE_STOPPED) rsc 891 lib/pengine/pe_notif.c start = find_first_action(rsc->actions, NULL, RSC_START, NULL); rsc 905 lib/pengine/pe_notif.c if (rsc->allocated_to == NULL) { rsc 907 lib/pengine/pe_notif.c role2text(rsc->next_role), rsc->id); rsc 913 lib/pengine/pe_notif.c new_notify_action(rsc, rsc->allocated_to, n_data->pre, rsc 916 lib/pengine/pe_notif.c new_post_notify_action(rsc, rsc->allocated_to, n_data); rsc 928 lib/pengine/pe_notif.c pe__create_notifications(pe_resource_t *rsc, notify_data_t *n_data) rsc 930 lib/pengine/pe_notif.c if ((rsc == NULL) || (n_data == NULL)) { rsc 933 lib/pengine/pe_notif.c collect_resource_data(rsc, true, n_data); rsc 934 lib/pengine/pe_notif.c add_notif_keys(rsc, n_data); rsc 935 lib/pengine/pe_notif.c create_notify_actions(rsc, n_data); rsc 977 lib/pengine/pe_notif.c pe__order_notifs_after_fencing(pe_action_t *stop, pe_resource_t *rsc, rsc 983 lib/pengine/pe_notif.c n_data = pe__clone_notif_pseudo_ops(rsc, RSC_STOP, NULL, stonith_op); rsc 986 lib/pengine/pe_notif.c collect_resource_data(rsc, false, n_data); rsc 987 lib/pengine/pe_notif.c add_notify_env(n_data, "notify_stop_resource", rsc->id); rsc 989 lib/pengine/pe_notif.c create_notify_actions(uber_parent(rsc), n_data); rsc 53 lib/pengine/pe_output.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 54 lib/pengine/pe_output.c const char *type = g_hash_table_lookup(rsc->meta, "type"); rsc 58 lib/pengine/pe_output.c if (rsc->children != NULL) { rsc 59 lib/pengine/pe_output.c if (add_extra_info(node, rsc->children, data_set, attrname, rsc 69 lib/pengine/pe_output.c params = pe_rsc_params(rsc, node, data_set); rsc 278 lib/pengine/pe_output.c resource_history_string(pe_resource_t *rsc, const char *rsc_id, bool all, rsc 282 lib/pengine/pe_output.c if (rsc == NULL) { rsc 301 lib/pengine/pe_output.c rsc_id, rsc->migration_threshold, failcount_s, rsc 346 lib/pengine/pe_output.c formatted_xml_buf(pe_resource_t *rsc, bool raw) rsc 349 lib/pengine/pe_output.c return dump_xml_formatted(rsc->orig_xml ? rsc->orig_xml : rsc->xml); rsc 351 lib/pengine/pe_output.c return dump_xml_formatted(rsc->xml); rsc 1430 lib/pengine/pe_output.c char *rsc = NULL; rsc 1442 lib/pengine/pe_output.c if (!parse_op_key(id ? id : ID(xml_op), &rsc, NULL, NULL)) { rsc 1446 lib/pengine/pe_output.c if (!pcmk__str_in_list(rsc, only_rsc, pcmk__str_star_matches)) { rsc 1447 lib/pengine/pe_output.c free(rsc); rsc 1451 lib/pengine/pe_output.c free(rsc); rsc 1557 lib/pengine/pe_output.c pe_resource_t *rsc = (pe_resource_t *) lpc2->data; rsc 1561 lib/pengine/pe_output.c out->message(out, crm_map_element_name(rsc->xml), show_opts, rsc 1562 lib/pengine/pe_output.c rsc, only_node, only_rsc); rsc 1700 lib/pengine/pe_output.c pe_resource_t *rsc = (pe_resource_t *) gIter2->data; rsc 1703 lib/pengine/pe_output.c out->message(out, crm_map_element_name(rsc->xml), show_opts, rsc 1704 lib/pengine/pe_output.c rsc, only_node, only_rsc); rsc 1789 lib/pengine/pe_output.c pe_resource_t *rsc = (pe_resource_t *) lpc->data; rsc 1792 lib/pengine/pe_output.c out->message(out, crm_map_element_name(rsc->xml), show_opts, rsc 1793 lib/pengine/pe_output.c rsc, only_node, only_rsc); rsc 1881 lib/pengine/pe_output.c pe_resource_t *rsc = NULL; rsc 1893 lib/pengine/pe_output.c rsc = pe_find_resource(data_set->resources, op_rsc); rsc 1895 lib/pengine/pe_output.c if (rsc) { rsc 1896 lib/pengine/pe_output.c pe_node_t *node = pe__current_node(rsc); rsc 1897 lib/pengine/pe_output.c const char *target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE); rsc 1901 lib/pengine/pe_output.c node = rsc->pending_node; rsc 1904 lib/pengine/pe_output.c node_str = pcmk__native_output_string(rsc, rsc_printable_id(rsc), node, rsc 1937 lib/pengine/pe_output.c pe_resource_t *rsc = NULL; rsc 1954 lib/pengine/pe_output.c rsc = pe_find_resource(data_set->resources, op_rsc); rsc 1956 lib/pengine/pe_output.c if (rsc) { rsc 1957 lib/pengine/pe_output.c const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 1958 lib/pengine/pe_output.c const char *kind = crm_element_value(rsc->xml, XML_ATTR_TYPE); rsc 1962 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 1965 lib/pengine/pe_output.c pcmk__xe_set_props(node, "rsc", rsc_printable_id(rsc), rsc 2126 lib/pengine/pe_output.c pe_resource_t *rsc = pe_find_resource(data_set->resources, rsc_id); rsc 2136 lib/pengine/pe_output.c if (uber_parent(rsc)->variant == pe_group) { rsc 2137 lib/pengine/pe_output.c if (!pcmk__str_in_list(rsc_printable_id(rsc), only_rsc, pcmk__str_star_matches) && rsc 2138 lib/pengine/pe_output.c !pcmk__str_in_list(rsc_printable_id(uber_parent(rsc)), only_rsc, pcmk__str_star_matches)) { rsc 2142 lib/pengine/pe_output.c if (rsc->fns->is_filtered(rsc, only_rsc, TRUE)) { rsc 2149 lib/pengine/pe_output.c int failcount = pe_get_failcount(node, rsc, &last_failure, pe_fc_default, rsc 2162 lib/pengine/pe_output.c out->message(out, "resource-history", rsc, rsc_id, false, rsc 2166 lib/pengine/pe_output.c pe_resource_t *rsc = pe_find_resource(data_set->resources, rsc 2179 lib/pengine/pe_output.c out->message(out, "resource-operation-list", data_set, rsc, node, rsc 2393 lib/pengine/pe_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 2398 lib/pengine/pe_output.c if (rsc) { rsc 2400 lib/pengine/pe_output.c prefix, rsc->id, uname, score); rsc 2412 lib/pengine/pe_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 2423 lib/pengine/pe_output.c if (rsc) { rsc 2424 lib/pengine/pe_output.c crm_xml_add(node, "id", rsc->id); rsc 2536 lib/pengine/pe_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 2539 lib/pengine/pe_output.c char *rsc_xml = formatted_xml_buf(rsc, raw); rsc 2550 lib/pengine/pe_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 2553 lib/pengine/pe_output.c char *rsc_xml = formatted_xml_buf(rsc, raw); rsc 2565 lib/pengine/pe_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 2572 lib/pengine/pe_output.c char *buf = resource_history_string(rsc, rsc_id, all, failcount, last_failure); rsc 2587 lib/pengine/pe_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 2598 lib/pengine/pe_output.c if (rsc == NULL) { rsc 2601 lib/pengine/pe_output.c char *migration_s = pcmk__itoa(rsc->migration_threshold); rsc 2680 lib/pengine/pe_output.c pe_resource_t *rsc = (pe_resource_t *) rsc_iter->data; rsc 2684 lib/pengine/pe_output.c gboolean is_active = rsc->fns->active(rsc, TRUE); rsc 2685 lib/pengine/pe_output.c gboolean partially_active = rsc->fns->active(rsc, FALSE); rsc 2688 lib/pengine/pe_output.c if (pcmk_is_set(rsc->flags, pe_rsc_orphan) && !is_active) { rsc 2698 lib/pengine/pe_output.c } else if (pcmk_is_set(show_opts, pcmk_show_brief) && (rsc->variant == pe_native)) { rsc 2707 lib/pengine/pe_output.c } else if (partially_active && !pe__rsc_running_on_any(rsc, only_node)) { rsc 2718 lib/pengine/pe_output.c x = out->message(out, crm_map_element_name(rsc->xml), show_opts, rsc, rsc 2754 lib/pengine/pe_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 2782 lib/pengine/pe_output.c int failcount = pe_get_failcount(node, rsc, &last_failure, pe_fc_default, rsc 2785 lib/pengine/pe_output.c out->message(out, "resource-history", rsc, rsc_printable_id(rsc), true, rsc 2806 lib/pengine/pe_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 2811 lib/pengine/pe_output.c fn, rsc->id, pe__node_name(node)); rsc 2813 lib/pengine/pe_output.c g_hash_table_foreach(rsc->utilization, append_dump_text, &dump_text); rsc 2824 lib/pengine/pe_output.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 2829 lib/pengine/pe_output.c "resource", rsc->id, rsc 2833 lib/pengine/pe_output.c g_hash_table_foreach(rsc->utilization, add_dump_node, xml_node); rsc 42 lib/pengine/pe_status_private.h pe_resource_t *pe__create_clone_child(pe_resource_t *rsc, rsc 46 lib/pengine/pe_status_private.h void pe__force_anon(const char *standard, pe_resource_t *rsc, const char *rid, rsc 53 lib/pengine/pe_status_private.h gboolean pe__unpack_resource(xmlNode *xml_obj, pe_resource_t **rsc, rsc 75 lib/pengine/pe_status_private.h op_digest_cache_t *pe__compare_fencing_digest(pe_resource_t *rsc, rsc 17 lib/pengine/remote.c pe__resource_is_remote_conn(const pe_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(data_set->nodes, rsc->id)); rsc 67 lib/pengine/remote.c const pe_resource_t *rsc) rsc 69 lib/pengine/remote.c if ((rsc != NULL) && (data_set != NULL) rsc 72 lib/pengine/remote.c for (GList *gIter = rsc->fillers; gIter != NULL; gIter = gIter->next) { rsc 130 lib/pengine/remote.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 132 lib/pengine/remote.c if (rsc->is_remote_node && (rsc->container != NULL)) { rsc 133 lib/pengine/remote.c pe_node_t *guest_node = pe_find_node(data_set->nodes, rsc->id); rsc 214 lib/pengine/remote.c pe_resource_t *rsc; // Known resource corresponding to history entry rsc 220 lib/pengine/remote.c pe__add_param_check(xmlNode *rsc_op, pe_resource_t *rsc, pe_node_t *node, rsc 225 lib/pengine/remote.c CRM_CHECK(data_set && rsc_op && rsc && node, return); rsc 232 lib/pengine/remote.c check_op->rsc = rsc; rsc 255 lib/pengine/remote.c cb(check_op->rsc, check_op->node, check_op->rsc_op, rsc 165 lib/pengine/status.c pe_resource_t *rsc = NULL; rsc 169 lib/pengine/status.c rsc = (pe_resource_t *) iterator->data; rsc 171 lib/pengine/status.c rsc->fns->free(rsc); rsc 37 lib/pengine/tags.c pe_resource_t *rsc = pe_find_resource_with_flags(data_set->resources, id, rsc 40 lib/pengine/tags.c if (!rsc) { rsc 44 lib/pengine/tags.c retval = g_list_append(retval, strdup(rsc_printable_id(rsc))); rsc 61 lib/pengine/tests/native/native_find_rsc_test.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 63 lib/pengine/tests/native/native_find_rsc_test.c if (strcmp(rsc->id, "exim-group") == 0) { rsc 64 lib/pengine/tests/native/native_find_rsc_test.c exim_group = rsc; rsc 65 lib/pengine/tests/native/native_find_rsc_test.c } else if (strcmp(rsc->id, "httpd-bundle") == 0) { rsc 66 lib/pengine/tests/native/native_find_rsc_test.c httpd_bundle = rsc; rsc 67 lib/pengine/tests/native/native_find_rsc_test.c } else if (strcmp(rsc->id, "inactive-clone") == 0) { rsc 68 lib/pengine/tests/native/native_find_rsc_test.c inactive_clone = rsc; rsc 69 lib/pengine/tests/native/native_find_rsc_test.c } else if (strcmp(rsc->id, "inactive-group") == 0) { rsc 70 lib/pengine/tests/native/native_find_rsc_test.c inactive_group = rsc; rsc 71 lib/pengine/tests/native/native_find_rsc_test.c } else if (strcmp(rsc->id, "mysql-clone-group") == 0) { rsc 72 lib/pengine/tests/native/native_find_rsc_test.c mysql_clone_group = rsc; rsc 73 lib/pengine/tests/native/native_find_rsc_test.c } else if (strcmp(rsc->id, "promotable-clone") == 0) { rsc 74 lib/pengine/tests/native/native_find_rsc_test.c promotable_clone = rsc; rsc 90 lib/pengine/tests/native/native_find_rsc_test.c pe_resource_t *rsc = (pe_resource_t *) g_list_first(data_set->resources)->data; rsc 91 lib/pengine/tests/native/native_find_rsc_test.c char *id = rsc->id; rsc 94 lib/pengine/tests/native/native_find_rsc_test.c assert_non_null(rsc); rsc 97 lib/pengine/tests/native/native_find_rsc_test.c assert_null(native_find_rsc(rsc, NULL, NULL, 0)); rsc 100 lib/pengine/tests/native/native_find_rsc_test.c name = crm_strdup_printf("%sX", rsc->id); rsc 101 lib/pengine/tests/native/native_find_rsc_test.c assert_null(native_find_rsc(rsc, name, NULL, 0)); rsc 104 lib/pengine/tests/native/native_find_rsc_test.c name = crm_strdup_printf("x%s", rsc->id); rsc 105 lib/pengine/tests/native/native_find_rsc_test.c assert_null(native_find_rsc(rsc, name, NULL, 0)); rsc 108 lib/pengine/tests/native/native_find_rsc_test.c name = g_ascii_strup(rsc->id, -1); rsc 109 lib/pengine/tests/native/native_find_rsc_test.c assert_null(native_find_rsc(rsc, name, NULL, 0)); rsc 113 lib/pengine/tests/native/native_find_rsc_test.c rsc->id = NULL; rsc 114 lib/pengine/tests/native/native_find_rsc_test.c assert_null(native_find_rsc(rsc, id, NULL, 0)); rsc 115 lib/pengine/tests/native/native_find_rsc_test.c rsc->id = id; rsc 124 lib/pengine/tests/native/native_find_rsc_test.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 126 lib/pengine/tests/native/native_find_rsc_test.c if (strcmp(rsc->id, "dummy") == 0) { rsc 127 lib/pengine/tests/native/native_find_rsc_test.c dummy = rsc; rsc 203 lib/pengine/tests/native/native_find_rsc_test.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 205 lib/pengine/tests/native/native_find_rsc_test.c if (strcmp(rsc->id, "Public-IP") == 0) { rsc 206 lib/pengine/tests/native/native_find_rsc_test.c public_ip = rsc; rsc 237 lib/pengine/tests/native/native_find_rsc_test.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 239 lib/pengine/tests/native/native_find_rsc_test.c if (strcmp(rsc->id, "inactive-dummy-1") == 0) { rsc 240 lib/pengine/tests/native/native_find_rsc_test.c inactive_dummy_1 = rsc; rsc 318 lib/pengine/tests/native/native_find_rsc_test.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 320 lib/pengine/tests/native/native_find_rsc_test.c if (strcmp(rsc->id, "promotable-rsc:0") == 0) { rsc 321 lib/pengine/tests/native/native_find_rsc_test.c promotable_0 = rsc; rsc 322 lib/pengine/tests/native/native_find_rsc_test.c } else if (strcmp(rsc->id, "promotable-rsc:1") == 0) { rsc 323 lib/pengine/tests/native/native_find_rsc_test.c promotable_1 = rsc; rsc 395 lib/pengine/tests/native/native_find_rsc_test.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 397 lib/pengine/tests/native/native_find_rsc_test.c if (strcmp(rsc->id, "promotable-rsc:0") == 0) { rsc 398 lib/pengine/tests/native/native_find_rsc_test.c promotable_0 = rsc; rsc 399 lib/pengine/tests/native/native_find_rsc_test.c } else if (strcmp(rsc->id, "promotable-rsc:1") == 0) { rsc 400 lib/pengine/tests/native/native_find_rsc_test.c promotable_1 = rsc; rsc 515 lib/pengine/tests/native/native_find_rsc_test.c clone_group_rsc(void **rsc) { rsc 541 lib/pengine/tests/native/native_find_rsc_test.c clone_group_instance_rsc(void **rsc) { rsc 547 lib/pengine/tests/native/native_find_rsc_test.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 549 lib/pengine/tests/native/native_find_rsc_test.c if (strcmp(rsc->id, "mysql-group:0") == 0) { rsc 550 lib/pengine/tests/native/native_find_rsc_test.c mysql_group_0 = rsc; rsc 551 lib/pengine/tests/native/native_find_rsc_test.c } else if (strcmp(rsc->id, "mysql-group:1") == 0) { rsc 552 lib/pengine/tests/native/native_find_rsc_test.c mysql_group_1 = rsc; rsc 623 lib/pengine/tests/native/native_find_rsc_test.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 625 lib/pengine/tests/native/native_find_rsc_test.c if (strcmp(rsc->id, "mysql-group:0") == 0) { rsc 626 lib/pengine/tests/native/native_find_rsc_test.c for (GList *iter2 = rsc->children; iter2 != NULL; iter2 = iter2->next) { rsc 52 lib/pengine/tests/native/pe_base_name_eq_test.c pe_resource_t *rsc = (pe_resource_t *) iter->data; rsc 54 lib/pengine/tests/native/pe_base_name_eq_test.c if (strcmp(rsc->id, "dummy") == 0) { rsc 55 lib/pengine/tests/native/pe_base_name_eq_test.c dummy = rsc; rsc 56 lib/pengine/tests/native/pe_base_name_eq_test.c } else if (strcmp(rsc->id, "exim-group") == 0) { rsc 57 lib/pengine/tests/native/pe_base_name_eq_test.c exim_group = rsc; rsc 58 lib/pengine/tests/native/pe_base_name_eq_test.c } else if (strcmp(rsc->id, "httpd-bundle") == 0) { rsc 59 lib/pengine/tests/native/pe_base_name_eq_test.c httpd_bundle = rsc; rsc 60 lib/pengine/tests/native/pe_base_name_eq_test.c } else if (strcmp(rsc->id, "mysql-clone-group") == 0) { rsc 61 lib/pengine/tests/native/pe_base_name_eq_test.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 70 lib/pengine/tests/native/pe_base_name_eq_test.c } else if (strcmp(rsc->id, "promotable-clone") == 0) { rsc 71 lib/pengine/tests/native/pe_base_name_eq_test.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 51 lib/pengine/unpack.c static void unpack_rsc_op(pe_resource_t *rsc, pe_node_t *node, xmlNode *xml_op, rsc 102 lib/pengine/unpack.c pe_resource_t *rsc = node->details->remote_rsc->container; rsc 104 lib/pengine/unpack.c if (!pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 105 lib/pengine/unpack.c if (!pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 109 lib/pengine/unpack.c pe__node_name(node), reason, rsc->id); rsc 113 lib/pengine/unpack.c pe__node_name(node), rsc->id, reason); rsc 120 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed|pe_rsc_stop); rsc 133 lib/pengine/unpack.c pe_resource_t *rsc = node->details->remote_rsc; rsc 135 lib/pengine/unpack.c if ((rsc != NULL) && !pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 600 lib/pengine/unpack.c setup_container(pe_resource_t * rsc, pe_working_set_t * data_set) rsc 604 lib/pengine/unpack.c if (rsc->children) { rsc 605 lib/pengine/unpack.c g_list_foreach(rsc->children, (GFunc) setup_container, data_set); rsc 609 lib/pengine/unpack.c container_id = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_CONTAINER); rsc 610 lib/pengine/unpack.c if (container_id && !pcmk__str_eq(container_id, rsc->id, pcmk__str_casei)) { rsc 614 lib/pengine/unpack.c rsc->container = container; rsc 616 lib/pengine/unpack.c container->fillers = g_list_append(container->fillers, rsc); rsc 617 lib/pengine/unpack.c pe_rsc_trace(rsc, "Resource %s's container is %s", rsc->id, container_id); rsc 619 lib/pengine/unpack.c pe_err("Resource %s: Unknown resource container (%s)", rsc->id, container_id); rsc 805 lib/pengine/unpack.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 807 lib/pengine/unpack.c setup_container(rsc, data_set); rsc 808 lib/pengine/unpack.c link_rsc2remotenode(data_set, rsc); rsc 966 lib/pengine/unpack.c pe_resource_t *rsc = NULL; rsc 980 lib/pengine/unpack.c rsc = this_node->details->remote_rsc; rsc 999 lib/pengine/unpack.c ((rsc != NULL) && !pcmk_is_set(rsc->flags, pe_rsc_managed))) { rsc 1194 lib/pengine/unpack.c pe_resource_t *rsc = this_node->details->remote_rsc; rsc 1196 lib/pengine/unpack.c if ((rsc == NULL) || (rsc->role != RSC_ROLE_STARTED) rsc 1197 lib/pengine/unpack.c || (rsc->container->role != RSC_ROLE_STARTED)) { rsc 1210 lib/pengine/unpack.c pe_resource_t *rsc = this_node->details->remote_rsc; rsc 1212 lib/pengine/unpack.c if ((rsc == NULL) rsc 1214 lib/pengine/unpack.c && (rsc->role != RSC_ROLE_STARTED))) { rsc 1467 lib/pengine/unpack.c pe_resource_t *rsc = this_node->details->remote_rsc; rsc 1475 lib/pengine/unpack.c if (rsc == NULL) { rsc 1480 lib/pengine/unpack.c container = rsc->container; rsc 1482 lib/pengine/unpack.c if (container && pcmk__list_of_1(rsc->running_on)) { rsc 1483 lib/pengine/unpack.c host = rsc->running_on->data; rsc 1487 lib/pengine/unpack.c if (rsc->role == RSC_ROLE_STARTED) { rsc 1494 lib/pengine/unpack.c if (rsc->role == RSC_ROLE_STARTED && rsc->next_role == RSC_ROLE_STOPPED) { rsc 1507 lib/pengine/unpack.c } else if (pcmk_is_set(rsc->flags, pe_rsc_failed)) { rsc 1512 lib/pengine/unpack.c } else if (rsc->role == RSC_ROLE_STOPPED rsc 1687 lib/pengine/unpack.c pe_resource_t *rsc = NULL; rsc 1694 lib/pengine/unpack.c if (pe__unpack_resource(xml_rsc, &rsc, NULL, data_set) != pcmk_rc_ok) { rsc 1706 lib/pengine/unpack.c link_rsc2remotenode(data_set, rsc); rsc 1717 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_orphan_container_filler); rsc 1719 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_orphan); rsc 1720 lib/pengine/unpack.c data_set->resources = g_list_append(data_set->resources, rsc); rsc 1721 lib/pengine/unpack.c return rsc; rsc 1761 lib/pengine/unpack.c pe_resource_t *rsc = NULL; rsc 1772 lib/pengine/unpack.c for (rIter = parent->children; rsc == NULL && rIter; rIter = rIter->next) { rsc 1807 lib/pengine/unpack.c rsc = parent->fns->find_rsc(child, rsc_id, NULL, pe_find_clone); rsc 1808 lib/pengine/unpack.c if (rsc) { rsc 1816 lib/pengine/unpack.c if (rsc->running_on) { rsc 1821 lib/pengine/unpack.c rsc = NULL; rsc 1823 lib/pengine/unpack.c pe_rsc_trace(parent, "Resource %s, active", rsc->id); rsc 1848 lib/pengine/unpack.c if ((rsc == NULL) && !skip_inactive && (inactive_instance != NULL)) { rsc 1850 lib/pengine/unpack.c rsc = inactive_instance; rsc 1865 lib/pengine/unpack.c if ((rsc != NULL) && !pcmk_is_set(rsc->flags, pe_rsc_needs_fencing) rsc 1870 lib/pengine/unpack.c rsc = NULL; rsc 1873 lib/pengine/unpack.c if (rsc == NULL) { rsc 1874 lib/pengine/unpack.c rsc = create_anonymous_orphan(parent, rsc_id, node, data_set); rsc 1875 lib/pengine/unpack.c pe_rsc_trace(parent, "Resource %s, orphan", rsc->id); rsc 1877 lib/pengine/unpack.c return rsc; rsc 1884 lib/pengine/unpack.c pe_resource_t *rsc = NULL; rsc 1888 lib/pengine/unpack.c rsc = pe_find_resource(data_set->resources, rsc_id); rsc 1890 lib/pengine/unpack.c if (rsc == NULL) { rsc 1899 lib/pengine/unpack.c rsc = clone0; rsc 1908 lib/pengine/unpack.c } else if (rsc->variant > pe_native) { rsc 1914 lib/pengine/unpack.c parent = uber_parent(rsc); rsc 1920 lib/pengine/unpack.c rsc = pe__find_bundle_replica(parent->parent, node); rsc 1924 lib/pengine/unpack.c rsc = find_anonymous_clone(data_set, node, parent, base); rsc 1926 lib/pengine/unpack.c CRM_ASSERT(rsc != NULL); rsc 1930 lib/pengine/unpack.c if (rsc && !pcmk__str_eq(rsc_id, rsc->id, pcmk__str_casei) rsc 1931 lib/pengine/unpack.c && !pcmk__str_eq(rsc_id, rsc->clone_name, pcmk__str_casei)) { rsc 1933 lib/pengine/unpack.c pcmk__str_update(&rsc->clone_name, rsc_id); rsc 1934 lib/pengine/unpack.c pe_rsc_debug(rsc, "Internally renamed %s on %s to %s%s", rsc 1935 lib/pengine/unpack.c rsc_id, pe__node_name(node), rsc->id, rsc 1936 lib/pengine/unpack.c (pcmk_is_set(rsc->flags, pe_rsc_orphan)? " (ORPHAN)" : "")); rsc 1938 lib/pengine/unpack.c return rsc; rsc 1944 lib/pengine/unpack.c pe_resource_t *rsc = NULL; rsc 1948 lib/pengine/unpack.c rsc = create_fake_resource(rsc_id, rsc_entry, data_set); rsc 1949 lib/pengine/unpack.c if (rsc == NULL) { rsc 1954 lib/pengine/unpack.c pe__clear_resource_flags(rsc, pe_rsc_managed); rsc 1957 lib/pengine/unpack.c CRM_CHECK(rsc != NULL, return NULL); rsc 1958 lib/pengine/unpack.c pe_rsc_trace(rsc, "Added orphan %s", rsc->id); rsc 1959 lib/pengine/unpack.c resource_location(rsc, NULL, -INFINITY, "__orphan_do_not_run__", data_set); rsc 1961 lib/pengine/unpack.c return rsc; rsc 1965 lib/pengine/unpack.c process_rsc_state(pe_resource_t * rsc, pe_node_t * node, rsc 1973 lib/pengine/unpack.c CRM_ASSERT(rsc); rsc 1974 lib/pengine/unpack.c pe_rsc_trace(rsc, "Resource %s is %s on %s: on_fail=%s", rsc 1975 lib/pengine/unpack.c rsc->id, role2text(rsc->role), pe__node_name(node), rsc 1979 lib/pengine/unpack.c if (rsc->role != RSC_ROLE_UNKNOWN) { rsc 1980 lib/pengine/unpack.c pe_resource_t *iter = rsc; rsc 1986 lib/pengine/unpack.c pe_rsc_trace(rsc, "%s%s%s known on %s", rsc 1987 lib/pengine/unpack.c rsc->id, rsc 1988 lib/pengine/unpack.c ((rsc->clone_name == NULL)? "" : " also known as "), rsc 1989 lib/pengine/unpack.c ((rsc->clone_name == NULL)? "" : rsc->clone_name), rsc 2001 lib/pengine/unpack.c if (rsc->role > RSC_ROLE_STOPPED rsc 2004 lib/pengine/unpack.c && pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 2016 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed|pe_rsc_stop); rsc 2033 lib/pengine/unpack.c rsc->id); rsc 2040 lib/pengine/unpack.c reason = crm_strdup_printf("%s is thought to be active there", rsc->id); rsc 2063 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed); rsc 2064 lib/pengine/unpack.c demote_action(rsc, node, FALSE); rsc 2071 lib/pengine/unpack.c reason = crm_strdup_printf("%s failed there", rsc->id); rsc 2085 lib/pengine/unpack.c pe__clear_resource_flags(rsc, pe_rsc_managed); rsc 2086 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_block); rsc 2093 lib/pengine/unpack.c resource_location(rsc, node, -INFINITY, "__action_migration_auto__", data_set); rsc 2097 lib/pengine/unpack.c pe__set_next_role(rsc, RSC_ROLE_STOPPED, "on-fail=stop"); rsc 2101 lib/pengine/unpack.c if (rsc->role != RSC_ROLE_STOPPED && rsc->role != RSC_ROLE_UNKNOWN) { rsc 2102 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed|pe_rsc_stop); rsc 2103 lib/pengine/unpack.c stop_action(rsc, node, FALSE); rsc 2108 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed|pe_rsc_stop); rsc 2109 lib/pengine/unpack.c if (rsc->container && pe_rsc_is_bundled(rsc)) { rsc 2116 lib/pengine/unpack.c rsc->container); rsc 2117 lib/pengine/unpack.c } else if (rsc->container) { rsc 2118 lib/pengine/unpack.c stop_action(rsc->container, node, FALSE); rsc 2119 lib/pengine/unpack.c } else if (rsc->role != RSC_ROLE_STOPPED && rsc->role != RSC_ROLE_UNKNOWN) { rsc 2120 lib/pengine/unpack.c stop_action(rsc, node, FALSE); rsc 2125 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed|pe_rsc_stop); rsc 2128 lib/pengine/unpack.c if (rsc->is_remote_node) { rsc 2129 lib/pengine/unpack.c tmpnode = pe_find_node(data_set->nodes, rsc->id); rsc 2144 lib/pengine/unpack.c if (rsc->role > RSC_ROLE_STOPPED) { rsc 2145 lib/pengine/unpack.c stop_action(rsc, node, FALSE); rsc 2150 lib/pengine/unpack.c if (rsc->remote_reconnect_ms) { rsc 2151 lib/pengine/unpack.c pe__set_next_role(rsc, RSC_ROLE_STOPPED, "remote reset"); rsc 2160 lib/pengine/unpack.c if (pcmk_is_set(rsc->flags, pe_rsc_failed) && rsc->is_remote_node) { rsc 2161 lib/pengine/unpack.c tmpnode = pe_find_node(data_set->nodes, rsc->id); rsc 2167 lib/pengine/unpack.c if (rsc->role != RSC_ROLE_STOPPED && rsc->role != RSC_ROLE_UNKNOWN) { rsc 2168 lib/pengine/unpack.c if (pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 2169 lib/pengine/unpack.c if (pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 2171 lib/pengine/unpack.c rsc->id, pe__node_name(node)); rsc 2176 lib/pengine/unpack.c rsc->id, pe__node_name(node)); rsc 2180 lib/pengine/unpack.c native_add_running(rsc, node, data_set, (save_on_fail != action_fail_ignore)); rsc 2186 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed); rsc 2189 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed|pe_rsc_stop); rsc 2193 lib/pengine/unpack.c } else if (rsc->clone_name && strchr(rsc->clone_name, ':') != NULL) { rsc 2197 lib/pengine/unpack.c pe_rsc_trace(rsc, "Resetting clone_name %s for %s (stopped)", rsc->clone_name, rsc->id); rsc 2198 lib/pengine/unpack.c free(rsc->clone_name); rsc 2199 lib/pengine/unpack.c rsc->clone_name = NULL; rsc 2202 lib/pengine/unpack.c GList *possible_matches = pe__resource_actions(rsc, node, RSC_STOP, rsc 2218 lib/pengine/unpack.c if (rsc->role == RSC_ROLE_STOPPED rsc 2219 lib/pengine/unpack.c && rsc->partial_migration_source rsc 2220 lib/pengine/unpack.c && rsc->partial_migration_source->details == node->details rsc 2221 lib/pengine/unpack.c && rsc->partial_migration_target rsc 2222 lib/pengine/unpack.c && rsc->running_on) { rsc 2224 lib/pengine/unpack.c rsc->role = RSC_ROLE_STARTED; rsc 2230 lib/pengine/unpack.c process_recurring(pe_node_t * node, pe_resource_t * rsc, rsc 2239 lib/pengine/unpack.c CRM_ASSERT(rsc); rsc 2240 lib/pengine/unpack.c pe_rsc_trace(rsc, "%s: Start index %d, stop index = %d", rsc->id, start_index, stop_index); rsc 2252 lib/pengine/unpack.c pe_rsc_trace(rsc, "Skipping %s on %s: node is offline", rsc 2253 lib/pengine/unpack.c rsc->id, pe__node_name(node)); rsc 2258 lib/pengine/unpack.c pe_rsc_trace(rsc, "Skipping %s on %s: resource is not active", rsc 2263 lib/pengine/unpack.c pe_rsc_trace(rsc, "Skipping %s on %s: old %d", rsc 2270 lib/pengine/unpack.c pe_rsc_trace(rsc, "Skipping %s on %s: non-recurring", rsc 2277 lib/pengine/unpack.c pe_rsc_trace(rsc, "Skipping %s on %s: status", rsc 2283 lib/pengine/unpack.c key = pcmk__op_key(rsc->id, task, interval_ms); rsc 2284 lib/pengine/unpack.c pe_rsc_trace(rsc, "Creating %s on %s", key, pe__node_name(node)); rsc 2285 lib/pengine/unpack.c custom_action(rsc, key, task, node, TRUE, TRUE, data_set); rsc 2339 lib/pengine/unpack.c unpack_shutdown_lock(xmlNode *rsc_entry, pe_resource_t *rsc, pe_node_t *node, rsc 2350 lib/pengine/unpack.c pe_rsc_info(rsc, "Shutdown lock for %s on %s expired", rsc 2351 lib/pengine/unpack.c rsc->id, pe__node_name(node)); rsc 2352 lib/pengine/unpack.c pe__clear_resource_history(rsc, node, data_set); rsc 2354 lib/pengine/unpack.c rsc->lock_node = node; rsc 2355 lib/pengine/unpack.c rsc->lock_time = lock_time; rsc 2382 lib/pengine/unpack.c pe_resource_t *rsc = NULL; rsc 2416 lib/pengine/unpack.c rsc = unpack_find_resource(data_set, node, rsc_id, lrm_resource); rsc 2417 lib/pengine/unpack.c if (rsc == NULL) { rsc 2422 lib/pengine/unpack.c rsc = process_orphan_resource(lrm_resource, node, data_set); rsc 2425 lib/pengine/unpack.c CRM_ASSERT(rsc != NULL); rsc 2429 lib/pengine/unpack.c unpack_shutdown_lock(lrm_resource, rsc, node, data_set); rsc 2433 lib/pengine/unpack.c saved_role = rsc->role; rsc 2434 lib/pengine/unpack.c rsc->role = RSC_ROLE_UNKNOWN; rsc 2445 lib/pengine/unpack.c unpack_rsc_op(rsc, node, rsc_op, &last_failure, &on_fail, data_set); rsc 2450 lib/pengine/unpack.c process_recurring(node, rsc, start_index, stop_index, sorted_op_list, data_set); rsc 2455 lib/pengine/unpack.c process_rsc_state(rsc, node, on_fail, migrate_op, data_set); rsc 2457 lib/pengine/unpack.c if (get_target_role(rsc, &req_role)) { rsc 2458 lib/pengine/unpack.c if (rsc->next_role == RSC_ROLE_UNKNOWN || req_role < rsc->next_role) { rsc 2459 lib/pengine/unpack.c pe__set_next_role(rsc, req_role, XML_RSC_ATTR_TARGET_ROLE); rsc 2461 lib/pengine/unpack.c } else if (req_role > rsc->next_role) { rsc 2462 lib/pengine/unpack.c pe_rsc_info(rsc, "%s: Not overwriting calculated next role %s" rsc 2464 lib/pengine/unpack.c rsc->id, role2text(rsc->next_role), role2text(req_role)); rsc 2468 lib/pengine/unpack.c if (saved_role > rsc->role) { rsc 2469 lib/pengine/unpack.c rsc->role = saved_role; rsc 2472 lib/pengine/unpack.c return rsc; rsc 2482 lib/pengine/unpack.c pe_resource_t *rsc; rsc 2502 lib/pengine/unpack.c rsc = pe_find_resource(data_set->resources, rsc_id); rsc 2503 lib/pengine/unpack.c if (rsc == NULL || rsc 2504 lib/pengine/unpack.c !pcmk_is_set(rsc->flags, pe_rsc_orphan_container_filler) || rsc 2505 lib/pengine/unpack.c rsc->container != NULL) { rsc 2509 lib/pengine/unpack.c pe_rsc_trace(rsc, "Mapped container of orphaned resource %s to %s", rsc 2510 lib/pengine/unpack.c rsc->id, container_id); rsc 2511 lib/pengine/unpack.c rsc->container = container; rsc 2512 lib/pengine/unpack.c container->fillers = g_list_append(container->fillers, rsc); rsc 2543 lib/pengine/unpack.c pe_resource_t *rsc = unpack_lrm_resource(node, rsc_entry, data_set); rsc 2545 lib/pengine/unpack.c if ((rsc != NULL) rsc 2546 lib/pengine/unpack.c && pcmk_is_set(rsc->flags, pe_rsc_orphan_container_filler)) { rsc 2560 lib/pengine/unpack.c set_active(pe_resource_t * rsc) rsc 2562 lib/pengine/unpack.c pe_resource_t *top = uber_parent(rsc); rsc 2565 lib/pengine/unpack.c rsc->role = RSC_ROLE_UNPROMOTED; rsc 2567 lib/pengine/unpack.c rsc->role = RSC_ROLE_STARTED; rsc 2797 lib/pengine/unpack.c unpack_migrate_to_success(pe_resource_t *rsc, pe_node_t *node, xmlNode *xml_op, rsc 2854 lib/pengine/unpack.c source_newer_op = non_monitor_after(rsc->id, source, xml_op, true, rsc 2858 lib/pengine/unpack.c migrate_from = find_lrm_op(rsc->id, CRMD_ACTION_MIGRATED, target, rsc 2871 lib/pengine/unpack.c target_newer_state = newer_state_after_migrate(rsc->id, target, xml_op, rsc 2879 lib/pengine/unpack.c rsc->role = RSC_ROLE_STARTED; rsc 2887 lib/pengine/unpack.c pe_rsc_trace(rsc, "%s op on %s exited with status=%d, rc=%d", rsc 2897 lib/pengine/unpack.c pe_rsc_trace(rsc, "Detected dangling migration op: %s on %s", ID(xml_op), rsc 2899 lib/pengine/unpack.c rsc->role = RSC_ROLE_STOPPED; rsc 2900 lib/pengine/unpack.c rsc->dangling_migrations = g_list_prepend(rsc->dangling_migrations, node); rsc 2908 lib/pengine/unpack.c pe_rsc_trace(rsc, "Marking active on %s %p %d", target, target_node, rsc 2910 lib/pengine/unpack.c native_add_running(rsc, target_node, data_set, TRUE); rsc 2918 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed|pe_rsc_stop); rsc 2919 lib/pengine/unpack.c pe__clear_resource_flags(rsc, pe_rsc_allow_migrate); rsc 2928 lib/pengine/unpack.c pe_rsc_trace(rsc, "Marking active on %s %p %d", target, target_node, rsc 2931 lib/pengine/unpack.c native_add_running(rsc, target_node, data_set, FALSE); rsc 2939 lib/pengine/unpack.c rsc->partial_migration_target = target_node; rsc 2940 lib/pengine/unpack.c rsc->partial_migration_source = source_node; rsc 2947 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failed|pe_rsc_stop); rsc 2948 lib/pengine/unpack.c pe__clear_resource_flags(rsc, pe_rsc_allow_migrate); rsc 2954 lib/pengine/unpack.c unpack_migrate_to_failure(pe_resource_t *rsc, pe_node_t *node, xmlNode *xml_op, rsc 2967 lib/pengine/unpack.c rsc->role = RSC_ROLE_STARTED; rsc 2970 lib/pengine/unpack.c target_migrate_from = find_lrm_op(rsc->id, CRMD_ACTION_MIGRATED, target, rsc 2978 lib/pengine/unpack.c !unknown_on_node(rsc->id, target, data_set) rsc 2982 lib/pengine/unpack.c && !newer_state_after_migrate(rsc->id, target, xml_op, target_migrate_from, rsc 2991 lib/pengine/unpack.c native_add_running(rsc, target_node, data_set, FALSE); rsc 2994 lib/pengine/unpack.c } else if (!non_monitor_after(rsc->id, source, xml_op, true, data_set)) { rsc 3001 lib/pengine/unpack.c rsc->dangling_migrations = g_list_prepend(rsc->dangling_migrations, node); rsc 3006 lib/pengine/unpack.c unpack_migrate_from_failure(pe_resource_t *rsc, pe_node_t *node, rsc 3019 lib/pengine/unpack.c rsc->role = RSC_ROLE_STARTED; rsc 3022 lib/pengine/unpack.c source_migrate_to = find_lrm_op(rsc->id, CRMD_ACTION_MIGRATE, rsc 3030 lib/pengine/unpack.c !unknown_on_node(rsc->id, source, data_set) rsc 3034 lib/pengine/unpack.c && !newer_state_after_migrate(rsc->id, source, source_migrate_to, xml_op, rsc 3042 lib/pengine/unpack.c native_add_running(rsc, source_node, data_set, TRUE); rsc 3049 lib/pengine/unpack.c const pe_resource_t *rsc, pe_working_set_t *data_set) rsc 3071 lib/pengine/unpack.c crm_xml_add(op, XML_LRM_ATTR_RSCID, rsc->id); rsc 3195 lib/pengine/unpack.c unpack_rsc_op_failure(pe_resource_t * rsc, pe_node_t * node, int rc, xmlNode * xml_op, xmlNode ** last_failure, rsc 3206 lib/pengine/unpack.c CRM_ASSERT(rsc); rsc 3223 lib/pengine/unpack.c (is_probe? "probe" : task), rsc->id, pe__node_name(node), rsc 3230 lib/pengine/unpack.c (is_probe? "probe" : task), rsc->id, pe__node_name(node), rsc 3242 lib/pengine/unpack.c rsc->id, pe__node_name(node)); rsc 3245 lib/pengine/unpack.c record_failed_op(xml_op, node, rsc, data_set); rsc 3248 lib/pengine/unpack.c action = custom_action(rsc, strdup(key), task, NULL, TRUE, FALSE, data_set); rsc 3250 lib/pengine/unpack.c pe_rsc_trace(rsc, "on-fail %s -> %s for %s (%s)", fail2text(*on_fail), rsc 3256 lib/pengine/unpack.c resource_location(rsc, node, -INFINITY, "__stop_fail__", data_set); rsc 3259 lib/pengine/unpack.c unpack_migrate_to_failure(rsc, node, xml_op, data_set); rsc 3262 lib/pengine/unpack.c unpack_migrate_from_failure(rsc, node, xml_op, data_set); rsc 3265 lib/pengine/unpack.c rsc->role = RSC_ROLE_PROMOTED; rsc 3269 lib/pengine/unpack.c rsc->role = RSC_ROLE_PROMOTED; rsc 3270 lib/pengine/unpack.c pe__set_next_role(rsc, RSC_ROLE_STOPPED, rsc 3274 lib/pengine/unpack.c rsc->role = RSC_ROLE_STOPPED; rsc 3282 lib/pengine/unpack.c rsc->role = RSC_ROLE_UNPROMOTED; rsc 3288 lib/pengine/unpack.c pe_rsc_trace(rsc, "Leaving %s stopped", rsc->id); rsc 3289 lib/pengine/unpack.c rsc->role = RSC_ROLE_STOPPED; rsc 3291 lib/pengine/unpack.c } else if (rsc->role < RSC_ROLE_STARTED) { rsc 3292 lib/pengine/unpack.c pe_rsc_trace(rsc, "Setting %s active", rsc->id); rsc 3293 lib/pengine/unpack.c set_active(rsc); rsc 3296 lib/pengine/unpack.c pe_rsc_trace(rsc, "Resource %s: role=%s, unclean=%s, on_fail=%s, fail_role=%s", rsc 3297 lib/pengine/unpack.c rsc->id, role2text(rsc->role), rsc 3301 lib/pengine/unpack.c if (action->fail_role != RSC_ROLE_STARTED && rsc->next_role < action->fail_role) { rsc 3302 lib/pengine/unpack.c pe__set_next_role(rsc, action->fail_role, "failure"); rsc 3308 lib/pengine/unpack.c pe_resource_t *fail_rsc = rsc; rsc 3348 lib/pengine/unpack.c check_recoverable(pe_resource_t *rsc, pe_node_t *node, const char *task, rsc 3363 lib/pengine/unpack.c CRM_XS " rc=%d id=%s", rsc->id, task, pe__node_name(node), rsc 3368 lib/pengine/unpack.c pe__clear_resource_flags(rsc, pe_rsc_managed); rsc 3369 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_block); rsc 3400 lib/pengine/unpack.c remap_operation(xmlNode *xml_op, pe_resource_t *rsc, pe_node_t *node, rsc 3415 lib/pengine/unpack.c record_failed_op(xml_op, node, rsc, data_set); rsc 3422 lib/pengine/unpack.c if (!pe_rsc_is_bundled(rsc) && pcmk_xe_mask_probe_failure(xml_op)) { rsc 3436 lib/pengine/unpack.c CRM_ASSERT(rsc); rsc 3467 lib/pengine/unpack.c pe_rsc_debug(rsc, "%s on %s: expected %d (%s), got %d (%s%s%s)", rsc 3478 lib/pengine/unpack.c pe_rsc_info(rsc, "Probe found %s active on %s at %s", rsc 3479 lib/pengine/unpack.c rsc->id, pe__node_name(node), rsc 3486 lib/pengine/unpack.c || !pcmk_is_set(rsc->flags, pe_rsc_managed)) { rsc 3489 lib/pengine/unpack.c rsc->role = RSC_ROLE_STOPPED; rsc 3493 lib/pengine/unpack.c pe__set_next_role(rsc, RSC_ROLE_UNKNOWN, "not running"); rsc 3500 lib/pengine/unpack.c pe_rsc_info(rsc, rsc 3502 lib/pengine/unpack.c rsc->id, pe__node_name(node), rsc 3505 lib/pengine/unpack.c rsc->role = RSC_ROLE_PROMOTED; rsc 3510 lib/pengine/unpack.c rsc->role = RSC_ROLE_PROMOTED; rsc 3525 lib/pengine/unpack.c check_recoverable(rsc, node, task, *rc, xml_op); rsc 3536 lib/pengine/unpack.c check_recoverable(rsc, node, task, *rc, xml_op); rsc 3544 lib/pengine/unpack.c *rc, task, rsc->id, pe__node_name(node), rsc 3551 lib/pengine/unpack.c pe_rsc_trace(rsc, "Remapped %s status to '%s'", rsc 3558 lib/pengine/unpack.c pe_resource_t *rsc, pe_node_t *node, rsc 3563 lib/pengine/unpack.c if (pe__bundle_needs_remote_name(rsc, data_set)) { rsc 3568 lib/pengine/unpack.c pe__add_param_check(xml_op, rsc, node, pe_check_last_failure, rsc 3574 lib/pengine/unpack.c digest_data = rsc_action_digest_cmp(rsc, xml_op, node, data_set); rsc 3579 lib/pengine/unpack.c rsc->id, get_op_key(xml_op), node->details->id); rsc 3607 lib/pengine/unpack.c should_ignore_failure_timeout(pe_resource_t *rsc, xmlNode *xml_op, rsc 3631 lib/pengine/unpack.c if (rsc->remote_reconnect_ms rsc 3635 lib/pengine/unpack.c pe_node_t *remote_node = pe_find_node(data_set->nodes, rsc->id); rsc 3640 lib/pengine/unpack.c " until fencing has occurred", rsc->id); rsc 3671 lib/pengine/unpack.c check_operation_expiry(pe_resource_t *rsc, pe_node_t *node, int rc, rsc 3684 lib/pengine/unpack.c if ((rsc->failure_timeout > 0) rsc 3694 lib/pengine/unpack.c if ((now >= (last_run + rsc->failure_timeout)) rsc 3695 lib/pengine/unpack.c && !should_ignore_failure_timeout(rsc, xml_op, task, interval_ms, rsc 3701 lib/pengine/unpack.c unexpired_fail_count = pe_get_failcount(node, rsc, &last_failure, rsc 3709 lib/pengine/unpack.c (long long) now, unexpired_fail_count, rsc->failure_timeout, rsc 3711 lib/pengine/unpack.c last_failure += rsc->failure_timeout + 1; rsc 3718 lib/pengine/unpack.c if (pe_get_failcount(node, rsc, NULL, pe_fc_default, xml_op, data_set)) { rsc 3736 lib/pengine/unpack.c } else if (is_last_failure && rsc->remote_reconnect_ms) { rsc 3745 lib/pengine/unpack.c && should_clear_for_param_change(xml_op, task, rsc, node, data_set)) { rsc 3751 lib/pengine/unpack.c pe_action_t *clear_op = pe__clear_failcount(rsc, node, clear_reason, rsc 3755 lib/pengine/unpack.c && rsc->remote_reconnect_ms) { rsc 3765 lib/pengine/unpack.c "fencing of %s completes", task, rsc->id); rsc 3766 lib/pengine/unpack.c order_after_remote_fencing(clear_op, rsc, data_set); rsc 3799 lib/pengine/unpack.c get_action_on_fail(pe_resource_t *rsc, const char *key, const char *task, pe_working_set_t * data_set) rsc 3802 lib/pengine/unpack.c pe_action_t *action = custom_action(rsc, strdup(key), task, NULL, TRUE, FALSE, data_set); rsc 3811 lib/pengine/unpack.c update_resource_state(pe_resource_t * rsc, pe_node_t * node, xmlNode * xml_op, const char * task, int rc, rsc 3816 lib/pengine/unpack.c CRM_ASSERT(rsc); rsc 3819 lib/pengine/unpack.c if (rc == PCMK_OCF_NOT_INSTALLED || (!pe_rsc_is_bundled(rsc) && pcmk_xe_mask_probe_failure(xml_op))) { rsc 3820 lib/pengine/unpack.c rsc->role = RSC_ROLE_STOPPED; rsc 3835 lib/pengine/unpack.c if (rsc->role < RSC_ROLE_STARTED) { rsc 3836 lib/pengine/unpack.c set_active(rsc); rsc 3840 lib/pengine/unpack.c rsc->role = RSC_ROLE_STARTED; rsc 3844 lib/pengine/unpack.c rsc->role = RSC_ROLE_STOPPED; rsc 3848 lib/pengine/unpack.c rsc->role = RSC_ROLE_PROMOTED; rsc 3857 lib/pengine/unpack.c rsc->role = RSC_ROLE_UNPROMOTED; rsc 3860 lib/pengine/unpack.c rsc->role = RSC_ROLE_STARTED; rsc 3864 lib/pengine/unpack.c unpack_migrate_to_success(rsc, node, xml_op, data_set); rsc 3866 lib/pengine/unpack.c } else if (rsc->role < RSC_ROLE_STARTED) { rsc 3867 lib/pengine/unpack.c pe_rsc_trace(rsc, "%s active on %s", rsc->id, pe__node_name(node)); rsc 3868 lib/pengine/unpack.c set_active(rsc); rsc 3878 lib/pengine/unpack.c pe_rsc_trace(rsc, "%s.%s is not cleared by a completed stop", rsc 3879 lib/pengine/unpack.c rsc->id, fail2text(*on_fail)); rsc 3888 lib/pengine/unpack.c pe__set_next_role(rsc, RSC_ROLE_UNKNOWN, "clear past failures"); rsc 3891 lib/pengine/unpack.c if (rsc->remote_reconnect_ms == 0) { rsc 3899 lib/pengine/unpack.c pe__set_next_role(rsc, RSC_ROLE_UNKNOWN, rsc 3908 lib/pengine/unpack.c unpack_rsc_op(pe_resource_t *rsc, pe_node_t *node, xmlNode *xml_op, rsc 3923 lib/pengine/unpack.c pe_resource_t *parent = rsc; rsc 3927 lib/pengine/unpack.c CRM_CHECK(rsc && node && xml_op, return); rsc 3952 lib/pengine/unpack.c if (!pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 3953 lib/pengine/unpack.c parent = uber_parent(rsc); rsc 3956 lib/pengine/unpack.c pe_rsc_trace(rsc, "Unpacking task %s/%s (call_id=%d, status=%d, rc=%d) on %s (role=%s)", rsc 3958 lib/pengine/unpack.c role2text(rsc->role)); rsc 3961 lib/pengine/unpack.c pe_rsc_trace(rsc, rsc 3964 lib/pengine/unpack.c rsc->id, pe__node_name(node)); rsc 3980 lib/pengine/unpack.c && check_operation_expiry(rsc, node, rc, xml_op, data_set)) { rsc 3987 lib/pengine/unpack.c remap_operation(xml_op, rsc, node, data_set, on_fail, target_rc, rsc 3990 lib/pengine/unpack.c maskable_probe_failure = !pe_rsc_is_bundled(rsc) && pcmk_xe_mask_probe_failure(xml_op); rsc 3993 lib/pengine/unpack.c if (rsc->role <= RSC_ROLE_STOPPED) { rsc 3994 lib/pengine/unpack.c rsc->role = RSC_ROLE_UNKNOWN; rsc 4029 lib/pengine/unpack.c services_ocf_exitcode_str(old_rc), rsc->id, rsc 4031 lib/pengine/unpack.c update_resource_state(rsc, node, xml_op, task, target_rc, *last_failure, rsc 4035 lib/pengine/unpack.c record_failed_op(xml_op, node, rsc, data_set); rsc 4045 lib/pengine/unpack.c ID(xml_op), task, rsc->id, pe__node_name(node), rsc 4051 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_start_pending); rsc 4052 lib/pengine/unpack.c set_active(rsc); rsc 4055 lib/pengine/unpack.c rsc->role = RSC_ROLE_PROMOTED; rsc 4063 lib/pengine/unpack.c stop_action(rsc, target, FALSE); rsc 4067 lib/pengine/unpack.c if (rsc->pending_task == NULL) { rsc 4069 lib/pengine/unpack.c rsc->pending_task = strdup(task); rsc 4070 lib/pengine/unpack.c rsc->pending_node = node; rsc 4078 lib/pengine/unpack.c rsc->pending_task = strdup("probe"); rsc 4079 lib/pengine/unpack.c rsc->pending_node = node; rsc 4086 lib/pengine/unpack.c pe_rsc_trace(rsc, "%s of %s on %s completed at %s " CRM_XS " id=%s", rsc 4087 lib/pengine/unpack.c task, rsc->id, pe__node_name(node), rsc 4089 lib/pengine/unpack.c update_resource_state(rsc, node, xml_op, task, rc, *last_failure, on_fail, data_set); rsc 4093 lib/pengine/unpack.c failure_strategy = get_action_on_fail(rsc, task_key, task, data_set); rsc 4098 lib/pengine/unpack.c task, rsc->id, pe__node_name(node), status, rc, rsc 4104 lib/pengine/unpack.c unpack_rsc_op_failure(rsc, node, rc, xml_op, last_failure, on_fail, data_set); rsc 4135 lib/pengine/unpack.c failure_strategy = get_action_on_fail(rsc, task_key, task, data_set); rsc 4143 lib/pengine/unpack.c (*exit_reason? ": " : ""), exit_reason, rsc->id, rsc 4147 lib/pengine/unpack.c update_resource_state(rsc, node, xml_op, task, target_rc, *last_failure, rsc 4150 lib/pengine/unpack.c pe__set_resource_flags(rsc, pe_rsc_failure_ignored); rsc 4152 lib/pengine/unpack.c record_failed_op(xml_op, node, rsc, data_set); rsc 4160 lib/pengine/unpack.c unpack_rsc_op_failure(rsc, node, rc, xml_op, last_failure, on_fail, rsc 4184 lib/pengine/unpack.c pe_rsc_trace(rsc, "Resource %s after %s: role=%s, next=%s", rsc 4185 lib/pengine/unpack.c rsc->id, task, role2text(rsc->role), rsc 4186 lib/pengine/unpack.c role2text(rsc->next_role)); rsc 4246 lib/pengine/unpack.c extract_operations(const char *node, const char *rsc, xmlNode * rsc_entry, gboolean active_filter) rsc 4267 lib/pengine/unpack.c crm_xml_add(rsc_op, "resource", rsc); rsc 4310 lib/pengine/unpack.c find_operations(const char *rsc, const char *node, gboolean active_filter, rsc 4364 lib/pengine/unpack.c if (rsc != NULL && !pcmk__str_eq(rsc_id, rsc, pcmk__str_casei)) { rsc 42 lib/pengine/utils.c pe_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 210 lib/pengine/utils.c pe__output_node_weights(pe_resource_t *rsc, const char *comment, rsc 222 lib/pengine/utils.c out->message(out, "node-weight", rsc, comment, node->details->uname, rsc 241 lib/pengine/utils.c pe_resource_t *rsc, const char *comment, GHashTable *nodes) rsc 251 lib/pengine/utils.c if (rsc) { rsc 255 lib/pengine/utils.c comment, rsc->id, rsc 281 lib/pengine/utils.c bool to_log, pe_resource_t *rsc, const char *comment, rsc 284 lib/pengine/utils.c if (rsc != NULL && pcmk_is_set(rsc->flags, pe_rsc_orphan)) { rsc 294 lib/pengine/utils.c pe__log_node_weights(file, function, line, rsc, comment, nodes); rsc 296 lib/pengine/utils.c pe__output_node_weights(rsc, comment, nodes, data_set); rsc 300 lib/pengine/utils.c if (rsc && rsc->children) { rsc 301 lib/pengine/utils.c for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 352 lib/pengine/utils.c resource_node_score(pe_resource_t * rsc, pe_node_t * node, int score, const char *tag) rsc 356 lib/pengine/utils.c if ((rsc->exclusive_discover || (node->rsc_discover_mode == pe_discover_never)) rsc 364 lib/pengine/utils.c } else if (rsc->children) { rsc 365 lib/pengine/utils.c GList *gIter = rsc->children; rsc 374 lib/pengine/utils.c pe_rsc_trace(rsc, "Setting %s for %s on %s: %d", rsc 375 lib/pengine/utils.c tag, rsc->id, pe__node_name(node), score); rsc 376 lib/pengine/utils.c match = pe_hash_table_lookup(rsc->allowed_nodes, node->details->id); rsc 379 lib/pengine/utils.c g_hash_table_insert(rsc->allowed_nodes, (gpointer) match->details->id, match); rsc 385 lib/pengine/utils.c resource_location(pe_resource_t * rsc, pe_node_t * node, int score, const char *tag, rsc 389 lib/pengine/utils.c resource_node_score(rsc, node, score, tag); rsc 397 lib/pengine/utils.c resource_node_score(rsc, node_iter, score, tag); rsc 404 lib/pengine/utils.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 406 lib/pengine/utils.c resource_node_score(rsc, node_iter, score, tag); rsc 411 lib/pengine/utils.c if (rsc->allocated_to) { rsc 413 lib/pengine/utils.c rsc->id, pe__node_name(rsc->allocated_to)); rsc 414 lib/pengine/utils.c free(rsc->allocated_to); rsc 415 lib/pengine/utils.c rsc->allocated_to = NULL; rsc 436 lib/pengine/utils.c get_target_role(pe_resource_t * rsc, enum rsc_role_e * role) rsc 439 lib/pengine/utils.c const char *value = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE); rsc 451 lib/pengine/utils.c "because '%s' is not valid", rsc->id, value); rsc 455 lib/pengine/utils.c if (pcmk_is_set(uber_parent(rsc)->flags, pe_rsc_promotable)) { rsc 464 lib/pengine/utils.c "clones", rsc->id, value); rsc 568 lib/pengine/utils.c const char *rsc_printable_id(pe_resource_t *rsc) rsc 570 lib/pengine/utils.c if (!pcmk_is_set(rsc->flags, pe_rsc_unique)) { rsc 571 lib/pengine/utils.c return ID(rsc->xml); rsc 573 lib/pengine/utils.c return rsc->id; rsc 577 lib/pengine/utils.c pe__clear_resource_flags_recursive(pe_resource_t *rsc, uint64_t flags) rsc 579 lib/pengine/utils.c pe__clear_resource_flags(rsc, flags); rsc 580 lib/pengine/utils.c for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 595 lib/pengine/utils.c pe__set_resource_flags_recursive(pe_resource_t *rsc, uint64_t flags) rsc 597 lib/pengine/utils.c pe__set_resource_flags(rsc, flags); rsc 598 lib/pengine/utils.c for (GList *gIter = rsc->children; gIter != NULL; gIter = gIter->next) { rsc 605 lib/pengine/utils.c pe_resource_t * rsc, pe_node_t *node, const char *reason, pe_action_t *dependency, pe_working_set_t * data_set) rsc 611 lib/pengine/utils.c } else if ((rsc != NULL) rsc 612 lib/pengine/utils.c && !pcmk_is_set(rsc->flags, pe_rsc_fence_device)) { rsc 626 lib/pengine/utils.c } else if(rsc) { rsc 629 lib/pengine/utils.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 632 lib/pengine/utils.c trigger_unfencing(rsc, node, reason, dependency, data_set); rsc 735 lib/pengine/utils.c pe__resource_is_disabled(pe_resource_t *rsc) rsc 739 lib/pengine/utils.c CRM_CHECK(rsc != NULL, return false); rsc 740 lib/pengine/utils.c target_role = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_TARGET_ROLE); rsc 746 lib/pengine/utils.c && pcmk_is_set(uber_parent(rsc)->flags, pe_rsc_promotable))) { rsc 754 lib/pengine/utils.c pe__rsc_running_on_any(pe_resource_t *rsc, GList *node_list) rsc 756 lib/pengine/utils.c for (GList *ele = rsc->running_on; ele; ele = ele->next) { rsc 768 lib/pengine/utils.c pcmk__rsc_filtered_by_node(pe_resource_t *rsc, GList *only_node) rsc 770 lib/pengine/utils.c return (rsc->fns->active(rsc, FALSE) && !pe__rsc_running_on_any(rsc, only_node)); rsc 779 lib/pengine/utils.c pe_resource_t *rsc = (pe_resource_t *) gIter->data; rsc 784 lib/pengine/utils.c if (pcmk__str_in_list(rsc_printable_id(rsc), filter, pcmk__str_star_matches) || rsc 785 lib/pengine/utils.c (rsc->parent && pcmk__str_in_list(rsc_printable_id(rsc->parent), filter, pcmk__str_star_matches))) { rsc 786 lib/pengine/utils.c retval = g_list_prepend(retval, rsc); rsc 832 lib/pengine/utils.c pe_resource_t *rsc = pe_find_resource_with_flags(data_set->resources, s, rsc 835 lib/pengine/utils.c if (rsc) { rsc 842 lib/pengine/utils.c resources = g_list_prepend(resources, strdup(rsc->id)); rsc 844 lib/pengine/utils.c resources = g_list_prepend(resources, strdup(rsc_printable_id(rsc))); rsc 859 lib/pengine/utils.c pe__failed_probe_for_rsc(pe_resource_t *rsc, const char *name) rsc 861 lib/pengine/utils.c pe_resource_t *parent = uber_parent(rsc); rsc 862 lib/pengine/utils.c const char *rsc_id = rsc->id; rsc 864 lib/pengine/utils.c if (rsc->variant == pe_clone) { rsc 865 lib/pengine/utils.c rsc_id = pe__clone_child_id(rsc); rsc 870 lib/pengine/utils.c for (xmlNode *xml_op = pcmk__xml_first_child(rsc->cluster->failed); xml_op != NULL; rsc 34 lib/pengine/variant.h # define get_clone_variant_data(data, rsc) \ rsc 35 lib/pengine/variant.h CRM_ASSERT(rsc != NULL); \ rsc 36 lib/pengine/variant.h CRM_ASSERT(rsc->variant == pe_clone); \ rsc 37 lib/pengine/variant.h data = (clone_variant_data_t *)rsc->variant_opaque; rsc 109 lib/pengine/variant.h # define get_bundle_variant_data(data, rsc) \ rsc 110 lib/pengine/variant.h CRM_ASSERT(rsc != NULL); \ rsc 111 lib/pengine/variant.h CRM_ASSERT(rsc->variant == pe_container); \ rsc 112 lib/pengine/variant.h CRM_ASSERT(rsc->variant_opaque != NULL); \ rsc 113 lib/pengine/variant.h data = (pe__bundle_variant_data_t *)rsc->variant_opaque; \ 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 731 lib/services/systemd.c op->action, pcmk__s(op->rsc, "unknown resource")); rsc 742 lib/services/systemd.c op->action, pcmk__s(op->rsc, "unknown resource"), path); rsc 896 lib/services/systemd.c pcmk__s(op->rsc, "(unspecified)"), name, rsc 983 lib/services/systemd.c ((op->rsc == NULL)? "" : " for resource "), pcmk__s(op->rsc, "")); rsc 1030 lib/services/systemd.c op->action, op->agent, op->rsc); rsc 1073 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 622 lib/services/upstart.c action, pcmk__s(op->rsc, "unknown resource"), job); rsc 1655 tools/crm_mon.c send_custom_trap(const char *node, const char *rsc, const char *task, int target_rc, int rc, rsc 1667 tools/crm_mon.c if(rsc) { rsc 1668 tools/crm_mon.c setenv("CRM_notify_rsc", rsc, 1); rsc 1706 tools/crm_mon.c char *rsc = NULL; rsc 1739 tools/crm_mon.c if (parse_op_key(id, &rsc, &task, NULL) == FALSE) { rsc 1770 tools/crm_mon.c crm_notice("%s of %s on %s completed: %s", task, rsc, node, desc); rsc 1777 tools/crm_mon.c crm_warn("%s of %s on %s failed: %s", task, rsc, node, desc); rsc 1781 tools/crm_mon.c crm_warn("%s of %s on %s failed: %s", task, rsc, node, desc); rsc 1785 tools/crm_mon.c send_custom_trap(node, rsc, task, target_rc, rc, status, desc); rsc 1789 tools/crm_mon.c free(rsc); rsc 956 tools/crm_resource.c ban_or_move(pcmk__output_t *out, pe_resource_t *rsc, const char *move_lifetime) rsc 962 tools/crm_resource.c CRM_CHECK(rsc != NULL, return EINVAL); rsc 964 tools/crm_resource.c current = pe__find_active_requires(rsc, &nactive); rsc 970 tools/crm_resource.c } else if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 975 tools/crm_resource.c for(iter = rsc->children; iter; iter = iter->next) { rsc 1013 tools/crm_resource.c cleanup(pcmk__output_t *out, pe_resource_t *rsc, pe_node_t *node) rsc 1018 tools/crm_resource.c rsc = uber_parent(rsc); rsc 1022 tools/crm_resource.c rsc->id, options.rsc_id, (options.host_uname? options.host_uname: "all nodes")); rsc 1023 tools/crm_resource.c rc = cli_resource_delete(controld_api, options.host_uname, rsc, options.operation, rsc 1028 tools/crm_resource.c cli_resource_check(out, rsc, node); rsc 1320 tools/crm_resource.c refresh_resource(pcmk__output_t *out, pe_resource_t *rsc, pe_node_t *node) rsc 1325 tools/crm_resource.c rsc = uber_parent(rsc); rsc 1329 tools/crm_resource.c rsc->id, options.rsc_id, (options.host_uname? options.host_uname: "all nodes")); rsc 1330 tools/crm_resource.c rc = cli_resource_delete(controld_api, options.host_uname, rsc, NULL, 0, rsc 1335 tools/crm_resource.c cli_resource_check(out, rsc, node); rsc 1543 tools/crm_resource.c pe_resource_t *rsc = NULL; rsc 1765 tools/crm_resource.c rsc = pe_find_resource_with_flags(data_set->resources, options.rsc_id, rsc 1767 tools/crm_resource.c if (rsc == NULL) { rsc 1777 tools/crm_resource.c if (strchr(options.rsc_id, ':') != NULL && pe_rsc_is_clone(rsc->parent) && rsc 1867 tools/crm_resource.c rc = cli_resource_restart(out, rsc, node, options.move_lifetime, rsc 1885 tools/crm_resource.c exit_code = cli_resource_execute(rsc, options.rsc_id, rsc 1897 tools/crm_resource.c rc = pcmk__resource_digests(out, rsc, node, rsc 1903 tools/crm_resource.c rc = out->message(out, "locations-and-colocations", rsc, data_set, rsc 1934 tools/crm_resource.c GList *nodes = cli_resource_search(rsc, options.rsc_id, data_set); rsc 1941 tools/crm_resource.c rc = cli_resource_print(rsc, data_set, true); rsc 1945 tools/crm_resource.c rc = cli_resource_print(rsc, data_set, false); rsc 1953 tools/crm_resource.c data_set->resources, rsc, node); rsc 1963 tools/crm_resource.c rc = ban_or_move(out, rsc, options.move_lifetime); rsc 1965 tools/crm_resource.c rc = cli_resource_move(rsc, options.rsc_id, options.host_uname, rsc 1981 tools/crm_resource.c rc = ban_or_move(out, rsc, options.move_lifetime); rsc 1999 tools/crm_resource.c rc = out->message(out, "property-list", rsc, options.prop_name); rsc 2013 tools/crm_resource.c pe_node_t *current = pe__find_active_on(rsc, &count, NULL); rsc 2018 tools/crm_resource.c " returning the default value for %s", rsc->id, rsc 2023 tools/crm_resource.c crm_debug("Looking up %s in %s", options.prop_name, rsc->id); rsc 2026 tools/crm_resource.c params = pe_rsc_params(rsc, current, data_set); rsc 2031 tools/crm_resource.c get_meta_attributes(params, rsc, current, data_set); rsc 2035 tools/crm_resource.c pe__unpack_dataset_nvpairs(rsc->xml, XML_TAG_UTILIZATION, NULL, params, rsc 2039 tools/crm_resource.c rc = out->message(out, "attribute-list", rsc, options.prop_name, params); rsc 2055 tools/crm_resource.c rc = cli_resource_update_attribute(rsc, options.rsc_id, rsc 2068 tools/crm_resource.c rc = cli_resource_delete_attribute(rsc, options.rsc_id, rsc 2078 tools/crm_resource.c if (rsc == NULL) { rsc 2086 tools/crm_resource.c cleanup(out, rsc, node); rsc 2091 tools/crm_resource.c if (rsc == NULL) { rsc 2094 tools/crm_resource.c refresh_resource(out, rsc, node); rsc 44 tools/crm_resource.h pe_resource_t *rsc; // Resource being checked rsc 49 tools/crm_resource.h resource_checks_t *cli_check_resource(pe_resource_t *rsc, char *role_s, char *managed); rsc 61 tools/crm_resource.h const char *rsc, const char *node, gboolean promoted_role_only); rsc 64 tools/crm_resource.h void cli_resource_print_cts(pe_resource_t * rsc, pcmk__output_t *out); rsc 67 tools/crm_resource.h int cli_resource_print(pe_resource_t *rsc, pe_working_set_t *data_set, bool expanded); rsc 72 tools/crm_resource.h int cli_resource_check(pcmk__output_t *out, pe_resource_t *rsc, rsc 76 tools/crm_resource.h GList *cli_resource_search(pe_resource_t *rsc, const char *requested_name, rsc 79 tools/crm_resource.h pe_resource_t *rsc, const char *operation, rsc 85 tools/crm_resource.h int cli_resource_restart(pcmk__output_t *out, pe_resource_t *rsc, pe_node_t *node, rsc 88 tools/crm_resource.h int cli_resource_move(pe_resource_t *rsc, const char *rsc_id, const char *host_name, rsc 98 tools/crm_resource.h crm_exit_t cli_resource_execute(pe_resource_t *rsc, const char *requested_name, rsc 103 tools/crm_resource.h int cli_resource_update_attribute(pe_resource_t *rsc, const char *requested_name, rsc 109 tools/crm_resource.h int cli_resource_delete_attribute(pe_resource_t *rsc, const char *requested_name, rsc 118 tools/crm_resource.h bool resource_is_running_on(pe_resource_t *rsc, const char *host); rsc 344 tools/crm_resource_ban.c const char *rsc, const char *node, rsc 362 tools/crm_resource_ban.c if ((node != NULL) || (rsc != NULL) || promoted_role_only) { rsc 368 tools/crm_resource_ban.c if (promoted_role_only || (rsc != NULL)) { rsc 373 tools/crm_resource_ban.c if ((rsc != NULL) && promoted_role_only) { rsc 376 tools/crm_resource_ban.c "@" XML_LOC_ATTR_SOURCE "='", rsc, "' " rsc 380 tools/crm_resource_ban.c } else if (rsc != NULL) { rsc 383 tools/crm_resource_ban.c "@" XML_LOC_ATTR_SOURCE "='", rsc, "'", NULL); rsc 427 tools/crm_resource_ban.c const char *rsc, const char *node, gboolean promoted_role_only) rsc 448 tools/crm_resource_ban.c build_clear_xpath_string(buf, constraint_node, rsc, node, rsc 62 tools/crm_resource_print.c cli_resource_print_cts(pe_resource_t * rsc, pcmk__output_t *out) rsc 66 tools/crm_resource_print.c const char *rtype = crm_element_value(rsc->xml, XML_ATTR_TYPE); rsc 67 tools/crm_resource_print.c const char *rprov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER); rsc 68 tools/crm_resource_print.c const char *rclass = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 69 tools/crm_resource_print.c pe_node_t *node = pe__current_node(rsc); rsc 82 tools/crm_resource_print.c crm_element_name(rsc->xml), rsc->id, rsc 83 tools/crm_resource_print.c rsc->clone_name ? rsc->clone_name : rsc->id, rsc->parent ? rsc->parent->id : "NA", rsc 84 tools/crm_resource_print.c rprov ? rprov : "NA", rclass, rtype, host ? host : "NA", needs_quorum, rsc->flags, rsc 85 tools/crm_resource_print.c rsc->flags); rsc 87 tools/crm_resource_print.c g_list_foreach(rsc->children, (GFunc) cli_resource_print_cts, out); rsc 117 tools/crm_resource_print.c cli_resource_print(pe_resource_t *rsc, pe_working_set_t *data_set, bool expanded) rsc 126 tools/crm_resource_print.c out->message(out, crm_map_element_name(rsc->xml), show_opts, rsc, all, all); rsc 127 tools/crm_resource_print.c out->message(out, "resource-config", rsc, !expanded); rsc 137 tools/crm_resource_print.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 151 tools/crm_resource_print.c out->err(out, "Attribute '%s' not found for '%s'", attr, rsc->id); rsc 235 tools/crm_resource_print.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 247 tools/crm_resource_print.c out->err(out, "Attribute '%s' not found for '%s'", attr, rsc->id); rsc 293 tools/crm_resource_print.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 296 tools/crm_resource_print.c const char *value = crm_element_value(rsc->xml, attr); rsc 310 tools/crm_resource_print.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 313 tools/crm_resource_print.c const char *value = crm_element_value(rsc->xml, attr); rsc 455 tools/crm_resource_print.c pe_resource_t *parent = uber_parent(checks->rsc); rsc 488 tools/crm_resource_print.c pe_pref(checks->rsc->cluster->config_hash, rsc 501 tools/crm_resource_print.c pe_resource_t *parent = uber_parent(checks->rsc); rsc 607 tools/crm_resource_print.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 614 tools/crm_resource_print.c if ((rsc == NULL) && (host_uname == NULL)) { rsc 619 tools/crm_resource_print.c pe_resource_t *rsc = (pe_resource_t *) lpc->data; rsc 620 tools/crm_resource_print.c rsc->fns->location(rsc, &hosts, TRUE); rsc 623 tools/crm_resource_print.c out->list_item(out, "reason", "Resource %s is not running", rsc->id); rsc 625 tools/crm_resource_print.c out->list_item(out, "reason", "Resource %s is running", rsc->id); rsc 628 tools/crm_resource_print.c cli_resource_check(out, rsc, NULL); rsc 633 tools/crm_resource_print.c } else if ((rsc != NULL) && (host_uname != NULL)) { rsc 634 tools/crm_resource_print.c if (resource_is_running_on(rsc, host_uname)) { rsc 636 tools/crm_resource_print.c rsc->id, host_uname); rsc 639 tools/crm_resource_print.c rsc->id, host_uname); rsc 642 tools/crm_resource_print.c cli_resource_check(out, rsc, node); rsc 644 tools/crm_resource_print.c } else if ((rsc == NULL) && (host_uname != NULL)) { rsc 652 tools/crm_resource_print.c pe_resource_t *rsc = (pe_resource_t *) lpc->data; rsc 654 tools/crm_resource_print.c rsc->id, host_uname); rsc 655 tools/crm_resource_print.c cli_resource_check(out, rsc, node); rsc 659 tools/crm_resource_print.c pe_resource_t *rsc = (pe_resource_t *) lpc->data; rsc 661 tools/crm_resource_print.c rsc->id, host_uname); rsc 662 tools/crm_resource_print.c cli_resource_check(out, rsc, node); rsc 669 tools/crm_resource_print.c } else if ((rsc != NULL) && (host_uname == NULL)) { rsc 672 tools/crm_resource_print.c rsc->fns->location(rsc, &hosts, TRUE); rsc 674 tools/crm_resource_print.c rsc->id, (hosts? "" : "not ")); rsc 675 tools/crm_resource_print.c cli_resource_check(out, rsc, NULL); rsc 689 tools/crm_resource_print.c pe_resource_t *rsc = va_arg(args, pe_resource_t *); rsc 696 tools/crm_resource_print.c if ((rsc == NULL) && (host_uname == NULL)) { rsc 703 tools/crm_resource_print.c pe_resource_t *rsc = (pe_resource_t *) lpc->data; rsc 705 tools/crm_resource_print.c rsc->fns->location(rsc, &hosts, TRUE); rsc 708 tools/crm_resource_print.c "id", rsc->id, rsc 712 tools/crm_resource_print.c cli_resource_check(out, rsc, NULL); rsc 720 tools/crm_resource_print.c } else if ((rsc != NULL) && (host_uname != NULL)) { rsc 721 tools/crm_resource_print.c if (resource_is_running_on(rsc, host_uname)) { rsc 725 tools/crm_resource_print.c cli_resource_check(out, rsc, node); rsc 727 tools/crm_resource_print.c } else if ((rsc == NULL) && (host_uname != NULL)) { rsc 737 tools/crm_resource_print.c pe_resource_t *rsc = (pe_resource_t *) lpc->data; rsc 740 tools/crm_resource_print.c "id", rsc->id, rsc 745 tools/crm_resource_print.c cli_resource_check(out, rsc, node); rsc 750 tools/crm_resource_print.c pe_resource_t *rsc = (pe_resource_t *) lpc->data; rsc 753 tools/crm_resource_print.c "id", rsc->id, rsc 758 tools/crm_resource_print.c cli_resource_check(out, rsc, node); rsc 767 tools/crm_resource_print.c } else if ((rsc != NULL) && (host_uname == NULL)) { rsc 770 tools/crm_resource_print.c rsc->fns->location(rsc, &hosts, TRUE); rsc 772 tools/crm_resource_print.c cli_resource_check(out, rsc, NULL); rsc 780 tools/crm_resource_print.c add_resource_name(pe_resource_t *rsc, pcmk__output_t *out) { rsc 781 tools/crm_resource_print.c if (rsc->children == NULL) { rsc 782 tools/crm_resource_print.c out->list_item(out, "resource", "%s", rsc->id); rsc 784 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(pe_resource_t *rsc) rsc 23 tools/crm_resource_runtime.c for (GList *iter = rsc->children; iter != NULL; iter = iter->next) { rsc 30 tools/crm_resource_runtime.c ni->promoted = pcmk_is_set(rsc->flags, pe_rsc_promotable) && rsc 41 tools/crm_resource_runtime.c cli_resource_search(pe_resource_t *rsc, const char *requested_name, rsc 45 tools/crm_resource_runtime.c pe_resource_t *parent = uber_parent(rsc); rsc 47 tools/crm_resource_runtime.c if (pe_rsc_is_clone(rsc)) { rsc 48 tools/crm_resource_runtime.c retval = build_node_info_list(rsc); rsc 52 tools/crm_resource_runtime.c && !pcmk_is_set(rsc->flags, pe_rsc_unique) rsc 53 tools/crm_resource_runtime.c && rsc->clone_name rsc 54 tools/crm_resource_runtime.c && pcmk__str_eq(requested_name, rsc->clone_name, pcmk__str_casei) rsc 55 tools/crm_resource_runtime.c && !pcmk__str_eq(requested_name, rsc->id, pcmk__str_casei)) { rsc 59 tools/crm_resource_runtime.c } else if (rsc->running_on != NULL) { rsc 60 tools/crm_resource_runtime.c for (GList *iter = rsc->running_on; iter != NULL; iter = iter->next) { rsc 64 tools/crm_resource_runtime.c ni->promoted = (rsc->fns->state(rsc, TRUE) == RSC_ROLE_PROMOTED); rsc 76 tools/crm_resource_runtime.c const char *rsc, const char *attr_set_type, const char *set_name, rsc 100 tools/crm_resource_runtime.c xpath_base, "//*[@" XML_ATTR_ID "=\"", rsc, "\"]", NULL); rsc 160 tools/crm_resource_runtime.c pe_resource_t * rsc, const char * rsc_id, rsc 166 tools/crm_resource_runtime.c char *lookup_id = clone_strip(rsc->id); rsc 170 tools/crm_resource_runtime.c for(GList *gIter = rsc->children; gIter; gIter = gIter->next) { rsc 175 tools/crm_resource_runtime.c if(pe_clone == rsc->variant) { rsc 186 tools/crm_resource_runtime.c *result = g_list_append(*result, rsc); rsc 196 tools/crm_resource_runtime.c find_matching_attr_resources(pcmk__output_t *out, pe_resource_t * rsc, rsc 210 tools/crm_resource_runtime.c return g_list_append(result, rsc); rsc 212 tools/crm_resource_runtime.c if(rsc->parent && pe_clone == rsc->parent->variant) { rsc 220 tools/crm_resource_runtime.c rsc = rsc->parent; rsc 222 tools/crm_resource_runtime.c cmd, attr_name, rsc->id, rsc_id); rsc 224 tools/crm_resource_runtime.c return g_list_append(result, rsc); rsc 225 tools/crm_resource_runtime.c } else if(rsc->parent == NULL && rsc->children && pe_clone == rsc->variant) { rsc 226 tools/crm_resource_runtime.c pe_resource_t *child = rsc->children->data; rsc 234 tools/crm_resource_runtime.c rsc = child; rsc 242 tools/crm_resource_runtime.c return g_list_append(result, rsc); rsc 245 tools/crm_resource_runtime.c find_matching_attr_resources_recursive(out, &result, rsc, rsc_id, attr_set, rsc 253 tools/crm_resource_runtime.c cli_resource_update_attribute(pe_resource_t *rsc, const char *requested_name, rsc 271 tools/crm_resource_runtime.c find_resource_attr (out, cib, XML_ATTR_ID, uber_parent(rsc)->id, NULL, rsc 277 tools/crm_resource_runtime.c rc = find_resource_attr(out, cib, XML_ATTR_ID, uber_parent(rsc)->id, rsc 282 tools/crm_resource_runtime.c uber_parent(rsc)->id, attr_name, local_attr_id); rsc 291 tools/crm_resource_runtime.c resources = g_list_append(resources, rsc); rsc 294 tools/crm_resource_runtime.c resources = find_matching_attr_resources(out, rsc, requested_name, attr_set, attr_set_type, rsc 310 tools/crm_resource_runtime.c rsc = (pe_resource_t*)gIter->data; rsc 313 tools/crm_resource_runtime.c lookup_id = clone_strip(rsc->id); /* Could be a cloned group! */ rsc 328 tools/crm_resource_runtime.c const char *tag = crm_element_name(rsc->xml); rsc 378 tools/crm_resource_runtime.c crm_debug("Looking for dependencies %p", rsc->rsc_cons_lhs); rsc 379 tools/crm_resource_runtime.c pe__set_resource_flags(rsc, pe_rsc_allocating); rsc 380 tools/crm_resource_runtime.c for (lpc = rsc->rsc_cons_lhs; lpc != NULL; lpc = lpc->next) { rsc 405 tools/crm_resource_runtime.c cli_resource_delete_attribute(pe_resource_t *rsc, const char *requested_name, rsc 416 tools/crm_resource_runtime.c find_resource_attr(out, cib, XML_ATTR_ID, uber_parent(rsc)->id, NULL, rsc 421 tools/crm_resource_runtime.c resources = find_matching_attr_resources(out, rsc, requested_name, attr_set, attr_set_type, rsc 424 tools/crm_resource_runtime.c resources = g_list_append(resources, rsc); rsc 432 tools/crm_resource_runtime.c rsc = (pe_resource_t*)gIter->data; rsc 434 tools/crm_resource_runtime.c lookup_id = clone_strip(rsc->id); rsc 487 tools/crm_resource_runtime.c pe_resource_t *rsc = pe_find_resource(data_set->resources, rsc_id); rsc 489 tools/crm_resource_runtime.c if (rsc == NULL) { rsc 493 tools/crm_resource_runtime.c } else if (rsc->variant != pe_native) { rsc 498 tools/crm_resource_runtime.c rsc_class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 499 tools/crm_resource_runtime.c rsc_provider = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER), rsc 500 tools/crm_resource_runtime.c rsc_type = crm_element_value(rsc->xml, XML_ATTR_TYPE); rsc 533 tools/crm_resource_runtime.c if (rsc->clone_name) { rsc 534 tools/crm_resource_runtime.c rsc_api_id = rsc->clone_name; rsc 535 tools/crm_resource_runtime.c rsc_long_id = rsc->id; rsc 537 tools/crm_resource_runtime.c rsc_api_id = rsc->id; rsc 560 tools/crm_resource_runtime.c rsc_fail_name(pe_resource_t *rsc) rsc 562 tools/crm_resource_runtime.c const char *name = (rsc->clone_name? rsc->clone_name : rsc->id); rsc 564 tools/crm_resource_runtime.c return pcmk_is_set(rsc->flags, pe_rsc_unique)? strdup(name) : clone_strip(name); rsc 676 tools/crm_resource_runtime.c clear_rsc_fail_attrs(pe_resource_t *rsc, const char *operation, rsc 681 tools/crm_resource_runtime.c char *rsc_name = rsc_fail_name(rsc); rsc 697 tools/crm_resource_runtime.c pe_resource_t *rsc, const char *operation, rsc 705 tools/crm_resource_runtime.c if (rsc == NULL) { rsc 708 tools/crm_resource_runtime.c } else if (rsc->children) { rsc 711 tools/crm_resource_runtime.c for (lpc = rsc->children; lpc != NULL; lpc = lpc->next) { rsc 724 tools/crm_resource_runtime.c GList *nodes = g_hash_table_get_values(rsc->known_on); rsc 729 tools/crm_resource_runtime.c } else if(nodes == NULL && rsc->exclusive_discover) { rsc 733 tools/crm_resource_runtime.c g_hash_table_iter_init(&iter, rsc->allowed_nodes); rsc 741 tools/crm_resource_runtime.c nodes = g_hash_table_get_values(rsc->allowed_nodes); rsc 748 tools/crm_resource_runtime.c rc = cli_resource_delete(controld_api, node->details->uname, rsc, rsc 766 tools/crm_resource_runtime.c rsc->id, host_uname); rsc 772 tools/crm_resource_runtime.c rsc->id, host_uname); rsc 778 tools/crm_resource_runtime.c rsc->id, host_uname); rsc 782 tools/crm_resource_runtime.c rc = clear_rsc_fail_attrs(rsc, operation, interval_spec, node); rsc 785 tools/crm_resource_runtime.c rsc->id, host_uname, pcmk_rc_str(rc)); rsc 790 tools/crm_resource_runtime.c rc = clear_rsc_failures(out, controld_api, host_uname, rsc->id, operation, rsc 793 tools/crm_resource_runtime.c rc = clear_rsc_history(controld_api, host_uname, rsc->id, data_set); rsc 797 tools/crm_resource_runtime.c rsc->id, host_uname, pcmk_strerror(rc)); rsc 799 tools/crm_resource_runtime.c out->info(out, "Cleaned up %s on %s", rsc->id, host_uname); rsc 870 tools/crm_resource_runtime.c const char *role_s = g_hash_table_lookup(checks->rsc->meta, rsc 882 tools/crm_resource_runtime.c if (pcmk_is_set(uber_parent(checks->rsc)->flags, rsc 896 tools/crm_resource_runtime.c const char *managed_s = g_hash_table_lookup(checks->rsc->meta, rsc 907 tools/crm_resource_runtime.c if (checks->rsc->lock_node != NULL) { rsc 909 tools/crm_resource_runtime.c checks->lock_node = checks->rsc->lock_node->details->uname; rsc 951 tools/crm_resource_runtime.c g_hash_table_iter_init(&iter, checks->rsc->allowed_nodes); rsc 969 tools/crm_resource_runtime.c cli_resource_check(pcmk__output_t *out, pe_resource_t *rsc, pe_node_t *node) rsc 971 tools/crm_resource_runtime.c resource_checks_t checks = { .rsc = rsc }; rsc 991 tools/crm_resource_runtime.c generate_resource_params(pe_resource_t *rsc, pe_node_t *node, rsc 1003 tools/crm_resource_runtime.c params = pe_rsc_params(rsc, node, data_set); rsc 1012 tools/crm_resource_runtime.c get_meta_attributes(meta, rsc, node, data_set); rsc 1026 tools/crm_resource_runtime.c bool resource_is_running_on(pe_resource_t *rsc, const char *host) rsc 1032 tools/crm_resource_runtime.c if (rsc == NULL) { rsc 1036 tools/crm_resource_runtime.c rsc->fns->location(rsc, &hosts, TRUE); rsc 1041 tools/crm_resource_runtime.c crm_trace("Resource %s is running on %s\n", rsc->id, host); rsc 1047 tools/crm_resource_runtime.c crm_trace("Resource %s is not running on: %s\n", rsc->id, host); rsc 1051 tools/crm_resource_runtime.c crm_trace("Resource %s is not running\n", rsc->id); rsc 1076 tools/crm_resource_runtime.c pe_resource_t *rsc = (pe_resource_t *) rIter->data; rsc 1082 tools/crm_resource_runtime.c if (rsc->variant == pe_group) { rsc 1084 tools/crm_resource_runtime.c get_active_resources(host, rsc->children)); rsc 1085 tools/crm_resource_runtime.c } else if (resource_is_running_on(rsc, host)) { rsc 1086 tools/crm_resource_runtime.c active = g_list_append(active, strdup(rsc->id)); rsc 1248 tools/crm_resource_runtime.c max_delay_for_resource(pe_working_set_t * data_set, pe_resource_t *rsc) rsc 1253 tools/crm_resource_runtime.c if(rsc && rsc->children) { rsc 1256 tools/crm_resource_runtime.c for(iter = rsc->children; iter; iter = iter->next) { rsc 1267 tools/crm_resource_runtime.c } else if(rsc) { rsc 1268 tools/crm_resource_runtime.c char *key = crm_strdup_printf("%s_%s_0", rsc->id, RSC_STOP); rsc 1269 tools/crm_resource_runtime.c pe_action_t *stop = custom_action(rsc, key, RSC_STOP, NULL, TRUE, FALSE, data_set); rsc 1293 tools/crm_resource_runtime.c pe_resource_t *rsc = pe_find_resource(data_set->resources, (const char *)item->data); rsc 1295 tools/crm_resource_runtime.c delay = max_delay_for_resource(data_set, rsc); rsc 1299 tools/crm_resource_runtime.c crm_trace("Calculated new delay of %.1fs due to %s", seconds, rsc->id); rsc 1325 tools/crm_resource_runtime.c cli_resource_restart(pcmk__output_t *out, pe_resource_t *rsc, pe_node_t *node, rsc 1347 tools/crm_resource_runtime.c pe_resource_t *parent = uber_parent(rsc); rsc 1350 tools/crm_resource_runtime.c const char *id = rsc->clone_name ? rsc->clone_name : rsc->id; rsc 1356 tools/crm_resource_runtime.c if (pe_rsc_is_bundled(rsc)) { rsc 1357 tools/crm_resource_runtime.c rsc = parent->parent; rsc 1360 tools/crm_resource_runtime.c running = resource_is_running_on(rsc, host); rsc 1364 tools/crm_resource_runtime.c lookup_id = strdup(rsc->id); rsc 1366 tools/crm_resource_runtime.c lookup_id = clone_strip(rsc->id); rsc 1369 tools/crm_resource_runtime.c rsc = parent->fns->find_rsc(parent, lookup_id, node, pe_find_any|pe_find_current); rsc 1371 tools/crm_resource_runtime.c running = resource_is_running_on(rsc, host); rsc 1383 tools/crm_resource_runtime.c rsc_id = strdup(rsc->id); rsc 1386 tools/crm_resource_runtime.c lookup_id = strdup(rsc->id); rsc 1388 tools/crm_resource_runtime.c lookup_id = clone_strip(rsc->id); rsc 1392 tools/crm_resource_runtime.c if (pe_rsc_is_clone(rsc) || pe_bundle_replicas(rsc)) { rsc 1453 tools/crm_resource_runtime.c rc = cli_resource_update_attribute(rsc, rsc_id, NULL, XML_TAG_META_SETS, rsc 1531 tools/crm_resource_runtime.c rc = cli_resource_update_attribute(rsc, rsc_id, NULL, XML_TAG_META_SETS, rsc 1538 tools/crm_resource_runtime.c rc = cli_resource_delete_attribute(rsc, rsc_id, NULL, XML_TAG_META_SETS, rsc 1558 tools/crm_resource_runtime.c while (waiting_for_starts(list_delta, rsc, host)) { rsc 1565 tools/crm_resource_runtime.c for (lpc = 0; (lpc < step_timeout_s) && waiting_for_starts(list_delta, rsc, host); lpc++) { rsc 1611 tools/crm_resource_runtime.c cli_resource_update_attribute(rsc, rsc_id, NULL, XML_TAG_META_SETS, NULL, rsc 1616 tools/crm_resource_runtime.c cli_resource_delete_attribute(rsc, rsc_id, NULL, XML_TAG_META_SETS, NULL, rsc 1932 tools/crm_resource_runtime.c cli_resource_execute(pe_resource_t *rsc, const char *requested_name, rsc 1947 tools/crm_resource_runtime.c if(pe_rsc_is_clone(rsc)) { rsc 1948 tools/crm_resource_runtime.c GList *nodes = cli_resource_search(rsc, requested_name, data_set); rsc 1951 tools/crm_resource_runtime.c rsc_action, rsc->id); rsc 1961 tools/crm_resource_runtime.c if(pe_rsc_is_clone(rsc)) { rsc 1963 tools/crm_resource_runtime.c rsc = rsc->children->data; rsc 1966 tools/crm_resource_runtime.c if(rsc->variant == pe_group) { rsc 1969 tools/crm_resource_runtime.c } else if (rsc->variant == pe_container || pe_rsc_is_bundled(rsc)) { rsc 1974 tools/crm_resource_runtime.c rclass = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS); rsc 1975 tools/crm_resource_runtime.c rprov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER); rsc 1976 tools/crm_resource_runtime.c rtype = crm_element_value(rsc->xml, XML_ATTR_TYPE); rsc 1978 tools/crm_resource_runtime.c params = generate_resource_params(rsc, NULL /* @TODO use local node */, rsc 1982 tools/crm_resource_runtime.c timeout_ms = pe_get_configured_timeout(rsc, get_action(rsc_action), data_set); rsc 1985 tools/crm_resource_runtime.c rid = pe_rsc_is_anon_clone(rsc->parent)? requested_name : rsc->id; rsc 1995 tools/crm_resource_runtime.c cli_resource_move(pe_resource_t *rsc, const char *rsc_id, const char *host_name, rsc 2011 tools/crm_resource_runtime.c if (promoted_role_only && !pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 2012 tools/crm_resource_runtime.c pe_resource_t *p = uber_parent(rsc); rsc 2015 tools/crm_resource_runtime.c out->info(out, "Using parent '%s' for move instead of '%s'.", rsc->id, rsc_id); rsc 2017 tools/crm_resource_runtime.c rsc = p; rsc 2026 tools/crm_resource_runtime.c current = pe__find_active_requires(rsc, &count); rsc 2028 tools/crm_resource_runtime.c if (pcmk_is_set(rsc->flags, pe_rsc_promotable)) { rsc 2033 tools/crm_resource_runtime.c for(iter = rsc->children; iter; iter = iter->next) { rsc 2038 tools/crm_resource_runtime.c rsc = child; rsc 2051 tools/crm_resource_runtime.c if (pe_rsc_is_clone(rsc)) { rsc 2081 tools/crm_resource_runtime.c rsc->id, (promoted_role_only? " (promoted)" : ""),