op 24 daemons/attrd/attrd_alerts.c attrd_lrmd_callback(lrmd_event_data_t * op) op 26 daemons/attrd/attrd_alerts.c CRM_CHECK(op != NULL, return); op 27 daemons/attrd/attrd_alerts.c switch (op->type) { op 335 daemons/attrd/attrd_commands.c const char *op = crm_element_value(xml, PCMK__XA_ATTR_OPERATION); op 346 daemons/attrd/attrd_commands.c if (op == NULL) { op 353 daemons/attrd/attrd_commands.c rsc, op, interval_ms); op 518 daemons/attrd/attrd_commands.c const char *op = crm_element_value(xml, PCMK__XA_ATTR_OPERATION); op 525 daemons/attrd/attrd_commands.c if (attrd_failure_regex(®ex, rsc, op, interval_ms) != pcmk_ok) { op 572 daemons/attrd/attrd_commands.c const char *op = crm_element_value(xml, PCMK__XA_TASK); op 592 daemons/attrd/attrd_commands.c if (pcmk__strcase_any_of(op, PCMK__ATTRD_CMD_UPDATE, PCMK__ATTRD_CMD_UPDATE_BOTH, op 596 daemons/attrd/attrd_commands.c } else if (pcmk__str_eq(op, PCMK__ATTRD_CMD_SYNC, pcmk__str_casei)) { op 599 daemons/attrd/attrd_commands.c } else if (pcmk__str_eq(op, PCMK__ATTRD_CMD_PEER_REMOVE, pcmk__str_casei)) { op 602 daemons/attrd/attrd_commands.c } else if (pcmk__str_eq(op, PCMK__ATTRD_CMD_CLEAR_FAILURE, pcmk__str_casei)) { op 608 daemons/attrd/attrd_commands.c } else if (pcmk__str_eq(op, PCMK__ATTRD_CMD_SYNC_RESPONSE, pcmk__str_casei) op 612 daemons/attrd/attrd_commands.c crm_info("Processing %s from %s", op, peer->uname); op 630 daemons/attrd/attrd_commands.c } else if (pcmk__str_eq(op, PCMK__ATTRD_CMD_FLUSH, pcmk__str_casei)) { op 782 daemons/attrd/attrd_commands.c const char *op = crm_element_value(xml, PCMK__XA_TASK); op 793 daemons/attrd/attrd_commands.c update_both = pcmk__str_eq(op, PCMK__ATTRD_CMD_UPDATE_BOTH, op 799 daemons/attrd/attrd_commands.c if (update_both || pcmk__str_eq(op, PCMK__ATTRD_CMD_UPDATE, pcmk__str_casei)) { op 808 daemons/attrd/attrd_commands.c if (update_both || pcmk__str_eq(op, PCMK__ATTRD_CMD_UPDATE_DELAY, pcmk__str_casei)) { op 302 daemons/attrd/attrd_utils.c attrd_failure_regex(regex_t *regex, const char *rsc, const char *op, op 312 daemons/attrd/attrd_utils.c } else if (op == NULL) { op 315 daemons/attrd/attrd_utils.c pattern = crm_strdup_printf(ATTRD_RE_CLEAR_OP, rsc, op, interval_ms); op 229 daemons/attrd/pacemaker-attrd.c const char *op; op 246 daemons/attrd/pacemaker-attrd.c op = crm_element_value(xml, PCMK__XA_TASK); op 253 daemons/attrd/pacemaker-attrd.c if (pcmk__str_eq(op, PCMK__ATTRD_CMD_PEER_REMOVE, pcmk__str_casei)) { op 257 daemons/attrd/pacemaker-attrd.c } else if (pcmk__str_eq(op, PCMK__ATTRD_CMD_CLEAR_FAILURE, pcmk__str_casei)) { op 261 daemons/attrd/pacemaker-attrd.c } else if (pcmk__str_eq(op, PCMK__ATTRD_CMD_UPDATE, pcmk__str_casei)) { op 265 daemons/attrd/pacemaker-attrd.c } else if (pcmk__str_eq(op, PCMK__ATTRD_CMD_UPDATE_BOTH, pcmk__str_casei)) { op 269 daemons/attrd/pacemaker-attrd.c } else if (pcmk__str_eq(op, PCMK__ATTRD_CMD_UPDATE_DELAY, pcmk__str_casei)) { op 273 daemons/attrd/pacemaker-attrd.c } else if (pcmk__str_eq(op, PCMK__ATTRD_CMD_REFRESH, pcmk__str_casei)) { op 277 daemons/attrd/pacemaker-attrd.c } else if (pcmk__str_eq(op, PCMK__ATTRD_CMD_QUERY, pcmk__str_casei)) { op 283 daemons/attrd/pacemaker-attrd.c pcmk__client_name(client), op); op 57 daemons/attrd/pacemaker-attrd.h int attrd_failure_regex(regex_t *regex, const char *rsc, const char *op, op 146 daemons/based/based_callbacks.c const char *op = crm_element_value(op_request, F_CIB_OPERATION); op 148 daemons/based/based_callbacks.c if (pcmk__str_eq(op, CRM_OP_REGISTER, pcmk__str_none)) { op 160 daemons/based/based_callbacks.c } else if (pcmk__str_eq(op, T_CIB_NOTIFY, pcmk__str_none)) { op 487 daemons/based/based_callbacks.c int call_options, const char *host, const char *op, op 501 daemons/based/based_callbacks.c op, pcmk__client_name(cib_client)); op 506 daemons/based/based_callbacks.c op, pcmk__client_name(cib_client)); op 511 daemons/based/based_callbacks.c op, pcmk__client_name(cib_client)); op 521 daemons/based/based_callbacks.c op, pcmk__client_name(cib_client), op 530 daemons/based/based_callbacks.c int call_options, const char *host, const char *op, op 535 daemons/based/based_callbacks.c if (pcmk__strcase_any_of(op, CIB_OP_MASTER, CIB_OP_SLAVE, NULL)) { op 549 daemons/based/based_callbacks.c op, pcmk__client_name(cib_client), op 563 daemons/based/based_callbacks.c op, pcmk__client_name(cib_client)); op 567 daemons/based/based_callbacks.c op, pcmk__client_name(cib_client)); op 571 daemons/based/based_callbacks.c op, pcmk__client_name(cib_client)); op 575 daemons/based/based_callbacks.c op, pcmk__client_name(cib_client), host); op 583 daemons/based/based_callbacks.c int call_options, const char *host, const char *op, op 589 daemons/based/based_callbacks.c op, local_notify, needs_reply, process, needs_forward); op 592 daemons/based/based_callbacks.c op, local_notify, needs_reply, process, needs_forward); op 601 daemons/based/based_callbacks.c const char *op = NULL; op 622 daemons/based/based_callbacks.c op = crm_element_value(request, F_CIB_OPERATION); op 623 daemons/based/based_callbacks.c crm_trace("Processing %s request sent by %s", op, originator); op 624 daemons/based/based_callbacks.c if (pcmk__str_eq(op, "cib_shutdown_req", pcmk__str_casei)) { op 636 daemons/based/based_callbacks.c if (is_reply && pcmk__str_eq(op, CRM_OP_PING, pcmk__str_casei)) { op 651 daemons/based/based_callbacks.c crm_trace("Processing %s request sent to us from %s", op, originator); op 654 daemons/based/based_callbacks.c } else if(is_reply == FALSE && pcmk__str_eq(op, CRM_OP_PING, pcmk__str_casei)) { op 655 daemons/based/based_callbacks.c crm_trace("Processing %s request sent to %s by %s", op, host?host:"everyone", originator); op 660 daemons/based/based_callbacks.c crm_trace("Processing %s request sent to master instance from %s", op, originator); op 676 daemons/based/based_callbacks.c } else if (pcmk__str_eq(op, "cib_shutdown_req", pcmk__str_casei)) { op 678 daemons/based/based_callbacks.c crm_debug("Processing %s from %s", op, originator); op 682 daemons/based/based_callbacks.c crm_debug("Processing %s reply from %s", op, originator); op 701 daemons/based/based_callbacks.c const char *op = crm_element_value(request, F_CIB_OPERATION); op 708 daemons/based/based_callbacks.c if(pcmk__str_eq(op, CIB_OP_REPLACE, pcmk__str_casei)) { op 715 daemons/based/based_callbacks.c } else if(pcmk__str_eq(op, CIB_OP_SYNC, pcmk__str_casei)) { op 717 daemons/based/based_callbacks.c } else if (is_reply && pcmk__str_eq(op, CRM_OP_PING, pcmk__str_casei)) { op 721 daemons/based/based_callbacks.c } else if (pcmk__str_eq(op, CIB_OP_UPGRADE, pcmk__str_casei)) { op 736 daemons/based/based_callbacks.c op, (is_reply? " reply" : ""), op 758 daemons/based/based_callbacks.c crm_info("Detected legacy %s global update from %s", op, originator); op 764 daemons/based/based_callbacks.c crm_trace("Ignoring legacy %s reply sent from %s to local clients", op, originator); op 767 daemons/based/based_callbacks.c } else if (pcmk__str_eq(op, "cib_shutdown_req", pcmk__str_casei)) { op 769 daemons/based/based_callbacks.c crm_debug("Legacy handling of %s message from %s", op, originator); op 778 daemons/based/based_callbacks.c crm_trace("Handling %s reply sent from %s to local clients", op, originator); op 797 daemons/based/based_callbacks.c crm_trace("Processing %s request sent to us from %s", op, originator); op 803 daemons/based/based_callbacks.c crm_trace("Ignoring %s operation for instance on %s", op, crm_str(host)); op 806 daemons/based/based_callbacks.c } else if(is_reply == FALSE && pcmk__str_eq(op, CRM_OP_PING, pcmk__str_casei)) { op 810 daemons/based/based_callbacks.c crm_trace("Processing %s request sent to everyone by %s/%s on %s %s", op, op 838 daemons/based/based_callbacks.c const char *op = crm_element_value(request, F_CIB_OPERATION); op 844 daemons/based/based_callbacks.c crm_trace("Forwarding %s op to %s", op, host); op 848 daemons/based/based_callbacks.c crm_trace("Forwarding %s op to master instance", op); op 943 daemons/based/based_callbacks.c const char *op = crm_element_value(request, F_CIB_OPERATION); op 970 daemons/based/based_callbacks.c op, client_name, call_id, originator, target, reply_to); op 973 daemons/based/based_callbacks.c crm_trace("Processing local %s operation from %s/%s intended for %s", op, client_name, call_id, target); op 976 daemons/based/based_callbacks.c rc = cib_get_operation_id(op, &call_type); op 984 daemons/based/based_callbacks.c parse_local_options(cib_client, call_type, call_options, host, op, op 1007 daemons/based/based_callbacks.c if (pcmk__str_eq(op, CRM_OP_NOOP, pcmk__str_casei)) { op 1013 daemons/based/based_callbacks.c op, op 1032 daemons/based/based_callbacks.c crm_xml_add(op_reply, F_CIB_OPERATION, op); op 1074 daemons/based/based_callbacks.c op, section ? section : "'all'", pcmk_strerror(rc), rc, op 1082 daemons/based/based_callbacks.c crm_trace("%s operation took %lds to complete", op, (long)(finished - now)); op 1178 daemons/based/based_callbacks.c const char *op = NULL; op 1203 daemons/based/based_callbacks.c op = crm_element_value(request, F_CIB_OPERATION); op 1205 daemons/based/based_callbacks.c rc = cib_get_operation_id(op, &call_type); op 1221 daemons/based/based_callbacks.c rc = cib_perform_op(op, call_options, cib_op_func(call_type), TRUE, op 1258 daemons/based/based_callbacks.c rc = cib_perform_op(op, call_options, cib_op_func(call_type), FALSE, op 1279 daemons/based/based_callbacks.c if (pcmk__str_eq(CIB_OP_REPLACE, op, pcmk__str_none)) { op 1291 daemons/based/based_callbacks.c rc = activateCibXml(result_cib, config_changed, op); op 1300 daemons/based/based_callbacks.c if (pcmk__str_eq(CIB_OP_REPLACE, op, pcmk__str_none)) { op 1317 daemons/based/based_callbacks.c } else if (pcmk__str_eq(CIB_OP_ERASE, op, pcmk__str_none)) { op 1348 daemons/based/based_callbacks.c cib_diff_notify(call_options, client, call_id, op, input, rc, *cib_diff); op 1364 daemons/based/based_callbacks.c crm_xml_add(*reply, F_CIB_OPERATION, op); op 1424 daemons/based/based_callbacks.c const char *op = crm_element_value(msg, F_CIB_OPERATION); op 1426 daemons/based/based_callbacks.c crm_warn("Discarding %s message (%s) from %s: %s", op, seq, originator, reason); op 169 daemons/based/based_common.c cib_get_operation_id(const char *op, int *operation) op 188 daemons/based/based_common.c if (op != NULL) { op 189 daemons/based/based_common.c int *value = g_hash_table_lookup(operation_hash, op); op 196 daemons/based/based_common.c crm_err("Operation %s is not valid", op); op 346 daemons/based/based_io.c activateCibXml(xmlNode * new_cib, gboolean to_disk, const char *op) op 355 daemons/based/based_io.c crm_debug("Triggering CIB write for %s op", op); op 52 daemons/based/based_messages.c cib_process_shutdown_req(const char *op, int options, const char *section, xmlNode * req, op 76 daemons/based/based_messages.c cib_process_default(const char *op, int options, const char *section, xmlNode * req, op 82 daemons/based/based_messages.c crm_trace("Processing \"%s\" event", op); op 85 daemons/based/based_messages.c if (op == NULL) { op 89 daemons/based/based_messages.c } else if (strcasecmp(CRM_OP_NOOP, op) == 0) { op 94 daemons/based/based_messages.c crm_err("Action [%s] is not supported by the CIB manager", op); op 100 daemons/based/based_messages.c cib_process_readwrite(const char *op, int options, const char *section, xmlNode * req, op 106 daemons/based/based_messages.c crm_trace("Processing \"%s\" event", op); op 108 daemons/based/based_messages.c if (pcmk__str_eq(op, CIB_OP_ISMASTER, pcmk__str_casei)) { op 117 daemons/based/based_messages.c if (pcmk__str_eq(op, CIB_OP_MASTER, pcmk__str_casei)) { op 155 daemons/based/based_messages.c cib_process_ping(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 164 daemons/based/based_messages.c crm_trace("Processing \"%s\" event %s from %s", op, seq, host); op 203 daemons/based/based_messages.c cib_process_sync(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 210 daemons/based/based_messages.c cib_process_upgrade_server(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 224 daemons/based/based_messages.c op, options, section, req, input, existing_cib, result_cib, answer); op 236 daemons/based/based_messages.c crm_trace("Processing \"%s\" event", op); op 258 daemons/based/based_messages.c op, options, section, up, input, existing_cib, result_cib, answer); op 302 daemons/based/based_messages.c cib_process_sync_one(const char *op, int options, const char *section, xmlNode * req, op 310 daemons/based/based_messages.c cib_server_process_diff(const char *op, int options, const char *section, xmlNode * req, op 344 daemons/based/based_messages.c rc = cib_process_diff(op, options, section, req, input, existing_cib, result_cib, answer); op 371 daemons/based/based_messages.c cib_process_replace_svr(const char *op, int options, const char *section, xmlNode * req, op 377 daemons/based/based_messages.c cib_process_replace(op, options, section, req, input, existing_cib, result_cib, answer); op 444 daemons/based/based_messages.c cib_process_delete_absolute(const char *op, int options, const char *section, xmlNode * req, op 452 daemons/based/based_messages.c crm_trace("Processing \"%s\" event for section=%s", op, crm_str(section)); op 463 daemons/based/based_messages.c CRM_CHECK(strcasecmp(CIB_OP_DELETE, op) == 0, return -EINVAL); op 474 daemons/based/based_messages.c update_results(failed, input, op, result); op 497 daemons/based/based_messages.c const char *op = crm_element_value(request, F_CIB_OPERATION); op 524 daemons/based/based_messages.c crm_xml_add(replace_request, "original_" F_CIB_OPERATION, op); op 42 daemons/based/based_notify.c static void do_cib_notify(int options, const char *op, xmlNode *update, op 137 daemons/based/based_notify.c cib_diff_notify(int options, const char *client, const char *call_id, const char *op, op 175 daemons/based/based_notify.c do_cib_notify(options, op, update, result, diff, T_CIB_DIFF_NOTIFY); op 179 daemons/based/based_notify.c do_cib_notify(int options, const char *op, xmlNode * update, op 193 daemons/based/based_notify.c crm_xml_add(update_msg, F_CIB_OPERATION, op); op 96 daemons/based/pacemaker-based.h int activateCibXml(xmlNode *doc, gboolean to_disk, const char *op); op 101 daemons/based/pacemaker-based.h int cib_process_shutdown_req(const char *op, int options, const char *section, op 105 daemons/based/pacemaker-based.h int cib_process_default(const char *op, int options, const char *section, op 108 daemons/based/pacemaker-based.h int cib_process_ping(const char *op, int options, const char *section, op 111 daemons/based/pacemaker-based.h int cib_process_readwrite(const char *op, int options, const char *section, op 114 daemons/based/pacemaker-based.h int cib_process_replace_svr(const char *op, int options, const char *section, op 117 daemons/based/pacemaker-based.h int cib_server_process_diff(const char *op, int options, const char *section, op 120 daemons/based/pacemaker-based.h int cib_process_sync(const char *op, int options, const char *section, op 123 daemons/based/pacemaker-based.h int cib_process_sync_one(const char *op, int options, const char *section, op 126 daemons/based/pacemaker-based.h int cib_process_delete_absolute(const char *op, int options, op 130 daemons/based/pacemaker-based.h int cib_process_upgrade_server(const char *op, int options, const char *section, op 138 daemons/based/pacemaker-based.h int cib_get_operation_id(const char *op, int *operation); op 148 daemons/based/pacemaker-based.h const char *op, xmlNode *update, int result, op 20 daemons/controld/controld_alerts.h void crmd_alert_resource_op(const char *node, lrmd_event_data_t *op); op 169 daemons/controld/controld_attrd.c update_attrd_clear_failures(const char *host, const char *rsc, const char *op, op 176 daemons/controld/controld_attrd.c if (op) { op 178 daemons/controld/controld_attrd.c op_desc = op; op 185 daemons/controld/controld_attrd.c update_attrd_helper(host, rsc, op, interval_spec, NULL, is_remote_node, 0); op 37 daemons/controld/controld_callbacks.c const char *op = crm_element_value(msg, F_CRM_TASK); op 49 daemons/controld/controld_callbacks.c do_crm_log(level, "Another DC detected: %s (op=%s)", from, op); op 48 daemons/controld/controld_execd.c lrmd_event_data_t *op, time_t lock_time); op 96 daemons/controld/controld_execd.c history_remove_recurring_op(rsc_history_t *history, const lrmd_event_data_t *op) op 103 daemons/controld/controld_execd.c if ((op->interval_ms == existing->interval_ms) op 104 daemons/controld/controld_execd.c && pcmk__str_eq(op->rsc_id, existing->rsc_id, pcmk__str_none) op 105 daemons/controld/controld_execd.c && pcmk__str_eq(op->op_type, existing->op_type, pcmk__str_casei)) { op 161 daemons/controld/controld_execd.c update_history_cache(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, lrmd_event_data_t * op) op 166 daemons/controld/controld_execd.c if (op->rsc_deleted) { op 167 daemons/controld/controld_execd.c crm_debug("Purged history for '%s' after %s", op->rsc_id, op->op_type); op 168 daemons/controld/controld_execd.c controld_delete_resource_history(op->rsc_id, lrm_state->node_name, op 173 daemons/controld/controld_execd.c if (pcmk__str_eq(op->op_type, RSC_NOTIFY, pcmk__str_casei)) { op 177 daemons/controld/controld_execd.c crm_debug("Updating history for '%s' with %s op", op->rsc_id, op->op_type); op 179 daemons/controld/controld_execd.c entry = g_hash_table_lookup(lrm_state->resource_history, op->rsc_id); op 182 daemons/controld/controld_execd.c entry->id = strdup(op->rsc_id); op 195 daemons/controld/controld_execd.c crm_info("Resource %s no longer exists, not updating cache", op->rsc_id); op 199 daemons/controld/controld_execd.c entry->last_callid = op->call_id; op 200 daemons/controld/controld_execd.c target_rc = rsc_op_expected_rc(op); op 201 daemons/controld/controld_execd.c if (op->op_status == PCMK_LRM_OP_CANCELLED) { op 202 daemons/controld/controld_execd.c if (op->interval_ms > 0) { op 204 daemons/controld/controld_execd.c op->rsc_id, op->op_type, op->interval_ms); op 205 daemons/controld/controld_execd.c history_remove_recurring_op(entry, op); op 209 daemons/controld/controld_execd.c op->rsc_id, op->op_type, op->interval_ms, op->rc, op 210 daemons/controld/controld_execd.c op->op_status); op 213 daemons/controld/controld_execd.c } else if (did_rsc_op_fail(op, target_rc)) { op 220 daemons/controld/controld_execd.c entry->failed = lrmd_copy_event(op); op 222 daemons/controld/controld_execd.c } else if (op->interval_ms == 0) { op 226 daemons/controld/controld_execd.c entry->last = lrmd_copy_event(op); op 228 daemons/controld/controld_execd.c if (op->params && pcmk__strcase_any_of(op->op_type, CRMD_ACTION_START, op 237 daemons/controld/controld_execd.c g_hash_table_foreach(op->params, copy_instance_keys, entry->stop_params); op 241 daemons/controld/controld_execd.c if (op->interval_ms > 0) { op 243 daemons/controld/controld_execd.c history_remove_recurring_op(entry, op); op 246 daemons/controld/controld_execd.c op->rsc_id, op->op_type, op->interval_ms); op 247 daemons/controld/controld_execd.c entry->recurring_op_list = g_list_prepend(entry->recurring_op_list, lrmd_copy_event(op)); op 249 daemons/controld/controld_execd.c } else if (entry->recurring_op_list && !pcmk__str_eq(op->op_type, RSC_STATUS, pcmk__str_casei)) { op 251 daemons/controld/controld_execd.c g_list_length(entry->recurring_op_list), op->rsc_id, op 252 daemons/controld/controld_execd.c op->op_type, op->interval_ms); op 274 daemons/controld/controld_execd.c lrmd_event_data_t *op = construct_op(lrm_state, input->xml, rsc_id, task); op 276 daemons/controld/controld_execd.c op->rc = PCMK_OCF_OK; op 277 daemons/controld/controld_execd.c op->op_status = PCMK_LRM_OP_DONE; op 278 daemons/controld/controld_execd.c controld_ack_event_directly(ack_host, ack_sys, rsc, op, rsc_id); op 279 daemons/controld/controld_execd.c lrmd_free_event(op); op 283 daemons/controld/controld_execd.c op_node_name(lrmd_event_data_t *op) op 285 daemons/controld/controld_execd.c return op->remote_nodename? op->remote_nodename : fsa_our_uname; op 289 daemons/controld/controld_execd.c lrm_op_callback(lrmd_event_data_t * op) op 291 daemons/controld/controld_execd.c CRM_CHECK(op != NULL, return); op 292 daemons/controld/controld_execd.c switch (op->type) { op 294 daemons/controld/controld_execd.c if (op->remote_nodename == NULL) { op 304 daemons/controld/controld_execd.c lrm_state_t *lrm_state = lrm_state_find(op_node_name(op)); op 307 daemons/controld/controld_execd.c process_lrm_event(lrm_state, op, NULL, NULL); op 515 daemons/controld/controld_execd.c build_parameter_list(const lrmd_event_data_t *op, op 561 daemons/controld/controld_execd.c const char *v = g_hash_table_lookup(op->params, param->rap_name); op 578 daemons/controld/controld_execd.c append_restart_list(lrmd_event_data_t *op, struct ra_metadata_s *metadata, op 585 daemons/controld/controld_execd.c CRM_LOG_ASSERT(op->params != NULL); op 587 daemons/controld/controld_execd.c if (op->interval_ms > 0) { op 594 daemons/controld/controld_execd.c list = build_parameter_list(op, metadata, ra_param_reloadable, op 604 daemons/controld/controld_execd.c list = build_parameter_list(op, metadata, ra_param_unique, &restart); op 617 daemons/controld/controld_execd.c crm_trace("%s: %s, %s", op->rsc_id, digest, list); op 626 daemons/controld/controld_execd.c append_secure_list(lrmd_event_data_t *op, struct ra_metadata_s *metadata, op 633 daemons/controld/controld_execd.c CRM_LOG_ASSERT(op->params != NULL); op 640 daemons/controld/controld_execd.c list = build_parameter_list(op, metadata, ra_param_private, &secure); op 647 daemons/controld/controld_execd.c crm_trace("%s: %s, %s", op->rsc_id, digest, list); op 650 daemons/controld/controld_execd.c crm_trace("%s: no secure parameters", op->rsc_id); op 659 daemons/controld/controld_execd.c build_operation_update(xmlNode * parent, lrmd_rsc_info_t * rsc, lrmd_event_data_t * op, op 669 daemons/controld/controld_execd.c if (op == NULL) { op 673 daemons/controld/controld_execd.c target_rc = rsc_op_expected_rc(op); op 681 daemons/controld/controld_execd.c caller_version = g_hash_table_lookup(op->params, XML_ATTR_CRM_VERSION); op 688 daemons/controld/controld_execd.c crm_trace("Building %s operation update with originator version: %s", op->rsc_id, caller_version); op 689 daemons/controld/controld_execd.c xml_op = pcmk__create_history_xml(parent, op, caller_version, target_rc, op 695 daemons/controld/controld_execd.c if ((rsc == NULL) || (op->params == NULL) op 696 daemons/controld/controld_execd.c || !crm_op_needs_metadata(rsc->standard, op->op_type)) { op 699 daemons/controld/controld_execd.c op->op_type, op->rsc_id, op->params, rsc); op 707 daemons/controld/controld_execd.c op->rsc_id, op->op_type, op->interval_ms, node_name); op 719 daemons/controld/controld_execd.c if ((op->op_status != PCMK_LRM_OP_DONE) || (op->rc != target_rc) op 720 daemons/controld/controld_execd.c || !pcmk__str_eq(op->op_type, CRMD_ACTION_START, pcmk__str_none)) { op 734 daemons/controld/controld_execd.c append_restart_list(op, metadata, xml_op, caller_version); op 735 daemons/controld/controld_execd.c append_secure_list(op, metadata, xml_op, caller_version); op 905 daemons/controld/controld_execd.c lrmd_event_data_t *op = NULL; op 912 daemons/controld/controld_execd.c op = construct_op(lrm_state, input->xml, rsc_id, CRMD_ACTION_DELETE); op 913 daemons/controld/controld_execd.c controld_rc2event(op, pcmk_legacy2rc(rc)); op 914 daemons/controld/controld_execd.c controld_ack_event_directly(from_host, from_sys, NULL, op, rsc_id); op 915 daemons/controld/controld_execd.c lrmd_free_event(op); op 923 daemons/controld/controld_execd.c struct pending_deletion_op_s *op = value; op 925 daemons/controld/controld_execd.c if (pcmk__str_eq(event->rsc, op->rsc, pcmk__str_none)) { op 926 daemons/controld/controld_execd.c notify_deleted(event->lrm_state, op->input, event->rsc, event->rc); op 986 daemons/controld/controld_execd.c erase_lrm_history_by_op(lrm_state_t *lrm_state, lrmd_event_data_t *op) op 990 daemons/controld/controld_execd.c CRM_CHECK(op != NULL, return); op 993 daemons/controld/controld_execd.c crm_xml_add_int(xml_top, XML_LRM_ATTR_CALLID, op->call_id); op 994 daemons/controld/controld_execd.c crm_xml_add(xml_top, XML_ATTR_TRANSITION_KEY, op->user_data); op 996 daemons/controld/controld_execd.c if (op->interval_ms > 0) { op 997 daemons/controld/controld_execd.c char *op_id = pcmk__op_key(op->rsc_id, op->op_type, op->interval_ms); op 1005 daemons/controld/controld_execd.c op->rsc_id, op->op_type, op->interval_ms, op->call_id); op 1074 daemons/controld/controld_execd.c last_failed_matches_op(rsc_history_t *entry, const char *op, guint interval_ms) op 1079 daemons/controld/controld_execd.c if (op == NULL) { op 1082 daemons/controld/controld_execd.c return (pcmk__str_eq(op, entry->failed->op_type, pcmk__str_casei) op 1135 daemons/controld/controld_execd.c cancel_op(lrm_state_t * lrm_state, const char *rsc_id, const char *key, int op, gboolean remove) op 1141 daemons/controld/controld_execd.c CRM_CHECK(op != 0, return FALSE); op 1144 daemons/controld/controld_execd.c local_key = make_stop_id(rsc_id, op); op 1168 daemons/controld/controld_execd.c crm_debug("Cancelling op %d for %s (%s)", op, rsc_id, key); op 1172 daemons/controld/controld_execd.c crm_debug("Op %d for %s (%s): cancelled", op, rsc_id, key); op 1177 daemons/controld/controld_execd.c crm_debug("Op %d for %s (%s): Nothing to cancel", op, rsc_id, key); op 1204 daemons/controld/controld_execd.c active_op_t *op = value; op 1206 daemons/controld/controld_execd.c if (pcmk__str_eq(op->op_key, data->key, pcmk__str_none)) { op 1208 daemons/controld/controld_execd.c remove = !cancel_op(data->lrm_state, data->rsc->id, key, op->call_id, data->remove); op 1331 daemons/controld/controld_execd.c struct pending_deletion_op_s *op = NULL; op 1334 daemons/controld/controld_execd.c op = calloc(1, sizeof(struct pending_deletion_op_s)); op 1335 daemons/controld/controld_execd.c op->rsc = strdup(rsc->id); op 1336 daemons/controld/controld_execd.c op->input = copy_ha_msg_input(request); op 1337 daemons/controld/controld_execd.c g_hash_table_insert(lrm_state->deletion_ops, ref, op); op 1373 daemons/controld/controld_execd.c fake_op_status(lrm_state_t *lrm_state, lrmd_event_data_t *op, int op_status, op 1376 daemons/controld/controld_execd.c op->call_id = get_fake_call_id(lrm_state, op->rsc_id); op 1377 daemons/controld/controld_execd.c op->t_run = time(NULL); op 1378 daemons/controld/controld_execd.c op->t_rcchange = op->t_run; op 1379 daemons/controld/controld_execd.c op->op_status = op_status; op 1380 daemons/controld/controld_execd.c op->rc = op_exitcode; op 1440 daemons/controld/controld_execd.c lrmd_event_data_t *op = NULL; op 1459 daemons/controld/controld_execd.c op = construct_op(lrm_state, action, ID(xml_rsc), operation); op 1462 daemons/controld/controld_execd.c fake_op_status(lrm_state, op, PCMK_LRM_OP_DONE, PCMK_OCF_OK); op 1464 daemons/controld/controld_execd.c fake_op_status(lrm_state, op, op_status, rc); op 1468 daemons/controld/controld_execd.c op->rsc_id, op->op_type, op->interval_ms, op->rc, target_node); op 1471 daemons/controld/controld_execd.c process_lrm_event(lrm_state, op, NULL, action); op 1472 daemons/controld/controld_execd.c lrmd_free_event(op); op 1501 daemons/controld/controld_execd.c lrmd_event_data_t *op = NULL; op 1515 daemons/controld/controld_execd.c op = construct_op(lrm_state, xml, ID(xml_rsc), "asyncmon"); op 1516 daemons/controld/controld_execd.c fake_op_status(lrm_state, op, PCMK_LRM_OP_DONE, PCMK_OCF_UNKNOWN_ERROR); op 1518 daemons/controld/controld_execd.c free((char*) op->user_data); op 1519 daemons/controld/controld_execd.c op->user_data = NULL; op 1520 daemons/controld/controld_execd.c op->interval_ms = 0; op 1524 daemons/controld/controld_execd.c controld_ack_event_directly(from_host, from_sys, NULL, op, ID(xml_rsc)); op 1525 daemons/controld/controld_execd.c lrmd_free_event(op); op 1531 daemons/controld/controld_execd.c op->exit_reason = strdup("Simulated failure"); op 1532 daemons/controld/controld_execd.c process_lrm_event(lrm_state, op, NULL, xml); op 1533 daemons/controld/controld_execd.c op->op_status = PCMK_LRM_OP_DONE; op 1534 daemons/controld/controld_execd.c op->rc = PCMK_OCF_OK; op 1542 daemons/controld/controld_execd.c controld_ack_event_directly(from_host, from_sys, NULL, op, ID(xml_rsc)); op 1543 daemons/controld/controld_execd.c lrmd_free_event(op); op 1701 daemons/controld/controld_execd.c lrmd_event_data_t *op = NULL; op 1703 daemons/controld/controld_execd.c op = construct_op(lrm_state, input->xml, rsc->id, CRMD_ACTION_DELETE); op 1704 daemons/controld/controld_execd.c op->op_status = PCMK_LRM_OP_ERROR; op 1707 daemons/controld/controld_execd.c op->rc = PCMK_OCF_INSUFFICIENT_PRIV; op 1709 daemons/controld/controld_execd.c op->rc = PCMK_OCF_UNKNOWN_ERROR; op 1711 daemons/controld/controld_execd.c controld_ack_event_directly(from_host, from_sys, NULL, op, rsc->id); op 1712 daemons/controld/controld_execd.c lrmd_free_event(op); op 1917 daemons/controld/controld_execd.c pcmk__scan_min_int(value, &op->timeout, 0); op 1919 daemons/controld/controld_execd.c pcmk__scan_min_int(value, &op->start_delay, 0); op 1942 daemons/controld/controld_execd.c lrmd_event_data_t *op = NULL; op 1954 daemons/controld/controld_execd.c op = lrmd_new_event(rsc_id, operation, 0); op 1955 daemons/controld/controld_execd.c op->type = lrmd_event_exec_complete; op 1956 daemons/controld/controld_execd.c op->op_status = PCMK_LRM_OP_PENDING; op 1957 daemons/controld/controld_execd.c op->rc = -1; op 1958 daemons/controld/controld_execd.c op->timeout = 0; op 1959 daemons/controld/controld_execd.c op->start_delay = 0; op 1963 daemons/controld/controld_execd.c op->user_data = NULL; op 1969 daemons/controld/controld_execd.c op->params = pcmk__strkey_table(free, free); op 1971 daemons/controld/controld_execd.c g_hash_table_insert(op->params, strdup(XML_ATTR_CRM_VERSION), strdup(CRM_FEATURE_SET)); op 1974 daemons/controld/controld_execd.c return op; op 1981 daemons/controld/controld_execd.c pcmk__scan_min_int(op_delay, &op->start_delay, 0); op 1984 daemons/controld/controld_execd.c pcmk__scan_min_int(op_timeout, &op->timeout, 0); op 1987 daemons/controld/controld_execd.c &(op->interval_ms)) != pcmk_rc_ok) { op 1988 daemons/controld/controld_execd.c op->interval_ms = 0; op 1998 daemons/controld/controld_execd.c && (op->interval_ms > 0)) { op 2002 daemons/controld/controld_execd.c op->timeout = crm_get_msec(op_timeout); op 2015 daemons/controld/controld_execd.c op->params = params; op 2027 daemons/controld/controld_execd.c op->params = params; op 2031 daemons/controld/controld_execd.c op->params = pcmk__strkey_table(free, free); op 2033 daemons/controld/controld_execd.c g_hash_table_foreach(params, copy_meta_keys, op->params); op 2034 daemons/controld/controld_execd.c g_hash_table_foreach(entry->stop_params, copy_instance_keys, op->params); op 2041 daemons/controld/controld_execd.c if (op->timeout <= 0) { op 2042 daemons/controld/controld_execd.c op->timeout = op->interval_ms; op 2044 daemons/controld/controld_execd.c if (op->start_delay < 0) { op 2045 daemons/controld/controld_execd.c op->start_delay = 0; op 2049 daemons/controld/controld_execd.c CRM_CHECK(transition != NULL, return op); op 2051 daemons/controld/controld_execd.c op->user_data = strdup(transition); op 2053 daemons/controld/controld_execd.c if (op->interval_ms != 0) { op 2056 daemons/controld/controld_execd.c op->interval_ms); op 2057 daemons/controld/controld_execd.c op->interval_ms = 0; op 2062 daemons/controld/controld_execd.c operation, rsc_id, op->interval_ms); op 2064 daemons/controld/controld_execd.c return op; op 2082 daemons/controld/controld_execd.c lrmd_rsc_info_t *rsc, lrmd_event_data_t *op, op 2089 daemons/controld/controld_execd.c CRM_CHECK(op != NULL, return); op 2090 daemons/controld/controld_execd.c if (op->rsc_id == NULL) { op 2092 daemons/controld/controld_execd.c op->rsc_id = strdup(rsc_id); op 2107 daemons/controld/controld_execd.c crm_xml_add(iter, XML_ATTR_ID, op->rsc_id); op 2109 daemons/controld/controld_execd.c build_operation_update(iter, rsc, op, fsa_our_uname, __func__); op 2115 daemons/controld/controld_execd.c op->rsc_id, op->op_type, op->interval_ms, op->user_data, op 2157 daemons/controld/controld_execd.c active_op_t *op = value; op 2159 daemons/controld/controld_execd.c if ((op->interval_ms != 0) op 2160 daemons/controld/controld_execd.c && pcmk__str_eq(op->rsc_id, event->rsc->id, pcmk__str_none)) { op 2162 daemons/controld/controld_execd.c crm_debug("Cancelling op %d for %s (%s)", op->call_id, op->rsc_id, (char*)key); op 2163 daemons/controld/controld_execd.c remove = !cancel_op(event->lrm_state, event->rsc->id, key, op->call_id, FALSE); op 2174 daemons/controld/controld_execd.c active_op_t *op = value; op 2176 daemons/controld/controld_execd.c if (op->interval_ms != 0) { op 2177 daemons/controld/controld_execd.c crm_info("Cancelling op %d for %s (%s)", op->call_id, op->rsc_id, op 2179 daemons/controld/controld_execd.c remove = !cancel_op(lrm_state, op->rsc_id, key, op->call_id, FALSE); op 2186 daemons/controld/controld_execd.c record_pending_op(const char *node_name, lrmd_rsc_info_t *rsc, lrmd_event_data_t *op) op 2192 daemons/controld/controld_execd.c CRM_CHECK(op != NULL, return); op 2195 daemons/controld/controld_execd.c if ((op->op_type == NULL) || (op->params == NULL) op 2196 daemons/controld/controld_execd.c || !controld_action_is_recordable(op->op_type)) { op 2201 daemons/controld/controld_execd.c record_pending = crm_meta_value(op->params, XML_OP_ATTR_PENDING); op 2206 daemons/controld/controld_execd.c op->call_id = -1; op 2207 daemons/controld/controld_execd.c op->op_status = PCMK_LRM_OP_PENDING; op 2208 daemons/controld/controld_execd.c op->rc = PCMK_OCF_UNKNOWN; op 2210 daemons/controld/controld_execd.c op->t_run = time(NULL); op 2211 daemons/controld/controld_execd.c op->t_rcchange = op->t_run; op 2215 daemons/controld/controld_execd.c op->rsc_id, op->op_type, op->interval_ms, node_name); op 2217 daemons/controld/controld_execd.c do_update_resource(node_name, rsc, op, 0); op 2226 daemons/controld/controld_execd.c lrmd_event_data_t *op = NULL; op 2243 daemons/controld/controld_execd.c op = construct_op(lrm_state, msg, rsc->id, operation); op 2244 daemons/controld/controld_execd.c CRM_CHECK(op != NULL, return); op 2247 daemons/controld/controld_execd.c && (op->interval_ms == 0) op 2256 daemons/controld/controld_execd.c } else if ((op->interval_ms == 0) op 2276 daemons/controld/controld_execd.c rsc->id, operation, op->interval_ms); op 2283 daemons/controld/controld_execd.c crm_action_str(op->op_type, op->interval_ms), rsc->id, lrm_state->node_name, op 2284 daemons/controld/controld_execd.c transition, rsc->id, operation, op->interval_ms); op 2304 daemons/controld/controld_execd.c op->rc = PCMK_OCF_UNKNOWN_ERROR; op 2305 daemons/controld/controld_execd.c op->op_status = PCMK_LRM_OP_INVALID; op 2306 daemons/controld/controld_execd.c controld_ack_event_directly(NULL, NULL, rsc, op, rsc->id); op 2307 daemons/controld/controld_execd.c lrmd_free_event(op); op 2312 daemons/controld/controld_execd.c record_pending_op(lrm_state->node_name, rsc, op); op 2314 daemons/controld/controld_execd.c op_id = pcmk__op_key(rsc->id, op->op_type, op->interval_ms); op 2316 daemons/controld/controld_execd.c if (op->interval_ms > 0) { op 2321 daemons/controld/controld_execd.c if (op->params) { op 2326 daemons/controld/controld_execd.c g_hash_table_iter_init(&iter, op->params); op 2332 daemons/controld/controld_execd.c call_id = lrm_state_exec(lrm_state, rsc->id, op->op_type, op->user_data, op 2333 daemons/controld/controld_execd.c op->interval_ms, op->timeout, op->start_delay, op 2343 daemons/controld/controld_execd.c fake_op_status(lrm_state, op, PCMK_LRM_OP_DONE, PCMK_OCF_UNKNOWN_ERROR); op 2344 daemons/controld/controld_execd.c process_lrm_event(lrm_state, op, NULL, NULL); op 2357 daemons/controld/controld_execd.c pending->interval_ms = op->interval_ms; op 2362 daemons/controld/controld_execd.c pending->user_data = op->user_data? strdup(op->user_data) : NULL; op 2369 daemons/controld/controld_execd.c if ((op->interval_ms > 0) op 2370 daemons/controld/controld_execd.c && (op->start_delay > START_DELAY_THRESHOLD)) { op 2374 daemons/controld/controld_execd.c decode_transition_key(op->user_data, NULL, NULL, NULL, &target_rc); op 2375 daemons/controld/controld_execd.c op->rc = target_rc; op 2376 daemons/controld/controld_execd.c op->op_status = PCMK_LRM_OP_DONE; op 2377 daemons/controld/controld_execd.c controld_ack_event_directly(NULL, NULL, rsc, op, rsc->id); op 2380 daemons/controld/controld_execd.c pending->params = op->params; op 2381 daemons/controld/controld_execd.c op->params = NULL; op 2385 daemons/controld/controld_execd.c lrmd_free_event(op); op 2415 daemons/controld/controld_execd.c should_preserve_lock(lrmd_event_data_t *op) op 2420 daemons/controld/controld_execd.c if (!strcmp(op->op_type, RSC_STOP) && (op->rc == PCMK_OCF_OK)) { op 2423 daemons/controld/controld_execd.c if (!strcmp(op->op_type, RSC_STATUS) && (op->rc == PCMK_OCF_NOT_RUNNING)) { op 2431 daemons/controld/controld_execd.c lrmd_event_data_t *op, time_t lock_time) op 2446 daemons/controld/controld_execd.c CRM_CHECK(op != NULL, return 0); op 2476 daemons/controld/controld_execd.c crm_xml_add(iter, XML_ATTR_ID, op->rsc_id); op 2478 daemons/controld/controld_execd.c build_operation_update(iter, rsc, op, node_name, __func__); op 2490 daemons/controld/controld_execd.c if (!should_preserve_lock(op)) { op 2497 daemons/controld/controld_execd.c if (op->params) { op 2498 daemons/controld/controld_execd.c container = g_hash_table_lookup(op->params, CRM_META"_"XML_RSC_ATTR_CONTAINER); op 2501 daemons/controld/controld_execd.c crm_trace("Resource %s is a part of container resource %s", op->rsc_id, container); op 2506 daemons/controld/controld_execd.c crm_warn("Resource %s no longer exists in the executor", op->rsc_id); op 2507 daemons/controld/controld_execd.c controld_ack_event_directly(NULL, NULL, rsc, op, op->rsc_id); op 2538 daemons/controld/controld_execd.c rc, op->op_type, op->interval_ms, op->rsc_id); op 2604 daemons/controld/controld_execd.c process_lrm_event(lrm_state_t *lrm_state, lrmd_event_data_t *op, op 2617 daemons/controld/controld_execd.c CRM_CHECK(op != NULL, return); op 2618 daemons/controld/controld_execd.c CRM_CHECK(op->rsc_id != NULL, return); op 2622 daemons/controld/controld_execd.c switch (op->op_status) { op 2624 daemons/controld/controld_execd.c op->op_status = PCMK_LRM_OP_ERROR; op 2625 daemons/controld/controld_execd.c op->rc = PCMK_OCF_CONNECTION_DIED; op 2628 daemons/controld/controld_execd.c op->op_status = PCMK_LRM_OP_ERROR; op 2629 daemons/controld/controld_execd.c op->rc = CRM_DIRECT_NACK_RC; op 2636 daemons/controld/controld_execd.c op_id = make_stop_id(op->rsc_id, op->call_id); op 2637 daemons/controld/controld_execd.c op_key = pcmk__op_key(op->rsc_id, op->op_type, op->interval_ms); op 2641 daemons/controld/controld_execd.c rsc = lrm_state_get_rsc_info(lrm_state, op->rsc_id, 0); op 2652 daemons/controld/controld_execd.c op->rsc_id, standard, op 2654 daemons/controld/controld_execd.c rsc = lrmd_new_rsc_info(op->rsc_id, standard, provider, type); op 2657 daemons/controld/controld_execd.c op_key, op->rsc_id); op 2675 daemons/controld/controld_execd.c if (op->op_status == PCMK_LRM_OP_ERROR) { op 2676 daemons/controld/controld_execd.c switch(op->rc) { op 2682 daemons/controld/controld_execd.c op->op_status = PCMK_LRM_OP_DONE; op 2690 daemons/controld/controld_execd.c if (op->op_status != PCMK_LRM_OP_CANCELLED) { op 2697 daemons/controld/controld_execd.c if (controld_action_is_recordable(op->op_type)) { op 2700 daemons/controld/controld_execd.c update_id = do_update_resource(node_name, rsc, op, op 2704 daemons/controld/controld_execd.c } else if (op->rsc_deleted) { op 2722 daemons/controld/controld_execd.c } else if (op->interval_ms == 0) { op 2734 daemons/controld/controld_execd.c } else if (op->user_data == NULL) { op 2746 daemons/controld/controld_execd.c erase_lrm_history_by_op(lrm_state, op); op 2763 daemons/controld/controld_execd.c } else if (op->rsc_deleted) { op 2780 daemons/controld/controld_execd.c controld_ack_event_directly(NULL, NULL, NULL, op, op->rsc_id); op 2787 daemons/controld/controld_execd.c } else if (lrm_state && ((op->interval_ms == 0) op 2788 daemons/controld/controld_execd.c || (op->op_status == PCMK_LRM_OP_CANCELLED))) { op 2792 daemons/controld/controld_execd.c if (op->interval_ms != 0) { op 2797 daemons/controld/controld_execd.c op_key, op->call_id, op_id, op 2806 daemons/controld/controld_execd.c switch (op->op_status) { op 2810 daemons/controld/controld_execd.c crm_action_str(op->op_type, op->interval_ms), op 2811 daemons/controld/controld_execd.c op->rsc_id, node_name, op 2812 daemons/controld/controld_execd.c services_lrm_status_str(op->op_status), op 2813 daemons/controld/controld_execd.c op->call_id, op_key, pcmk__btoa(removed)); op 2819 daemons/controld/controld_execd.c crm_action_str(op->op_type, op->interval_ms), op 2820 daemons/controld/controld_execd.c op->rsc_id, node_name, op 2821 daemons/controld/controld_execd.c services_ocf_exitcode_str(op->rc), op->rc, op 2822 daemons/controld/controld_execd.c op->call_id, op_key, pcmk__btoa(removed), update_id); op 2828 daemons/controld/controld_execd.c crm_action_str(op->op_type, op->interval_ms), op 2829 daemons/controld/controld_execd.c op->rsc_id, node_name, op 2830 daemons/controld/controld_execd.c services_lrm_status_str(op->op_status), op 2831 daemons/controld/controld_execd.c op->call_id, op_key, op->timeout); op 2837 daemons/controld/controld_execd.c crm_action_str(op->op_type, op->interval_ms), op 2838 daemons/controld/controld_execd.c op->rsc_id, node_name, op 2839 daemons/controld/controld_execd.c services_lrm_status_str(op->op_status), op->call_id, op_key, op 2840 daemons/controld/controld_execd.c pcmk__btoa(removed), op->op_status, update_id); op 2843 daemons/controld/controld_execd.c if (op->output) { op 2846 daemons/controld/controld_execd.c op->rsc_id, op->op_type, op->interval_ms, op 2847 daemons/controld/controld_execd.c op->call_id); op 2849 daemons/controld/controld_execd.c if (op->rc) { op 2850 daemons/controld/controld_execd.c crm_log_output(LOG_NOTICE, prefix, op->output); op 2852 daemons/controld/controld_execd.c crm_log_output(LOG_DEBUG, prefix, op->output); op 2858 daemons/controld/controld_execd.c if (!pcmk__str_eq(op->op_type, RSC_METADATA, pcmk__str_casei)) { op 2859 daemons/controld/controld_execd.c crmd_alert_resource_op(lrm_state->node_name, op); op 2860 daemons/controld/controld_execd.c } else if (rsc && (op->rc == PCMK_OCF_OK)) { op 2861 daemons/controld/controld_execd.c char *metadata = unescape_newlines(op->output); op 2868 daemons/controld/controld_execd.c if (op->rsc_deleted) { op 2869 daemons/controld/controld_execd.c crm_info("Deletion of resource '%s' complete after %s", op->rsc_id, op_key); op 2871 daemons/controld/controld_execd.c delete_rsc_entry(lrm_state, NULL, op->rsc_id, NULL, pcmk_ok, NULL); op 2880 daemons/controld/controld_execd.c update_history_cache(lrm_state, rsc, op); op 37 daemons/controld/controld_execd_state.c struct pending_deletion_op_s *op = value; op 39 daemons/controld/controld_execd_state.c free(op->rsc); op 40 daemons/controld/controld_execd_state.c delete_ha_msg_input(op->input); op 41 daemons/controld/controld_execd_state.c free(op); op 47 daemons/controld/controld_execd_state.c active_op_t *op = value; op 49 daemons/controld/controld_execd_state.c free(op->user_data); op 50 daemons/controld/controld_execd_state.c free(op->rsc_id); op 51 daemons/controld/controld_execd_state.c free(op->op_type); op 52 daemons/controld/controld_execd_state.c free(op->op_key); op 53 daemons/controld/controld_execd_state.c if (op->params) { op 54 daemons/controld/controld_execd_state.c g_hash_table_destroy(op->params); op 56 daemons/controld/controld_execd_state.c free(op); op 64 daemons/controld/controld_execd_state.c active_op_t *op = value; op 67 daemons/controld/controld_execd_state.c op->rsc_id, op->op_type, op->interval_ms, op 68 daemons/controld/controld_execd_state.c lrm_state->node_name, (char*)key, op->user_data); op 71 daemons/controld/controld_execd_state.c event.rsc_id = op->rsc_id; op 72 daemons/controld/controld_execd_state.c event.op_type = op->op_type; op 73 daemons/controld/controld_execd_state.c event.user_data = op->user_data; op 75 daemons/controld/controld_execd_state.c event.interval_ms = op->interval_ms; op 78 daemons/controld/controld_execd_state.c event.t_run = (unsigned int) op->start_time; op 79 daemons/controld/controld_execd_state.c event.t_rcchange = (unsigned int) op->start_time; op 81 daemons/controld/controld_execd_state.c event.call_id = op->call_id; op 83 daemons/controld/controld_execd_state.c event.params = op->params; op 85 daemons/controld/controld_execd_state.c process_lrm_event(lrm_state, &event, op, NULL); op 470 daemons/controld/controld_execd_state.c const char *op = crm_element_value(msg, F_LRMD_IPC_OP); op 471 daemons/controld/controld_execd_state.c if (pcmk__str_eq(op, LRMD_IPC_OP_NEW, pcmk__str_casei)) { op 486 daemons/controld/controld_execd_state.c } else if (pcmk__str_eq(op, LRMD_IPC_OP_SHUTDOWN_REQ, pcmk__str_casei)) { op 509 daemons/controld/controld_execd_state.c } else if (pcmk__str_eq(op, LRMD_IPC_OP_REQUEST, pcmk__str_casei) && proxy && proxy->is_local) { op 796 daemons/controld/controld_execd_state.c crmd_alert_resource_op(const char *node, lrmd_event_data_t * op) op 810 daemons/controld/controld_execd_state.c op); op 752 daemons/controld/controld_fencing.c const char *op = crm_meta_value(action->params, "stonith_action"); op 757 daemons/controld/controld_fencing.c if (pcmk__str_eq("on", op, pcmk__str_casei)) { op 231 daemons/controld/controld_join_client.c const char *op = crm_element_value(input->msg, F_CRM_TASK); op 235 daemons/controld/controld_join_client.c if (!pcmk__str_eq(op, CRM_OP_JOIN_ACKNAK, pcmk__str_casei)) { op 236 daemons/controld/controld_join_client.c crm_trace("Ignoring op=%s message", op); op 261 daemons/controld/controld_join_client.c op, welcome_from, fsa_our_dc); op 542 daemons/controld/controld_join_dc.c const char *op = crm_element_value(join_ack->msg, F_CRM_TASK); op 551 daemons/controld/controld_join_dc.c if (op == NULL) { op 556 daemons/controld/controld_join_dc.c if (strcmp(op, CRM_OP_JOIN_CONFIRM)) { op 558 daemons/controld/controld_join_dc.c op, join_from, CRM_OP_JOIN_CONFIRM); op 17 daemons/controld/controld_lrm.h void lrm_op_callback(lrmd_event_data_t * op); op 167 daemons/controld/controld_lrm.h void remote_lrm_op_callback(lrmd_event_data_t * op); op 184 daemons/controld/controld_lrm.h void process_lrm_event(lrm_state_t *lrm_state, lrmd_event_data_t *op, op 187 daemons/controld/controld_lrm.h lrmd_rsc_info_t *rsc, lrmd_event_data_t *op, op 204 daemons/controld/controld_messages.c lrmd_event_data_t *op = NULL; op 224 daemons/controld/controld_messages.c op = (lrmd_event_data_t *) fsa_data->data; op 225 daemons/controld/controld_messages.c lrmd_free_event(op); op 517 daemons/controld/controld_messages.c const char *op = crm_element_value(client_msg, F_CRM_TASK); op 527 daemons/controld/controld_messages.c if (!pcmk__str_eq(CRM_OP_HELLO, op, pcmk__str_casei)) { op 588 daemons/controld/controld_messages.c const char *op = NULL; op 602 daemons/controld/controld_messages.c op = crm_element_value(xml_attrs, op 623 daemons/controld/controld_messages.c update_attrd_clear_failures(uname, rsc, op, interval_spec, is_remote_node); op 626 daemons/controld/controld_messages.c lrm_clear_last_failure(rsc, uname, op, interval_ms); op 683 daemons/controld/controld_messages.c lrmd_event_data_t *op = NULL; op 699 daemons/controld/controld_messages.c op = lrmd_new_event(rsc_id, CRMD_ACTION_DELETE, 0); op 700 daemons/controld/controld_messages.c op->type = lrmd_event_exec_complete; op 701 daemons/controld/controld_messages.c op->user_data = strdup(transition? transition : FAKE_TE_ID); op 702 daemons/controld/controld_messages.c op->params = pcmk__strkey_table(free, free); op 703 daemons/controld/controld_messages.c g_hash_table_insert(op->params, strdup(XML_ATTR_CRM_VERSION), op 705 daemons/controld/controld_messages.c controld_rc2event(op, rc); op 706 daemons/controld/controld_messages.c controld_ack_event_directly(from_host, from_sys, NULL, op, rsc_id); op 707 daemons/controld/controld_messages.c lrmd_free_event(op); op 963 daemons/controld/controld_messages.c const char *op = crm_element_value(stored_msg, F_CRM_TASK); op 967 daemons/controld/controld_messages.c if (op == NULL) { op 972 daemons/controld/controld_messages.c if (strcmp(op, CRM_OP_SHUTDOWN_REQ) == 0) { op 984 daemons/controld/controld_messages.c if (strcmp(op, CRM_OP_JOIN_ANNOUNCE) == 0) { op 987 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_JOIN_REQUEST) == 0) { op 990 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_JOIN_CONFIRM) == 0) { op 993 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_SHUTDOWN) == 0) { op 996 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_SHUTDOWN_REQ) == 0) { op 1000 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_REMOTE_STATE) == 0) { op 1007 daemons/controld/controld_messages.c if (strcmp(op, CRM_OP_NOVOTE) == 0) { op 1015 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_THROTTLE) == 0) { op 1025 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_CLEAR_FAILCOUNT) == 0) { op 1028 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_VOTE) == 0) { op 1048 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_JOIN_OFFER) == 0) { op 1053 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_JOIN_ACKNAK) == 0) { op 1057 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_LRM_DELETE) == 0) { op 1060 daemons/controld/controld_messages.c } else if ((strcmp(op, CRM_OP_LRM_FAIL) == 0) op 1061 daemons/controld/controld_messages.c || (strcmp(op, CRM_OP_LRM_REFRESH) == 0) op 1062 daemons/controld/controld_messages.c || (strcmp(op, CRM_OP_REPROBE) == 0)) { op 1067 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_NOOP) == 0) { op 1070 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_LOCAL_SHUTDOWN) == 0) { op 1076 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_PING) == 0) { op 1079 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_NODE_INFO) == 0) { op 1082 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_RM_NODE_CACHE) == 0) { op 1108 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_MAINTENANCE_NODES) == 0) { op 1113 daemons/controld/controld_messages.c } else if (strcmp(op, PCMK__CONTROLD_CMD_NODES) == 0) { op 1119 daemons/controld/controld_messages.c if (strcmp(op, CRM_OP_SHUTDOWN) == 0) { op 1124 daemons/controld/controld_messages.c crm_err("Unexpected request (%s) sent to %s", op, AM_I_DC ? "the DC" : "non-DC node"); op 1134 daemons/controld/controld_messages.c const char *op = crm_element_value(stored_msg, F_CRM_TASK); op 1136 daemons/controld/controld_messages.c if (op == NULL) { op 1139 daemons/controld/controld_messages.c } else if (AM_I_DC && strcmp(op, CRM_OP_PECALC) == 0) { op 1144 daemons/controld/controld_messages.c crm_err("%s - Ignoring calculation with no reference", op); op 1154 daemons/controld/controld_messages.c crm_info("%s calculation %s is obsolete", op, msg_ref); op 1157 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_VOTE) == 0 op 1158 daemons/controld/controld_messages.c || strcmp(op, CRM_OP_SHUTDOWN_REQ) == 0 || strcmp(op, CRM_OP_SHUTDOWN) == 0) { op 1164 daemons/controld/controld_messages.c op, host_from, AM_I_DC ? "DC" : "controller"); op 351 daemons/controld/controld_remote_ra.c lrmd_event_data_t op = { 0, }; op 355 daemons/controld/controld_remote_ra.c op.type = lrmd_event_exec_complete; op 356 daemons/controld/controld_remote_ra.c op.rsc_id = cmd->rsc_id; op 357 daemons/controld/controld_remote_ra.c op.op_type = cmd->action; op 358 daemons/controld/controld_remote_ra.c op.user_data = cmd->userdata; op 359 daemons/controld/controld_remote_ra.c op.exit_reason = cmd->exit_reason; op 360 daemons/controld/controld_remote_ra.c op.timeout = cmd->timeout; op 361 daemons/controld/controld_remote_ra.c op.interval_ms = cmd->interval_ms; op 362 daemons/controld/controld_remote_ra.c op.rc = cmd->rc; op 363 daemons/controld/controld_remote_ra.c op.op_status = cmd->op_status; op 364 daemons/controld/controld_remote_ra.c op.t_run = (unsigned int) cmd->start_time; op 365 daemons/controld/controld_remote_ra.c op.t_rcchange = (unsigned int) cmd->start_time; op 367 daemons/controld/controld_remote_ra.c op.t_rcchange = (unsigned int) time(NULL); op 377 daemons/controld/controld_remote_ra.c if (op.t_rcchange == op.t_run) { op 378 daemons/controld/controld_remote_ra.c op.t_rcchange++; op 385 daemons/controld/controld_remote_ra.c op.params = pcmk__strkey_table(free, free); op 387 daemons/controld/controld_remote_ra.c g_hash_table_insert(op.params, strdup(tmp->key), strdup(tmp->value)); op 391 daemons/controld/controld_remote_ra.c op.call_id = cmd->call_id; op 392 daemons/controld/controld_remote_ra.c op.remote_nodename = cmd->owner; op 394 daemons/controld/controld_remote_ra.c lrm_op_callback(&op); op 396 daemons/controld/controld_remote_ra.c if (op.params) { op 397 daemons/controld/controld_remote_ra.c g_hash_table_destroy(op.params); op 500 daemons/controld/controld_remote_ra.c lrmd_event_data_t op = { 0, }; op 508 daemons/controld/controld_remote_ra.c op.type = lrmd_event_exec_complete; op 509 daemons/controld/controld_remote_ra.c op.rsc_id = rsc_id; op 510 daemons/controld/controld_remote_ra.c op.op_type = op_type; op 511 daemons/controld/controld_remote_ra.c op.rc = PCMK_OCF_OK; op 512 daemons/controld/controld_remote_ra.c op.op_status = PCMK_LRM_OP_DONE; op 513 daemons/controld/controld_remote_ra.c op.t_run = (unsigned int) time(NULL); op 514 daemons/controld/controld_remote_ra.c op.t_rcchange = op.t_run; op 515 daemons/controld/controld_remote_ra.c op.call_id = generate_callid(); op 516 daemons/controld/controld_remote_ra.c process_lrm_event(lrm_state, &op, NULL, NULL); op 520 daemons/controld/controld_remote_ra.c remote_lrm_op_callback(lrmd_event_data_t * op) op 529 daemons/controld/controld_remote_ra.c (op->op_type? op->op_type : ""), (op->op_type? " " : ""), op 530 daemons/controld/controld_remote_ra.c lrmd_event_type2str(op->type), op->remote_nodename, op 531 daemons/controld/controld_remote_ra.c services_ocf_exitcode_str(op->rc), op->rc, op 532 daemons/controld/controld_remote_ra.c services_lrm_status_str(op->op_status), op->op_status); op 534 daemons/controld/controld_remote_ra.c lrm_state = lrm_state_find(op->remote_nodename); op 541 daemons/controld/controld_remote_ra.c if (op->type == lrmd_event_new_client) { op 549 daemons/controld/controld_remote_ra.c crm_err("Unexpected pacemaker_remote client takeover for %s. Disconnecting", op->remote_nodename); op 559 daemons/controld/controld_remote_ra.c if (op->type == lrmd_event_exec_complete) { op 563 daemons/controld/controld_remote_ra.c lrm_op_callback(op); op 568 daemons/controld/controld_remote_ra.c if ((op->type == lrmd_event_disconnect) && (ra_data->cur_cmd == NULL)) { op 601 daemons/controld/controld_remote_ra.c if (op->type == lrmd_event_connect && pcmk__strcase_any_of(cmd->action, "start", op 603 daemons/controld/controld_remote_ra.c if (op->connection_rc < 0) { op 606 daemons/controld/controld_remote_ra.c if (op->connection_rc == -ENOKEY) { op 635 daemons/controld/controld_remote_ra.c } else if (op->type == lrmd_event_poke && pcmk__str_eq(cmd->action, "monitor", pcmk__str_casei)) { op 663 daemons/controld/controld_remote_ra.c } else if (op->type == lrmd_event_disconnect && pcmk__str_eq(cmd->action, "monitor", pcmk__str_casei)) { op 673 daemons/controld/controld_remote_ra.c } else if (op->type == lrmd_event_new_client && pcmk__str_eq(cmd->action, "stop", pcmk__str_casei)) { op 181 daemons/controld/controld_te_actions.c lrmd_event_data_t *op = NULL; op 244 daemons/controld/controld_te_actions.c op = convert_graph_action(NULL, action, PCMK_LRM_OP_TIMEOUT, op 246 daemons/controld/controld_te_actions.c op->call_id = -1; op 247 daemons/controld/controld_te_actions.c op->user_data = pcmk__transition_key(transition_graph->id, action->id, op 250 daemons/controld/controld_te_actions.c xml_op = pcmk__create_history_xml(rsc, op, CRM_FEATURE_SET, target_rc, op 252 daemons/controld/controld_te_actions.c lrmd_free_event(op); op 238 daemons/controld/controld_te_callbacks.c const char *op, const char *xpath) op 306 daemons/controld/controld_te_callbacks.c abort_unless_down(const char *xpath, const char *op, xmlNode *change, op 312 daemons/controld/controld_te_callbacks.c if(!pcmk__str_eq(op, "delete", pcmk__str_casei)) { op 365 daemons/controld/controld_te_callbacks.c process_delete_diff(const char *xpath, const char *op, xmlNode *change) op 371 daemons/controld/controld_te_callbacks.c abort_unless_down(xpath, op, change, "Resource state removal"); op 374 daemons/controld/controld_te_callbacks.c abort_unless_down(xpath, op, change, "Node state removal"); op 382 daemons/controld/controld_te_callbacks.c process_node_state_diff(xmlNode *state, xmlNode *change, const char *op, op 387 daemons/controld/controld_te_callbacks.c process_resource_updates(ID(state), lrm, change, op, xpath); op 391 daemons/controld/controld_te_callbacks.c process_status_diff(xmlNode *status, xmlNode *change, const char *op, op 396 daemons/controld/controld_te_callbacks.c process_node_state_diff(state, change, op, xpath); op 401 daemons/controld/controld_te_callbacks.c process_cib_diff(xmlNode *cib, xmlNode *change, const char *op, op 408 daemons/controld/controld_te_callbacks.c process_status_diff(status, change, op, xpath); op 429 daemons/controld/controld_te_callbacks.c const char *op = crm_element_value(change, XML_DIFF_OP); op 432 daemons/controld/controld_te_callbacks.c if (op == NULL) { op 436 daemons/controld/controld_te_callbacks.c crm_trace("Ignoring %s change for version field", op); op 439 daemons/controld/controld_te_callbacks.c } else if (strcmp(op, "move") == 0) { op 445 daemons/controld/controld_te_callbacks.c if (strcmp(op, "create") == 0) { op 448 daemons/controld/controld_te_callbacks.c } else if (strcmp(op, "modify") == 0) { op 454 daemons/controld/controld_te_callbacks.c } else if (strcmp(op, "delete") != 0) { op 456 daemons/controld/controld_te_callbacks.c op, xpath); op 462 daemons/controld/controld_te_callbacks.c crm_trace("Ignoring %s operation for comment at %s", op, xpath); op 469 daemons/controld/controld_te_callbacks.c op, (xpath? xpath : "CIB"), op 484 daemons/controld/controld_te_callbacks.c abort_unless_down(xpath, op, change, "Transient attribute change"); op 487 daemons/controld/controld_te_callbacks.c } else if (strcmp(op, "delete") == 0) { op 488 daemons/controld/controld_te_callbacks.c process_delete_diff(xpath, op, change); op 492 daemons/controld/controld_te_callbacks.c op, xpath); op 495 daemons/controld/controld_te_callbacks.c process_cib_diff(match, change, op, xpath); op 498 daemons/controld/controld_te_callbacks.c process_status_diff(match, change, op, xpath); op 501 daemons/controld/controld_te_callbacks.c process_node_state_diff(match, change, op, xpath); op 504 daemons/controld/controld_te_callbacks.c process_resource_updates(ID(match), match, change, op, xpath); op 509 daemons/controld/controld_te_callbacks.c process_resource_updates(local_node, match, change, op, xpath); op 526 daemons/controld/controld_te_callbacks.c op, xpath, name); op 535 daemons/controld/controld_te_callbacks.c const char *op = NULL; op 561 daemons/controld/controld_te_callbacks.c op = crm_element_value(msg, F_CIB_OPERATION); op 565 daemons/controld/controld_te_callbacks.c crm_debug("Processing (%s) diff: %d.%d.%d -> %d.%d.%d (%s)", op, op 590 daemons/controld/controld_te_callbacks.c const char *op = crm_element_value(msg, F_CRM_TASK); op 593 daemons/controld/controld_te_callbacks.c crm_trace("Processing %s (%s) message", op, ref); op 596 daemons/controld/controld_te_callbacks.c if (op == NULL) { op 603 daemons/controld/controld_te_callbacks.c } else if (pcmk__str_eq(op, CRM_OP_INVOKE_LRM, pcmk__str_casei) op 631 daemons/controld/controld_te_callbacks.c crm_err("Unknown command: %s::%s from %s", type, op, sys_from); op 212 daemons/controld/controld_te_utils.c const char *op = crm_element_value(change, XML_DIFF_OP); op 216 daemons/controld/controld_te_utils.c if(strcmp(op, "create") == 0) { op 219 daemons/controld/controld_te_utils.c } else if(strcmp(op, "modify") == 0) { op 228 daemons/controld/controld_te_utils.c if(strcmp(op, "delete") == 0) { op 242 daemons/controld/controld_te_utils.c crm_element_value(reason, XML_ATTR_ID), op, op 254 daemons/controld/controld_te_utils.c crm_element_value(reason, XML_LRM_ATTR_TASK_KEY), op, op 265 daemons/controld/controld_te_utils.c kind, op, (uname? uname : ID(reason)), abort_text, op 275 daemons/controld/controld_te_utils.c TYPE(reason), (id? id : ""), (op? op : "change"), op 89 daemons/controld/controld_utils.h const char *op, const char *interval_spec, op 658 daemons/execd/execd_commands.c const char *op = crm_element_value(request, F_LRMD_OPERATION); op 666 daemons/execd/execd_commands.c crm_xml_add(notify, F_LRMD_OPERATION, op); op 1869 daemons/execd/execd_commands.c const char *op = crm_element_value(request, F_LRMD_OPERATION); op 1880 daemons/execd/execd_commands.c crm_trace("Processing %s operation from %s", op, client->id); op 1883 daemons/execd/execd_commands.c if (pcmk__str_eq(op, CRM_OP_IPC_FWD, pcmk__str_none)) { op 1894 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, CRM_OP_REGISTER, pcmk__str_none)) { op 1897 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_RSC_REG, pcmk__str_none)) { op 1905 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_RSC_INFO, pcmk__str_none)) { op 1912 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_RSC_UNREG, pcmk__str_none)) { op 1923 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_RSC_EXEC, pcmk__str_none)) { op 1930 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_RSC_CANCEL, pcmk__str_none)) { op 1937 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_POKE, pcmk__str_none)) { op 1940 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_CHECK, pcmk__str_none)) { op 1949 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_ALERT_EXEC, pcmk__str_none)) { op 1956 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_GET_RECURRING, pcmk__str_none)) { op 1967 daemons/execd/execd_commands.c op, pcmk__client_name(client)); op 1972 daemons/execd/execd_commands.c op, pcmk__client_name(client)); op 1976 daemons/execd/execd_commands.c op, client->id, rc, do_reply, do_notify); op 87 daemons/fenced/fenced_commands.c char *op; op 227 daemons/fenced/fenced_commands.c free(cmd->op); op 235 daemons/fenced/fenced_commands.c xmlNode *op = get_xpath_object("//@" F_STONITH_ACTION, msg, LOG_ERR); op 236 daemons/fenced/fenced_commands.c const char *action = crm_element_value(op, F_STONITH_ACTION); op 253 daemons/fenced/fenced_commands.c cmd->op = crm_element_value_copy(msg, F_STONITH_OPERATION); op 255 daemons/fenced/fenced_commands.c cmd->victim = crm_element_value_copy(op, F_STONITH_TARGET); op 256 daemons/fenced/fenced_commands.c cmd->device = crm_element_value_copy(op, F_STONITH_DEVICE); op 258 daemons/fenced/fenced_commands.c CRM_CHECK(cmd->op != NULL, crm_log_xml_warn(msg, "NoOp"); free_async_command(cmd); return NULL); op 1581 daemons/fenced/fenced_commands.c xmlNode *op = get_xpath_object("//@" F_STONITH_ACTION, msg, LOG_ERR); op 1583 daemons/fenced/fenced_commands.c const char *action = crm_element_value(op, F_STONITH_ACTION); op 2170 daemons/fenced/fenced_commands.c crm_xml_add(notify_data, F_STONITH_OPERATION, cmd->op); op 2474 daemons/fenced/fenced_commands.c crm_xml_add(reply, F_STONITH_OPERATION, cmd->op); op 2480 daemons/fenced/fenced_commands.c crm_xml_add(reply, F_STONITH_ACTION, cmd->op); op 2623 daemons/fenced/fenced_commands.c const char *op = crm_element_value(request, F_STONITH_OPERATION); op 2641 daemons/fenced/fenced_commands.c if (pcmk__str_eq(op, CRM_OP_REGISTER, pcmk__str_none)) { op 2652 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(op, STONITH_OP_EXEC, pcmk__str_none)) { op 2655 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(op, STONITH_OP_TIMEOUT_UPDATE, pcmk__str_none)) { op 2664 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(op, STONITH_OP_QUERY, pcmk__str_none)) { op 2675 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(op, T_STONITH_NOTIFY, pcmk__str_none)) { op 2696 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(op, STONITH_OP_RELAY, pcmk__str_none)) { op 2710 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(op, STONITH_OP_FENCE, pcmk__str_none)) { op 2754 daemons/fenced/fenced_commands.c remote_fencing_op_t *op = NULL; op 2767 daemons/fenced/fenced_commands.c op = create_remote_stonith_op(client_id, request, FALSE); op 2771 daemons/fenced/fenced_commands.c crm_xml_add(request, F_STONITH_REMOTE_OP_ID, op->id); op 2781 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(op, STONITH_OP_FENCE_HISTORY, pcmk__str_none)) { op 2791 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(op, STONITH_OP_DEVICE_ADD, pcmk__str_none)) { op 2799 daemons/fenced/fenced_commands.c do_stonith_notify_device(call_options, op, rc, device_id); op 2801 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(op, STONITH_OP_DEVICE_DEL, pcmk__str_none)) { op 2810 daemons/fenced/fenced_commands.c do_stonith_notify_device(call_options, op, rc, device_id); op 2812 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(op, STONITH_OP_LEVEL_ADD, pcmk__str_none)) { op 2820 daemons/fenced/fenced_commands.c do_stonith_notify_level(call_options, op, rc, device_id); op 2823 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(op, STONITH_OP_LEVEL_DEL, pcmk__str_none)) { op 2831 daemons/fenced/fenced_commands.c do_stonith_notify_level(call_options, op, rc, device_id); op 2833 daemons/fenced/fenced_commands.c } else if(pcmk__str_eq(op, CRM_OP_RM_NODE_CACHE, pcmk__str_casei)) { op 2844 daemons/fenced/fenced_commands.c crm_err("Unknown IPC request %s from %s %s", op, op 2853 daemons/fenced/fenced_commands.c crm_str(op), pcmk__client_name(client)); op 2881 daemons/fenced/fenced_commands.c const char *op = crm_element_value(request, F_STONITH_OPERATION); op 2883 daemons/fenced/fenced_commands.c if (pcmk__str_eq(op, STONITH_OP_QUERY, pcmk__str_none)) { op 2885 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(op, T_STONITH_NOTIFY, pcmk__str_none)) { op 2887 daemons/fenced/fenced_commands.c } else if (pcmk__str_eq(op, STONITH_OP_FENCE, pcmk__str_none)) { op 2891 daemons/fenced/fenced_commands.c crm_err("Unknown %s reply from %s %s", op, op 2915 daemons/fenced/fenced_commands.c char *op = crm_element_value_copy(request, F_STONITH_OPERATION); op 2923 daemons/fenced/fenced_commands.c op, (is_reply? " reply" : ""), id, op 2939 daemons/fenced/fenced_commands.c op, (is_reply? " reply" : ""), op 2943 daemons/fenced/fenced_commands.c free(op); op 70 daemons/fenced/fenced_history.c remote_fencing_op_t *op = value; op 73 daemons/fenced/fenced_history.c if ((op->state == st_failed) || (op->state == st_done)) { op 74 daemons/fenced/fenced_history.c if ((target) && (strcmp(op->target, target) != 0)) { op 177 daemons/fenced/fenced_history.c remote_fencing_op_t *op = NULL; op 187 daemons/fenced/fenced_history.c while (g_hash_table_iter_next(&iter, NULL, (void **)&op)) { op 188 daemons/fenced/fenced_history.c ops[i++] = op; op 229 daemons/fenced/fenced_history.c remote_fencing_op_t *op = NULL; op 241 daemons/fenced/fenced_history.c op = calloc(1, sizeof(remote_fencing_op_t)); op 243 daemons/fenced/fenced_history.c op->id = id; op 244 daemons/fenced/fenced_history.c op->target = crm_element_value_copy(xml_op, F_STONITH_TARGET); op 245 daemons/fenced/fenced_history.c op->action = crm_element_value_copy(xml_op, F_STONITH_ACTION); op 246 daemons/fenced/fenced_history.c op->originator = crm_element_value_copy(xml_op, F_STONITH_ORIGIN); op 247 daemons/fenced/fenced_history.c op->delegate = crm_element_value_copy(xml_op, F_STONITH_DELEGATE); op 248 daemons/fenced/fenced_history.c op->client_name = crm_element_value_copy(xml_op, F_STONITH_CLIENTNAME); op 250 daemons/fenced/fenced_history.c op->completed = (time_t) completed; op 252 daemons/fenced/fenced_history.c op->state = (enum op_state) state; op 254 daemons/fenced/fenced_history.c g_hash_table_replace(rv, id, op); op 280 daemons/fenced/fenced_history.c remote_fencing_op_t *op = NULL; op 290 daemons/fenced/fenced_history.c while (g_hash_table_iter_next(&iter, (void **)&id, (void **)&op)) { op 295 daemons/fenced/fenced_history.c g_hash_table_lookup(remote_history, op->id); op 298 daemons/fenced/fenced_history.c if (stonith__op_state_pending(op->state) op 304 daemons/fenced/fenced_history.c op->id, stonith_op_state_str(op->state), op 307 daemons/fenced/fenced_history.c g_hash_table_steal(remote_history, op->id); op 308 daemons/fenced/fenced_history.c op->id = remote_op->id; op 315 daemons/fenced/fenced_history.c } else if (!stonith__op_state_pending(op->state) op 321 daemons/fenced/fenced_history.c op->id, stonith_op_state_str(op->state), op 324 daemons/fenced/fenced_history.c g_hash_table_remove(remote_history, op->id); op 327 daemons/fenced/fenced_history.c g_hash_table_remove(remote_history, op->id); op 333 daemons/fenced/fenced_history.c if (!pcmk__str_eq(target, op->target, pcmk__str_null_matches)) { op 338 daemons/fenced/fenced_history.c crm_trace("Attaching op %s", op->id); op 341 daemons/fenced/fenced_history.c crm_xml_add(entry, F_STONITH_REMOTE_OP_ID, op->id); op 343 daemons/fenced/fenced_history.c crm_xml_add(entry, F_STONITH_TARGET, op->target); op 344 daemons/fenced/fenced_history.c crm_xml_add(entry, F_STONITH_ACTION, op->action); op 345 daemons/fenced/fenced_history.c crm_xml_add(entry, F_STONITH_ORIGIN, op->originator); op 346 daemons/fenced/fenced_history.c crm_xml_add(entry, F_STONITH_DELEGATE, op->delegate); op 347 daemons/fenced/fenced_history.c crm_xml_add(entry, F_STONITH_CLIENTNAME, op->client_name); op 348 daemons/fenced/fenced_history.c crm_xml_add_ll(entry, F_STONITH_DATE, op->completed); op 349 daemons/fenced/fenced_history.c crm_xml_add_int(entry, F_STONITH_STATE, op->state); op 359 daemons/fenced/fenced_history.c while (g_hash_table_iter_next(&iter, NULL, (void **)&op)) { op 361 daemons/fenced/fenced_history.c if (stonith__op_state_pending(op->state) && op 362 daemons/fenced/fenced_history.c pcmk__str_eq(op->originator, stonith_our_uname, pcmk__str_casei)) { op 364 daemons/fenced/fenced_history.c "known only from peer history", op->id); op 365 daemons/fenced/fenced_history.c op->state = st_failed; op 366 daemons/fenced/fenced_history.c op->completed = time(NULL); op 371 daemons/fenced/fenced_history.c stonith_bcast_result_to_peers(op, -EHOSTUNREACH, FALSE); op 375 daemons/fenced/fenced_history.c g_hash_table_replace(stonith_remote_op_list, op->id, op); op 79 daemons/fenced/fenced_remote.c void call_remote_stonith(remote_fencing_op_t * op, st_query_result_t * peer, int rc); op 80 daemons/fenced/fenced_remote.c static void remote_op_done(remote_fencing_op_t * op, xmlNode * data, int rc, int dup); op 81 daemons/fenced/fenced_remote.c extern xmlNode *stonith_create_op(int call_id, const char *token, const char *op, xmlNode * data, op 84 daemons/fenced/fenced_remote.c static void report_timeout_period(remote_fencing_op_t * op, int op_timeout); op 85 daemons/fenced/fenced_remote.c static int get_op_total_timeout(const remote_fencing_op_t *op, op 117 daemons/fenced/fenced_remote.c const remote_fencing_op_t *op; op 136 daemons/fenced/fenced_remote.c if (!props->executed[data->op->phase] op 153 daemons/fenced/fenced_remote.c count_peer_devices(const remote_fencing_op_t *op, const st_query_result_t *peer, op 158 daemons/fenced/fenced_remote.c data.op = op; op 178 daemons/fenced/fenced_remote.c find_peer_device(const remote_fencing_op_t *op, const st_query_result_t *peer, op 183 daemons/fenced/fenced_remote.c return (props && !props->executed[op->phase] op 184 daemons/fenced/fenced_remote.c && !props->disallowed[op->phase])? props : NULL; op 199 daemons/fenced/fenced_remote.c grab_peer_device(const remote_fencing_op_t *op, st_query_result_t *peer, op 202 daemons/fenced/fenced_remote.c device_properties_t *props = find_peer_device(op, peer, device); op 209 daemons/fenced/fenced_remote.c device, peer->host, count_peer_devices(op, peer, FALSE)); op 210 daemons/fenced/fenced_remote.c props->executed[op->phase] = TRUE; op 215 daemons/fenced/fenced_remote.c clear_remote_op_timers(remote_fencing_op_t * op) op 217 daemons/fenced/fenced_remote.c if (op->query_timer) { op 218 daemons/fenced/fenced_remote.c g_source_remove(op->query_timer); op 219 daemons/fenced/fenced_remote.c op->query_timer = 0; op 221 daemons/fenced/fenced_remote.c if (op->op_timer_total) { op 222 daemons/fenced/fenced_remote.c g_source_remove(op->op_timer_total); op 223 daemons/fenced/fenced_remote.c op->op_timer_total = 0; op 225 daemons/fenced/fenced_remote.c if (op->op_timer_one) { op 226 daemons/fenced/fenced_remote.c g_source_remove(op->op_timer_one); op 227 daemons/fenced/fenced_remote.c op->op_timer_one = 0; op 234 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = data; op 236 daemons/fenced/fenced_remote.c crm_log_xml_debug(op->request, "Destroying"); op 238 daemons/fenced/fenced_remote.c clear_remote_op_timers(op); op 240 daemons/fenced/fenced_remote.c free(op->id); op 241 daemons/fenced/fenced_remote.c free(op->action); op 242 daemons/fenced/fenced_remote.c free(op->delegate); op 243 daemons/fenced/fenced_remote.c free(op->target); op 244 daemons/fenced/fenced_remote.c free(op->client_id); op 245 daemons/fenced/fenced_remote.c free(op->client_name); op 246 daemons/fenced/fenced_remote.c free(op->originator); op 248 daemons/fenced/fenced_remote.c if (op->query_results) { op 249 daemons/fenced/fenced_remote.c g_list_free_full(op->query_results, free_remote_query); op 251 daemons/fenced/fenced_remote.c if (op->request) { op 252 daemons/fenced/fenced_remote.c free_xml(op->request); op 253 daemons/fenced/fenced_remote.c op->request = NULL; op 255 daemons/fenced/fenced_remote.c if (op->devices_list) { op 256 daemons/fenced/fenced_remote.c g_list_free_full(op->devices_list, free); op 257 daemons/fenced/fenced_remote.c op->devices_list = NULL; op 259 daemons/fenced/fenced_remote.c g_list_free_full(op->automatic_list, free); op 260 daemons/fenced/fenced_remote.c g_list_free(op->duplicates); op 261 daemons/fenced/fenced_remote.c free(op); op 281 daemons/fenced/fenced_remote.c op_requested_action(const remote_fencing_op_t *op) op 283 daemons/fenced/fenced_remote.c return ((op->phase > st_phase_requested)? "reboot" : op->action); op 293 daemons/fenced/fenced_remote.c op_phase_off(remote_fencing_op_t *op) op 296 daemons/fenced/fenced_remote.c CRM_XS " id=%.8s", op->target, op->id); op 297 daemons/fenced/fenced_remote.c op->phase = st_phase_off; op 302 daemons/fenced/fenced_remote.c strcpy(op->action, "off"); op 312 daemons/fenced/fenced_remote.c op_phase_on(remote_fencing_op_t *op) op 318 daemons/fenced/fenced_remote.c op->target, op->client_name, op->id); op 319 daemons/fenced/fenced_remote.c op->phase = st_phase_on; op 320 daemons/fenced/fenced_remote.c strcpy(op->action, "on"); op 325 daemons/fenced/fenced_remote.c for (iter = op->automatic_list; iter != NULL; iter = iter->next) { op 326 daemons/fenced/fenced_remote.c GList *match = g_list_find_custom(op->devices_list, iter->data, op 330 daemons/fenced/fenced_remote.c op->devices_list = g_list_remove(op->devices_list, match->data); op 333 daemons/fenced/fenced_remote.c g_list_free_full(op->automatic_list, free); op 334 daemons/fenced/fenced_remote.c op->automatic_list = NULL; op 337 daemons/fenced/fenced_remote.c op->devices = op->devices_list; op 347 daemons/fenced/fenced_remote.c undo_op_remap(remote_fencing_op_t *op) op 349 daemons/fenced/fenced_remote.c if (op->phase > 0) { op 351 daemons/fenced/fenced_remote.c CRM_XS " id=%.8s", op->target, op->client_name, op->id); op 352 daemons/fenced/fenced_remote.c op->phase = st_phase_requested; op 353 daemons/fenced/fenced_remote.c strcpy(op->action, "reboot"); op 358 daemons/fenced/fenced_remote.c create_op_done_notify(remote_fencing_op_t * op, int rc) op 362 daemons/fenced/fenced_remote.c crm_xml_add_int(notify_data, "state", op->state); op 364 daemons/fenced/fenced_remote.c crm_xml_add(notify_data, F_STONITH_TARGET, op->target); op 365 daemons/fenced/fenced_remote.c crm_xml_add(notify_data, F_STONITH_ACTION, op->action); op 366 daemons/fenced/fenced_remote.c crm_xml_add(notify_data, F_STONITH_DELEGATE, op->delegate); op 367 daemons/fenced/fenced_remote.c crm_xml_add(notify_data, F_STONITH_REMOTE_OP_ID, op->id); op 368 daemons/fenced/fenced_remote.c crm_xml_add(notify_data, F_STONITH_ORIGIN, op->originator); op 369 daemons/fenced/fenced_remote.c crm_xml_add(notify_data, F_STONITH_CLIENTID, op->client_id); op 370 daemons/fenced/fenced_remote.c crm_xml_add(notify_data, F_STONITH_CLIENTNAME, op->client_name); op 376 daemons/fenced/fenced_remote.c stonith_bcast_result_to_peers(remote_fencing_op_t * op, int rc, gboolean op_merged) op 380 daemons/fenced/fenced_remote.c xmlNode *notify_data = create_op_done_notify(op, rc); op 402 daemons/fenced/fenced_remote.c handle_local_reply_and_notify(remote_fencing_op_t * op, xmlNode * data, int rc) op 407 daemons/fenced/fenced_remote.c if (op->notify_sent == TRUE) { op 413 daemons/fenced/fenced_remote.c notify_data = create_op_done_notify(op, rc); op 414 daemons/fenced/fenced_remote.c crm_xml_add_int(data, "state", op->state); op 415 daemons/fenced/fenced_remote.c crm_xml_add(data, F_STONITH_TARGET, op->target); op 416 daemons/fenced/fenced_remote.c crm_xml_add(data, F_STONITH_OPERATION, op->action); op 418 daemons/fenced/fenced_remote.c reply = stonith_construct_reply(op->request, NULL, data, rc); op 419 daemons/fenced/fenced_remote.c crm_xml_add(reply, F_STONITH_DELEGATE, op->delegate); op 422 daemons/fenced/fenced_remote.c do_local_reply(reply, op->client_id, op->call_options & st_opt_sync_call, FALSE); op 429 daemons/fenced/fenced_remote.c op->notify_sent = TRUE; op 435 daemons/fenced/fenced_remote.c handle_duplicates(remote_fencing_op_t * op, xmlNode * data, int rc) op 439 daemons/fenced/fenced_remote.c for (iter = op->duplicates; iter != NULL; iter = iter->next) { op 443 daemons/fenced/fenced_remote.c other->state = op->state; op 486 daemons/fenced/fenced_remote.c remote_op_done(remote_fencing_op_t * op, xmlNode * data, int rc, int dup) op 493 daemons/fenced/fenced_remote.c op->completed = time(NULL); op 494 daemons/fenced/fenced_remote.c clear_remote_op_timers(op); op 495 daemons/fenced/fenced_remote.c undo_op_remap(op); op 497 daemons/fenced/fenced_remote.c if (op->notify_sent == TRUE) { op 500 daemons/fenced/fenced_remote.c op->action, op->target, op 501 daemons/fenced/fenced_remote.c (op->delegate? op->delegate : "unknown node"), op 502 daemons/fenced/fenced_remote.c op->client_name, op->originator, pcmk_strerror(rc), op 503 daemons/fenced/fenced_remote.c rc, stonith_op_state_str(op->state), op->id); op 507 daemons/fenced/fenced_remote.c if (!op->delegate && data && rc != -ENODEV && rc != -EHOSTUNREACH) { op 511 daemons/fenced/fenced_remote.c op->delegate = crm_element_value_copy(ndata, F_STONITH_DELEGATE); op 513 daemons/fenced/fenced_remote.c op->delegate = crm_element_value_copy(data, F_ORIG); op 534 daemons/fenced/fenced_remote.c stonith_bcast_result_to_peers(op, rc, (op_merged? TRUE: FALSE)); op 540 daemons/fenced/fenced_remote.c } else if (!pcmk__str_eq(op->originator, stonith_our_uname, pcmk__str_casei)) { op 545 daemons/fenced/fenced_remote.c CRM_XS " id=%.8s", op->action, (op->target? " targeting " : ""), op 546 daemons/fenced/fenced_remote.c (op->target? op->target : ""), op 547 daemons/fenced/fenced_remote.c (op->delegate? op->delegate : "unknown node"), op 548 daemons/fenced/fenced_remote.c op->client_name, op->originator, op 549 daemons/fenced/fenced_remote.c (op_merged? " (merged)" : ""), pcmk_strerror(rc), op->id); op 551 daemons/fenced/fenced_remote.c handle_local_reply_and_notify(op, data, rc); op 554 daemons/fenced/fenced_remote.c handle_duplicates(op, data, rc); op 560 daemons/fenced/fenced_remote.c if (op->query_results) { op 561 daemons/fenced/fenced_remote.c g_list_free_full(op->query_results, free_remote_query); op 562 daemons/fenced/fenced_remote.c op->query_results = NULL; op 565 daemons/fenced/fenced_remote.c if (op->request) { op 566 daemons/fenced/fenced_remote.c free_xml(op->request); op 567 daemons/fenced/fenced_remote.c op->request = NULL; op 577 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = userdata; op 579 daemons/fenced/fenced_remote.c op->op_timer_one = 0; op 583 daemons/fenced/fenced_remote.c op->action, op->target, op->client_name, op->id); op 584 daemons/fenced/fenced_remote.c op->state = st_done; op 585 daemons/fenced/fenced_remote.c remote_op_done(op, NULL, pcmk_ok, FALSE); op 592 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = userdata; op 594 daemons/fenced/fenced_remote.c op->op_timer_one = 0; op 597 daemons/fenced/fenced_remote.c " id=%.8s", op->action, op->target, op->client_name, op->id); op 598 daemons/fenced/fenced_remote.c call_remote_stonith(op, NULL, pcmk_ok); op 605 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = userdata; op 607 daemons/fenced/fenced_remote.c op->op_timer_total = 0; op 609 daemons/fenced/fenced_remote.c if (op->state == st_done) { op 612 daemons/fenced/fenced_remote.c op->action, op->target, op->client_name, op->id); op 618 daemons/fenced/fenced_remote.c op->action, op->target, op->client_name, op->id); op 620 daemons/fenced/fenced_remote.c if (op->phase == st_phase_on) { op 625 daemons/fenced/fenced_remote.c remote_op_done(op, NULL, pcmk_ok, FALSE); op 629 daemons/fenced/fenced_remote.c op->state = st_failed; op 631 daemons/fenced/fenced_remote.c remote_op_done(op, NULL, -ETIME, FALSE); op 639 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = data; op 641 daemons/fenced/fenced_remote.c op->query_timer = 0; op 642 daemons/fenced/fenced_remote.c if (op->state == st_done) { op 644 daemons/fenced/fenced_remote.c op->id, op->target); op 645 daemons/fenced/fenced_remote.c } else if (op->state == st_exec) { op 647 daemons/fenced/fenced_remote.c op->id, op->target); op 648 daemons/fenced/fenced_remote.c } else if (op->query_results) { op 650 daemons/fenced/fenced_remote.c op->id, op->target, stonith_op_state_str(op->state)); op 651 daemons/fenced/fenced_remote.c call_remote_stonith(op, NULL, pcmk_ok); op 654 daemons/fenced/fenced_remote.c op->id, op->target, stonith_op_state_str(op->state)); op 655 daemons/fenced/fenced_remote.c if (op->op_timer_total) { op 656 daemons/fenced/fenced_remote.c g_source_remove(op->op_timer_total); op 657 daemons/fenced/fenced_remote.c op->op_timer_total = 0; op 659 daemons/fenced/fenced_remote.c remote_op_timeout(op); op 690 daemons/fenced/fenced_remote.c add_required_device(remote_fencing_op_t *op, const char *device) op 692 daemons/fenced/fenced_remote.c GList *match = g_list_find_custom(op->automatic_list, device, op 696 daemons/fenced/fenced_remote.c op->automatic_list = g_list_prepend(op->automatic_list, strdup(device)); op 708 daemons/fenced/fenced_remote.c remove_required_device(remote_fencing_op_t *op, const char *device) op 710 daemons/fenced/fenced_remote.c GList *match = g_list_find_custom(op->automatic_list, device, op 714 daemons/fenced/fenced_remote.c op->automatic_list = g_list_remove(op->automatic_list, match->data); op 720 daemons/fenced/fenced_remote.c set_op_device_list(remote_fencing_op_t * op, GList *devices) op 724 daemons/fenced/fenced_remote.c if (op->devices_list) { op 725 daemons/fenced/fenced_remote.c g_list_free_full(op->devices_list, free); op 726 daemons/fenced/fenced_remote.c op->devices_list = NULL; op 729 daemons/fenced/fenced_remote.c op->devices_list = g_list_append(op->devices_list, strdup(lpc->data)); op 731 daemons/fenced/fenced_remote.c op->devices = op->devices_list; op 822 daemons/fenced/fenced_remote.c advance_topology_level(remote_fencing_op_t *op, bool empty_ok) op 826 daemons/fenced/fenced_remote.c if (op->target) { op 827 daemons/fenced/fenced_remote.c tp = find_topology_for_host(op->target); op 835 daemons/fenced/fenced_remote.c stonith__set_call_options(op->call_options, op->id, st_opt_topology); op 838 daemons/fenced/fenced_remote.c undo_op_remap(op); op 841 daemons/fenced/fenced_remote.c op->level++; op 843 daemons/fenced/fenced_remote.c } while (op->level < ST_LEVEL_MAX && tp->levels[op->level] == NULL); op 845 daemons/fenced/fenced_remote.c if (op->level < ST_LEVEL_MAX) { op 848 daemons/fenced/fenced_remote.c op->level, op->target, g_list_length(tp->levels[op->level]), op 849 daemons/fenced/fenced_remote.c op->client_name, op->originator, op->id); op 850 daemons/fenced/fenced_remote.c set_op_device_list(op, tp->levels[op->level]); op 853 daemons/fenced/fenced_remote.c if (op->level > 1 && op->delay > 0) { op 854 daemons/fenced/fenced_remote.c op->delay = 0; op 857 daemons/fenced/fenced_remote.c if (g_list_next(op->devices_list) && pcmk__str_eq(op->action, "reboot", pcmk__str_casei)) { op 863 daemons/fenced/fenced_remote.c op_phase_off(op); op 870 daemons/fenced/fenced_remote.c op->target, op->client_name, op->originator, op->id); op 880 daemons/fenced/fenced_remote.c merge_duplicates(remote_fencing_op_t * op) op 891 daemons/fenced/fenced_remote.c if (!strcmp(op->id, other->id)) { op 896 daemons/fenced/fenced_remote.c op->id, other->id); op 899 daemons/fenced/fenced_remote.c if (!pcmk__str_eq(op->target, other->target, pcmk__str_casei)) { op 901 daemons/fenced/fenced_remote.c op->id, other->id, op->target, other->target); op 904 daemons/fenced/fenced_remote.c if (!pcmk__str_eq(op->action, other_action, pcmk__str_casei)) { op 906 daemons/fenced/fenced_remote.c op->id, other->id, op->action, other_action); op 909 daemons/fenced/fenced_remote.c if (pcmk__str_eq(op->client_name, other->client_name, pcmk__str_casei)) { op 911 daemons/fenced/fenced_remote.c op->id, other->id, op->client_name); op 916 daemons/fenced/fenced_remote.c op->id, other->id, other->target); op 925 daemons/fenced/fenced_remote.c op->id, other->id); op 932 daemons/fenced/fenced_remote.c op->id, other->id, now, other->created, op 940 daemons/fenced/fenced_remote.c other->duplicates = g_list_append(other->duplicates, op); op 942 daemons/fenced/fenced_remote.c other->total_timeout = op->total_timeout = op 943 daemons/fenced/fenced_remote.c TIMEOUT_MULTIPLY_FACTOR * get_op_total_timeout(op, NULL); op 950 daemons/fenced/fenced_remote.c op->action, op->target, op->client_name, op 952 daemons/fenced/fenced_remote.c op->id, other->id, other->total_timeout); op 953 daemons/fenced/fenced_remote.c report_timeout_period(op, other->total_timeout); op 954 daemons/fenced/fenced_remote.c op->state = st_duplicate; op 974 daemons/fenced/fenced_remote.c stonith_manual_ack(xmlNode * msg, remote_fencing_op_t * op) op 978 daemons/fenced/fenced_remote.c op->state = st_done; op 979 daemons/fenced/fenced_remote.c op->completed = time(NULL); op 980 daemons/fenced/fenced_remote.c op->delegate = strdup("a human"); op 985 daemons/fenced/fenced_remote.c remote_op_done(op, msg, pcmk_ok, FALSE); op 1005 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = NULL; op 1019 daemons/fenced/fenced_remote.c op = g_hash_table_lookup(stonith_remote_op_list, op_id); op 1020 daemons/fenced/fenced_remote.c if (op) { op 1023 daemons/fenced/fenced_remote.c return op; op 1027 daemons/fenced/fenced_remote.c op = calloc(1, sizeof(remote_fencing_op_t)); op 1028 daemons/fenced/fenced_remote.c CRM_ASSERT(op != NULL); op 1030 daemons/fenced/fenced_remote.c crm_element_value_int(request, F_STONITH_TIMEOUT, &(op->base_timeout)); op 1032 daemons/fenced/fenced_remote.c crm_element_value_int(request, F_STONITH_DELAY, &(op->delay)); op 1035 daemons/fenced/fenced_remote.c op->id = crm_element_value_copy(dev, F_STONITH_REMOTE_OP_ID); op 1037 daemons/fenced/fenced_remote.c op->id = crm_generate_uuid(); op 1040 daemons/fenced/fenced_remote.c g_hash_table_replace(stonith_remote_op_list, op->id, op); op 1042 daemons/fenced/fenced_remote.c op->state = st_query; op 1043 daemons/fenced/fenced_remote.c op->replies_expected = fencing_active_peers(); op 1044 daemons/fenced/fenced_remote.c op->action = crm_element_value_copy(dev, F_STONITH_ACTION); op 1045 daemons/fenced/fenced_remote.c op->originator = crm_element_value_copy(dev, F_STONITH_ORIGIN); op 1046 daemons/fenced/fenced_remote.c op->delegate = crm_element_value_copy(dev, F_STONITH_DELEGATE); /* May not be set */ op 1047 daemons/fenced/fenced_remote.c op->created = time(NULL); op 1049 daemons/fenced/fenced_remote.c if (op->originator == NULL) { op 1051 daemons/fenced/fenced_remote.c op->originator = strdup(stonith_our_uname); op 1056 daemons/fenced/fenced_remote.c op->client_id = strdup(client); op 1064 daemons/fenced/fenced_remote.c op->client_name = crm_strdup_printf("%s.%lu", crm_system_name, op 1067 daemons/fenced/fenced_remote.c op->client_name = crm_element_value_copy(request, F_STONITH_CLIENTNAME); op 1070 daemons/fenced/fenced_remote.c op->target = crm_element_value_copy(dev, F_STONITH_TARGET); op 1071 daemons/fenced/fenced_remote.c op->request = copy_xml(request); /* TODO: Figure out how to avoid this */ op 1073 daemons/fenced/fenced_remote.c op->call_options = call_options; op 1075 daemons/fenced/fenced_remote.c crm_element_value_int(request, F_STONITH_CALLID, &(op->client_callid)); op 1079 daemons/fenced/fenced_remote.c (peer && dev)? "Recorded" : "Generated", op->id, op->action, op 1080 daemons/fenced/fenced_remote.c op->target, op->client_name, op->base_timeout, op 1081 daemons/fenced/fenced_remote.c op->replies_expected, op 1082 daemons/fenced/fenced_remote.c pcmk__plural_alt(op->replies_expected, "reply", "replies")); op 1084 daemons/fenced/fenced_remote.c if (op->call_options & st_opt_cs_nodeid) { op 1088 daemons/fenced/fenced_remote.c pcmk__scan_min_int(op->target, &nodeid, 0); op 1092 daemons/fenced/fenced_remote.c stonith__clear_call_options(op->call_options, op->id, st_opt_cs_nodeid); op 1095 daemons/fenced/fenced_remote.c free(op->target); op 1096 daemons/fenced/fenced_remote.c op->target = strdup(node->uname); op 1099 daemons/fenced/fenced_remote.c crm_warn("Could not expand nodeid '%s' into a host name", op->target); op 1104 daemons/fenced/fenced_remote.c merge_duplicates(op); op 1106 daemons/fenced/fenced_remote.c if (op->state != st_duplicate) { op 1114 daemons/fenced/fenced_remote.c return op; op 1124 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = NULL; op 1135 daemons/fenced/fenced_remote.c op = create_remote_stonith_op(client_id, request, FALSE); op 1136 daemons/fenced/fenced_remote.c op->owner = TRUE; op 1139 daemons/fenced/fenced_remote.c CRM_XS " id=%.8s", op->target, op->id); op 1140 daemons/fenced/fenced_remote.c return op; op 1143 daemons/fenced/fenced_remote.c CRM_CHECK(op->action, return NULL); op 1145 daemons/fenced/fenced_remote.c if (advance_topology_level(op, true) != pcmk_rc_ok) { op 1146 daemons/fenced/fenced_remote.c op->state = st_failed; op 1149 daemons/fenced/fenced_remote.c switch (op->state) { op 1152 daemons/fenced/fenced_remote.c CRM_XS " id=%.8s", op->action, op->target, op->id); op 1153 daemons/fenced/fenced_remote.c remote_op_done(op, NULL, -EINVAL, FALSE); op 1154 daemons/fenced/fenced_remote.c return op; op 1158 daemons/fenced/fenced_remote.c CRM_XS " id=%.8s", op->action, op->target, op->id); op 1159 daemons/fenced/fenced_remote.c return op; op 1164 daemons/fenced/fenced_remote.c op->action, op->target, op->id, op 1165 daemons/fenced/fenced_remote.c stonith_op_state_str(op->state), op->base_timeout); op 1168 daemons/fenced/fenced_remote.c query = stonith_create_op(op->client_callid, op->id, STONITH_OP_QUERY, op 1169 daemons/fenced/fenced_remote.c NULL, op->call_options); op 1171 daemons/fenced/fenced_remote.c crm_xml_add(query, F_STONITH_REMOTE_OP_ID, op->id); op 1172 daemons/fenced/fenced_remote.c crm_xml_add(query, F_STONITH_TARGET, op->target); op 1173 daemons/fenced/fenced_remote.c crm_xml_add(query, F_STONITH_ACTION, op_requested_action(op)); op 1174 daemons/fenced/fenced_remote.c crm_xml_add(query, F_STONITH_ORIGIN, op->originator); op 1175 daemons/fenced/fenced_remote.c crm_xml_add(query, F_STONITH_CLIENTID, op->client_id); op 1176 daemons/fenced/fenced_remote.c crm_xml_add(query, F_STONITH_CLIENTNAME, op->client_name); op 1177 daemons/fenced/fenced_remote.c crm_xml_add_int(query, F_STONITH_TIMEOUT, op->base_timeout); op 1191 daemons/fenced/fenced_remote.c query_timeout = op->base_timeout * TIMEOUT_MULTIPLY_FACTOR; op 1192 daemons/fenced/fenced_remote.c op->query_timer = g_timeout_add((1000 * query_timeout), remote_op_query_timeout, op); op 1194 daemons/fenced/fenced_remote.c return op; op 1207 daemons/fenced/fenced_remote.c find_best_peer(const char *device, remote_fencing_op_t * op, enum find_best_peer_options options) op 1212 daemons/fenced/fenced_remote.c if (!device && pcmk_is_set(op->call_options, st_opt_topology)) { op 1216 daemons/fenced/fenced_remote.c for (iter = op->query_results; iter != NULL; iter = iter->next) { op 1220 daemons/fenced/fenced_remote.c peer->host, op->target, peer->ndevices, op 1222 daemons/fenced/fenced_remote.c if ((options & FIND_PEER_SKIP_TARGET) && pcmk__str_eq(peer->host, op->target, pcmk__str_casei)) { op 1225 daemons/fenced/fenced_remote.c if ((options & FIND_PEER_TARGET_ONLY) && !pcmk__str_eq(peer->host, op->target, pcmk__str_casei)) { op 1229 daemons/fenced/fenced_remote.c if (pcmk_is_set(op->call_options, st_opt_topology)) { op 1231 daemons/fenced/fenced_remote.c if (grab_peer_device(op, peer, device, verified_devices_only)) { op 1236 daemons/fenced/fenced_remote.c && count_peer_devices(op, peer, verified_devices_only)) { op 1248 daemons/fenced/fenced_remote.c stonith_choose_peer(remote_fencing_op_t * op) op 1255 daemons/fenced/fenced_remote.c if (op->devices) { op 1256 daemons/fenced/fenced_remote.c device = op->devices->data; op 1258 daemons/fenced/fenced_remote.c op->action, op->target, device); op 1261 daemons/fenced/fenced_remote.c op->action, op->target); op 1265 daemons/fenced/fenced_remote.c peer = find_best_peer(device, op, FIND_PEER_SKIP_TARGET|FIND_PEER_VERIFIED_ONLY); op 1271 daemons/fenced/fenced_remote.c if(op->query_timer != 0 && op->replies < QB_MIN(op->replies_expected, active)) { op 1272 daemons/fenced/fenced_remote.c crm_trace("Waiting before looking for unverified devices to fence %s", op->target); op 1277 daemons/fenced/fenced_remote.c peer = find_best_peer(device, op, FIND_PEER_SKIP_TARGET); op 1286 daemons/fenced/fenced_remote.c if (op->phase != st_phase_on) { op 1287 daemons/fenced/fenced_remote.c peer = find_best_peer(device, op, FIND_PEER_TARGET_ONLY); op 1297 daemons/fenced/fenced_remote.c } while ((op->phase != st_phase_on) op 1298 daemons/fenced/fenced_remote.c && pcmk_is_set(op->call_options, st_opt_topology) op 1299 daemons/fenced/fenced_remote.c && (advance_topology_level(op, false) == pcmk_rc_ok)); op 1302 daemons/fenced/fenced_remote.c op->action, op->target, (device? device : "any device")); op 1307 daemons/fenced/fenced_remote.c get_device_timeout(const remote_fencing_op_t *op, const st_query_result_t *peer, op 1313 daemons/fenced/fenced_remote.c return op->base_timeout; op 1318 daemons/fenced/fenced_remote.c return op->base_timeout; op 1321 daemons/fenced/fenced_remote.c return (props->custom_action_timeout[op->phase]? op 1322 daemons/fenced/fenced_remote.c props->custom_action_timeout[op->phase] : op->base_timeout) op 1323 daemons/fenced/fenced_remote.c + props->delay_max[op->phase]; op 1327 daemons/fenced/fenced_remote.c const remote_fencing_op_t *op; op 1347 daemons/fenced/fenced_remote.c if (!props->executed[timeout->op->phase] op 1348 daemons/fenced/fenced_remote.c && !props->disallowed[timeout->op->phase]) { op 1349 daemons/fenced/fenced_remote.c timeout->total_timeout += get_device_timeout(timeout->op, op 1355 daemons/fenced/fenced_remote.c get_peer_timeout(const remote_fencing_op_t *op, const st_query_result_t *peer) op 1359 daemons/fenced/fenced_remote.c timeout.op = op; op 1365 daemons/fenced/fenced_remote.c return (timeout.total_timeout? timeout.total_timeout : op->base_timeout); op 1369 daemons/fenced/fenced_remote.c get_op_total_timeout(const remote_fencing_op_t *op, op 1373 daemons/fenced/fenced_remote.c stonith_topology_t *tp = find_topology_for_host(op->target); op 1375 daemons/fenced/fenced_remote.c if (pcmk_is_set(op->call_options, st_opt_topology) && tp) { op 1392 daemons/fenced/fenced_remote.c for (iter = op->query_results; iter != NULL; iter = iter->next) { op 1395 daemons/fenced/fenced_remote.c if (find_peer_device(op, peer, device_list->data)) { op 1396 daemons/fenced/fenced_remote.c total_timeout += get_device_timeout(op, peer, op 1405 daemons/fenced/fenced_remote.c total_timeout = get_peer_timeout(op, chosen_peer); op 1407 daemons/fenced/fenced_remote.c total_timeout = op->base_timeout; op 1410 daemons/fenced/fenced_remote.c return total_timeout ? total_timeout : op->base_timeout; op 1414 daemons/fenced/fenced_remote.c report_timeout_period(remote_fencing_op_t * op, int op_timeout) op 1422 daemons/fenced/fenced_remote.c if (op->call_options & st_opt_sync_call) { op 1428 daemons/fenced/fenced_remote.c } else if (!op->request) { op 1432 daemons/fenced/fenced_remote.c crm_trace("Reporting timeout for %s (id=%.8s)", op->client_name, op->id); op 1433 daemons/fenced/fenced_remote.c client_node = crm_element_value(op->request, F_STONITH_CLIENTNODE); op 1434 daemons/fenced/fenced_remote.c call_id = crm_element_value(op->request, F_STONITH_CALLID); op 1435 daemons/fenced/fenced_remote.c client_id = crm_element_value(op->request, F_STONITH_CLIENTID); op 1447 daemons/fenced/fenced_remote.c update = stonith_create_op(op->client_callid, op->id, STONITH_OP_TIMEOUT_UPDATE, NULL, 0); op 1448 daemons/fenced/fenced_remote.c crm_xml_add(update, F_STONITH_REMOTE_OP_ID, op->id); op 1457 daemons/fenced/fenced_remote.c for (iter = op->duplicates; iter != NULL; iter = iter->next) { op 1476 daemons/fenced/fenced_remote.c advance_topology_device_in_level(remote_fencing_op_t *op, const char *device, op 1480 daemons/fenced/fenced_remote.c if (op->devices) { op 1481 daemons/fenced/fenced_remote.c op->devices = op->devices->next; op 1485 daemons/fenced/fenced_remote.c if ((op->phase == st_phase_requested) && pcmk__str_eq(op->action, "on", pcmk__str_casei)) { op 1487 daemons/fenced/fenced_remote.c remove_required_device(op, device); op 1492 daemons/fenced/fenced_remote.c if (op->devices == NULL) { op 1493 daemons/fenced/fenced_remote.c op->devices = op->automatic_list; op 1497 daemons/fenced/fenced_remote.c if ((op->devices == NULL) && (op->phase == st_phase_off)) { op 1502 daemons/fenced/fenced_remote.c op_phase_on(op); op 1505 daemons/fenced/fenced_remote.c if (op->devices) { op 1508 daemons/fenced/fenced_remote.c op->target, op->client_name, op->originator, rc); op 1511 daemons/fenced/fenced_remote.c if (op->delay > 0) { op 1512 daemons/fenced/fenced_remote.c op->delay = 0; op 1515 daemons/fenced/fenced_remote.c call_remote_stonith(op, NULL, pcmk_ok); op 1519 daemons/fenced/fenced_remote.c op->target); op 1520 daemons/fenced/fenced_remote.c op->state = st_done; op 1521 daemons/fenced/fenced_remote.c remote_op_done(op, msg, rc, FALSE); op 1526 daemons/fenced/fenced_remote.c call_remote_stonith(remote_fencing_op_t * op, st_query_result_t * peer, int rc) op 1529 daemons/fenced/fenced_remote.c int timeout = op->base_timeout; op 1532 daemons/fenced/fenced_remote.c op->id, op->target, op->client_name, op 1533 daemons/fenced/fenced_remote.c stonith_op_state_str(op->state)); op 1534 daemons/fenced/fenced_remote.c if ((peer == NULL) && !pcmk_is_set(op->call_options, st_opt_topology)) { op 1535 daemons/fenced/fenced_remote.c peer = stonith_choose_peer(op); op 1538 daemons/fenced/fenced_remote.c if (!op->op_timer_total) { op 1539 daemons/fenced/fenced_remote.c int total_timeout = get_op_total_timeout(op, peer); op 1541 daemons/fenced/fenced_remote.c op->total_timeout = TIMEOUT_MULTIPLY_FACTOR * total_timeout; op 1542 daemons/fenced/fenced_remote.c op->op_timer_total = g_timeout_add(1000 * op->total_timeout, remote_op_timeout, op); op 1543 daemons/fenced/fenced_remote.c report_timeout_period(op, op->total_timeout); op 1546 daemons/fenced/fenced_remote.c total_timeout, op->target, op->client_name, op->id); op 1549 daemons/fenced/fenced_remote.c if (pcmk_is_set(op->call_options, st_opt_topology) && op->devices) { op 1553 daemons/fenced/fenced_remote.c peer = stonith_choose_peer(op); op 1555 daemons/fenced/fenced_remote.c device = op->devices->data; op 1556 daemons/fenced/fenced_remote.c timeout = get_device_timeout(op, peer, device); op 1561 daemons/fenced/fenced_remote.c xmlNode *remote_op = stonith_create_op(op->client_callid, op->id, STONITH_OP_FENCE, NULL, 0); op 1563 daemons/fenced/fenced_remote.c crm_xml_add(remote_op, F_STONITH_REMOTE_OP_ID, op->id); op 1564 daemons/fenced/fenced_remote.c crm_xml_add(remote_op, F_STONITH_TARGET, op->target); op 1565 daemons/fenced/fenced_remote.c crm_xml_add(remote_op, F_STONITH_ACTION, op->action); op 1566 daemons/fenced/fenced_remote.c crm_xml_add(remote_op, F_STONITH_ORIGIN, op->originator); op 1567 daemons/fenced/fenced_remote.c crm_xml_add(remote_op, F_STONITH_CLIENTID, op->client_id); op 1568 daemons/fenced/fenced_remote.c crm_xml_add(remote_op, F_STONITH_CLIENTNAME, op->client_name); op 1570 daemons/fenced/fenced_remote.c crm_xml_add_int(remote_op, F_STONITH_CALLOPTS, op->call_options); op 1571 daemons/fenced/fenced_remote.c crm_xml_add_int(remote_op, F_STONITH_DELAY, op->delay); op 1575 daemons/fenced/fenced_remote.c get_device_timeout(op, peer, device); op 1578 daemons/fenced/fenced_remote.c peer->host, op->action, op->target, device, op 1579 daemons/fenced/fenced_remote.c op->client_name, timeout_one); op 1583 daemons/fenced/fenced_remote.c timeout_one = TIMEOUT_MULTIPLY_FACTOR * get_peer_timeout(op, peer); op 1586 daemons/fenced/fenced_remote.c peer->host, op->action, op->target, op->client_name, op 1590 daemons/fenced/fenced_remote.c op->state = st_exec; op 1591 daemons/fenced/fenced_remote.c if (op->op_timer_one) { op 1592 daemons/fenced/fenced_remote.c g_source_remove(op->op_timer_one); op 1598 daemons/fenced/fenced_remote.c op->target, op->action, op->client_name, op->id); op 1599 daemons/fenced/fenced_remote.c op->op_timer_one = g_timeout_add(stonith_watchdog_timeout_ms, remote_op_watchdog_done, op); op 1603 daemons/fenced/fenced_remote.c && pcmk__str_eq(peer->host, op->target, pcmk__str_casei) op 1604 daemons/fenced/fenced_remote.c && !pcmk__str_eq(op->action, "on", pcmk__str_casei)) { op 1607 daemons/fenced/fenced_remote.c op->target, op->action, op->client_name, op->id); op 1608 daemons/fenced/fenced_remote.c op->op_timer_one = g_timeout_add(stonith_watchdog_timeout_ms, remote_op_watchdog_done, op); op 1611 daemons/fenced/fenced_remote.c op->op_timer_one = g_timeout_add((1000 * timeout_one), remote_op_timeout_one, op); op 1620 daemons/fenced/fenced_remote.c } else if (op->phase == st_phase_on) { op 1625 daemons/fenced/fenced_remote.c "after successful 'off'", device, op->target); op 1626 daemons/fenced/fenced_remote.c advance_topology_device_in_level(op, device, NULL, pcmk_ok); op 1629 daemons/fenced/fenced_remote.c } else if (op->owner == FALSE) { op 1631 daemons/fenced/fenced_remote.c op->action, op->target, op->client_name); op 1633 daemons/fenced/fenced_remote.c } else if (op->query_timer == 0) { op 1636 daemons/fenced/fenced_remote.c CRM_XS " state=%s", op->action, op->target, op->client_name, op 1637 daemons/fenced/fenced_remote.c stonith_op_state_str(op->state)); op 1638 daemons/fenced/fenced_remote.c CRM_LOG_ASSERT(op->state < st_done); op 1639 daemons/fenced/fenced_remote.c remote_op_timeout(op); op 1641 daemons/fenced/fenced_remote.c } else if(op->replies >= op->replies_expected || op->replies >= fencing_active_peers()) { op 1651 daemons/fenced/fenced_remote.c op->target, op->action, op->client_name, op->id); op 1652 daemons/fenced/fenced_remote.c op->op_timer_one = g_timeout_add(stonith_watchdog_timeout_ms, remote_op_watchdog_done, op); op 1656 daemons/fenced/fenced_remote.c if (op->state == st_query) { op 1659 daemons/fenced/fenced_remote.c op->replies, op->action, op->target, op->client_name, op 1660 daemons/fenced/fenced_remote.c stonith_op_state_str(op->state)); op 1664 daemons/fenced/fenced_remote.c if (pcmk_is_set(op->call_options, st_opt_topology)) { op 1670 daemons/fenced/fenced_remote.c op->replies, op->action, op->target, op->client_name, op 1671 daemons/fenced/fenced_remote.c stonith_op_state_str(op->state)); op 1674 daemons/fenced/fenced_remote.c op->state = st_failed; op 1675 daemons/fenced/fenced_remote.c remote_op_done(op, NULL, rc, FALSE); op 1680 daemons/fenced/fenced_remote.c op->action, op->target, (device? " using " : ""), op 1681 daemons/fenced/fenced_remote.c (device? device : ""), op->client_name, op->id); op 1710 daemons/fenced/fenced_remote.c all_topology_devices_found(remote_fencing_op_t * op) op 1719 daemons/fenced/fenced_remote.c tp = find_topology_for_host(op->target); op 1723 daemons/fenced/fenced_remote.c if (pcmk__strcase_any_of(op->action, "off", "reboot", NULL)) { op 1732 daemons/fenced/fenced_remote.c for (iter = op->query_results; iter && !match; iter = iter->next) { op 1735 daemons/fenced/fenced_remote.c if (skip_target && pcmk__str_eq(peer->host, op->target, pcmk__str_casei)) { op 1738 daemons/fenced/fenced_remote.c match = find_peer_device(op, peer, device->data); op 1762 daemons/fenced/fenced_remote.c const char *action, remote_fencing_op_t *op, op 1795 daemons/fenced/fenced_remote.c add_required_device(op, device); op 1819 daemons/fenced/fenced_remote.c add_device_properties(xmlNode *xml, remote_fencing_op_t *op, op 1839 daemons/fenced/fenced_remote.c parse_action_specific(xml, result->host, device, op_requested_action(op), op 1840 daemons/fenced/fenced_remote.c op, st_phase_requested, props); op 1849 daemons/fenced/fenced_remote.c op, st_phase_off, props); op 1852 daemons/fenced/fenced_remote.c op, st_phase_on, props); op 1869 daemons/fenced/fenced_remote.c add_result(remote_fencing_op_t *op, const char *host, int ndevices, xmlNode *xml) op 1886 daemons/fenced/fenced_remote.c add_device_properties(child, op, result, device); op 1895 daemons/fenced/fenced_remote.c op->query_results = g_list_insert_sorted(op->query_results, result, sort_peers); op 1921 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = NULL; op 1935 daemons/fenced/fenced_remote.c op = g_hash_table_lookup(stonith_remote_op_list, id); op 1936 daemons/fenced/fenced_remote.c if (op == NULL) { op 1943 daemons/fenced/fenced_remote.c if (op->replies_expected < replies_expected) { op 1944 daemons/fenced/fenced_remote.c replies_expected = op->replies_expected; op 1946 daemons/fenced/fenced_remote.c if ((++op->replies >= replies_expected) && (op->state == st_query)) { op 1950 daemons/fenced/fenced_remote.c host_is_target = pcmk__str_eq(host, op->target, pcmk__str_casei); op 1953 daemons/fenced/fenced_remote.c op->replies, replies_expected, host, op 1954 daemons/fenced/fenced_remote.c op->target, op->action, ndevices, pcmk__plural_s(ndevices), id); op 1956 daemons/fenced/fenced_remote.c result = add_result(op, host, ndevices, dev); op 1959 daemons/fenced/fenced_remote.c if (pcmk_is_set(op->call_options, st_opt_topology)) { op 1963 daemons/fenced/fenced_remote.c if (op->state == st_query && all_topology_devices_found(op)) { op 1966 daemons/fenced/fenced_remote.c call_remote_stonith(op, result, pcmk_ok); op 1970 daemons/fenced/fenced_remote.c replies_expected, op->replies); op 1971 daemons/fenced/fenced_remote.c call_remote_stonith(op, NULL, pcmk_ok); op 1974 daemons/fenced/fenced_remote.c } else if (op->state == st_query) { op 1975 daemons/fenced/fenced_remote.c int nverified = count_peer_devices(op, result, TRUE); op 1983 daemons/fenced/fenced_remote.c call_remote_stonith(op, result, pcmk_ok); op 1987 daemons/fenced/fenced_remote.c replies_expected, op->replies); op 1988 daemons/fenced/fenced_remote.c call_remote_stonith(op, NULL, pcmk_ok); op 1994 daemons/fenced/fenced_remote.c } else if (result && (op->state == st_done)) { op 1998 daemons/fenced/fenced_remote.c stonith_op_state_str(op->state)); op 2021 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = NULL; op 2037 daemons/fenced/fenced_remote.c op = g_hash_table_lookup(stonith_remote_op_list, id); op 2040 daemons/fenced/fenced_remote.c if (op == NULL && rc == pcmk_ok) { op 2044 daemons/fenced/fenced_remote.c op = create_remote_stonith_op(client_id, dev, TRUE); op 2047 daemons/fenced/fenced_remote.c if (op == NULL) { op 2054 daemons/fenced/fenced_remote.c if (op->devices && device && !pcmk__str_eq(op->devices->data, device, pcmk__str_casei)) { op 2057 daemons/fenced/fenced_remote.c device, (const char *) op->devices->data, op->action, op->target); op 2064 daemons/fenced/fenced_remote.c op->action, op->target, op->client_name, op->originator, op 2065 daemons/fenced/fenced_remote.c pcmk_strerror(rc), rc, op->id); op 2067 daemons/fenced/fenced_remote.c op->state = st_done; op 2069 daemons/fenced/fenced_remote.c op->state = st_failed; op 2071 daemons/fenced/fenced_remote.c remote_op_done(op, msg, rc, FALSE); op 2073 daemons/fenced/fenced_remote.c } else if (!pcmk__str_eq(op->originator, stonith_our_uname, pcmk__str_casei)) { op 2078 daemons/fenced/fenced_remote.c op->id, device, op->target); op 2082 daemons/fenced/fenced_remote.c if (pcmk_is_set(op->call_options, st_opt_topology)) { op 2087 daemons/fenced/fenced_remote.c op->action, op->target, device, op->client_name, op 2088 daemons/fenced/fenced_remote.c op->originator, pcmk_strerror(rc), rc); op 2092 daemons/fenced/fenced_remote.c if (op->state == st_done) { op 2093 daemons/fenced/fenced_remote.c remote_op_done(op, msg, rc, FALSE); op 2097 daemons/fenced/fenced_remote.c if ((op->phase == 2) && (rc != pcmk_ok)) { op 2102 daemons/fenced/fenced_remote.c "after successful 'off'", device, rc, op->target); op 2109 daemons/fenced/fenced_remote.c advance_topology_device_in_level(op, device, msg, rc); op 2114 daemons/fenced/fenced_remote.c if (advance_topology_level(op, false) != pcmk_rc_ok) { op 2115 daemons/fenced/fenced_remote.c op->state = st_failed; op 2116 daemons/fenced/fenced_remote.c remote_op_done(op, msg, rc, FALSE); op 2120 daemons/fenced/fenced_remote.c } else if (rc == pcmk_ok && op->devices == NULL) { op 2121 daemons/fenced/fenced_remote.c crm_trace("All done for %s", op->target); op 2123 daemons/fenced/fenced_remote.c op->state = st_done; op 2124 daemons/fenced/fenced_remote.c remote_op_done(op, msg, rc, FALSE); op 2126 daemons/fenced/fenced_remote.c } else if (rc == -ETIME && op->devices == NULL) { op 2128 daemons/fenced/fenced_remote.c op->state = st_failed; op 2129 daemons/fenced/fenced_remote.c remote_op_done(op, msg, rc, FALSE); op 2136 daemons/fenced/fenced_remote.c crm_trace("Next for %s on behalf of %s@%s (rc was %d)", op->target, op->originator, op 2137 daemons/fenced/fenced_remote.c op->client_name, rc); op 2138 daemons/fenced/fenced_remote.c call_remote_stonith(op, NULL, rc); op 94 daemons/fenced/pacemaker-fenced.c const char *op = NULL; op 108 daemons/fenced/pacemaker-fenced.c op = crm_element_value(request, F_CRM_TASK); op 109 daemons/fenced/pacemaker-fenced.c if(pcmk__str_eq(op, CRM_OP_RM_NODE_CACHE, pcmk__str_casei)) { op 111 daemons/fenced/pacemaker-fenced.c crm_xml_add(request, F_STONITH_OPERATION, op); op 178 daemons/fenced/pacemaker-fenced.c const char *op = crm_element_value(msg, F_STONITH_OPERATION); op 180 daemons/fenced/pacemaker-fenced.c if (pcmk__str_eq(op, "poke", pcmk__str_none)) { op 382 daemons/fenced/pacemaker-fenced.c do_stonith_notify_config(int options, const char *op, int rc, op 385 daemons/fenced/pacemaker-fenced.c xmlNode *notify_data = create_xml_node(NULL, op); op 392 daemons/fenced/pacemaker-fenced.c do_stonith_notify(options, op, rc, notify_data); op 397 daemons/fenced/pacemaker-fenced.c do_stonith_notify_device(int options, const char *op, int rc, const char *desc) op 399 daemons/fenced/pacemaker-fenced.c do_stonith_notify_config(options, op, rc, desc, g_hash_table_size(device_list)); op 403 daemons/fenced/pacemaker-fenced.c do_stonith_notify_level(int options, const char *op, int rc, const char *desc) op 405 daemons/fenced/pacemaker-fenced.c do_stonith_notify_config(options, op, rc, desc, g_hash_table_size(topology)); op 800 daemons/fenced/pacemaker-fenced.c const char *op = crm_element_value(change, XML_DIFF_OP); op 804 daemons/fenced/pacemaker-fenced.c if ((op == NULL) || op 805 daemons/fenced/pacemaker-fenced.c (strcmp(op, "move") == 0) || op 808 daemons/fenced/pacemaker-fenced.c } else if (pcmk__str_eq(op, "delete", pcmk__str_casei) && strstr(xpath, "/"XML_CIB_TAG_RESOURCE)) { op 837 daemons/fenced/pacemaker-fenced.c reason = crm_strdup_printf("%s %s", op, shortpath+1); op 1006 daemons/fenced/pacemaker-fenced.c const char *op = crm_element_value(change, XML_DIFF_OP); op 1009 daemons/fenced/pacemaker-fenced.c if(op == NULL) { op 1015 daemons/fenced/pacemaker-fenced.c crm_trace("Handling %s operation %d.%d.%d for %s", op, add[0], add[1], add[2], xpath); op 1016 daemons/fenced/pacemaker-fenced.c if(strcmp(op, "move") == 0) { op 1019 daemons/fenced/pacemaker-fenced.c } else if(strcmp(op, "create") == 0) { op 1022 daemons/fenced/pacemaker-fenced.c } else if(strcmp(op, "modify") == 0) { op 1029 daemons/fenced/pacemaker-fenced.c } else if(strcmp(op, "delete") == 0) { op 1032 daemons/fenced/pacemaker-fenced.c op, add[0], add[1], add[2], xpath); op 1040 daemons/fenced/pacemaker-fenced.c op, add[0], add[1], add[2], xpath); op 1048 daemons/fenced/pacemaker-fenced.c op, add[0], add[1], add[2], xpath); op 1050 daemons/fenced/pacemaker-fenced.c } else if(strcmp(op, "delete") == 0 || strcmp(op, "create") == 0) { op 1052 daemons/fenced/pacemaker-fenced.c op, add[0], add[1], add[2], xpath); op 1059 daemons/fenced/pacemaker-fenced.c op, add[0], add[1], add[2], xpath); op 166 daemons/fenced/pacemaker-fenced.h void stonith_bcast_result_to_peers(remote_fencing_op_t * op, int rc, gboolean op_merged); op 241 daemons/fenced/pacemaker-fenced.h void do_stonith_notify_device(int options, const char *op, int rc, const char *desc); op 242 daemons/fenced/pacemaker-fenced.h void do_stonith_notify_level(int options, const char *op, int rc, const char *desc); op 261 daemons/fenced/pacemaker-fenced.h int stonith_manual_ack(xmlNode * msg, remote_fencing_op_t * op); op 213 daemons/schedulerd/pacemaker-schedulerd.c const char *op = crm_element_value(msg, F_CRM_TASK); op 216 daemons/schedulerd/pacemaker-schedulerd.c crm_trace("Processing %s op (ref=%s)...", op, ref); op 218 daemons/schedulerd/pacemaker-schedulerd.c if (op == NULL) { op 221 daemons/schedulerd/pacemaker-schedulerd.c } else if (strcasecmp(op, CRM_OP_HELLO) == 0) { op 231 daemons/schedulerd/pacemaker-schedulerd.c } else if (strcasecmp(op, CRM_OP_PECALC) == 0) { op 119 include/crm/cib/internal.h int cib_perform_op(const char *op, int call_options, cib_op_t * fn, gboolean is_query, op 125 include/crm/cib/internal.h xmlNode *cib_create_op(int call_id, const char *token, const char *op, const char *host, op 143 include/crm/cib/internal.h int cib_process_query(const char *op, int options, const char *section, xmlNode * req, op 147 include/crm/cib/internal.h int cib_process_erase(const char *op, int options, const char *section, xmlNode * req, op 151 include/crm/cib/internal.h int cib_process_bump(const char *op, int options, const char *section, xmlNode * req, op 155 include/crm/cib/internal.h int cib_process_replace(const char *op, int options, const char *section, xmlNode * req, op 159 include/crm/cib/internal.h int cib_process_create(const char *op, int options, const char *section, xmlNode * req, op 163 include/crm/cib/internal.h int cib_process_modify(const char *op, int options, const char *section, xmlNode * req, op 167 include/crm/cib/internal.h int cib_process_delete(const char *op, int options, const char *section, xmlNode * req, op 171 include/crm/cib/internal.h int cib_process_diff(const char *op, int options, const char *section, xmlNode * req, op 175 include/crm/cib/internal.h int cib_process_upgrade(const char *op, int options, const char *section, xmlNode * req, op 198 include/crm/cib/internal.h int cib_process_xpath(const char *op, int options, const char *section, xmlNode * req, op 206 include/crm/cib/internal.h int cib_internal_op(cib_t * cib, const char *op, const char *host, op 339 include/crm/common/internal.h pcmk__fail_attr_name(const char *prefix, const char *rsc_id, const char *op, op 342 include/crm/common/internal.h CRM_CHECK(prefix && rsc_id && op, return NULL); op 343 include/crm/common/internal.h return crm_strdup_printf("%s-%s#%s_%u", prefix, rsc_id, op, interval_ms); op 347 include/crm/common/internal.h pcmk__failcount_name(const char *rsc_id, const char *op, guint interval_ms) op 349 include/crm/common/internal.h return pcmk__fail_attr_name(PCMK__FAIL_COUNT_PREFIX, rsc_id, op, op 354 include/crm/common/internal.h pcmk__lastfailure_name(const char *rsc_id, const char *op, guint interval_ms) op 356 include/crm/common/internal.h return pcmk__fail_attr_name(PCMK__LAST_FAILURE_PREFIX, rsc_id, op, op 69 include/crm/common/util.h bool crm_op_needs_metadata(const char *rsc_class, const char *op); op 31 include/crm/lrmd_internal.h const char *node, lrmd_event_data_t *op); op 516 include/crm/pengine/internal.h pe_action_t *pe_fence_op(pe_node_t * node, const char *op, bool optional, const char *reason, bool priority_delay, pe_working_set_t * data_set); op 268 include/crm/services.h void services_action_cleanup(svc_action_t * op); op 269 include/crm/services.h void services_action_free(svc_action_t * op); op 270 include/crm/services.h int services_action_user(svc_action_t *op, const char *user); op 272 include/crm/services.h gboolean services_action_sync(svc_action_t * op); op 284 include/crm/services.h gboolean services_action_async_fork_notify(svc_action_t * op, op 288 include/crm/services.h gboolean services_action_async(svc_action_t * op, op 299 include/crm/services.h void (*cb)(svc_action_t *op)); op 60 lib/cib/cib_file.c int cib_file_perform_op(cib_t * cib, const char *op, const char *host, const char *section, op 63 lib/cib/cib_file.c int cib_file_perform_op_delegate(cib_t * cib, const char *op, const char *host, const char *section, op 763 lib/cib/cib_file.c const char *op; op 783 lib/cib/cib_file.c cib_file_perform_op(cib_t * cib, const char *op, const char *host, const char *section, op 786 lib/cib/cib_file.c return cib_file_perform_op_delegate(cib, op, host, section, data, output_data, call_options, op 791 lib/cib/cib_file.c cib_file_perform_op_delegate(cib_t * cib, const char *op, const char *host, const char *section, op 809 lib/cib/cib_file.c (op? op : "invalid"), (section? section : "entire CIB"), op 823 lib/cib/cib_file.c if (op == NULL) { op 828 lib/cib/cib_file.c if (pcmk__str_eq(op, cib_file_ops[lpc].op, pcmk__str_casei)) { op 840 lib/cib/cib_file.c request = cib_create_op(cib->call_id, "dummy-token", op, host, section, data, call_options, user_name); op 850 lib/cib/cib_file.c rc = cib_perform_op(op, call_options, fn, query, op 41 lib/cib/cib_native.c int cib_native_perform_op(cib_t * cib, const char *op, const char *host, const char *section, op 44 lib/cib/cib_native.c int cib_native_perform_op_delegate(cib_t * cib, const char *op, const char *host, op 299 lib/cib/cib_native.c cib_native_perform_op(cib_t * cib, const char *op, const char *host, const char *section, op 302 lib/cib/cib_native.c return cib_native_perform_op_delegate(cib, op, host, section, op 307 lib/cib/cib_native.c cib_native_perform_op_delegate(cib_t * cib, const char *op, const char *host, const char *section, op 328 lib/cib/cib_native.c if (op == NULL) { op 345 lib/cib/cib_native.c cib_create_op(cib->call_id, native->token, op, host, section, data, call_options, op 351 lib/cib/cib_native.c crm_trace("Sending %s message to the CIB manager (timeout=%ds)", op, cib->call_timeout); op 356 lib/cib/cib_native.c crm_err("Couldn't perform %s operation (timeout=%ds): %s (%d)", op, op 428 lib/cib/cib_native.c if (!pcmk__str_eq(op, CIB_OP_QUERY, pcmk__str_casei)) { op 30 lib/cib/cib_ops.c cib_process_query(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 36 lib/cib/cib_ops.c crm_trace("Processing \"%s\" event for section=%s", op, crm_str(section)); op 39 lib/cib/cib_ops.c return cib_process_xpath(op, options, section, req, input, op 75 lib/cib/cib_ops.c cib_process_erase(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 80 lib/cib/cib_ops.c crm_trace("Processing \"%s\" event", op); op 92 lib/cib/cib_ops.c cib_process_upgrade(const char *op, int options, const char *section, xmlNode * req, op 104 lib/cib/cib_ops.c crm_trace("Processing \"%s\" event with max=%s", op, max); op 127 lib/cib/cib_ops.c cib_process_bump(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 133 lib/cib/cib_ops.c op, crm_str(crm_element_value(existing_cib, XML_ATTR_GENERATION))); op 168 lib/cib/cib_ops.c cib_process_replace(const char *op, int options, const char *section, xmlNode * req, op 175 lib/cib/cib_ops.c crm_trace("Processing \"%s\" event for section=%s", op, crm_str(section)); op 178 lib/cib/cib_ops.c return cib_process_xpath(op, options, section, req, input, op 280 lib/cib/cib_ops.c cib_process_delete(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 285 lib/cib/cib_ops.c crm_trace("Processing \"%s\" event", op); op 288 lib/cib/cib_ops.c return cib_process_xpath(op, options, section, req, input, op 315 lib/cib/cib_ops.c cib_process_modify(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 320 lib/cib/cib_ops.c crm_trace("Processing \"%s\" event", op); op 323 lib/cib/cib_ops.c return cib_process_xpath(op, options, section, req, input, op 519 lib/cib/cib_ops.c cib_process_create(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 526 lib/cib/cib_ops.c crm_trace("Processing \"%s\" event for section=%s", op, crm_str(section)); op 537 lib/cib/cib_ops.c CRM_CHECK(strcasecmp(CIB_OP_CREATE, op) == 0, return -EINVAL); op 545 lib/cib/cib_ops.c return cib_process_modify(op, options, section, req, input, existing_cib, result_cib, op 558 lib/cib/cib_ops.c if (update_results(failed, a_child, op, result)) { op 565 lib/cib/cib_ops.c update_results(failed, input, op, result); op 584 lib/cib/cib_ops.c cib_process_diff(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 594 lib/cib/cib_ops.c op, originator, op 675 lib/cib/cib_ops.c cib_process_xpath(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 681 lib/cib/cib_ops.c gboolean is_query = pcmk__str_eq(op, CIB_OP_QUERY, pcmk__str_casei); op 685 lib/cib/cib_ops.c crm_trace("Processing \"%s\" event", op); op 695 lib/cib/cib_ops.c if (max < 1 && pcmk__str_eq(op, CIB_OP_DELETE, pcmk__str_casei)) { op 699 lib/cib/cib_ops.c crm_debug("%s: %s does not exist", op, section); op 708 lib/cib/cib_ops.c if (pcmk__str_eq(op, CIB_OP_DELETE, pcmk__str_casei) && (options & cib_multiple)) { op 721 lib/cib/cib_ops.c crm_debug("Processing %s op for %s with %s", op, section, path); op 724 lib/cib/cib_ops.c if (pcmk__str_eq(op, CIB_OP_DELETE, pcmk__str_casei)) { op 727 lib/cib/cib_ops.c crm_warn("Cannot perform %s for %s: The xpath is addressing the whole /cib", op, section); op 737 lib/cib/cib_ops.c } else if (pcmk__str_eq(op, CIB_OP_MODIFY, pcmk__str_casei)) { op 744 lib/cib/cib_ops.c } else if (pcmk__str_eq(op, CIB_OP_CREATE, pcmk__str_casei)) { op 748 lib/cib/cib_ops.c } else if (pcmk__str_eq(op, CIB_OP_QUERY, pcmk__str_casei)) { op 796 lib/cib/cib_ops.c } else if (pcmk__str_eq(op, CIB_OP_REPLACE, pcmk__str_casei)) { op 73 lib/cib/cib_remote.c int cib_remote_perform_op(cib_t * cib, const char *op, const char *host, const char *section, op 467 lib/cib/cib_remote.c cib_remote_perform_op(cib_t * cib, const char *op, const char *host, const char *section, op 487 lib/cib/cib_remote.c if (op == NULL) { op 498 lib/cib/cib_remote.c cib_create_op(cib->call_id, private->callback.token, op, host, section, data, call_options, op 504 lib/cib/cib_remote.c crm_trace("Sending %s message to the CIB manager", op); op 604 lib/cib/cib_remote.c crm_trace("No output in reply to \"%s\" command %d", op, cib->call_id - 1); op 222 lib/cib/cib_utils.c cib_perform_op(const char *op, int call_options, cib_op_t * fn, gboolean is_query, op 240 lib/cib/cib_utils.c (is_query? "read-only " : ""), op); op 272 lib/cib/cib_utils.c rc = (*fn) (op, call_options, section, req, input, cib_ro, result_cib, output); op 308 lib/cib/cib_utils.c rc = (*fn) (op, call_options, section, req, input, scratch, &scratch, output); op 313 lib/cib/cib_utils.c rc = (*fn) (op, call_options, section, req, input, current_cib, &scratch, output); op 316 lib/cib/cib_utils.c crm_trace("Inferring changes after %s op", op); op 514 lib/cib/cib_utils.c cib_create_op(int call_id, const char *token, const char *op, const char *host, const char *section, op 526 lib/cib/cib_utils.c crm_xml_add(op_msg, F_CIB_OPERATION, op); op 719 lib/cib/cib_utils.c cib_internal_op(cib_t * cib, const char *op, const char *host, op 723 lib/cib/cib_utils.c int (*delegate) (cib_t * cib, const char *op, const char *host, op 732 lib/cib/cib_utils.c return delegate(cib, op, host, section, data, output_data, call_options, user_name); op 401 lib/cluster/election.c const char *op; op 429 lib/cluster/election.c vote->op = crm_element_value(message, F_CRM_TASK); op 436 lib/cluster/election.c if ((vote->op == NULL) || (vote->from == NULL) || (vote->version == NULL) op 440 lib/cluster/election.c (vote->op? vote->op : "election"), op 448 lib/cluster/election.c if (pcmk__str_eq(vote->op, CRM_OP_VOTE, pcmk__str_none)) { op 454 lib/cluster/election.c (e? e->name : "election"), vote->op, vote->from); op 458 lib/cluster/election.c } else if (!pcmk__str_eq(vote->op, CRM_OP_NOVOTE, pcmk__str_none)) { op 460 lib/cluster/election.c (e? e->name : "election"), vote->from, vote->op); op 468 lib/cluster/election.c vote->op, vote->from); op 477 lib/cluster/election.c e->name, vote->op, vote->from); op 489 lib/cluster/election.c CRM_ASSERT(e && vote && vote->from && vote->op); op 495 lib/cluster/election.c vote_copy = strdup(vote->op); op 574 lib/cluster/election.c } else if (pcmk__str_eq(vote.op, CRM_OP_NOVOTE, pcmk__str_none) op 581 lib/cluster/election.c e->name, vote.election_id, vote.op, vote.from, op 588 lib/cluster/election.c e->name, vote.election_id, vote.op, vote.from); op 659 lib/cluster/election.c e->name, vote.election_id, vote.op, e->count, vote.from, op 681 lib/cluster/election.c e->name, vote.election_id, vote.election_owner, vote.op, op 707 lib/cluster/election.c e->name, vote.election_id, vote.election_owner, vote.op, op 270 lib/common/ipc_controld.c create_controller_request(pcmk_ipc_api_t *api, const char *op, op 280 lib/common/ipc_controld.c if ((node == NULL) && !strcmp(op, CRM_OP_PING)) { op 285 lib/common/ipc_controld.c return create_request(op, msg_data, node, sys_to, op 490 lib/common/ipc_controld.c controller_resource_op(pcmk_ipc_api_t *api, const char *op, op 543 lib/common/ipc_controld.c request = create_controller_request(api, op, router_node, msg_data); op 426 lib/common/operations.c rsc_op_expected_rc(lrmd_event_data_t * op) op 430 lib/common/operations.c if (op && op->user_data) { op 431 lib/common/operations.c decode_transition_key(op->user_data, NULL, NULL, NULL, &rc); op 437 lib/common/operations.c did_rsc_op_fail(lrmd_event_data_t * op, int target_rc) op 439 lib/common/operations.c switch (op->op_status) { op 452 lib/common/operations.c if (target_rc != op->rc) { op 499 lib/common/operations.c crm_op_needs_metadata(const char *rsc_class, const char *op) op 506 lib/common/operations.c CRM_CHECK((rsc_class != NULL) || (op != NULL), return false); op 513 lib/common/operations.c if (op == NULL) { op 518 lib/common/operations.c return pcmk__str_any_of(op, CRMD_ACTION_START, CRMD_ACTION_STATUS, op 515 lib/common/patchset.c const char *op = crm_element_value(change, XML_DIFF_OP); op 518 lib/common/patchset.c if (op == NULL) { op 519 lib/common/patchset.c } else if (strcmp(op, "create") == 0) { op 538 lib/common/patchset.c } else if (strcmp(op, "move") == 0) { op 543 lib/common/patchset.c } else if (strcmp(op, "modify") == 0) { op 556 lib/common/patchset.c op = crm_element_value(child, XML_DIFF_OP); op 557 lib/common/patchset.c if (op == NULL) { op 558 lib/common/patchset.c } else if (strcmp(op, "set") == 0) { op 569 lib/common/patchset.c } else if (strcmp(op, "unset") == 0) { op 589 lib/common/patchset.c } else if (strcmp(op, "delete") == 0) { op 1153 lib/common/patchset.c const char *op = crm_element_value(change, XML_DIFF_OP); op 1157 lib/common/patchset.c if (op == NULL) { op 1161 lib/common/patchset.c crm_trace("Processing %s %s", change->name, op); op 1164 lib/common/patchset.c if (strcmp(op, "delete") == 0) { op 1168 lib/common/patchset.c crm_trace("Performing %s on %s with %p", op, xpath, match); op 1170 lib/common/patchset.c if ((match == NULL) && (strcmp(op, "delete") == 0)) { op 1171 lib/common/patchset.c crm_debug("No %s match for %s in %p", op, xpath, xml->doc); op 1175 lib/common/patchset.c crm_err("No %s match for %s in %p", op, xpath, xml->doc); op 1179 lib/common/patchset.c } else if ((strcmp(op, "create") == 0) || (strcmp(op, "move") == 0)) { op 1190 lib/common/patchset.c if (strcmp(op, "move") == 0) { op 1197 lib/common/patchset.c } else if (strcmp(op, "delete") == 0) { op 1200 lib/common/patchset.c } else if (strcmp(op, "modify") == 0) { op 1220 lib/common/patchset.c crm_err("Unknown operation: %s", op); op 1231 lib/common/patchset.c const char *op = NULL; op 1236 lib/common/patchset.c op = crm_element_value(change, XML_DIFF_OP); op 1239 lib/common/patchset.c crm_trace("Continue performing %s on %s with %p", op, xpath, match); op 1241 lib/common/patchset.c if (strcmp(op, "create") == 0) { op 1272 lib/common/patchset.c } else if (strcmp(op, "move") == 0) { op 112 lib/fencing/st_client.c xmlNode *stonith_create_op(int call_id, const char *token, const char *op, xmlNode * data, op 114 lib/fencing/st_client.c static int stonith_send_command(stonith_t *stonith, const char *op, op 1125 lib/fencing/st_client.c xmlNode *op = NULL; op 1129 lib/fencing/st_client.c for (op = pcmk__xml_first_child(reply); op != NULL; op 1130 lib/fencing/st_client.c op = pcmk__xml_next(op)) { op 1135 lib/fencing/st_client.c kvp->target = crm_element_value_copy(op, F_STONITH_TARGET); op 1136 lib/fencing/st_client.c kvp->action = crm_element_value_copy(op, F_STONITH_ACTION); op 1137 lib/fencing/st_client.c kvp->origin = crm_element_value_copy(op, F_STONITH_ORIGIN); op 1138 lib/fencing/st_client.c kvp->delegate = crm_element_value_copy(op, F_STONITH_DELEGATE); op 1139 lib/fencing/st_client.c kvp->client = crm_element_value_copy(op, F_STONITH_CLIENTNAME); op 1140 lib/fencing/st_client.c crm_element_value_ll(op, F_STONITH_DATE, &completed); op 1142 lib/fencing/st_client.c crm_element_value_int(op, F_STONITH_STATE, &kvp->state); op 1204 lib/fencing/st_client.c stonith_create_op(int call_id, const char *token, const char *op, xmlNode * data, int call_options) op 1215 lib/fencing/st_client.c crm_xml_add(op_msg, F_STONITH_OPERATION, op); op 1837 lib/fencing/st_client.c stonith_send_command(stonith_t * stonith, const char *op, xmlNode * data, xmlNode ** output_data, op 1847 lib/fencing/st_client.c CRM_ASSERT(stonith && stonith->st_private && op); op 1867 lib/fencing/st_client.c op_msg = stonith_create_op(stonith->call_id, native->token, op, data, call_options); op 1873 lib/fencing/st_client.c crm_trace("Sending %s message to fencer with timeout %ds", op, timeout); op 1896 lib/fencing/st_client.c crm_perror(LOG_ERR, "Couldn't perform %s operation (timeout=%ds): %d", op, timeout, rc); op 347 lib/lrmd/lrmd_alerts.c const char *node, lrmd_event_data_t *op) op 357 lib/lrmd/lrmd_alerts.c target_rc = rsc_op_expected_rc(op); op 358 lib/lrmd/lrmd_alerts.c if ((op->interval_ms == 0) && (target_rc == op->rc) op 359 lib/lrmd/lrmd_alerts.c && pcmk__str_eq(op->op_type, RSC_STATUS, pcmk__str_casei)) { op 370 lib/lrmd/lrmd_alerts.c params = alert_key2param(params, PCMK__alert_key_rsc, op->rsc_id); op 371 lib/lrmd/lrmd_alerts.c params = alert_key2param(params, PCMK__alert_key_task, op->op_type); op 373 lib/lrmd/lrmd_alerts.c op->interval_ms); op 375 lib/lrmd/lrmd_alerts.c params = alert_key2param_int(params, PCMK__alert_key_status, op->op_status); op 376 lib/lrmd/lrmd_alerts.c params = alert_key2param_int(params, PCMK__alert_key_rc, op->rc); op 381 lib/lrmd/lrmd_alerts.c if (op->op_status == PCMK_LRM_OP_TIMEOUT && op->exec_time == 0) { op 383 lib/lrmd/lrmd_alerts.c op->timeout); op 386 lib/lrmd/lrmd_alerts.c op->exec_time); op 389 lib/lrmd/lrmd_alerts.c if (op->op_status == PCMK_LRM_OP_DONE) { op 391 lib/lrmd/lrmd_alerts.c services_ocf_exitcode_str(op->rc)); op 394 lib/lrmd/lrmd_alerts.c services_lrm_status_str(op->op_status)); op 511 lib/lrmd/lrmd_client.c lrmd_create_op(const char *token, const char *op, xmlNode *data, int timeout, op 522 lib/lrmd/lrmd_client.c crm_xml_add(op_msg, F_LRMD_OPERATION, op); op 531 lib/lrmd/lrmd_client.c op, (long)options, options); op 841 lib/lrmd/lrmd_client.c lrmd_send_command(lrmd_t *lrmd, const char *op, xmlNode *data, op 854 lib/lrmd/lrmd_client.c if (op == NULL) { op 861 lib/lrmd/lrmd_client.c crm_trace("Sending %s op to executor", op); op 863 lib/lrmd/lrmd_client.c op_msg = lrmd_create_op(native->token, op, data, timeout, options); op 877 lib/lrmd/lrmd_client.c crm_perror(LOG_ERR, "Couldn't perform %s operation (timeout=%d): %d", op, timeout, rc); op 887 lib/lrmd/lrmd_client.c crm_trace("%s op reply received", op); op 208 lib/lrmd/proxy_common.c const char *op = crm_element_value(msg, F_LRMD_IPC_OP); op 217 lib/lrmd/proxy_common.c CRM_CHECK(op != NULL, return); op 223 lib/lrmd/proxy_common.c if (pcmk__str_eq(op, LRMD_IPC_OP_DESTROY, pcmk__str_casei)) { op 226 lib/lrmd/proxy_common.c } else if (pcmk__str_eq(op, LRMD_IPC_OP_REQUEST, pcmk__str_casei)) { op 274 lib/lrmd/proxy_common.c op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name, pcmk_strerror(rc), rc); op 285 lib/lrmd/proxy_common.c op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name); op 295 lib/lrmd/proxy_common.c op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name); op 300 lib/lrmd/proxy_common.c op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name, pcmk_strerror(rc), rc); op 303 lib/lrmd/proxy_common.c op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name); op 312 lib/lrmd/proxy_common.c crm_err("Unknown proxy operation: %s", op); op 1117 lib/pacemaker/pcmk_output.c const char *op = va_arg(args, const char *); op 1123 lib/pacemaker/pcmk_output.c out->list_item(out, NULL, "Fencing %s (%s)", target, op); op 1132 lib/pacemaker/pcmk_output.c const char *op = va_arg(args, const char *); op 1140 lib/pacemaker/pcmk_output.c "op", op, op 316 lib/pacemaker/pcmk_sched_allocate.c pe_action_t *op = NULL; op 323 lib/pacemaker/pcmk_sched_allocate.c op = custom_action(rsc, key, task, active_node, TRUE, TRUE, data_set); op 324 lib/pacemaker/pcmk_sched_allocate.c pe__set_action_flags(op, pe_action_reschedule); op 2353 lib/pacemaker/pcmk_sched_allocate.c const char *op = g_hash_table_lookup(rh_action->meta, "stonith_action"); op 2355 lib/pacemaker/pcmk_sched_allocate.c if (pcmk__str_eq(op, "on", pcmk__str_casei)) { op 3084 lib/pacemaker/pcmk_sched_allocate.c const char *op = g_hash_table_lookup(action->meta, "stonith_action"); op 3085 lib/pacemaker/pcmk_sched_allocate.c task = crm_strdup_printf("Fence (%s)", op); op 820 lib/pacemaker/pcmk_sched_clone.c pe_action_t *op = (pe_action_t *) gIter->data; op 822 lib/pacemaker/pcmk_sched_clone.c if (!pcmk_is_set(op->flags, pe_action_optional)) { op 823 lib/pacemaker/pcmk_sched_clone.c active = g_list_prepend(active, op); op 1338 lib/pacemaker/pcmk_sched_clone.c pe_action_t *op = (pe_action_t *) gIter->data; op 1340 lib/pacemaker/pcmk_sched_clone.c rsc->cmds->action_flags(op, NULL); op 87 lib/pacemaker/pcmk_sched_group.c pe_action_t *op = NULL; op 100 lib/pacemaker/pcmk_sched_group.c op = start_action(rsc, NULL, TRUE /* !group_data->child_starting */ ); op 101 lib/pacemaker/pcmk_sched_group.c pe__set_action_flags(op, pe_action_pseudo|pe_action_runnable); op 103 lib/pacemaker/pcmk_sched_group.c op = custom_action(rsc, started_key(rsc), op 105 lib/pacemaker/pcmk_sched_group.c pe__set_action_flags(op, pe_action_pseudo|pe_action_runnable); op 107 lib/pacemaker/pcmk_sched_group.c op = stop_action(rsc, NULL, TRUE /* !group_data->child_stopping */ ); op 108 lib/pacemaker/pcmk_sched_group.c pe__set_action_flags(op, pe_action_pseudo|pe_action_runnable); op 110 lib/pacemaker/pcmk_sched_group.c op = custom_action(rsc, stopped_key(rsc), op 112 lib/pacemaker/pcmk_sched_group.c pe__set_action_flags(op, pe_action_pseudo|pe_action_runnable); op 116 lib/pacemaker/pcmk_sched_group.c op = custom_action(rsc, demote_key(rsc), RSC_DEMOTE, NULL, TRUE, TRUE, data_set); op 117 lib/pacemaker/pcmk_sched_group.c pe__set_action_flags(op, pe_action_pseudo|pe_action_runnable); op 119 lib/pacemaker/pcmk_sched_group.c op = custom_action(rsc, demoted_key(rsc), RSC_DEMOTED, NULL, TRUE, TRUE, data_set); op 120 lib/pacemaker/pcmk_sched_group.c pe__set_action_flags(op, pe_action_pseudo|pe_action_runnable); op 122 lib/pacemaker/pcmk_sched_group.c op = custom_action(rsc, promote_key(rsc), RSC_PROMOTE, NULL, TRUE, TRUE, data_set); op 123 lib/pacemaker/pcmk_sched_group.c pe__set_action_flags(op, pe_action_pseudo|pe_action_runnable); op 125 lib/pacemaker/pcmk_sched_group.c op = custom_action(rsc, promoted_key(rsc), RSC_PROMOTED, NULL, TRUE, TRUE, data_set); op 126 lib/pacemaker/pcmk_sched_group.c pe__set_action_flags(op, pe_action_pseudo|pe_action_runnable); op 782 lib/pacemaker/pcmk_sched_native.c pe_action_t *op = (pe_action_t *) gIter->data; op 784 lib/pacemaker/pcmk_sched_native.c if (pcmk_is_set(op->flags, pe_action_reschedule)) { op 206 lib/pacemaker/pcmk_sched_notif.c pe_notify(pe_resource_t * rsc, pe_node_t * node, pe_action_t * op, pe_action_t * confirm, op 214 lib/pacemaker/pcmk_sched_notif.c if (op == NULL || confirm == NULL) { op 215 lib/pacemaker/pcmk_sched_notif.c pe_rsc_trace(rsc, "Op=%p confirm=%p", op, confirm); op 225 lib/pacemaker/pcmk_sched_notif.c } else if (!pcmk_is_set(op->flags, pe_action_runnable)) { op 226 lib/pacemaker/pcmk_sched_notif.c pe_rsc_trace(rsc, "Skipping notification for %s: not runnable", op->uuid); op 230 lib/pacemaker/pcmk_sched_notif.c value = g_hash_table_lookup(op->meta, "notify_type"); op 231 lib/pacemaker/pcmk_sched_notif.c task = g_hash_table_lookup(op->meta, "notify_operation"); op 233 lib/pacemaker/pcmk_sched_notif.c pe_rsc_trace(rsc, "Creating notify actions for %s: %s (%s-%s)", op->uuid, rsc->id, value, task); op 236 lib/pacemaker/pcmk_sched_notif.c trigger = custom_action(rsc, key, op->task, node, op 237 lib/pacemaker/pcmk_sched_notif.c pcmk_is_set(op->flags, pe_action_optional), op 239 lib/pacemaker/pcmk_sched_notif.c g_hash_table_foreach(op->meta, dup_attr, trigger->meta); op 243 lib/pacemaker/pcmk_sched_notif.c pe_rsc_trace(rsc, "Ordering %s before %s (%d->%d)", op->uuid, trigger->uuid, trigger->id, op 244 lib/pacemaker/pcmk_sched_notif.c op->id); op 246 lib/pacemaker/pcmk_sched_notif.c order_actions(op, trigger, pe_order_optional); op 471 lib/pacemaker/pcmk_sched_notif.c pe_action_t *op = (pe_action_t *) gIter->data; op 473 lib/pacemaker/pcmk_sched_notif.c if (!pcmk_is_set(op->flags, pe_action_optional) op 474 lib/pacemaker/pcmk_sched_notif.c && (op->node != NULL)) { op 476 lib/pacemaker/pcmk_sched_notif.c task = text2task(op->task); op 478 lib/pacemaker/pcmk_sched_notif.c if(task == stop_rsc && op->node->details->unclean) { op 480 lib/pacemaker/pcmk_sched_notif.c } else if (!pcmk_is_set(op->flags, pe_action_runnable)) { op 485 lib/pacemaker/pcmk_sched_notif.c entry->node = op->node; op 673 lib/pacemaker/pcmk_sched_notif.c pe_action_t *op = (pe_action_t *) gIter->data; op 675 lib/pacemaker/pcmk_sched_notif.c if (!pcmk_is_set(op->flags, pe_action_optional) op 676 lib/pacemaker/pcmk_sched_notif.c && (op->node != NULL)) { op 678 lib/pacemaker/pcmk_sched_notif.c enum action_tasks t = text2task(op->task); op 685 lib/pacemaker/pcmk_sched_notif.c add_notify_data_to_action_meta(n_data, op); op 120 lib/pacemaker/pcmk_sched_transition.c lrmd_event_data_t *op = NULL; op 123 lib/pacemaker/pcmk_sched_transition.c op = lrmd_new_event(ID(cib_resource), task, interval_ms); op 124 lib/pacemaker/pcmk_sched_transition.c op->rc = outcome; op 125 lib/pacemaker/pcmk_sched_transition.c op->op_status = 0; op 126 lib/pacemaker/pcmk_sched_transition.c op->params = NULL; /* TODO: Fill me in */ op 127 lib/pacemaker/pcmk_sched_transition.c op->t_run = (unsigned int) time(NULL); op 128 lib/pacemaker/pcmk_sched_transition.c op->t_rcchange = op->t_run; op 130 lib/pacemaker/pcmk_sched_transition.c op->call_id = 0; op 137 lib/pacemaker/pcmk_sched_transition.c if (tmp > op->call_id) { op 138 lib/pacemaker/pcmk_sched_transition.c op->call_id = tmp; op 141 lib/pacemaker/pcmk_sched_transition.c op->call_id++; op 143 lib/pacemaker/pcmk_sched_transition.c return op; op 147 lib/pacemaker/pcmk_sched_transition.c inject_op(xmlNode * cib_resource, lrmd_event_data_t * op, int target_rc) op 149 lib/pacemaker/pcmk_sched_transition.c return pcmk__create_history_xml(cib_resource, op, CRM_FEATURE_SET, op 404 lib/pacemaker/pcmk_sched_transition.c lrmd_event_data_t *op = NULL; op 575 lib/pacemaker/pcmk_sched_transition.c op = create_op(cib_resource, task, interval_ms, outcome); op 576 lib/pacemaker/pcmk_sched_transition.c CRM_ASSERT(op != NULL); op 578 lib/pacemaker/pcmk_sched_transition.c cib_op = inject_op(cib_resource, op, 0); op 580 lib/pacemaker/pcmk_sched_transition.c lrmd_free_event(op); op 614 lib/pacemaker/pcmk_sched_transition.c lrmd_event_data_t *op = NULL; op 685 lib/pacemaker/pcmk_sched_transition.c op = convert_graph_action(cib_resource, action, 0, target_outcome); op 687 lib/pacemaker/pcmk_sched_transition.c out->message(out, "inject-rsc-action", resource, op->op_type, node, op->interval_ms); op 695 lib/pacemaker/pcmk_sched_transition.c key = crm_strdup_printf(PCMK__OP_FMT "@%s=", resource, op->op_type, op 696 lib/pacemaker/pcmk_sched_transition.c op->interval_ms, node); op 703 lib/pacemaker/pcmk_sched_transition.c key = crm_strdup_printf(PCMK__OP_FMT "@%s=", lrm_name, op->op_type, op 704 lib/pacemaker/pcmk_sched_transition.c op->interval_ms, node); op 713 lib/pacemaker/pcmk_sched_transition.c rc = sscanf(spec, "%*[^=]=%d", (int *) &op->rc); op 724 lib/pacemaker/pcmk_sched_transition.c out->info(out, "Pretending action %d failed with rc=%d", action->id, op->rc); op 725 lib/pacemaker/pcmk_sched_transition.c update_failcounts(cib_node, match_name, op->op_type, op 726 lib/pacemaker/pcmk_sched_transition.c op->interval_ms, op->rc); op 731 lib/pacemaker/pcmk_sched_transition.c inject_op(cib_resource, op, target_outcome); op 732 lib/pacemaker/pcmk_sched_transition.c lrmd_free_event(op); op 762 lib/pacemaker/pcmk_sched_transition.c const char *op = crm_meta_value(action->params, "stonith_action"); op 765 lib/pacemaker/pcmk_sched_transition.c out->message(out, "inject-fencing-action", target, op); op 767 lib/pacemaker/pcmk_sched_transition.c if(!pcmk__str_eq(op, "on", pcmk__str_casei)) { op 312 lib/pacemaker/pcmk_sched_utils.c pe_action_t *op = (pe_action_t *) gIter->data; op 313 lib/pacemaker/pcmk_sched_utils.c const char *interval_ms_s = g_hash_table_lookup(op->meta, XML_LRM_ATTR_INTERVAL_MS); op 315 lib/pacemaker/pcmk_sched_utils.c crm_debug("Processing %s", op->uuid); op 316 lib/pacemaker/pcmk_sched_utils.c if(pcmk__str_eq(RSC_STOP, op->task, pcmk__str_casei)) { op 317 lib/pacemaker/pcmk_sched_utils.c update_action_flags(op, pe_action_optional | pe_action_clear, op 320 lib/pacemaker/pcmk_sched_utils.c } else if(pcmk__str_eq(RSC_START, op->task, pcmk__str_casei)) { op 321 lib/pacemaker/pcmk_sched_utils.c update_action_flags(op, pe_action_runnable | pe_action_clear, op 326 lib/pacemaker/pcmk_sched_utils.c if(pcmk__str_eq(rc_inactive, g_hash_table_lookup(op->meta, XML_ATTR_TE_TARGET_RC), pcmk__str_casei)) { op 331 lib/pacemaker/pcmk_sched_utils.c update_action_flags(op, pe_action_runnable | pe_action_clear, op 557 lib/pacemaker/pcmk_sched_utils.c append_digest(lrmd_event_data_t *op, xmlNode *update, const char *version, op 567 lib/pacemaker/pcmk_sched_utils.c if (op->params == NULL) { op 572 lib/pacemaker/pcmk_sched_utils.c g_hash_table_foreach(op->params, hash2field, args_xml); op 578 lib/pacemaker/pcmk_sched_utils.c && op->interval_ms == 0 && pcmk__str_eq(op->op_type, CRMD_ACTION_START, pcmk__str_none)) { op 609 lib/pacemaker/pcmk_sched_utils.c pcmk__create_history_xml(xmlNode *parent, lrmd_event_data_t *op, op 623 lib/pacemaker/pcmk_sched_utils.c CRM_CHECK(op != NULL, return NULL); op 625 lib/pacemaker/pcmk_sched_utils.c origin, op->rsc_id, op->op_type, services_lrm_status_str(op->op_status), op 626 lib/pacemaker/pcmk_sched_utils.c op->interval_ms); op 630 lib/pacemaker/pcmk_sched_utils.c task = op->op_type; op 643 lib/pacemaker/pcmk_sched_utils.c if (op->op_status == PCMK_LRM_OP_DONE) { op 650 lib/pacemaker/pcmk_sched_utils.c key = pcmk__op_key(op->rsc_id, task, op->interval_ms); op 652 lib/pacemaker/pcmk_sched_utils.c const char *n_type = crm_meta_value(op->params, "notify_type"); op 653 lib/pacemaker/pcmk_sched_utils.c const char *n_task = crm_meta_value(op->params, "notify_operation"); op 657 lib/pacemaker/pcmk_sched_utils.c op_id = pcmk__notify_key(op->rsc_id, n_type, n_task); op 659 lib/pacemaker/pcmk_sched_utils.c if (op->op_status != PCMK_LRM_OP_PENDING) { op 665 lib/pacemaker/pcmk_sched_utils.c op->op_status = PCMK_LRM_OP_DONE; op 666 lib/pacemaker/pcmk_sched_utils.c op->rc = 0; op 669 lib/pacemaker/pcmk_sched_utils.c } else if (did_rsc_op_fail(op, target_rc)) { op 670 lib/pacemaker/pcmk_sched_utils.c op_id = pcmk__op_key(op->rsc_id, "last_failure", 0); op 671 lib/pacemaker/pcmk_sched_utils.c if (op->interval_ms == 0) { op 673 lib/pacemaker/pcmk_sched_utils.c op_id_additional = pcmk__op_key(op->rsc_id, "last", 0); op 675 lib/pacemaker/pcmk_sched_utils.c exit_reason = op->exit_reason; op 677 lib/pacemaker/pcmk_sched_utils.c } else if (op->interval_ms > 0) { op 681 lib/pacemaker/pcmk_sched_utils.c op_id = pcmk__op_key(op->rsc_id, "last", 0); op 690 lib/pacemaker/pcmk_sched_utils.c if (op->user_data == NULL) { op 692 lib/pacemaker/pcmk_sched_utils.c " %d from %s", op->rsc_id, op->op_type, op->interval_ms, op 693 lib/pacemaker/pcmk_sched_utils.c op->call_id, origin); op 694 lib/pacemaker/pcmk_sched_utils.c local_user_data = pcmk__transition_key(-1, op->call_id, target_rc, op 696 lib/pacemaker/pcmk_sched_utils.c op->user_data = local_user_data; op 700 lib/pacemaker/pcmk_sched_utils.c magic = generate_transition_magic(op->user_data, op->op_status, op->rc); op 708 lib/pacemaker/pcmk_sched_utils.c crm_xml_add(xml_op, XML_ATTR_TRANSITION_KEY, op->user_data); op 713 lib/pacemaker/pcmk_sched_utils.c crm_xml_add_int(xml_op, XML_LRM_ATTR_CALLID, op->call_id); op 714 lib/pacemaker/pcmk_sched_utils.c crm_xml_add_int(xml_op, XML_LRM_ATTR_RC, op->rc); op 715 lib/pacemaker/pcmk_sched_utils.c crm_xml_add_int(xml_op, XML_LRM_ATTR_OPSTATUS, op->op_status); op 716 lib/pacemaker/pcmk_sched_utils.c crm_xml_add_ms(xml_op, XML_LRM_ATTR_INTERVAL_MS, op->interval_ms); op 719 lib/pacemaker/pcmk_sched_utils.c if (op->t_run || op->t_rcchange || op->exec_time || op->queue_time) { op 722 lib/pacemaker/pcmk_sched_utils.c op->rsc_id, op->op_type, op->interval_ms, op 723 lib/pacemaker/pcmk_sched_utils.c op->t_run, op->t_rcchange, op->exec_time, op->queue_time); op 725 lib/pacemaker/pcmk_sched_utils.c if ((op->interval_ms != 0) && (op->t_rcchange != 0)) { op 728 lib/pacemaker/pcmk_sched_utils.c (long long) op->t_rcchange); op 731 lib/pacemaker/pcmk_sched_utils.c (long long) op->t_run); op 734 lib/pacemaker/pcmk_sched_utils.c crm_xml_add_int(xml_op, XML_RSC_OP_T_EXEC, op->exec_time); op 735 lib/pacemaker/pcmk_sched_utils.c crm_xml_add_int(xml_op, XML_RSC_OP_T_QUEUE, op->queue_time); op 739 lib/pacemaker/pcmk_sched_utils.c if (pcmk__str_any_of(op->op_type, CRMD_ACTION_MIGRATE, CRMD_ACTION_MIGRATED, NULL)) { op 745 lib/pacemaker/pcmk_sched_utils.c crm_xml_add(xml_op, name, crm_meta_value(op->params, name)); op 748 lib/pacemaker/pcmk_sched_utils.c crm_xml_add(xml_op, name, crm_meta_value(op->params, name)); op 751 lib/pacemaker/pcmk_sched_utils.c append_digest(op, xml_op, caller_version, magic, LOG_DEBUG); op 762 lib/pacemaker/pcmk_sched_utils.c op->user_data = NULL; op 307 lib/pacemaker/pcmk_trans_unpack.c lrmd_event_data_t *op = NULL; op 320 lib/pacemaker/pcmk_trans_unpack.c op = lrmd_new_event(ID(action_resource), op 323 lib/pacemaker/pcmk_trans_unpack.c op->rc = rc; op 324 lib/pacemaker/pcmk_trans_unpack.c op->op_status = status; op 325 lib/pacemaker/pcmk_trans_unpack.c op->t_run = time(NULL); op 326 lib/pacemaker/pcmk_trans_unpack.c op->t_rcchange = op->t_run; op 327 lib/pacemaker/pcmk_trans_unpack.c op->params = pcmk__strkey_table(free, free); op 331 lib/pacemaker/pcmk_trans_unpack.c g_hash_table_insert(op->params, strdup(name), strdup(value)); op 340 lib/pacemaker/pcmk_trans_unpack.c if (tmp > op->call_id) { op 341 lib/pacemaker/pcmk_trans_unpack.c op->call_id = tmp; op 345 lib/pacemaker/pcmk_trans_unpack.c op->call_id++; op 346 lib/pacemaker/pcmk_trans_unpack.c return op; op 251 lib/pengine/complex.c template_op_key(xmlNode * op) op 253 lib/pengine/complex.c const char *name = crm_element_value(op, "name"); op 254 lib/pengine/complex.c const char *role = crm_element_value(op, "role"); op 337 lib/pengine/complex.c xmlNode *op = NULL; op 340 lib/pengine/complex.c for (op = pcmk__xe_first_child(rsc_ops); op != NULL; op 341 lib/pengine/complex.c op = pcmk__xe_next(op)) { op 343 lib/pengine/complex.c char *key = template_op_key(op); op 345 lib/pengine/complex.c g_hash_table_insert(rsc_ops_hash, key, op); op 348 lib/pengine/complex.c for (op = pcmk__xe_first_child(template_ops); op != NULL; op 349 lib/pengine/complex.c op = pcmk__xe_next(op)) { op 351 lib/pengine/complex.c char *key = template_op_key(op); op 354 lib/pengine/complex.c add_node_copy(rsc_ops, op); op 893 lib/pengine/rules.c const char *op) op 899 lib/pengine/rules.c if (pcmk__strcase_any_of(op, "lt", "lte", "gt", "gte", NULL)) { op 909 lib/pengine/rules.c crm_trace("Defaulting to %s based comparison for '%s' op", type, op); op 934 lib/pengine/rules.c cmp = compare_attr_expr_vals(l_val, r_val, "string", op); op 956 lib/pengine/rules.c cmp = compare_attr_expr_vals(l_val, r_val, "string", op); op 991 lib/pengine/rules.c const char *op) op 995 lib/pengine/rules.c if (pcmk__str_eq(op, "defined", pcmk__str_casei)) { op 998 lib/pengine/rules.c } else if (pcmk__str_eq(op, "not_defined", pcmk__str_casei)) { op 1003 lib/pengine/rules.c cmp = compare_attr_expr_vals(l_val, r_val, type, op); op 1005 lib/pengine/rules.c if (pcmk__str_eq(op, "eq", pcmk__str_casei)) { op 1008 lib/pengine/rules.c } else if (pcmk__str_eq(op, "ne", pcmk__str_casei)) { op 1015 lib/pengine/rules.c } else if (pcmk__str_eq(op, "lt", pcmk__str_casei)) { op 1018 lib/pengine/rules.c } else if (pcmk__str_eq(op, "lte", pcmk__str_casei)) { op 1021 lib/pengine/rules.c } else if (pcmk__str_eq(op, "gt", pcmk__str_casei)) { op 1024 lib/pengine/rules.c } else if (pcmk__str_eq(op, "gte", pcmk__str_casei)) { op 1080 lib/pengine/rules.c const char *op = NULL; op 1087 lib/pengine/rules.c op = crm_element_value(expr, XML_EXPR_ATTR_OPERATION); op 1092 lib/pengine/rules.c if (attr == NULL || op == NULL) { op 1094 lib/pengine/rules.c " (\'%s\' \'%s\' \'%s\')", crm_str(attr), crm_str(op), crm_str(value)); op 1122 lib/pengine/rules.c return accept_attr_expr(h_val, value, type, op); op 1141 lib/pengine/rules.c const char *op = crm_element_value(expr, "operation"); op 1167 lib/pengine/rules.c if (pcmk__str_eq(op, "in_range", pcmk__str_null_matches | pcmk__str_casei)) { op 1184 lib/pengine/rules.c } else if (pcmk__str_eq(op, "date_spec", pcmk__str_casei)) { op 1188 lib/pengine/rules.c } else if (pcmk__str_eq(op, "gt", pcmk__str_casei)) { op 1201 lib/pengine/rules.c } else if (pcmk__str_eq(op, "lt", pcmk__str_casei)) { op 1262 lib/pengine/rules.c const char *op = NULL; op 1270 lib/pengine/rules.c op = crm_element_value(expr, XML_EXPR_ATTR_OPERATION); op 1272 lib/pengine/rules.c if (pcmk__str_eq(op, "defined", pcmk__str_casei)) { op 1277 lib/pengine/rules.c } else if (pcmk__str_eq(op, "not_defined", pcmk__str_casei)) { op 1283 lib/pengine/rules.c } else if (pcmk__str_eq(op, "eq", pcmk__str_casei)) { op 1288 lib/pengine/rules.c } else if (pcmk__str_eq(op, "ne", pcmk__str_casei)) { op 2545 lib/pengine/unpack.c find_lrm_op(const char *resource, const char *op, const char *node, const char *source, op 2558 lib/pengine/unpack.c if (source && pcmk__str_eq(op, CRMD_ACTION_MIGRATE, pcmk__str_casei)) { op 2561 lib/pengine/unpack.c "/" XML_LRM_TAG_RSC_OP "[@operation='%s' and @migrate_target='%s']", op, op 2563 lib/pengine/unpack.c } else if (source && pcmk__str_eq(op, CRMD_ACTION_MIGRATED, pcmk__str_casei)) { op 2566 lib/pengine/unpack.c "/" XML_LRM_TAG_RSC_OP "[@operation='%s' and @migrate_source='%s']", op, op 2571 lib/pengine/unpack.c "/" XML_LRM_TAG_RSC_OP "[@operation='%s']", op); op 2841 lib/pengine/unpack.c record_failed_op(xmlNode *op, const pe_node_t *node, op 2845 lib/pengine/unpack.c const char *op_key = crm_element_value(op, XML_LRM_ATTR_TASK_KEY); op 2862 lib/pengine/unpack.c crm_xml_add(op, XML_ATTR_UNAME, node->details->uname); op 2863 lib/pengine/unpack.c crm_xml_add(op, XML_LRM_ATTR_RSCID, rsc->id); op 2864 lib/pengine/unpack.c add_node_copy(data_set->failed, op); op 741 lib/pengine/utils.c xmlNode *op = NULL; op 764 lib/pengine/utils.c op = operation; op 769 lib/pengine/utils.c return op; op 1263 lib/pengine/utils.c xmlNode *op = NULL; op 1281 lib/pengine/utils.c op = operation; op 1288 lib/pengine/utils.c op = operation; op 1293 lib/pengine/utils.c if (op != NULL) { op 1295 lib/pengine/utils.c return op; op 1850 lib/pengine/utils.c pe_action_t *op = NULL; op 1853 lib/pengine/utils.c op = g_hash_table_lookup(data_set->singletons, name); op 1855 lib/pengine/utils.c if (op == NULL) { op 1856 lib/pengine/utils.c op = custom_action(NULL, strdup(name), name, NULL, TRUE, TRUE, data_set); op 1857 lib/pengine/utils.c pe__set_action_flags(op, pe_action_pseudo|pe_action_runnable); op 1860 lib/pengine/utils.c return op; op 2035 lib/pengine/utils.c pe_fence_op(pe_node_t * node, const char *op, bool optional, const char *reason, op 2041 lib/pengine/utils.c if(op == NULL) { op 2042 lib/pengine/utils.c op = data_set->stonith_action; op 2045 lib/pengine/utils.c op_key = crm_strdup_printf("%s-%s-%s", CRM_OP_FENCE, node->details->uname, op); op 2056 lib/pengine/utils.c add_hash_param(stonith_op->meta, "stonith_action", op); op 108 lib/services/services.c inflight_systemd_or_upstart(svc_action_t *op) op 110 lib/services/services.c return pcmk__strcase_any_of(op->standard, PCMK_RESOURCE_CLASS_SYSTEMD, op 112 lib/services/services.c g_list_find(inflight_ops, op) != NULL; op 173 lib/services/services.c svc_action_t *op = NULL; op 212 lib/services/services.c op = calloc(1, sizeof(svc_action_t)); op 213 lib/services/services.c op->opaque = calloc(1, sizeof(svc_action_private_t)); op 214 lib/services/services.c op->rsc = strdup(name); op 215 lib/services/services.c op->interval_ms = interval_ms; op 216 lib/services/services.c op->timeout = timeout; op 217 lib/services/services.c op->standard = expand_resource_class(name, standard, agent); op 218 lib/services/services.c op->agent = strdup(agent); op 219 lib/services/services.c op->sequence = ++operations; op 220 lib/services/services.c op->flags = flags; op 221 lib/services/services.c op->id = pcmk__op_key(name, action, interval_ms); op 226 lib/services/services.c op->action = strdup("status"); op 228 lib/services/services.c op->action = strdup(action); op 232 lib/services/services.c op->provider = strdup(provider); op 236 lib/services/services.c op->params = params; op 240 lib/services/services.c if (strcasecmp(op->standard, PCMK_RESOURCE_CLASS_OCF) == 0) { op 248 lib/services/services.c services__handle_exec_error(op, ENOMEM); op 249 lib/services/services.c return op; op 264 lib/services/services.c op->opaque->exec = buf; op 266 lib/services/services.c services__handle_exec_error(op, ENOENT); op 267 lib/services/services.c return op; op 270 lib/services/services.c op->opaque->args[0] = strdup(op->opaque->exec); op 271 lib/services/services.c op->opaque->args[1] = strdup(op->action); op 273 lib/services/services.c } else if (strcasecmp(op->standard, PCMK_RESOURCE_CLASS_LSB) == 0) { op 274 lib/services/services.c op->opaque->exec = services__lsb_agent_path(op->agent); op 275 lib/services/services.c op->opaque->args[0] = strdup(op->opaque->exec); op 276 lib/services/services.c op->opaque->args[1] = strdup(op->action); op 279 lib/services/services.c } else if (strcasecmp(op->standard, PCMK_RESOURCE_CLASS_SYSTEMD) == 0) { op 280 lib/services/services.c op->opaque->exec = strdup("systemd-dbus"); op 283 lib/services/services.c } else if (strcasecmp(op->standard, PCMK_RESOURCE_CLASS_UPSTART) == 0) { op 284 lib/services/services.c op->opaque->exec = strdup("upstart-dbus"); op 287 lib/services/services.c } else if (strcasecmp(op->standard, PCMK_RESOURCE_CLASS_NAGIOS) == 0) { op 288 lib/services/services.c op->opaque->exec = dup_file_path(op->agent, NAGIOS_PLUGIN_DIR); op 289 lib/services/services.c op->opaque->args[0] = strdup(op->opaque->exec); op 291 lib/services/services.c if (pcmk__str_eq(op->action, "monitor", pcmk__str_casei) && (op->interval_ms == 0)) { op 293 lib/services/services.c op->opaque->args[1] = strdup("--version"); op 295 lib/services/services.c } else if (op->params) { op 300 lib/services/services.c static int args_size = sizeof(op->opaque->args) / sizeof(char *); op 302 lib/services/services.c g_hash_table_iter_init(&iter, op->params); op 310 lib/services/services.c op->opaque->args[index++] = crm_strdup_printf("--%s", key); op 311 lib/services/services.c op->opaque->args[index++] = strdup(value); op 316 lib/services/services.c if (op->params != NULL) { op 317 lib/services/services.c g_hash_table_destroy(op->params); op 318 lib/services/services.c op->params = NULL; op 322 lib/services/services.c crm_err("Unknown resource standard: %s", op->standard); op 323 lib/services/services.c services__handle_exec_error(op, ENOENT); op 331 lib/services/services.c return op; op 340 lib/services/services.c svc_action_t *op = services__create_resource_action(name, standard, op 343 lib/services/services.c if (op == NULL || op->rc != 0) { op 344 lib/services/services.c services_action_free(op); op 347 lib/services/services.c return op; op 354 lib/services/services.c svc_action_t *op; op 357 lib/services/services.c op = calloc(1, sizeof(*op)); op 358 lib/services/services.c op->opaque = calloc(1, sizeof(svc_action_private_t)); op 360 lib/services/services.c op->opaque->exec = strdup(exec); op 361 lib/services/services.c op->opaque->args[0] = strdup(exec); op 364 lib/services/services.c op->opaque->args[cur_arg] = strdup(args[cur_arg - 1]); op 366 lib/services/services.c if (cur_arg == PCMK__NELEM(op->opaque->args) - 1) { op 372 lib/services/services.c return op; op 420 lib/services/services.c services_action_user(svc_action_t *op, const char *user) op 422 lib/services/services.c CRM_CHECK((op != NULL) && (user != NULL), return -EINVAL); op 423 lib/services/services.c return crm_user_lookup(user, &(op->opaque->uid), &(op->opaque->gid)); op 438 lib/services/services.c services_alert_async(svc_action_t *action, void (*cb)(svc_action_t *op)) op 454 lib/services/services.c services_set_op_pending(svc_action_t *op, DBusPendingCall *pending) op 456 lib/services/services.c if (op->opaque->pending && (op->opaque->pending != pending)) { op 458 lib/services/services.c crm_info("Lost pending %s DBus call (%p)", op->id, op->opaque->pending); op 460 lib/services/services.c crm_trace("Done with pending %s DBus call (%p)", op->id, op->opaque->pending); op 462 lib/services/services.c dbus_pending_call_unref(op->opaque->pending); op 464 lib/services/services.c op->opaque->pending = pending; op 466 lib/services/services.c crm_trace("Updated pending %s DBus call (%p)", op->id, pending); op 468 lib/services/services.c crm_trace("Cleared pending %s DBus call", op->id); op 474 lib/services/services.c services_action_cleanup(svc_action_t * op) op 476 lib/services/services.c if ((op == NULL) || (op->opaque == NULL)) { op 481 lib/services/services.c if(op->opaque->timerid != 0) { op 482 lib/services/services.c crm_trace("Removing timer for call %s to %s", op->action, op->rsc); op 483 lib/services/services.c g_source_remove(op->opaque->timerid); op 484 lib/services/services.c op->opaque->timerid = 0; op 487 lib/services/services.c if(op->opaque->pending) { op 488 lib/services/services.c if (dbus_pending_call_get_completed(op->opaque->pending)) { op 491 lib/services/services.c op->standard, op->id); op 494 lib/services/services.c op->standard, op->id); op 496 lib/services/services.c dbus_pending_call_cancel(op->opaque->pending); op 497 lib/services/services.c services_set_op_pending(op, NULL); op 501 lib/services/services.c if (op->opaque->stderr_gsource) { op 502 lib/services/services.c mainloop_del_fd(op->opaque->stderr_gsource); op 503 lib/services/services.c op->opaque->stderr_gsource = NULL; op 506 lib/services/services.c if (op->opaque->stdout_gsource) { op 507 lib/services/services.c mainloop_del_fd(op->opaque->stdout_gsource); op 508 lib/services/services.c op->opaque->stdout_gsource = NULL; op 513 lib/services/services.c services_action_free(svc_action_t * op) op 517 lib/services/services.c if (op == NULL) { op 525 lib/services/services.c CRM_CHECK(g_list_find(inflight_ops, op) == NULL, return); op 526 lib/services/services.c CRM_CHECK(g_list_find(blocked_ops, op) == NULL, return); op 528 lib/services/services.c || (g_hash_table_lookup(recurring_actions, op->id) == NULL), op 531 lib/services/services.c services_action_cleanup(op); op 533 lib/services/services.c if (op->opaque->repeat_timer) { op 534 lib/services/services.c g_source_remove(op->opaque->repeat_timer); op 535 lib/services/services.c op->opaque->repeat_timer = 0; op 538 lib/services/services.c free(op->id); op 539 lib/services/services.c free(op->opaque->exec); op 541 lib/services/services.c for (i = 0; i < PCMK__NELEM(op->opaque->args); i++) { op 542 lib/services/services.c free(op->opaque->args[i]); op 545 lib/services/services.c free(op->opaque); op 546 lib/services/services.c free(op->rsc); op 547 lib/services/services.c free(op->action); op 549 lib/services/services.c free(op->standard); op 550 lib/services/services.c free(op->agent); op 551 lib/services/services.c free(op->provider); op 553 lib/services/services.c free(op->stdout_data); op 554 lib/services/services.c free(op->stderr_data); op 556 lib/services/services.c if (op->params) { op 557 lib/services/services.c g_hash_table_destroy(op->params); op 558 lib/services/services.c op->params = NULL; op 561 lib/services/services.c free(op); op 565 lib/services/services.c cancel_recurring_action(svc_action_t * op) op 567 lib/services/services.c crm_info("Cancelling %s operation %s", op->standard, op->id); op 570 lib/services/services.c g_hash_table_remove(recurring_actions, op->id); op 573 lib/services/services.c if (op->opaque->repeat_timer) { op 574 lib/services/services.c g_source_remove(op->opaque->repeat_timer); op 575 lib/services/services.c op->opaque->repeat_timer = 0; op 595 lib/services/services.c svc_action_t *op = NULL; op 599 lib/services/services.c op = g_hash_table_lookup(recurring_actions, id); op 600 lib/services/services.c if (op == NULL) { op 605 lib/services/services.c op->cancel = TRUE; op 608 lib/services/services.c cancel_recurring_action(op); op 616 lib/services/services.c if (op->pid != 0) { op 618 lib/services/services.c id, op->pid); op 619 lib/services/services.c cancelled = mainloop_child_kill(op->pid); op 621 lib/services/services.c crm_err("Termination of %s[%d] failed", id, op->pid); op 628 lib/services/services.c if (inflight_systemd_or_upstart(op)) { op 629 lib/services/services.c inflight_ops = g_list_remove(inflight_ops, op); op 634 lib/services/services.c services_action_cleanup(op); op 642 lib/services/services.c op->status = PCMK_LRM_OP_CANCELLED; op 643 lib/services/services.c if (op->opaque->callback) { op 644 lib/services/services.c op->opaque->callback(op); op 647 lib/services/services.c blocked_ops = g_list_remove(blocked_ops, op); op 648 lib/services/services.c services_action_free(op); op 660 lib/services/services.c svc_action_t * op = NULL; op 664 lib/services/services.c op = g_hash_table_lookup(recurring_actions, id); op 667 lib/services/services.c if (op == NULL) { op 672 lib/services/services.c if (op->pid || inflight_systemd_or_upstart(op)) { op 675 lib/services/services.c if (op->opaque->repeat_timer) { op 676 lib/services/services.c g_source_remove(op->opaque->repeat_timer); op 677 lib/services/services.c op->opaque->repeat_timer = 0; op 679 lib/services/services.c recurring_action_timer(op); op 694 lib/services/services.c handle_duplicate_recurring(svc_action_t * op) op 699 lib/services/services.c dup = g_hash_table_lookup(recurring_actions, op->id); op 701 lib/services/services.c if (dup && (dup != op)) { op 703 lib/services/services.c if (op->opaque->callback) { op 704 lib/services/services.c dup->opaque->callback = op->opaque->callback; op 705 lib/services/services.c dup->cb_data = op->cb_data; op 706 lib/services/services.c op->cb_data = NULL; op 710 lib/services/services.c if (op->opaque->repeat_timer) { op 711 lib/services/services.c g_source_remove(op->opaque->repeat_timer); op 712 lib/services/services.c op->opaque->repeat_timer = 0; op 717 lib/services/services.c services_action_free(op); op 725 lib/services/services.c action_exec_helper(svc_action_t * op) op 728 lib/services/services.c if (op->standard op 729 lib/services/services.c && (strcasecmp(op->standard, PCMK_RESOURCE_CLASS_UPSTART) == 0)) { op 731 lib/services/services.c return upstart_job_exec(op); op 733 lib/services/services.c } else if (op->standard && strcasecmp(op->standard, op 736 lib/services/services.c return systemd_unit_exec(op); op 739 lib/services/services.c return services_os_action_execute(op); op 749 lib/services/services.c services_add_inflight_op(svc_action_t * op) op 751 lib/services/services.c if (op == NULL) { op 755 lib/services/services.c CRM_ASSERT(op->synchronous == FALSE); op 758 lib/services/services.c if (op->rsc) { op 759 lib/services/services.c inflight_ops = g_list_append(inflight_ops, op); op 770 lib/services/services.c services_untrack_op(svc_action_t *op) op 773 lib/services/services.c inflight_ops = g_list_remove(inflight_ops, op); op 774 lib/services/services.c blocked_ops = g_list_remove(blocked_ops, op); op 781 lib/services/services.c services_action_async_fork_notify(svc_action_t * op, op 785 lib/services/services.c op->synchronous = false; op 787 lib/services/services.c op->opaque->callback = action_callback; op 790 lib/services/services.c op->opaque->fork_callback = action_fork_callback; op 793 lib/services/services.c if (op->interval_ms > 0) { op 795 lib/services/services.c if (handle_duplicate_recurring(op) == TRUE) { op 800 lib/services/services.c g_hash_table_replace(recurring_actions, op->id, op); op 803 lib/services/services.c if (!pcmk_is_set(op->flags, SVC_ACTION_NON_BLOCKED) op 804 lib/services/services.c && op->rsc && is_op_blocked(op->rsc)) { op 805 lib/services/services.c blocked_ops = g_list_append(blocked_ops, op); op 809 lib/services/services.c return action_exec_helper(op); op 813 lib/services/services.c services_action_async(svc_action_t * op, op 816 lib/services/services.c return services_action_async_fork_notify(op, action_callback, NULL); op 825 lib/services/services.c svc_action_t *op = NULL; op 828 lib/services/services.c op = gIter->data; op 829 lib/services/services.c if (pcmk__str_eq(op->rsc, rsc, pcmk__str_casei)) { op 842 lib/services/services.c svc_action_t *op = NULL; op 855 lib/services/services.c op = gIter->data; op 856 lib/services/services.c if (is_op_blocked(op->rsc)) { op 859 lib/services/services.c executed_ops = g_list_append(executed_ops, op); op 860 lib/services/services.c res = action_exec_helper(op); op 862 lib/services/services.c op->status = PCMK_LRM_OP_ERROR; op 865 lib/services/services.c operation_finalize(op); op 870 lib/services/services.c op = gIter->data; op 871 lib/services/services.c blocked_ops = g_list_remove(blocked_ops, op); op 879 lib/services/services.c action_get_metadata(svc_action_t *op) op 881 lib/services/services.c const char *class = op->standard; op 883 lib/services/services.c if (op->agent == NULL) { op 890 lib/services/services.c op->agent); op 895 lib/services/services.c class = resources_find_service_class(op->agent); op 900 lib/services/services.c op->agent); op 905 lib/services/services.c return (services__get_lsb_metadata(op->agent, &op->stdout_data) >= 0); op 910 lib/services/services.c return services__get_nagios_metadata(op->agent, &op->stdout_data) >= 0; op 914 lib/services/services.c return action_exec_helper(op); op 918 lib/services/services.c services_action_sync(svc_action_t * op) op 922 lib/services/services.c if (op == NULL) { op 927 lib/services/services.c op->synchronous = true; op 929 lib/services/services.c if (pcmk__str_eq(op->action, "meta-data", pcmk__str_casei)) { op 937 lib/services/services.c rc = action_get_metadata(op); op 939 lib/services/services.c rc = action_exec_helper(op); op 942 lib/services/services.c op->rsc, op->action, op->interval_ms, op->opaque->exec, op->rc); op 943 lib/services/services.c if (op->stdout_data) { op 944 lib/services/services.c crm_trace(" > stdout: %s", op->stdout_data); op 946 lib/services/services.c if (op->stderr_data) { op 947 lib/services/services.c crm_trace(" > stderr: %s", op->stderr_data); op 256 lib/services/services_linux.c svc_read_output(int fd, svc_action_t * op, bool is_stderr) op 265 lib/services/services_linux.c crm_trace("No fd for %s", op->id); op 269 lib/services/services_linux.c if (is_stderr && op->stderr_data) { op 270 lib/services/services_linux.c len = strlen(op->stderr_data); op 271 lib/services/services_linux.c data = op->stderr_data; op 272 lib/services/services_linux.c crm_trace("Reading %s stderr into offset %d", op->id, len); op 274 lib/services/services_linux.c } else if (is_stderr == FALSE && op->stdout_data) { op 275 lib/services/services_linux.c len = strlen(op->stdout_data); op 276 lib/services/services_linux.c data = op->stdout_data; op 277 lib/services/services_linux.c crm_trace("Reading %s stdout into offset %d", op->id, len); op 280 lib/services/services_linux.c crm_trace("Reading %s %s into offset %d", op->id, is_stderr?"stderr":"stdout", len); op 302 lib/services/services_linux.c op->stderr_data = data; op 304 lib/services/services_linux.c op->stdout_data = data; op 313 lib/services/services_linux.c svc_action_t *op = (svc_action_t *) userdata; op 315 lib/services/services_linux.c return svc_read_output(op->opaque->stdout_fd, op, FALSE); op 321 lib/services/services_linux.c svc_action_t *op = (svc_action_t *) userdata; op 323 lib/services/services_linux.c return svc_read_output(op->opaque->stderr_fd, op, TRUE); op 329 lib/services/services_linux.c svc_action_t *op = (svc_action_t *) user_data; op 331 lib/services/services_linux.c crm_trace("%p", op); op 333 lib/services/services_linux.c op->opaque->stdout_gsource = NULL; op 334 lib/services/services_linux.c if (op->opaque->stdout_fd > STDOUT_FILENO) { op 335 lib/services/services_linux.c close(op->opaque->stdout_fd); op 337 lib/services/services_linux.c op->opaque->stdout_fd = -1; op 343 lib/services/services_linux.c svc_action_t *op = (svc_action_t *) user_data; op 345 lib/services/services_linux.c op->opaque->stderr_gsource = NULL; op 346 lib/services/services_linux.c if (op->opaque->stderr_fd > STDERR_FILENO) { op 347 lib/services/services_linux.c close(op->opaque->stderr_fd); op 349 lib/services/services_linux.c op->opaque->stderr_fd = -1; op 405 lib/services/services_linux.c add_action_env_vars(const svc_action_t *op) op 408 lib/services/services_linux.c if (op->agent == NULL) { op 411 lib/services/services_linux.c } else if (pcmk__str_eq(op->standard, PCMK_RESOURCE_CLASS_OCF, pcmk__str_casei)) { op 415 lib/services/services_linux.c if (env_setter != NULL && op->params != NULL) { op 416 lib/services/services_linux.c g_hash_table_foreach(op->params, env_setter, NULL); op 428 lib/services/services_linux.c if (op->rsc) { op 429 lib/services/services_linux.c set_ocf_env("OCF_RESOURCE_INSTANCE", op->rsc, NULL); op 432 lib/services/services_linux.c if (op->agent != NULL) { op 433 lib/services/services_linux.c set_ocf_env("OCF_RESOURCE_TYPE", op->agent, NULL); op 437 lib/services/services_linux.c if (op->provider != NULL) { op 438 lib/services/services_linux.c set_ocf_env("OCF_RESOURCE_PROVIDER", op->provider, NULL); op 445 lib/services/services_linux.c svc_action_t *op = user_data; op 451 lib/services/services_linux.c ret = write(op->opaque->stdin_fd, buffer + total, len - total); op 467 lib/services/services_linux.c pipe_in_action_stdin_parameters(const svc_action_t *op) op 470 lib/services/services_linux.c if (op->params) { op 471 lib/services/services_linux.c g_hash_table_foreach(op->params, pipe_in_single_parameter, (gpointer) op); op 478 lib/services/services_linux.c svc_action_t *op = data; op 480 lib/services/services_linux.c crm_debug("Scheduling another invocation of %s", op->id); op 483 lib/services/services_linux.c free(op->stdout_data); op 484 lib/services/services_linux.c op->stdout_data = NULL; op 485 lib/services/services_linux.c free(op->stderr_data); op 486 lib/services/services_linux.c op->stderr_data = NULL; op 487 lib/services/services_linux.c op->opaque->repeat_timer = 0; op 489 lib/services/services_linux.c services_action_async(op, NULL); op 495 lib/services/services_linux.c operation_finalize(svc_action_t * op) op 499 lib/services/services_linux.c if (op->interval_ms) { op 500 lib/services/services_linux.c if (op->cancel) { op 501 lib/services/services_linux.c op->status = PCMK_LRM_OP_CANCELLED; op 502 lib/services/services_linux.c cancel_recurring_action(op); op 505 lib/services/services_linux.c op->opaque->repeat_timer = g_timeout_add(op->interval_ms, op 506 lib/services/services_linux.c recurring_action_timer, (void *)op); op 510 lib/services/services_linux.c if (op->opaque->callback) { op 511 lib/services/services_linux.c op->opaque->callback(op); op 514 lib/services/services_linux.c op->pid = 0; op 516 lib/services/services_linux.c services_untrack_op(op); op 518 lib/services/services_linux.c if (!recurring && op->synchronous == FALSE) { op 523 lib/services/services_linux.c services_action_free(op); op 527 lib/services/services_linux.c services_action_cleanup(op); op 532 lib/services/services_linux.c close_op_input(svc_action_t *op) op 534 lib/services/services_linux.c if (op->opaque->stdin_fd >= 0) { op 535 lib/services/services_linux.c close(op->opaque->stdin_fd); op 540 lib/services/services_linux.c finish_op_output(svc_action_t *op, bool is_stderr) op 546 lib/services/services_linux.c source = &(op->opaque->stderr_gsource); op 547 lib/services/services_linux.c fd = op->opaque->stderr_fd; op 549 lib/services/services_linux.c source = &(op->opaque->stdout_gsource); op 550 lib/services/services_linux.c fd = op->opaque->stdout_fd; op 553 lib/services/services_linux.c if (op->synchronous || *source) { op 555 lib/services/services_linux.c op->id, op->pid, (is_stderr? "stdout" : "stderr")); op 556 lib/services/services_linux.c svc_read_output(fd, op, is_stderr); op 557 lib/services/services_linux.c if (op->synchronous) { op 568 lib/services/services_linux.c log_op_output(svc_action_t *op) op 570 lib/services/services_linux.c char *prefix = crm_strdup_printf("%s[%d] error output", op->id, op->pid); op 572 lib/services/services_linux.c crm_log_output(LOG_NOTICE, prefix, op->stderr_data); op 574 lib/services/services_linux.c crm_log_output(LOG_DEBUG, prefix, op->stdout_data); op 581 lib/services/services_linux.c svc_action_t *op = mainloop_child_userdata(p); op 584 lib/services/services_linux.c CRM_ASSERT(op->pid == pid); op 590 lib/services/services_linux.c finish_op_output(op, true); op 591 lib/services/services_linux.c finish_op_output(op, false); op 593 lib/services/services_linux.c close_op_input(op); op 596 lib/services/services_linux.c crm_debug("%s[%d] exited with status %d", op->id, op->pid, exitcode); op 597 lib/services/services_linux.c op->status = PCMK_LRM_OP_DONE; op 598 lib/services/services_linux.c op->rc = exitcode; op 601 lib/services/services_linux.c crm_warn("%s[%d] timed out after %dms", op->id, op->pid, op->timeout); op 602 lib/services/services_linux.c op->status = PCMK_LRM_OP_TIMEOUT; op 603 lib/services/services_linux.c op->rc = PCMK_OCF_TIMEOUT; op 605 lib/services/services_linux.c } else if (op->cancel) { op 610 lib/services/services_linux.c op->id, op->pid, strsignal(signo), signo); op 611 lib/services/services_linux.c op->status = PCMK_LRM_OP_CANCELLED; op 612 lib/services/services_linux.c op->rc = PCMK_OCF_OK; op 616 lib/services/services_linux.c op->id, op->pid, strsignal(signo), signo); op 617 lib/services/services_linux.c op->status = PCMK_LRM_OP_ERROR; op 618 lib/services/services_linux.c op->rc = PCMK_OCF_SIGNAL; op 621 lib/services/services_linux.c log_op_output(op); op 622 lib/services/services_linux.c operation_finalize(op); op 635 lib/services/services_linux.c services__handle_exec_error(svc_action_t * op, int error) op 640 lib/services/services_linux.c if (pcmk__str_eq(op->standard, PCMK_RESOURCE_CLASS_LSB, pcmk__str_casei) op 641 lib/services/services_linux.c && pcmk__str_eq(op->action, "status", pcmk__str_casei)) { op 648 lib/services/services_linux.c } else if (pcmk__str_eq(op->standard, PCMK_RESOURCE_CLASS_NAGIOS, pcmk__str_casei)) { op 666 lib/services/services_linux.c op->rc = rc_not_installed; op 667 lib/services/services_linux.c op->status = PCMK_LRM_OP_NOT_INSTALLED; op 671 lib/services/services_linux.c op->rc = rc_insufficient_priv; op 672 lib/services/services_linux.c op->status = PCMK_LRM_OP_ERROR; op 675 lib/services/services_linux.c op->rc = rc_exec_error; op 676 lib/services/services_linux.c op->status = PCMK_LRM_OP_ERROR; op 681 lib/services/services_linux.c action_launch_child(svc_action_t *op) op 698 lib/services/services_linux.c crm_perror(LOG_ERR, "Could not reset scheduling policy to SCHED_OTHER for %s", op->id); op 703 lib/services/services_linux.c crm_perror(LOG_ERR, "Could not reset process priority to 0 for %s", op->id); op 715 lib/services/services_linux.c if (pcmk__substitute_secrets(op->rsc, op->params) != pcmk_rc_ok) { op 717 lib/services/services_linux.c if (pcmk__str_eq(op->action, "stop", pcmk__str_casei)) { op 719 lib/services/services_linux.c crm_info("proceeding with the stop operation for %s", op->rsc); op 723 lib/services/services_linux.c "considering resource not configured", op->rsc); op 729 lib/services/services_linux.c add_action_env_vars(op); op 732 lib/services/services_linux.c if (op->opaque->uid && (geteuid() == 0)) { op 735 lib/services/services_linux.c if (op->opaque->gid && (setgid(op->opaque->gid) < 0)) { op 736 lib/services/services_linux.c crm_perror(LOG_ERR, "Could not set child group to %d", op->opaque->gid); op 748 lib/services/services_linux.c if (setuid(op->opaque->uid) < 0) { op 749 lib/services/services_linux.c crm_perror(LOG_ERR, "setting user to %d", op->opaque->uid); op 755 lib/services/services_linux.c execvp(op->opaque->exec, op->opaque->args); op 758 lib/services/services_linux.c services__handle_exec_error(op, errno); op 760 lib/services/services_linux.c _exit(op->rc); op 764 lib/services/services_linux.c action_synced_wait(svc_action_t *op, struct sigchld_data_s *data) op 767 lib/services/services_linux.c int timeout = op->timeout; op 772 lib/services/services_linux.c fds[0].fd = op->opaque->stdout_fd; op 776 lib/services/services_linux.c fds[1].fd = op->opaque->stderr_fd; op 784 lib/services/services_linux.c crm_trace("Waiting for %s[%d]", op->id, op->pid); op 791 lib/services/services_linux.c svc_read_output(op->opaque->stdout_fd, op, FALSE); op 795 lib/services/services_linux.c svc_read_output(op->opaque->stderr_fd, op, TRUE); op 799 lib/services/services_linux.c wait_rc = waitpid(op->pid, &status, WNOHANG); op 808 lib/services/services_linux.c op->id, op->pid, pcmk_strerror(errno)); op 821 lib/services/services_linux.c op->id, op->pid, pcmk_strerror(errno)); op 825 lib/services/services_linux.c timeout = op->timeout - (time(NULL) - start) * 1000; op 827 lib/services/services_linux.c } while ((op->timeout < 0 || timeout > 0)); op 829 lib/services/services_linux.c crm_trace("Stopped waiting for %s[%d]", op->id, op->pid); op 831 lib/services/services_linux.c op->rc = PCMK_OCF_UNKNOWN_ERROR; op 833 lib/services/services_linux.c if (op->timeout > 0 && timeout <= 0) { op 834 lib/services/services_linux.c op->status = PCMK_LRM_OP_TIMEOUT; op 836 lib/services/services_linux.c op->id, op->pid, op->timeout); op 839 lib/services/services_linux.c op->status = PCMK_LRM_OP_ERROR; op 844 lib/services/services_linux.c if (wait_rc == 0 && waitpid(op->pid, &status, WNOHANG) == 0) { op 845 lib/services/services_linux.c if (kill(op->pid, SIGKILL)) { op 847 lib/services/services_linux.c op->id, op->pid, pcmk_strerror(errno)); op 850 lib/services/services_linux.c while (waitpid(op->pid, &status, 0) == (pid_t) -1 && errno == EINTR) /*omit*/; op 854 lib/services/services_linux.c op->status = PCMK_LRM_OP_DONE; op 855 lib/services/services_linux.c op->rc = WEXITSTATUS(status); op 856 lib/services/services_linux.c crm_info("%s[%d] exited with status %d", op->id, op->pid, op->rc); op 861 lib/services/services_linux.c op->status = PCMK_LRM_OP_ERROR; op 863 lib/services/services_linux.c op->id, op->pid, strsignal(signo), signo); op 867 lib/services/services_linux.c crm_err("%s[%d] dumped core", op->id, op->pid); op 871 lib/services/services_linux.c finish_op_output(op, true); op 872 lib/services/services_linux.c finish_op_output(op, false); op 873 lib/services/services_linux.c close_op_input(op); op 880 lib/services/services_linux.c services_os_action_execute(svc_action_t * op) op 890 lib/services/services_linux.c if(stat(op->opaque->exec, &st) != 0) { op 893 lib/services/services_linux.c op->opaque->exec, pcmk_strerror(rc), rc); op 894 lib/services/services_linux.c services__handle_exec_error(op, rc); op 895 lib/services/services_linux.c if (!op->synchronous) { op 896 lib/services/services_linux.c return operation_finalize(op); op 904 lib/services/services_linux.c op->opaque->exec, pcmk_strerror(rc), rc); op 905 lib/services/services_linux.c services__handle_exec_error(op, rc); op 906 lib/services/services_linux.c if (!op->synchronous) { op 907 lib/services/services_linux.c return operation_finalize(op); op 918 lib/services/services_linux.c op->opaque->exec, pcmk_strerror(rc), rc); op 919 lib/services/services_linux.c services__handle_exec_error(op, rc); op 920 lib/services/services_linux.c if (!op->synchronous) { op 921 lib/services/services_linux.c return operation_finalize(op); op 926 lib/services/services_linux.c if (pcmk_is_set(pcmk_get_ra_caps(op->standard), pcmk_ra_cap_stdin)) { op 934 lib/services/services_linux.c op->opaque->exec, pcmk_strerror(rc), rc); op 935 lib/services/services_linux.c services__handle_exec_error(op, rc); op 936 lib/services/services_linux.c if (!op->synchronous) { op 937 lib/services/services_linux.c return operation_finalize(op); op 943 lib/services/services_linux.c if (op->synchronous && !sigchld_setup(&data)) { op 951 lib/services/services_linux.c op->pid = fork(); op 952 lib/services/services_linux.c switch (op->pid) { op 960 lib/services/services_linux.c op->opaque->exec, pcmk_strerror(rc), rc); op 961 lib/services/services_linux.c services__handle_exec_error(op, rc); op 962 lib/services/services_linux.c if (!op->synchronous) { op 963 lib/services/services_linux.c return operation_finalize(op); op 979 lib/services/services_linux.c op->opaque->exec, pcmk_strerror(errno), errno); op 987 lib/services/services_linux.c op->opaque->exec, pcmk_strerror(errno), errno); op 996 lib/services/services_linux.c op->opaque->exec, pcmk_strerror(errno), errno); op 1001 lib/services/services_linux.c if (op->synchronous) { op 1005 lib/services/services_linux.c action_launch_child(op); op 1016 lib/services/services_linux.c op->opaque->stdout_fd = stdout_fd[0]; op 1017 lib/services/services_linux.c rc = pcmk__set_nonblocking(op->opaque->stdout_fd); op 1021 lib/services/services_linux.c op->opaque->exec, pcmk_rc_str(rc), rc); op 1024 lib/services/services_linux.c op->opaque->stderr_fd = stderr_fd[0]; op 1025 lib/services/services_linux.c rc = pcmk__set_nonblocking(op->opaque->stderr_fd); op 1029 lib/services/services_linux.c op->opaque->exec, pcmk_rc_str(rc), rc); op 1032 lib/services/services_linux.c op->opaque->stdin_fd = stdin_fd[1]; op 1033 lib/services/services_linux.c if (op->opaque->stdin_fd >= 0) { op 1036 lib/services/services_linux.c rc = pcmk__set_nonblocking(op->opaque->stdin_fd); op 1039 lib/services/services_linux.c CRM_XS " fd=%d,rc=%d", op->opaque->exec, op 1040 lib/services/services_linux.c pcmk_rc_str(rc), op->opaque->stdin_fd, rc); op 1042 lib/services/services_linux.c pipe_in_action_stdin_parameters(op); op 1044 lib/services/services_linux.c close(op->opaque->stdin_fd); op 1045 lib/services/services_linux.c op->opaque->stdin_fd = -1; op 1049 lib/services/services_linux.c if (op->opaque->fork_callback) { op 1050 lib/services/services_linux.c op->opaque->fork_callback(op); op 1053 lib/services/services_linux.c if (op->synchronous) { op 1054 lib/services/services_linux.c action_synced_wait(op, &data); op 1057 lib/services/services_linux.c crm_trace("Waiting async for '%s'[%d]", op->opaque->exec, op->pid); op 1058 lib/services/services_linux.c mainloop_child_add_with_flags(op->pid, op 1059 lib/services/services_linux.c op->timeout, op 1060 lib/services/services_linux.c op->id, op 1061 lib/services/services_linux.c op, op 1062 lib/services/services_linux.c (op->flags & SVC_ACTION_LEAVE_GROUP) ? mainloop_leave_pid_group : 0, op 1066 lib/services/services_linux.c op->opaque->stdout_gsource = mainloop_add_fd(op->id, op 1068 lib/services/services_linux.c op->opaque->stdout_fd, op, &stdout_callbacks); op 1070 lib/services/services_linux.c op->opaque->stderr_gsource = mainloop_add_fd(op->id, op 1072 lib/services/services_linux.c op->opaque->stderr_fd, op, &stderr_callbacks); op 1074 lib/services/services_linux.c services_add_inflight_op(op); op 30 lib/services/services_private.h void (*callback) (svc_action_t * op); op 31 lib/services/services_private.h void (*fork_callback) (svc_action_t * op); op 50 lib/services/services_private.h gboolean services_os_action_execute(svc_action_t * op); op 62 lib/services/services_private.h gboolean cancel_recurring_action(svc_action_t * op); op 68 lib/services/services_private.h gboolean operation_finalize(svc_action_t * op); op 71 lib/services/services_private.h void services__handle_exec_error(svc_action_t * op, int error); op 74 lib/services/services_private.h void services_add_inflight_op(svc_action_t *op); op 77 lib/services/services_private.h void services_untrack_op(svc_action_t *op); op 84 lib/services/services_private.h void services_set_op_pending(svc_action_t *op, DBusPendingCall *pending); op 22 lib/services/systemd.c gboolean systemd_unit_exec_with_unit(svc_action_t * op, const char *unit); op 232 lib/services/systemd.c systemd_mask_error(svc_action_t *op, const char *error) op 234 lib/services/systemd.c crm_trace("Could not issue %s for %s: %s", op->action, op->rsc, error); op 239 lib/services/systemd.c if (pcmk__str_eq(op->action, "stop", pcmk__str_casei)) { op 240 lib/services/systemd.c crm_trace("Masking %s failure for %s: unknown services are stopped", op->action, op->rsc); op 241 lib/services/systemd.c op->rc = PCMK_OCF_OK; op 245 lib/services/systemd.c crm_trace("Mapping %s failure for %s: unknown services are not installed", op->action, op->rsc); op 246 lib/services/systemd.c op->rc = PCMK_OCF_NOT_INSTALLED; op 247 lib/services/systemd.c op->status = PCMK_LRM_OP_NOT_INSTALLED; op 256 lib/services/systemd.c systemd_loadunit_result(DBusMessage *reply, svc_action_t * op) op 262 lib/services/systemd.c if(op && !systemd_mask_error(op, error.name)) { op 264 lib/services/systemd.c op->agent, op->id, error.message); op 271 lib/services/systemd.c "systemd reply has unexpected type", op->agent, op->id); op 279 lib/services/systemd.c if(op) { op 281 lib/services/systemd.c systemd_unit_exec_with_unit(op, path); op 283 lib/services/systemd.c } else if (op->synchronous == FALSE) { op 284 lib/services/systemd.c operation_finalize(op); op 296 lib/services/systemd.c svc_action_t * op = user_data; op 302 lib/services/systemd.c crm_trace("Got result: %p for %p / %p for %s", reply, pending, op->opaque->pending, op->id); op 304 lib/services/systemd.c CRM_LOG_ASSERT(pending == op->opaque->pending); op 305 lib/services/systemd.c services_set_op_pending(op, NULL); op 315 lib/services/systemd.c systemd_unit_by_name(const gchar * arg_name, svc_action_t *op) op 341 lib/services/systemd.c if(op == NULL || op->synchronous) { op 346 lib/services/systemd.c (op? op->timeout : DBUS_TIMEOUT_USE_DEFAULT)); op 349 lib/services/systemd.c unit = systemd_loadunit_result(reply, op); op 359 lib/services/systemd.c pending = systemd_send(msg, systemd_loadunit_cb, op, op->timeout); op 361 lib/services/systemd.c services_set_op_pending(op, pending); op 546 lib/services/systemd.c systemd_exec_result(DBusMessage *reply, svc_action_t *op) op 553 lib/services/systemd.c if (!systemd_mask_error(op, error.name)) { op 554 lib/services/systemd.c crm_err("Could not issue %s for %s: %s", op->action, op->rsc, error.message); op 560 lib/services/systemd.c crm_warn("Call to %s passed but return type was unexpected", op->action); op 561 lib/services/systemd.c op->rc = PCMK_OCF_OK; op 569 lib/services/systemd.c crm_info("Call to %s passed: %s", op->action, path); op 570 lib/services/systemd.c op->rc = PCMK_OCF_OK; op 574 lib/services/systemd.c operation_finalize(op); op 581 lib/services/systemd.c svc_action_t *op = user_data; op 587 lib/services/systemd.c crm_trace("Got result: %p for %p for %s, %s", reply, pending, op->rsc, op->action); op 589 lib/services/systemd.c CRM_LOG_ASSERT(pending == op->opaque->pending); op 590 lib/services/systemd.c services_set_op_pending(op, NULL); op 591 lib/services/systemd.c systemd_exec_result(reply, op); op 701 lib/services/systemd.c svc_action_t * op = userdata; op 703 lib/services/systemd.c crm_trace("Resource %s has %s='%s'", op->rsc, name, state); op 706 lib/services/systemd.c op->rc = PCMK_OCF_NOT_RUNNING; op 709 lib/services/systemd.c op->rc = PCMK_OCF_OK; op 711 lib/services/systemd.c op->rc = PCMK_OCF_OK; op 713 lib/services/systemd.c op->rc = PCMK_OCF_PENDING; op 715 lib/services/systemd.c op->rc = PCMK_OCF_PENDING; op 717 lib/services/systemd.c op->rc = PCMK_OCF_NOT_RUNNING; op 720 lib/services/systemd.c if (op->synchronous == FALSE) { op 721 lib/services/systemd.c services_set_op_pending(op, NULL); op 722 lib/services/systemd.c operation_finalize(op); op 727 lib/services/systemd.c systemd_unit_exec_with_unit(svc_action_t * op, const char *unit) op 729 lib/services/systemd.c const char *method = op->action; op 735 lib/services/systemd.c if (pcmk__str_eq(op->action, "monitor", pcmk__str_casei) || pcmk__str_eq(method, "status", pcmk__str_casei)) { op 740 lib/services/systemd.c (op->synchronous? NULL : systemd_unit_check), op 741 lib/services/systemd.c op, (op->synchronous? NULL : &pending), op 742 lib/services/systemd.c op->timeout); op 743 lib/services/systemd.c if (op->synchronous) { op 744 lib/services/systemd.c systemd_unit_check("ActiveState", state, op); op 746 lib/services/systemd.c return op->rc == PCMK_OCF_OK; op 748 lib/services/systemd.c services_set_op_pending(op, pending); op 752 lib/services/systemd.c return operation_finalize(op); op 757 lib/services/systemd.c systemd_create_override(op->agent, op->timeout); op 761 lib/services/systemd.c systemd_remove_override(op->agent, op->timeout); op 767 lib/services/systemd.c op->rc = PCMK_OCF_UNIMPLEMENT_FEATURE; op 771 lib/services/systemd.c crm_debug("Calling %s for %s: %s", method, op->rsc, unit); op 779 lib/services/systemd.c char *name = systemd_service_name(op->agent); op 787 lib/services/systemd.c if (op->synchronous == FALSE) { op 789 lib/services/systemd.c op, op->timeout); op 793 lib/services/systemd.c services_set_op_pending(op, pending); op 797 lib/services/systemd.c return operation_finalize(op); op 801 lib/services/systemd.c reply = systemd_send_recv(msg, NULL, op->timeout); op 803 lib/services/systemd.c systemd_exec_result(reply, op); op 812 lib/services/systemd.c if (op->synchronous == FALSE) { op 813 lib/services/systemd.c return operation_finalize(op); op 816 lib/services/systemd.c return op->rc == PCMK_OCF_OK; op 822 lib/services/systemd.c svc_action_t * op = p; op 824 lib/services/systemd.c op->opaque->timerid = 0; op 825 lib/services/systemd.c crm_warn("%s operation on systemd unit %s named '%s' timed out", op->action, op->agent, op->rsc); op 826 lib/services/systemd.c operation_finalize(op); op 834 lib/services/systemd.c systemd_unit_exec(svc_action_t * op) op 838 lib/services/systemd.c CRM_ASSERT(op); op 840 lib/services/systemd.c op->rc = PCMK_OCF_UNKNOWN_ERROR; op 842 lib/services/systemd.c op->synchronous ? "" : "a", op->action, op->agent, op->rsc); op 844 lib/services/systemd.c if (pcmk__str_eq(op->action, "meta-data", pcmk__str_casei)) { op 846 lib/services/systemd.c op->stdout_data = systemd_unit_metadata(op->agent, op->timeout); op 847 lib/services/systemd.c op->rc = PCMK_OCF_OK; op 849 lib/services/systemd.c if (op->synchronous == FALSE) { op 850 lib/services/systemd.c return operation_finalize(op); op 855 lib/services/systemd.c unit = systemd_unit_by_name(op->agent, op); op 858 lib/services/systemd.c if (op->synchronous == FALSE) { op 859 lib/services/systemd.c if (op->opaque->pending) { op 860 lib/services/systemd.c op->opaque->timerid = g_timeout_add(op->timeout + 5000, systemd_timeout_callback, op); op 861 lib/services/systemd.c services_add_inflight_op(op); op 865 lib/services/systemd.c return operation_finalize(op); op 869 lib/services/systemd.c return op->rc == PCMK_OCF_OK; op 17 lib/services/systemd.h G_GNUC_INTERNAL gboolean systemd_unit_exec(svc_action_t * op); op 299 lib/services/upstart.c svc_action_t * op = userdata; op 302 lib/services/upstart.c op->rc = PCMK_OCF_OK; op 306 lib/services/upstart.c op->rc = PCMK_OCF_NOT_RUNNING; op 309 lib/services/upstart.c if (op->synchronous == FALSE) { op 310 lib/services/upstart.c services_set_op_pending(op, NULL); op 311 lib/services/upstart.c operation_finalize(op); op 341 lib/services/upstart.c upstart_mask_error(svc_action_t *op, const char *error) op 343 lib/services/upstart.c crm_trace("Could not issue %s for %s: %s", op->action, op->rsc, error); op 345 lib/services/upstart.c if(pcmk__str_eq(op->action, "stop", pcmk__str_casei)) { op 346 lib/services/upstart.c crm_trace("Masking %s failure for %s: unknown services are stopped", op->action, op->rsc); op 347 lib/services/upstart.c op->rc = PCMK_OCF_OK; op 349 lib/services/upstart.c } else if(pcmk__str_eq(op->action, "start", pcmk__str_casei)) { op 350 lib/services/upstart.c crm_trace("Mapping %s failure for %s: unknown services are not installed", op->action, op->rsc); op 351 lib/services/upstart.c op->rc = PCMK_OCF_NOT_INSTALLED; op 352 lib/services/upstart.c op->status = PCMK_LRM_OP_NOT_INSTALLED; op 356 lib/services/upstart.c } else if (pcmk__str_eq(op->action, "start", pcmk__str_casei) op 358 lib/services/upstart.c crm_trace("Mapping %s failure for %s: starting a started resource is allowed", op->action, op->rsc); op 359 lib/services/upstart.c op->rc = PCMK_OCF_OK; op 371 lib/services/upstart.c svc_action_t *op = user_data; op 381 lib/services/upstart.c if (!upstart_mask_error(op, error.name)) { op 382 lib/services/upstart.c crm_err("%s for %s: %s", op->action, op->rsc, error.message); op 386 lib/services/upstart.c } else if (!g_strcmp0(op->action, "stop")) { op 388 lib/services/upstart.c op->rc = PCMK_OCF_OK; op 392 lib/services/upstart.c crm_warn("Call to %s passed but return type was unexpected", op->action); op 393 lib/services/upstart.c op->rc = PCMK_OCF_OK; op 401 lib/services/upstart.c crm_info("Call to %s passed: %s", op->action, path); op 402 lib/services/upstart.c op->rc = PCMK_OCF_OK; op 406 lib/services/upstart.c CRM_LOG_ASSERT(pending == op->opaque->pending); op 407 lib/services/upstart.c services_set_op_pending(op, NULL); op 408 lib/services/upstart.c operation_finalize(op); op 418 lib/services/upstart.c upstart_job_exec(svc_action_t * op) op 423 lib/services/upstart.c const char *action = op->action; op 430 lib/services/upstart.c op->rc = PCMK_OCF_UNKNOWN_ERROR; op 433 lib/services/upstart.c if (pcmk__str_eq(op->action, "meta-data", pcmk__str_casei)) { op 434 lib/services/upstart.c op->stdout_data = upstart_job_metadata(op->agent); op 435 lib/services/upstart.c op->rc = PCMK_OCF_OK; op 439 lib/services/upstart.c if(!upstart_job_by_name(op->agent, &job, op->timeout)) { op 440 lib/services/upstart.c crm_debug("Could not obtain job named '%s' to %s", op->agent, action); op 442 lib/services/upstart.c op->rc = PCMK_OCF_OK; op 445 lib/services/upstart.c op->rc = PCMK_OCF_NOT_INSTALLED; op 446 lib/services/upstart.c op->status = PCMK_LRM_OP_NOT_INSTALLED; op 451 lib/services/upstart.c if (pcmk__strcase_any_of(op->action, "monitor", "status", NULL)) { op 452 lib/services/upstart.c char *path = get_first_instance(job, op->timeout); op 454 lib/services/upstart.c op->rc = PCMK_OCF_NOT_RUNNING; op 459 lib/services/upstart.c op->synchronous?NULL:upstart_job_check, op, op 460 lib/services/upstart.c op->synchronous?NULL:&pending, op->timeout); op 465 lib/services/upstart.c if(op->synchronous) { op 466 lib/services/upstart.c upstart_job_check("state", state, op); op 468 lib/services/upstart.c return op->rc == PCMK_OCF_OK; op 470 lib/services/upstart.c services_set_op_pending(op, pending); op 471 lib/services/upstart.c services_add_inflight_op(op); op 485 lib/services/upstart.c op->rc = PCMK_OCF_UNIMPLEMENT_FEATURE; op 489 lib/services/upstart.c crm_debug("Calling %s for %s on %s", action, op->rsc, job); op 509 lib/services/upstart.c if (op->synchronous == FALSE) { op 510 lib/services/upstart.c DBusPendingCall* pending = pcmk_dbus_send(msg, upstart_proxy, upstart_async_dispatch, op, op->timeout); op 514 lib/services/upstart.c services_set_op_pending(op, pending); op 515 lib/services/upstart.c services_add_inflight_op(op); op 522 lib/services/upstart.c reply = pcmk_dbus_send_recv(msg, upstart_proxy, &error, op->timeout); op 525 lib/services/upstart.c if(!upstart_mask_error(op, error.name)) { op 527 lib/services/upstart.c action, op->rsc, error.message, job); op 531 lib/services/upstart.c } else if (!g_strcmp0(op->action, "stop")) { op 533 lib/services/upstart.c op->rc = PCMK_OCF_OK; op 536 lib/services/upstart.c crm_warn("Call to %s passed but return type was unexpected", op->action); op 537 lib/services/upstart.c op->rc = PCMK_OCF_OK; op 545 lib/services/upstart.c crm_info("Call to %s passed: %s", op->action, path); op 546 lib/services/upstart.c op->rc = PCMK_OCF_OK; op 560 lib/services/upstart.c if (op->synchronous == FALSE) { op 561 lib/services/upstart.c return operation_finalize(op); op 563 lib/services/upstart.c return op->rc == PCMK_OCF_OK; op 18 lib/services/upstart.h G_GNUC_INTERNAL gboolean upstart_job_exec(svc_action_t * op); op 82 maint/mocked/based-notifyfenced.c do_cib_notify(pcmk__client_t *cib_client, int options, const char *op, op 94 maint/mocked/based-notifyfenced.c crm_xml_add(update_msg, F_CIB_OPERATION, op); op 134 maint/mocked/based.c const char *op = crm_element_value(op_request, F_CIB_OPERATION); op 137 maint/mocked/based.c if (!strcmp(op, CRM_OP_REGISTER)) { op 147 maint/mocked/based.c } else if (!strcmp(op, T_CIB_NOTIFY)) { op 170 maint/mocked/based.c } else if (!strcmp(op, CIB_OP_QUERY)) { op 174 maint/mocked/based.c crm_notice("Discarded request %s", op); op 1975 tools/crm_mon.c const char *op = crm_element_value(change, XML_DIFF_OP); op 1980 tools/crm_mon.c if(op == NULL) { op 1983 tools/crm_mon.c } else if(strcmp(op, "create") == 0) { op 1986 tools/crm_mon.c } else if(strcmp(op, "move") == 0) { op 1989 tools/crm_mon.c } else if(strcmp(op, "delete") == 0) { op 1992 tools/crm_mon.c } else if(strcmp(op, "modify") == 0) { op 2003 tools/crm_mon.c crm_trace("Handling %s operation for %s %p, %s", op, xpath, match, name); op 2008 tools/crm_mon.c crm_debug("No result for %s operation to %s", op, xpath); op 2009 tools/crm_mon.c CRM_ASSERT(strcmp(op, "delete") == 0 || strcmp(op, "move") == 0); op 2068 tools/crm_mon.c crm_trace("Ignoring %s operation for %s %p, %s", op, xpath, match, name); op 1686 tools/crm_resource_runtime.c svc_action_t *op = NULL; op 1713 tools/crm_resource_runtime.c op = resources_action_create(rsc_name, rsc_class, rsc_prov, rsc_type, action, 0, op 1715 tools/crm_resource_runtime.c if (op == NULL) { op 1719 tools/crm_resource_runtime.c op = resources_action_create(rsc_name, rsc_class, rsc_prov, rsc_type, action, 0, op 1729 tools/crm_resource_runtime.c services_action_free(op); op 1754 tools/crm_resource_runtime.c g_hash_table_replace(op->params, strdup(name), strdup(value)); op 1758 tools/crm_resource_runtime.c if (services_action_sync(op)) { op 1759 tools/crm_resource_runtime.c exit_code = op->rc; op 1761 tools/crm_resource_runtime.c if (op->status == PCMK_LRM_OP_DONE) { op 1764 tools/crm_resource_runtime.c services_ocf_exitcode_str(op->rc), op->rc); op 1768 tools/crm_resource_runtime.c services_lrm_status_str(op->status), op->status); op 1775 tools/crm_resource_runtime.c if (op->stdout_data || op->stderr_data) { op 1776 tools/crm_resource_runtime.c out->subprocess_output(out, op->rc, op->stdout_data, op->stderr_data); op 1779 tools/crm_resource_runtime.c exit_code = op->rc == 0 ? CRM_EX_ERROR : op->rc; op 1783 tools/crm_resource_runtime.c services_action_free(op); op 478 tools/crm_simulate.c const char *op = g_hash_table_lookup(action->meta, "stonith_action"); op 480 tools/crm_simulate.c action_name = crm_strdup_printf("%s%s '%s' %s", prefix, action->task, op, action_host); op 88 tools/ipmiservicelogd.c static void sensor_change(enum ipmi_update_e op, ipmi_entity_t * ent, ipmi_sensor_t * sensor, op 90 tools/ipmiservicelogd.c static void entity_change(enum ipmi_update_e op, ipmi_domain_t * domain, ipmi_entity_t * entity, op 472 tools/ipmiservicelogd.c sensor_change(enum ipmi_update_e op, ipmi_entity_t * ent, ipmi_sensor_t * sensor, void *cb_data) op 476 tools/ipmiservicelogd.c if (op == IPMI_ADDED) { op 492 tools/ipmiservicelogd.c entity_change(enum ipmi_update_e op, ipmi_domain_t * domain, ipmi_entity_t * entity, void *cb_data) op 496 tools/ipmiservicelogd.c if (op == IPMI_ADDED) {