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 190 daemons/attrd/attrd_attributes.c const char *op = crm_element_value(xml, PCMK_XA_TASK); op 193 daemons/attrd/attrd_attributes.c update_both = pcmk__str_eq(op, PCMK__ATTRD_CMD_UPDATE_BOTH, op 199 daemons/attrd/attrd_attributes.c if (update_both || pcmk__str_eq(op, PCMK__ATTRD_CMD_UPDATE, pcmk__str_none)) { op 212 daemons/attrd/attrd_attributes.c if (update_both || pcmk__str_eq(op, PCMK__ATTRD_CMD_UPDATE_DELAY, pcmk__str_none)) { op 67 daemons/attrd/attrd_corosync.c request.op = crm_element_value_copy(request.xml, PCMK_XA_TASK); op 68 daemons/attrd/attrd_corosync.c CRM_CHECK(request.op != NULL, return); op 76 daemons/attrd/attrd_corosync.c !pcmk__str_eq(request.op, PCMK__ATTRD_CMD_CONFIRM, pcmk__str_none)) { op 152 daemons/attrd/attrd_corosync.c xmlNode *op = pcmk__xe_create(NULL, PCMK_XE_OP); op 154 daemons/attrd/attrd_corosync.c crm_xml_add(op, PCMK_XA_TASK, PCMK__ATTRD_CMD_UPDATE); op 155 daemons/attrd/attrd_corosync.c attrd_add_value_xml(op, a, v, false); op 156 daemons/attrd/attrd_corosync.c attrd_send_message(NULL, op, false); op 157 daemons/attrd/attrd_corosync.c pcmk__xml_free(op); op 458 daemons/attrd/attrd_corosync.c const char *op = crm_element_value(xml, PCMK__XA_ATTR_CLEAR_OPERATION); op 472 daemons/attrd/attrd_corosync.c if (attrd_failure_regex(®ex, rsc, op, interval_ms) != pcmk_ok) { op 92 daemons/attrd/attrd_ipc.c const char *rsc, *op, *interval_spec; op 104 daemons/attrd/attrd_ipc.c op = crm_element_value(xml, PCMK__XA_ATTR_CLEAR_OPERATION); op 115 daemons/attrd/attrd_ipc.c if (op == NULL) { op 123 daemons/attrd/attrd_ipc.c rsc, op, interval_ms); op 327 daemons/attrd/attrd_ipc.c handle_value_expansion(const char **value, xmlNode *xml, const char *op, op 332 daemons/attrd/attrd_ipc.c if (a == NULL && pcmk__str_eq(op, PCMK__ATTRD_CMD_UPDATE_DELAY, pcmk__str_none)) { op 422 daemons/attrd/attrd_ipc.c if (handle_value_expansion(&value, child, request->op, attr) == EINVAL) { op 466 daemons/attrd/attrd_ipc.c if (handle_value_expansion(&value, xml, request->op, attr) == EINVAL) { op 617 daemons/attrd/attrd_ipc.c request.op = crm_element_value_copy(request.xml, PCMK_XA_TASK); op 618 daemons/attrd/attrd_ipc.c CRM_CHECK(request.op != NULL, return 0); op 59 daemons/attrd/attrd_messages.c request->op, pcmk__request_origin_type(request), op 62 daemons/attrd/attrd_messages.c "Unknown request type '%s' (bug?)", request->op); op 286 daemons/attrd/attrd_messages.c request->op, pcmk__request_origin_type(request), op 347 daemons/attrd/attrd_messages.c const char *op = crm_element_value(data, PCMK_XA_TASK); op 356 daemons/attrd/attrd_messages.c if (!pcmk__str_eq(op, PCMK__ATTRD_CMD_CONFIRM, pcmk__str_none)) { op 203 daemons/attrd/attrd_utils.c attrd_failure_regex(regex_t *regex, const char *rsc, const char *op, op 213 daemons/attrd/attrd_utils.c } else if (op == NULL) { op 216 daemons/attrd/attrd_utils.c pattern = crm_strdup_printf(ATTRD_RE_CLEAR_OP, rsc, op, interval_ms); op 89 daemons/attrd/pacemaker-attrd.h int attrd_failure_regex(regex_t *regex, const char *rsc, const char *op, op 140 daemons/based/based_callbacks.c create_cib_reply(const char *op, const char *call_id, const char *client_id, op 146 daemons/based/based_callbacks.c crm_xml_add(reply, PCMK__XA_CIB_OP, op); op 225 daemons/based/based_callbacks.c const char *op = crm_element_value(op_request, PCMK__XA_CIB_OP); op 242 daemons/based/based_callbacks.c if (pcmk__str_eq(op, CRM_OP_REGISTER, pcmk__str_none)) { op 254 daemons/based/based_callbacks.c } else if (pcmk__str_eq(op, PCMK__VALUE_CIB_NOTIFY, pcmk__str_none)) { op 520 daemons/based/based_callbacks.c const char *host, const char *op, gboolean *local_notify, op 538 daemons/based/based_callbacks.c op, pcmk__client_name(cib_client)); op 545 daemons/based/based_callbacks.c op, host); op 561 daemons/based/based_callbacks.c op, pcmk__client_name(cib_client), op 568 daemons/based/based_callbacks.c op, pcmk__client_name(cib_client)); op 573 daemons/based/based_callbacks.c op, pcmk__client_name(cib_client)); op 592 daemons/based/based_callbacks.c const char *op = crm_element_value(request, PCMK__XA_CIB_OP); op 602 daemons/based/based_callbacks.c if (pcmk__str_eq(op, PCMK__CIB_REQUEST_REPLACE, pcmk__str_none)) { op 609 daemons/based/based_callbacks.c } else if (pcmk__str_eq(op, PCMK__CIB_REQUEST_SYNC_TO_ALL, op 613 daemons/based/based_callbacks.c } else if (is_reply && pcmk__str_eq(op, CRM_OP_PING, pcmk__str_casei)) { op 617 daemons/based/based_callbacks.c } else if (pcmk__str_eq(op, PCMK__CIB_REQUEST_UPGRADE, pcmk__str_none)) { op 655 daemons/based/based_callbacks.c crm_info("Detected legacy %s global update from %s", op, originator); op 661 daemons/based/based_callbacks.c crm_trace("Ignoring legacy %s reply sent from %s to local clients", op, originator); op 664 daemons/based/based_callbacks.c } else if (pcmk__str_eq(op, PCMK__CIB_REQUEST_SHUTDOWN, pcmk__str_none)) { op 677 daemons/based/based_callbacks.c op, originator); op 692 daemons/based/based_callbacks.c crm_trace("Processing %s request sent to us from %s", op, originator); op 698 daemons/based/based_callbacks.c op, host); op 701 daemons/based/based_callbacks.c } else if(is_reply == FALSE && pcmk__str_eq(op, CRM_OP_PING, pcmk__str_casei)) { op 706 daemons/based/based_callbacks.c "(local clients will%s be notified)", op, op 724 daemons/based/based_callbacks.c const char *op = crm_element_value(request, PCMK__XA_CIB_OP); op 735 daemons/based/based_callbacks.c if (pcmk__str_eq(op, PCMK__CIB_REQUEST_NOOP, pcmk__str_none)) { op 741 daemons/based/based_callbacks.c pcmk__s(op, "invalid"), op 805 daemons/based/based_callbacks.c const char *op = crm_element_value(request, PCMK__XA_CIB_OP); op 829 daemons/based/based_callbacks.c op, pcmk__s(client_name, "client"), call_id, originator, op 834 daemons/based/based_callbacks.c op, pcmk__s(client_name, "client"), call_id, op 838 daemons/based/based_callbacks.c rc = cib__get_operation(op, &operation); op 848 daemons/based/based_callbacks.c crm_err("Operation %s not supported by CIB manager", op); op 853 daemons/based/based_callbacks.c parse_local_options(cib_client, operation, host, op, op 897 daemons/based/based_callbacks.c op_reply = create_cib_reply(op, call_id, client_id, call_options, rc, op 941 daemons/based/based_callbacks.c op, section ? section : "'all'", pcmk_strerror(rc), rc, op 950 daemons/based/based_callbacks.c crm_trace("%s operation took %lds to complete", op, (long)(finished - now)); op 1076 daemons/based/based_callbacks.c const char *op = NULL; op 1101 daemons/based/based_callbacks.c op = crm_element_value(request, PCMK__XA_CIB_OP); op 1117 daemons/based/based_callbacks.c rc = cib_perform_op(NULL, op, call_options, op_function, true, section, op 1137 daemons/based/based_callbacks.c CRM_LOG_ASSERT(pcmk__str_any_of(op, op 1146 daemons/based/based_callbacks.c rc = cib_perform_op(NULL, op, call_options, op_function, false, section, op 1172 daemons/based/based_callbacks.c rc = activateCibXml(result_cib, config_changed, op); op 1227 daemons/based/based_callbacks.c cib_diff_notify(op, rc, call_id, client_id, client_name, originator, op 1235 daemons/based/based_callbacks.c *reply = create_cib_reply(op, call_id, client_id, call_options, rc, op 1267 daemons/based/based_callbacks.c const char *op = crm_element_value(msg, PCMK__XA_CIB_OP); op 1269 daemons/based/based_callbacks.c crm_warn("Discarding %s message from %s: %s", op, originator, reason); op 295 daemons/based/based_io.c activateCibXml(xmlNode * new_cib, gboolean to_disk, const char *op) op 304 daemons/based/based_io.c crm_debug("Triggering CIB write for %s op", op); op 43 daemons/based/based_messages.c cib_process_shutdown_req(const char *op, int options, const char *section, xmlNode * req, op 68 daemons/based/based_messages.c cib_process_noop(const char *op, int options, const char *section, xmlNode *req, op 72 daemons/based/based_messages.c crm_trace("Processing \"%s\" event", op); op 78 daemons/based/based_messages.c cib_process_readwrite(const char *op, int options, const char *section, xmlNode * req, op 84 daemons/based/based_messages.c crm_trace("Processing \"%s\" event", op); op 87 daemons/based/based_messages.c if (pcmk__str_eq(op, PCMK__CIB_REQUEST_IS_PRIMARY, pcmk__str_none)) { op 96 daemons/based/based_messages.c if (pcmk__str_eq(op, PCMK__CIB_REQUEST_PRIMARY, pcmk__str_none)) { op 138 daemons/based/based_messages.c cib_process_ping(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 147 daemons/based/based_messages.c crm_trace("Processing \"%s\" event %s from %s", op, seq, host); op 186 daemons/based/based_messages.c cib_process_sync(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 193 daemons/based/based_messages.c cib_process_upgrade_server(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 207 daemons/based/based_messages.c op, options, section, req, input, existing_cib, result_cib, answer); op 218 daemons/based/based_messages.c crm_trace("Processing \"%s\" event", op); op 287 daemons/based/based_messages.c cib_process_sync_one(const char *op, int options, const char *section, xmlNode * req, op 295 daemons/based/based_messages.c cib_server_process_diff(const char *op, int options, const char *section, xmlNode * req, op 329 daemons/based/based_messages.c rc = cib_process_diff(op, options, section, req, input, existing_cib, result_cib, answer); op 349 daemons/based/based_messages.c cib_process_replace_svr(const char *op, int options, const char *section, xmlNode * req, op 354 daemons/based/based_messages.c cib_process_replace(op, options, section, req, input, existing_cib, result_cib, answer); op 366 daemons/based/based_messages.c cib_process_delete_absolute(const char *op, int options, const char *section, xmlNode * req, op 414 daemons/based/based_messages.c const char *op = crm_element_value(request, PCMK__XA_CIB_OP); op 436 daemons/based/based_messages.c crm_xml_add(replace_request, PCMK__XA_ORIGINAL_CIB_OP, op); op 459 daemons/based/based_messages.c cib_process_commit_transaction(const char *op, int options, const char *section, op 486 daemons/based/based_messages.c cib_process_schemas(const char *op, int options, const char *section, xmlNode *req, op 149 daemons/based/based_notify.c cib_diff_notify(const char *op, int result, const char *call_id, op 207 daemons/based/based_notify.c crm_xml_add(update_msg, PCMK__XA_CIB_OP, op); op 64 daemons/based/based_transaction.c const char *op = crm_element_value(request, PCMK__XA_CIB_OP); op 67 daemons/based/based_transaction.c int rc = cib__get_operation(op, &operation); op 86 daemons/based/based_transaction.c source, op, pcmk_rc_str(rc)); op 92 daemons/based/based_transaction.c op, source); op 81 daemons/based/pacemaker-based.h int activateCibXml(xmlNode *doc, gboolean to_disk, const char *op); op 83 daemons/based/pacemaker-based.h int cib_process_shutdown_req(const char *op, int options, const char *section, op 87 daemons/based/pacemaker-based.h int cib_process_noop(const char *op, int options, const char *section, op 90 daemons/based/pacemaker-based.h int cib_process_ping(const char *op, int options, const char *section, op 93 daemons/based/pacemaker-based.h int cib_process_readwrite(const char *op, int options, const char *section, op 96 daemons/based/pacemaker-based.h int cib_process_replace_svr(const char *op, int options, const char *section, op 99 daemons/based/pacemaker-based.h int cib_server_process_diff(const char *op, int options, const char *section, op 102 daemons/based/pacemaker-based.h int cib_process_sync(const char *op, int options, const char *section, op 105 daemons/based/pacemaker-based.h int cib_process_sync_one(const char *op, int options, const char *section, op 108 daemons/based/pacemaker-based.h int cib_process_delete_absolute(const char *op, int options, op 112 daemons/based/pacemaker-based.h int cib_process_upgrade_server(const char *op, int options, const char *section, op 116 daemons/based/pacemaker-based.h int cib_process_commit_transaction(const char *op, int options, op 120 daemons/based/pacemaker-based.h int cib_process_schemas(const char *op, int options, const char *section, op 128 daemons/based/pacemaker-based.h void cib_diff_notify(const char *op, int result, const char *call_id, op 73 daemons/controld/controld_alerts.c crmd_alert_resource_op(const char *node, lrmd_event_data_t * op) op 87 daemons/controld/controld_alerts.c op); op 22 daemons/controld/controld_alerts.h void crmd_alert_resource_op(const char *node, lrmd_event_data_t *op); op 130 daemons/controld/controld_attrd.c update_attrd_clear_failures(const char *host, const char *rsc, const char *op, op 144 daemons/controld/controld_attrd.c rc = pcmk__attrd_api_clear_failures(attrd_api, host, rsc, op, op 150 daemons/controld/controld_attrd.c if (op != NULL) { op 154 daemons/controld/controld_attrd.c QB_XS " rc=%d", interval_desc, pcmk__s(op, "operations"), op 41 daemons/controld/controld_callbacks.c const char *op = crm_element_value(msg, PCMK__XA_CRM_TASK); op 53 daemons/controld/controld_callbacks.c do_crm_log(level, "Another DC detected: %s (op=%s)", from, op); op 473 daemons/controld/controld_cib.c build_parameter_list(const lrmd_event_data_t *op, op 486 daemons/controld/controld_cib.c g_hash_table_foreach(op->params, hash2field, *result); op 527 daemons/controld/controld_cib.c const char *v = g_hash_table_lookup(op->params, param->rap_name); op 548 daemons/controld/controld_cib.c append_restart_list(lrmd_event_data_t *op, struct ra_metadata_s *metadata, op 555 daemons/controld/controld_cib.c CRM_LOG_ASSERT(op->params != NULL); op 557 daemons/controld/controld_cib.c if (op->interval_ms > 0) { op 566 daemons/controld/controld_cib.c list = build_parameter_list(op, metadata, ra_param_reloadable, op 576 daemons/controld/controld_cib.c list = build_parameter_list(op, metadata, ra_param_unique, &restart); op 593 daemons/controld/controld_cib.c crm_trace("%s: %s, %s", op->rsc_id, digest, (const char *) list->str); op 595 daemons/controld/controld_cib.c crm_trace("%s: %s", op->rsc_id, digest); op 606 daemons/controld/controld_cib.c append_secure_list(lrmd_event_data_t *op, struct ra_metadata_s *metadata, op 613 daemons/controld/controld_cib.c CRM_LOG_ASSERT(op->params != NULL); op 618 daemons/controld/controld_cib.c list = build_parameter_list(op, metadata, ra_param_private, &secure); op 626 daemons/controld/controld_cib.c crm_trace("%s: %s, %s", op->rsc_id, digest, (const char *) list->str); op 629 daemons/controld/controld_cib.c crm_trace("%s: no secure parameters", op->rsc_id); op 649 daemons/controld/controld_cib.c lrmd_event_data_t *op, op 658 daemons/controld/controld_cib.c if (op == NULL) { op 662 daemons/controld/controld_cib.c target_rc = rsc_op_expected_rc(op); op 664 daemons/controld/controld_cib.c caller_version = g_hash_table_lookup(op->params, PCMK_XA_CRM_FEATURE_SET); op 667 daemons/controld/controld_cib.c xml_op = pcmk__create_history_xml(parent, op, caller_version, target_rc, op 674 daemons/controld/controld_cib.c if ((rsc == NULL) || (op->params == NULL) op 675 daemons/controld/controld_cib.c || !crm_op_needs_metadata(rsc->standard, op->op_type)) { op 678 daemons/controld/controld_cib.c op->op_type, op->rsc_id, op->params, rsc); op 686 daemons/controld/controld_cib.c op->rsc_id, op->op_type, op->interval_ms, node_name); op 704 daemons/controld/controld_cib.c append_restart_list(op, metadata, xml_op, caller_version); op 705 daemons/controld/controld_cib.c append_secure_list(op, metadata, xml_op, caller_version); op 722 daemons/controld/controld_cib.c lrmd_event_data_t *op) op 726 daemons/controld/controld_cib.c CRM_CHECK((node_name != NULL) && (rsc != NULL) && (op != NULL), op 730 daemons/controld/controld_cib.c if ((op->op_type == NULL) || (op->params == NULL) op 731 daemons/controld/controld_cib.c || !controld_action_is_recordable(op->op_type)) { op 736 daemons/controld/controld_cib.c record_pending = crm_meta_value(op->params, PCMK_META_RECORD_PENDING); op 742 daemons/controld/controld_cib.c rsc->id, op->op_type); op 746 daemons/controld/controld_cib.c op->call_id = -1; op 747 daemons/controld/controld_cib.c op->t_run = time(NULL); op 748 daemons/controld/controld_cib.c op->t_rcchange = op->t_run; op 750 daemons/controld/controld_cib.c lrmd__set_result(op, PCMK_OCF_UNKNOWN, PCMK_EXEC_PENDING, NULL); op 753 daemons/controld/controld_cib.c pcmk__readable_interval(op->interval_ms), op->op_type, op->rsc_id, op 755 daemons/controld/controld_cib.c controld_update_resource_history(node_name, rsc, op, 0); op 790 daemons/controld/controld_cib.c should_preserve_lock(lrmd_event_data_t *op) op 795 daemons/controld/controld_cib.c if (!strcmp(op->op_type, PCMK_ACTION_STOP) && (op->rc == PCMK_OCF_OK)) { op 798 daemons/controld/controld_cib.c if (!strcmp(op->op_type, PCMK_ACTION_MONITOR) op 799 daemons/controld/controld_cib.c && (op->rc == PCMK_OCF_NOT_RUNNING)) { op 871 daemons/controld/controld_cib.c lrmd_event_data_t *op, time_t lock_time) op 879 daemons/controld/controld_cib.c CRM_CHECK((node_name != NULL) && (op != NULL), return); op 882 daemons/controld/controld_cib.c crm_warn("Resource %s no longer exists in the executor", op->rsc_id); op 883 daemons/controld/controld_cib.c controld_ack_event_directly(NULL, NULL, rsc, op, op->rsc_id); op 911 daemons/controld/controld_cib.c crm_xml_add(xml, PCMK_XA_ID, op->rsc_id); op 919 daemons/controld/controld_cib.c if (!should_preserve_lock(op)) { op 924 daemons/controld/controld_cib.c if (op->params != NULL) { op 925 daemons/controld/controld_cib.c container = g_hash_table_lookup(op->params, op 929 daemons/controld/controld_cib.c op->rsc_id, container); op 935 daemons/controld/controld_cib.c controld_add_resource_history_xml(xml, rsc, op, node_name); op 953 daemons/controld/controld_cib.c controld_delete_action_history(const lrmd_event_data_t *op) op 957 daemons/controld/controld_cib.c CRM_CHECK(op != NULL, return); op 960 daemons/controld/controld_cib.c crm_xml_add_int(xml_top, PCMK__XA_CALL_ID, op->call_id); op 961 daemons/controld/controld_cib.c crm_xml_add(xml_top, PCMK__XA_TRANSITION_KEY, op->user_data); op 963 daemons/controld/controld_cib.c if (op->interval_ms > 0) { op 964 daemons/controld/controld_cib.c char *op_id = pcmk__op_key(op->rsc_id, op->op_type, op->interval_ms); op 972 daemons/controld/controld_cib.c op->rsc_id, op->op_type, op->interval_ms, op->call_id); op 79 daemons/controld/controld_cib.h lrmd_event_data_t *op, op 82 daemons/controld/controld_cib.h #define controld_add_resource_history_xml(parent, rsc, op, node_name) \ op 84 daemons/controld/controld_cib.h (op), (node_name)) op 88 daemons/controld/controld_cib.h lrmd_event_data_t *op); op 92 daemons/controld/controld_cib.h lrmd_event_data_t *op, time_t lock_time); op 94 daemons/controld/controld_cib.h void controld_delete_action_history(const lrmd_event_data_t *op); op 91 daemons/controld/controld_execd.c history_remove_recurring_op(rsc_history_t *history, const lrmd_event_data_t *op) op 98 daemons/controld/controld_execd.c if ((op->interval_ms == existing->interval_ms) op 99 daemons/controld/controld_execd.c && pcmk__str_eq(op->rsc_id, existing->rsc_id, pcmk__str_none) op 100 daemons/controld/controld_execd.c && pcmk__str_eq(op->op_type, existing->op_type, pcmk__str_casei)) { op 156 daemons/controld/controld_execd.c update_history_cache(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, lrmd_event_data_t * op) op 161 daemons/controld/controld_execd.c if (op->rsc_deleted) { op 162 daemons/controld/controld_execd.c crm_debug("Purged history for '%s' after %s", op->rsc_id, op->op_type); op 163 daemons/controld/controld_execd.c controld_delete_resource_history(op->rsc_id, lrm_state->node_name, op 168 daemons/controld/controld_execd.c if (pcmk__str_eq(op->op_type, PCMK_ACTION_NOTIFY, pcmk__str_casei)) { op 172 daemons/controld/controld_execd.c crm_debug("Updating history for '%s' with %s op", op->rsc_id, op->op_type); op 174 daemons/controld/controld_execd.c entry = g_hash_table_lookup(lrm_state->resource_history, op->rsc_id); op 177 daemons/controld/controld_execd.c entry->id = pcmk__str_copy(op->rsc_id); op 186 daemons/controld/controld_execd.c crm_info("Resource %s no longer exists, not updating cache", op->rsc_id); op 190 daemons/controld/controld_execd.c entry->last_callid = op->call_id; op 191 daemons/controld/controld_execd.c target_rc = rsc_op_expected_rc(op); op 192 daemons/controld/controld_execd.c if (op->op_status == PCMK_EXEC_CANCELLED) { op 193 daemons/controld/controld_execd.c if (op->interval_ms > 0) { op 195 daemons/controld/controld_execd.c op->rsc_id, op->op_type, op->interval_ms); op 196 daemons/controld/controld_execd.c history_remove_recurring_op(entry, op); op 200 daemons/controld/controld_execd.c op->rsc_id, op->op_type, op->interval_ms, op->rc, op 201 daemons/controld/controld_execd.c op->op_status); op 204 daemons/controld/controld_execd.c } else if (did_rsc_op_fail(op, target_rc)) { op 211 daemons/controld/controld_execd.c entry->failed = lrmd_copy_event(op); op 213 daemons/controld/controld_execd.c } else if (op->interval_ms == 0) { op 217 daemons/controld/controld_execd.c entry->last = lrmd_copy_event(op); op 219 daemons/controld/controld_execd.c if (op->params && pcmk__strcase_any_of(op->op_type, PCMK_ACTION_START, op 228 daemons/controld/controld_execd.c g_hash_table_foreach(op->params, copy_instance_keys, entry->stop_params); op 232 daemons/controld/controld_execd.c if (op->interval_ms > 0) { op 234 daemons/controld/controld_execd.c history_remove_recurring_op(entry, op); op 237 daemons/controld/controld_execd.c op->rsc_id, op->op_type, op->interval_ms); op 238 daemons/controld/controld_execd.c entry->recurring_op_list = g_list_prepend(entry->recurring_op_list, lrmd_copy_event(op)); op 241 daemons/controld/controld_execd.c && !pcmk__str_eq(op->op_type, PCMK_ACTION_MONITOR, op 244 daemons/controld/controld_execd.c g_list_length(entry->recurring_op_list), op->rsc_id, op 245 daemons/controld/controld_execd.c op->op_type, op->interval_ms); op 267 daemons/controld/controld_execd.c lrmd_event_data_t *op = construct_op(lrm_state, input->xml, rsc_id, task); op 269 daemons/controld/controld_execd.c lrmd__set_result(op, PCMK_OCF_OK, PCMK_EXEC_DONE, NULL); op 270 daemons/controld/controld_execd.c controld_ack_event_directly(ack_host, ack_sys, rsc, op, rsc_id); op 271 daemons/controld/controld_execd.c lrmd_free_event(op); op 275 daemons/controld/controld_execd.c op_node_name(lrmd_event_data_t *op) op 277 daemons/controld/controld_execd.c return pcmk__s(op->remote_nodename, op 282 daemons/controld/controld_execd.c lrm_op_callback(lrmd_event_data_t * op) op 284 daemons/controld/controld_execd.c CRM_CHECK(op != NULL, return); op 285 daemons/controld/controld_execd.c switch (op->type) { op 287 daemons/controld/controld_execd.c if (op->remote_nodename == NULL) { op 298 daemons/controld/controld_execd.c controld_get_executor_state(op_node_name(op), false); op 301 daemons/controld/controld_execd.c process_lrm_event(lrm_state, op, NULL, NULL); op 667 daemons/controld/controld_execd.c lrmd_event_data_t *op = NULL; op 674 daemons/controld/controld_execd.c op = construct_op(lrm_state, input->xml, rsc_id, PCMK_ACTION_DELETE); op 675 daemons/controld/controld_execd.c controld_rc2event(op, pcmk_legacy2rc(rc)); op 676 daemons/controld/controld_execd.c controld_ack_event_directly(from_host, from_sys, NULL, op, rsc_id); op 677 daemons/controld/controld_execd.c lrmd_free_event(op); op 685 daemons/controld/controld_execd.c struct pending_deletion_op_s *op = value; op 687 daemons/controld/controld_execd.c if (pcmk__str_eq(event->rsc, op->rsc, pcmk__str_none)) { op 688 daemons/controld/controld_execd.c notify_deleted(event->lrm_state, op->input, event->rsc, event->rc); op 746 daemons/controld/controld_execd.c last_failed_matches_op(rsc_history_t *entry, const char *op, guint interval_ms) op 751 daemons/controld/controld_execd.c if (op == NULL) { op 754 daemons/controld/controld_execd.c return (pcmk__str_eq(op, entry->failed->op_type, pcmk__str_casei) op 793 daemons/controld/controld_execd.c cancel_op(lrm_state_t * lrm_state, const char *rsc_id, const char *key, int op, gboolean remove) op 799 daemons/controld/controld_execd.c CRM_CHECK(op != 0, return FALSE); op 802 daemons/controld/controld_execd.c local_key = make_stop_id(rsc_id, op); op 826 daemons/controld/controld_execd.c crm_debug("Cancelling op %d for %s (%s)", op, rsc_id, key); op 830 daemons/controld/controld_execd.c crm_debug("Op %d for %s (%s): cancelled", op, rsc_id, key); op 835 daemons/controld/controld_execd.c crm_debug("Op %d for %s (%s): Nothing to cancel", op, rsc_id, key); op 862 daemons/controld/controld_execd.c active_op_t *op = value; op 864 daemons/controld/controld_execd.c if (pcmk__str_eq(op->op_key, data->key, pcmk__str_none)) { op 866 daemons/controld/controld_execd.c remove = !cancel_op(data->lrm_state, data->rsc->id, key, op->call_id, data->remove); op 985 daemons/controld/controld_execd.c struct pending_deletion_op_s *op = NULL; op 988 daemons/controld/controld_execd.c op = pcmk__assert_alloc(1, sizeof(struct pending_deletion_op_s)); op 989 daemons/controld/controld_execd.c op->rsc = pcmk__str_copy(rsc->id); op 990 daemons/controld/controld_execd.c op->input = copy_ha_msg_input(request); op 991 daemons/controld/controld_execd.c g_hash_table_insert(lrm_state->deletion_ops, ref, op); op 1027 daemons/controld/controld_execd.c fake_op_status(lrm_state_t *lrm_state, lrmd_event_data_t *op, int op_status, op 1030 daemons/controld/controld_execd.c op->call_id = get_fake_call_id(lrm_state, op->rsc_id); op 1031 daemons/controld/controld_execd.c op->t_run = time(NULL); op 1032 daemons/controld/controld_execd.c op->t_rcchange = op->t_run; op 1033 daemons/controld/controld_execd.c lrmd__set_result(op, op_exitcode, op_status, exit_reason); op 1100 daemons/controld/controld_execd.c lrmd_event_data_t *op = NULL; op 1120 daemons/controld/controld_execd.c op = construct_op(lrm_state, action, pcmk__xe_id(xml_rsc), operation); op 1124 daemons/controld/controld_execd.c fake_op_status(lrm_state, op, PCMK_EXEC_DONE, PCMK_OCF_OK, NULL); op 1126 daemons/controld/controld_execd.c fake_op_status(lrm_state, op, op_status, rc, exit_reason); op 1130 daemons/controld/controld_execd.c op->rsc_id, op->op_type, op->interval_ms, op->rc, target_node); op 1133 daemons/controld/controld_execd.c process_lrm_event(lrm_state, op, NULL, action); op 1134 daemons/controld/controld_execd.c lrmd_free_event(op); op 1164 daemons/controld/controld_execd.c lrmd_event_data_t *op = NULL; op 1178 daemons/controld/controld_execd.c op = construct_op(lrm_state, xml, pcmk__xe_id(xml_rsc), "asyncmon"); op 1180 daemons/controld/controld_execd.c free((char*) op->user_data); op 1181 daemons/controld/controld_execd.c op->user_data = NULL; op 1182 daemons/controld/controld_execd.c op->interval_ms = 0; op 1187 daemons/controld/controld_execd.c fake_op_status(lrm_state, op, PCMK_EXEC_ERROR, op 1190 daemons/controld/controld_execd.c controld_ack_event_directly(from_host, from_sys, NULL, op, op 1192 daemons/controld/controld_execd.c lrmd_free_event(op); op 1199 daemons/controld/controld_execd.c fake_op_status(lrm_state, op, PCMK_EXEC_DONE, PCMK_OCF_UNKNOWN_ERROR, op 1201 daemons/controld/controld_execd.c process_lrm_event(lrm_state, op, NULL, xml); op 1202 daemons/controld/controld_execd.c op->rc = PCMK_OCF_OK; // The request to fail the resource succeeded op 1208 daemons/controld/controld_execd.c fake_op_status(lrm_state, op, PCMK_EXEC_ERROR, PCMK_OCF_UNKNOWN_ERROR, op 1212 daemons/controld/controld_execd.c controld_ack_event_directly(from_host, from_sys, NULL, op, op 1214 daemons/controld/controld_execd.c lrmd_free_event(op); op 1317 daemons/controld/controld_execd.c lrmd_event_data_t *op = NULL; op 1319 daemons/controld/controld_execd.c op = construct_op(lrm_state, input->xml, rsc->id, PCMK_ACTION_DELETE); op 1324 daemons/controld/controld_execd.c lrmd__set_result(op, pcmk_rc2ocf(cib_rc), PCMK_EXEC_ERROR, NULL); op 1325 daemons/controld/controld_execd.c controld_ack_event_directly(from_host, from_sys, NULL, op, rsc->id); op 1326 daemons/controld/controld_execd.c lrmd_free_event(op); op 1580 daemons/controld/controld_execd.c lrmd_event_data_t *op = NULL; op 1592 daemons/controld/controld_execd.c op = lrmd_new_event(rsc_id, operation, 0); op 1593 daemons/controld/controld_execd.c op->type = lrmd_event_exec_complete; op 1594 daemons/controld/controld_execd.c op->timeout = 0; op 1595 daemons/controld/controld_execd.c op->start_delay = 0; op 1596 daemons/controld/controld_execd.c lrmd__set_result(op, PCMK_OCF_UNKNOWN, PCMK_EXEC_PENDING, NULL); op 1601 daemons/controld/controld_execd.c op->user_data = NULL; op 1607 daemons/controld/controld_execd.c op->params = pcmk__strkey_table(free, free); op 1609 daemons/controld/controld_execd.c pcmk__insert_dup(op->params, PCMK_XA_CRM_FEATURE_SET, CRM_FEATURE_SET); op 1612 daemons/controld/controld_execd.c return op; op 1619 daemons/controld/controld_execd.c pcmk__scan_min_int(op_delay, &op->start_delay, 0); op 1622 daemons/controld/controld_execd.c pcmk__scan_min_int(op_timeout, &op->timeout, 0); op 1625 daemons/controld/controld_execd.c &(op->interval_ms)) != pcmk_rc_ok) { op 1626 daemons/controld/controld_execd.c op->interval_ms = 0; op 1636 daemons/controld/controld_execd.c && (op->interval_ms > 0)) { op 1642 daemons/controld/controld_execd.c op->timeout = (int) QB_MIN(timeout_ms, INT_MAX); op 1647 daemons/controld/controld_execd.c op->params = params; op 1659 daemons/controld/controld_execd.c op->params = params; op 1663 daemons/controld/controld_execd.c op->params = pcmk__strkey_table(free, free); op 1665 daemons/controld/controld_execd.c g_hash_table_foreach(params, copy_meta_keys, op->params); op 1666 daemons/controld/controld_execd.c g_hash_table_foreach(entry->stop_params, copy_instance_keys, op->params); op 1673 daemons/controld/controld_execd.c if (op->timeout <= 0) { op 1674 daemons/controld/controld_execd.c op->timeout = op->interval_ms; op 1676 daemons/controld/controld_execd.c if (op->start_delay < 0) { op 1677 daemons/controld/controld_execd.c op->start_delay = 0; op 1681 daemons/controld/controld_execd.c CRM_CHECK(transition != NULL, return op); op 1683 daemons/controld/controld_execd.c op->user_data = pcmk__str_copy(transition); op 1685 daemons/controld/controld_execd.c if (op->interval_ms != 0) { op 1689 daemons/controld/controld_execd.c op->interval_ms); op 1690 daemons/controld/controld_execd.c op->interval_ms = 0; op 1695 daemons/controld/controld_execd.c operation, rsc_id, op->interval_ms); op 1697 daemons/controld/controld_execd.c return op; op 1715 daemons/controld/controld_execd.c const lrmd_rsc_info_t *rsc, lrmd_event_data_t *op, op 1722 daemons/controld/controld_execd.c CRM_CHECK(op != NULL, return); op 1723 daemons/controld/controld_execd.c if (op->rsc_id == NULL) { op 1726 daemons/controld/controld_execd.c op->rsc_id = pcmk__str_copy(rsc_id); op 1741 daemons/controld/controld_execd.c crm_xml_add(iter, PCMK_XA_ID, op->rsc_id); op 1743 daemons/controld/controld_execd.c controld_add_resource_history_xml(iter, rsc, op, op 1758 daemons/controld/controld_execd.c op->rsc_id, op->op_type, op->interval_ms, op->user_data, op 1800 daemons/controld/controld_execd.c active_op_t *op = value; op 1802 daemons/controld/controld_execd.c if ((op->interval_ms != 0) op 1803 daemons/controld/controld_execd.c && pcmk__str_eq(op->rsc_id, event->rsc->id, pcmk__str_none)) { op 1805 daemons/controld/controld_execd.c crm_debug("Cancelling op %d for %s (%s)", op->call_id, op->rsc_id, (char*)key); op 1806 daemons/controld/controld_execd.c remove = !cancel_op(event->lrm_state, event->rsc->id, key, op->call_id, FALSE); op 1817 daemons/controld/controld_execd.c active_op_t *op = value; op 1819 daemons/controld/controld_execd.c if (op->interval_ms != 0) { op 1820 daemons/controld/controld_execd.c crm_info("Cancelling op %d for %s (%s)", op->call_id, op->rsc_id, op 1822 daemons/controld/controld_execd.c remove = !cancel_op(lrm_state, op->rsc_id, key, op->call_id, FALSE); op 1896 daemons/controld/controld_execd.c lrmd_event_data_t *op = NULL; op 1938 daemons/controld/controld_execd.c op = construct_op(lrm_state, msg, rsc->id, operation); op 1939 daemons/controld/controld_execd.c CRM_CHECK(op != NULL, return); op 1941 daemons/controld/controld_execd.c if (should_cancel_recurring(rsc->id, operation, op->interval_ms)) { op 1954 daemons/controld/controld_execd.c rsc->id, operation, op->interval_ms); op 1962 daemons/controld/controld_execd.c pcmk__readable_action(op->op_type, op->interval_ms), rsc->id, op 1966 daemons/controld/controld_execd.c lrmd__set_result(op, PCMK_OCF_UNKNOWN_ERROR, PCMK_EXEC_INVALID, op 1968 daemons/controld/controld_execd.c controld_ack_event_directly(NULL, NULL, rsc, op, rsc->id); op 1969 daemons/controld/controld_execd.c lrmd_free_event(op); op 1976 daemons/controld/controld_execd.c pcmk__readable_action(op->op_type, op->interval_ms), rsc->id, op 1979 daemons/controld/controld_execd.c controld_record_pending_op(lrm_state->node_name, rsc, op); op 1981 daemons/controld/controld_execd.c op_id = pcmk__op_key(rsc->id, op->op_type, op->interval_ms); op 1983 daemons/controld/controld_execd.c if (op->interval_ms > 0) { op 1988 daemons/controld/controld_execd.c rc = controld_execute_resource_agent(lrm_state, rsc->id, op->op_type, op 1989 daemons/controld/controld_execd.c op->user_data, op->interval_ms, op 1990 daemons/controld/controld_execd.c op->timeout, op->start_delay, op 1991 daemons/controld/controld_execd.c op->params, &call_id); op 2003 daemons/controld/controld_execd.c pending->interval_ms = op->interval_ms; op 2008 daemons/controld/controld_execd.c pending->user_data = pcmk__str_copy(op->user_data); op 2015 daemons/controld/controld_execd.c if ((op->interval_ms > 0) op 2016 daemons/controld/controld_execd.c && (op->start_delay > START_DELAY_THRESHOLD)) { op 2020 daemons/controld/controld_execd.c decode_transition_key(op->user_data, NULL, NULL, NULL, &target_rc); op 2021 daemons/controld/controld_execd.c lrmd__set_result(op, target_rc, PCMK_EXEC_DONE, NULL); op 2022 daemons/controld/controld_execd.c controld_ack_event_directly(NULL, NULL, rsc, op, rsc->id); op 2025 daemons/controld/controld_execd.c pending->params = op->params; op 2026 daemons/controld/controld_execd.c op->params = NULL; op 2031 daemons/controld/controld_execd.c fake_op_status(lrm_state, op, PCMK_EXEC_NOT_CONNECTED, op 2033 daemons/controld/controld_execd.c process_lrm_event(lrm_state, op, NULL, NULL); op 2040 daemons/controld/controld_execd.c fake_op_status(lrm_state, op, PCMK_EXEC_NOT_CONNECTED, op 2042 daemons/controld/controld_execd.c process_lrm_event(lrm_state, op, NULL, NULL); op 2046 daemons/controld/controld_execd.c lrmd_free_event(op); op 2108 daemons/controld/controld_execd.c log_executor_event(const lrmd_event_data_t *op, const char *op_key, op 2116 daemons/controld/controld_execd.c pcmk__readable_action(op->op_type, op->interval_ms), op 2117 daemons/controld/controld_execd.c " operation for ", op->rsc_id, NULL); op 2123 daemons/controld/controld_execd.c switch (op->op_status) { op 2126 daemons/controld/controld_execd.c pcmk__g_strcat(str, ": ", crm_exit_str((crm_exit_t) op->rc), NULL); op 2131 daemons/controld/controld_execd.c ": ", pcmk_exec_status_str(op->op_status), " after ", op 2132 daemons/controld/controld_execd.c pcmk__readable_interval(op->timeout), NULL); op 2137 daemons/controld/controld_execd.c pcmk__g_strcat(str, ": ", pcmk_exec_status_str(op->op_status), op 2142 daemons/controld/controld_execd.c pcmk__g_strcat(str, ": ", pcmk_exec_status_str(op->op_status), op 2147 daemons/controld/controld_execd.c if ((op->exit_reason != NULL) op 2148 daemons/controld/controld_execd.c && ((op->op_status != PCMK_EXEC_DONE) || (op->rc != PCMK_OCF_OK))) { op 2150 daemons/controld/controld_execd.c pcmk__g_strcat(str, " (", op->exit_reason, ")", NULL); op 2155 daemons/controld/controld_execd.c (confirmed? "" : "un"), op->call_id, op_key); op 2156 daemons/controld/controld_execd.c if (op->op_status == PCMK_EXEC_DONE) { op 2157 daemons/controld/controld_execd.c g_string_append_printf(str, " rc=%d", op->rc); op 2166 daemons/controld/controld_execd.c if ((op->output != NULL) && (op->rc != PCMK_OCF_OK)) { op 2168 daemons/controld/controld_execd.c op->rsc_id, op->op_type, op 2169 daemons/controld/controld_execd.c op->interval_ms, node_name); op 2171 daemons/controld/controld_execd.c crm_log_output(LOG_NOTICE, prefix, op->output); op 2177 daemons/controld/controld_execd.c process_lrm_event(lrm_state_t *lrm_state, lrmd_event_data_t *op, op 2189 daemons/controld/controld_execd.c CRM_CHECK(op != NULL, return); op 2190 daemons/controld/controld_execd.c CRM_CHECK(op->rsc_id != NULL, return); op 2194 daemons/controld/controld_execd.c switch (op->op_status) { op 2196 daemons/controld/controld_execd.c lrmd__set_result(op, PCMK_OCF_CONNECTION_DIED, op 2197 daemons/controld/controld_execd.c PCMK_EXEC_ERROR, op->exit_reason); op 2200 daemons/controld/controld_execd.c lrmd__set_result(op, CRM_DIRECT_NACK_RC, PCMK_EXEC_ERROR, op 2201 daemons/controld/controld_execd.c op->exit_reason); op 2208 daemons/controld/controld_execd.c op_id = make_stop_id(op->rsc_id, op->call_id); op 2209 daemons/controld/controld_execd.c op_key = pcmk__op_key(op->rsc_id, op->op_type, op->interval_ms); op 2213 daemons/controld/controld_execd.c rsc = lrm_state_get_rsc_info(lrm_state, op->rsc_id, 0); op 2225 daemons/controld/controld_execd.c op->rsc_id, standard, op 2227 daemons/controld/controld_execd.c rsc = lrmd_new_rsc_info(op->rsc_id, standard, provider, type); op 2230 daemons/controld/controld_execd.c op_key, op->rsc_id); op 2248 daemons/controld/controld_execd.c if (op->op_status == PCMK_EXEC_ERROR) { op 2249 daemons/controld/controld_execd.c switch(op->rc) { op 2255 daemons/controld/controld_execd.c op->op_status = PCMK_EXEC_DONE; op 2263 daemons/controld/controld_execd.c if (op->op_status != PCMK_EXEC_CANCELLED) { op 2270 daemons/controld/controld_execd.c if (controld_action_is_recordable(op->op_type)) { op 2275 daemons/controld/controld_execd.c controld_update_resource_history(node_name, rsc, op, lock_time); op 2278 daemons/controld/controld_execd.c } else if (op->rsc_deleted) { op 2296 daemons/controld/controld_execd.c } else if (op->interval_ms == 0) { op 2308 daemons/controld/controld_execd.c } else if (op->user_data == NULL) { op 2320 daemons/controld/controld_execd.c controld_delete_action_history(op); op 2334 daemons/controld/controld_execd.c } else if (op->rsc_deleted) { op 2351 daemons/controld/controld_execd.c controld_ack_event_directly(NULL, NULL, NULL, op, op->rsc_id); op 2358 daemons/controld/controld_execd.c } else if (lrm_state && ((op->interval_ms == 0) op 2359 daemons/controld/controld_execd.c || (op->op_status == PCMK_EXEC_CANCELLED))) { op 2363 daemons/controld/controld_execd.c if (op->interval_ms != 0) { op 2368 daemons/controld/controld_execd.c op_key, op->call_id, op_id, op 2373 daemons/controld/controld_execd.c log_executor_event(op, op_key, node_name, removed); op 2376 daemons/controld/controld_execd.c if (!pcmk__str_eq(op->op_type, PCMK_ACTION_META_DATA, op 2378 daemons/controld/controld_execd.c crmd_alert_resource_op(lrm_state->node_name, op); op 2379 daemons/controld/controld_execd.c } else if (rsc && (op->rc == PCMK_OCF_OK)) { op 2380 daemons/controld/controld_execd.c char *metadata = unescape_newlines(op->output); op 2387 daemons/controld/controld_execd.c if (op->rsc_deleted) { op 2388 daemons/controld/controld_execd.c crm_info("Deletion of resource '%s' complete after %s", op->rsc_id, op_key); op 2390 daemons/controld/controld_execd.c delete_rsc_entry(lrm_state, NULL, op->rsc_id, NULL, pcmk_ok, NULL, op 2400 daemons/controld/controld_execd.c update_history_cache(lrm_state, rsc, op); op 38 daemons/controld/controld_execd_state.c struct pending_deletion_op_s *op = value; op 40 daemons/controld/controld_execd_state.c free(op->rsc); op 41 daemons/controld/controld_execd_state.c delete_ha_msg_input(op->input); op 42 daemons/controld/controld_execd_state.c free(op); op 48 daemons/controld/controld_execd_state.c active_op_t *op = value; op 50 daemons/controld/controld_execd_state.c free(op->user_data); op 51 daemons/controld/controld_execd_state.c free(op->rsc_id); op 52 daemons/controld/controld_execd_state.c free(op->op_type); op 53 daemons/controld/controld_execd_state.c free(op->op_key); op 54 daemons/controld/controld_execd_state.c if (op->params) { op 55 daemons/controld/controld_execd_state.c g_hash_table_destroy(op->params); op 57 daemons/controld/controld_execd_state.c free(op); op 65 daemons/controld/controld_execd_state.c active_op_t *op = value; op 68 daemons/controld/controld_execd_state.c op->rsc_id, op->op_type, op->interval_ms, op 69 daemons/controld/controld_execd_state.c lrm_state->node_name, (char*)key, op->user_data); op 72 daemons/controld/controld_execd_state.c event.rsc_id = op->rsc_id; op 73 daemons/controld/controld_execd_state.c event.op_type = op->op_type; op 74 daemons/controld/controld_execd_state.c event.user_data = op->user_data; op 76 daemons/controld/controld_execd_state.c event.interval_ms = op->interval_ms; op 79 daemons/controld/controld_execd_state.c event.t_run = op->start_time; op 80 daemons/controld/controld_execd_state.c event.t_rcchange = op->start_time; op 82 daemons/controld/controld_execd_state.c event.call_id = op->call_id; op 84 daemons/controld/controld_execd_state.c event.params = op->params; op 86 daemons/controld/controld_execd_state.c process_lrm_event(lrm_state, &event, op, NULL); op 501 daemons/controld/controld_execd_state.c const char *op = crm_element_value(msg, PCMK__XA_LRMD_IPC_OP); op 502 daemons/controld/controld_execd_state.c if (pcmk__str_eq(op, LRMD_IPC_OP_NEW, pcmk__str_casei)) { op 525 daemons/controld/controld_execd_state.c } else if (pcmk__str_eq(op, LRMD_IPC_OP_SHUTDOWN_REQ, pcmk__str_casei)) { op 549 daemons/controld/controld_execd_state.c } else if (pcmk__str_eq(op, LRMD_IPC_OP_REQUEST, pcmk__str_casei) && proxy && proxy->is_local) { op 842 daemons/controld/controld_fencing.c const char *op = crm_meta_value(action->params, op 848 daemons/controld/controld_fencing.c if (pcmk__str_eq(PCMK_ACTION_ON, op, pcmk__str_casei)) { op 268 daemons/controld/controld_join_client.c const char *op = crm_element_value(input->msg, PCMK__XA_CRM_TASK); op 271 daemons/controld/controld_join_client.c if (!pcmk__str_eq(op, CRM_OP_JOIN_ACKNAK, pcmk__str_casei)) { op 272 daemons/controld/controld_join_client.c crm_trace("Ignoring op=%s message", op); op 298 daemons/controld/controld_join_client.c op, welcome_from, controld_globals.dc_name); op 769 daemons/controld/controld_join_dc.c const char *op = crm_element_value(join_ack->msg, PCMK__XA_CRM_TASK); op 787 daemons/controld/controld_join_dc.c if (op == NULL) { op 792 daemons/controld/controld_join_dc.c if (strcmp(op, CRM_OP_JOIN_CONFIRM)) { op 794 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 149 daemons/controld/controld_lrm.h void remote_lrm_op_callback(lrmd_event_data_t * op); op 167 daemons/controld/controld_lrm.h void process_lrm_event(lrm_state_t *lrm_state, lrmd_event_data_t *op, op 171 daemons/controld/controld_lrm.h lrmd_event_data_t *op, const char *rsc_id); op 207 daemons/controld/controld_messages.c lrmd_event_data_t *op = NULL; op 227 daemons/controld/controld_messages.c op = (lrmd_event_data_t *) fsa_data->data; op 228 daemons/controld/controld_messages.c lrmd_free_event(op); op 564 daemons/controld/controld_messages.c const char *op = crm_element_value(client_msg, PCMK__XA_CRM_TASK); op 574 daemons/controld/controld_messages.c if (!pcmk__str_eq(CRM_OP_HELLO, op, pcmk__str_casei)) { op 641 daemons/controld/controld_messages.c const char *op = NULL; op 660 daemons/controld/controld_messages.c op = crm_element_value(xml_attrs, op 685 daemons/controld/controld_messages.c update_attrd_clear_failures(uname, rsc, op, interval_spec, is_remote_node); op 688 daemons/controld/controld_messages.c controld_cib_delete_last_failure(rsc, uname, op, interval_ms); op 690 daemons/controld/controld_messages.c lrm_clear_last_failure(rsc, uname, op, interval_ms); op 751 daemons/controld/controld_messages.c lrmd_event_data_t *op = NULL; op 766 daemons/controld/controld_messages.c op = lrmd_new_event(rsc_id, PCMK_ACTION_DELETE, 0); op 767 daemons/controld/controld_messages.c op->type = lrmd_event_exec_complete; op 768 daemons/controld/controld_messages.c op->user_data = pcmk__str_copy(pcmk__s(transition, FAKE_TE_ID)); op 769 daemons/controld/controld_messages.c op->params = pcmk__strkey_table(free, free); op 770 daemons/controld/controld_messages.c pcmk__insert_dup(op->params, PCMK_XA_CRM_FEATURE_SET, op 772 daemons/controld/controld_messages.c controld_rc2event(op, rc); op 773 daemons/controld/controld_messages.c controld_ack_event_directly(from_host, from_sys, NULL, op, rsc_id); op 774 daemons/controld/controld_messages.c lrmd_free_event(op); op 1062 daemons/controld/controld_messages.c const char *op = crm_element_value(stored_msg, PCMK__XA_CRM_TASK); op 1067 daemons/controld/controld_messages.c if (op == NULL) { op 1072 daemons/controld/controld_messages.c if (strcmp(op, CRM_OP_SHUTDOWN_REQ) == 0) { op 1086 daemons/controld/controld_messages.c if (strcmp(op, CRM_OP_JOIN_ANNOUNCE) == 0) { op 1089 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_JOIN_REQUEST) == 0) { op 1092 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_JOIN_CONFIRM) == 0) { op 1095 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_SHUTDOWN) == 0) { op 1098 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_SHUTDOWN_REQ) == 0) { op 1105 daemons/controld/controld_messages.c if (strcmp(op, CRM_OP_NOVOTE) == 0) { op 1113 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_REMOTE_STATE) == 0) { op 1117 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_THROTTLE) == 0) { op 1127 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_CLEAR_FAILCOUNT) == 0) { op 1130 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_VOTE) == 0) { op 1145 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_JOIN_OFFER) == 0) { op 1151 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_JOIN_ACKNAK) == 0) { op 1156 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_LRM_DELETE) == 0) { op 1159 daemons/controld/controld_messages.c } else if ((strcmp(op, CRM_OP_LRM_FAIL) == 0) op 1160 daemons/controld/controld_messages.c || (strcmp(op, CRM_OP_REPROBE) == 0)) { op 1165 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_NOOP) == 0) { op 1168 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_PING) == 0) { op 1171 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_NODE_INFO) == 0) { op 1174 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_RM_NODE_CACHE) == 0) { op 1202 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_MAINTENANCE_NODES) == 0) { op 1209 daemons/controld/controld_messages.c } else if (strcmp(op, PCMK__CONTROLD_CMD_NODES) == 0) { op 1215 daemons/controld/controld_messages.c if (strcmp(op, CRM_OP_SHUTDOWN) == 0) { op 1220 daemons/controld/controld_messages.c crm_err("Unexpected request (%s) sent to %s", op, AM_I_DC ? "the DC" : "non-DC node"); op 1230 daemons/controld/controld_messages.c const char *op = crm_element_value(stored_msg, PCMK__XA_CRM_TASK); op 1233 daemons/controld/controld_messages.c if (op == NULL) { op 1236 daemons/controld/controld_messages.c } else if (AM_I_DC && strcmp(op, CRM_OP_PECALC) == 0) { op 1241 daemons/controld/controld_messages.c crm_err("%s - Ignoring calculation with no reference", op); op 1252 daemons/controld/controld_messages.c crm_info("%s calculation %s is obsolete", op, msg_ref); op 1255 daemons/controld/controld_messages.c } else if (strcmp(op, CRM_OP_VOTE) == 0 op 1256 daemons/controld/controld_messages.c || strcmp(op, CRM_OP_SHUTDOWN_REQ) == 0 || strcmp(op, CRM_OP_SHUTDOWN) == 0) { op 1262 daemons/controld/controld_messages.c op, host_from, AM_I_DC ? "DC" : "controller"); op 465 daemons/controld/controld_remote_ra.c lrmd_event_data_t op = { 0, }; op 469 daemons/controld/controld_remote_ra.c op.type = lrmd_event_exec_complete; op 470 daemons/controld/controld_remote_ra.c op.rsc_id = cmd->rsc_id; op 471 daemons/controld/controld_remote_ra.c op.op_type = cmd->action; op 472 daemons/controld/controld_remote_ra.c op.user_data = cmd->userdata; op 473 daemons/controld/controld_remote_ra.c op.timeout = cmd->timeout; op 474 daemons/controld/controld_remote_ra.c op.interval_ms = cmd->interval_ms; op 475 daemons/controld/controld_remote_ra.c op.t_run = cmd->start_time; op 476 daemons/controld/controld_remote_ra.c op.t_rcchange = cmd->start_time; op 478 daemons/controld/controld_remote_ra.c lrmd__set_result(&op, cmd->result.exit_status, cmd->result.execution_status, op 482 daemons/controld/controld_remote_ra.c op.t_rcchange = time(NULL); op 492 daemons/controld/controld_remote_ra.c if (op.t_rcchange == op.t_run) { op 493 daemons/controld/controld_remote_ra.c op.t_rcchange++; op 500 daemons/controld/controld_remote_ra.c op.params = pcmk__strkey_table(free, free); op 502 daemons/controld/controld_remote_ra.c pcmk__insert_dup(op.params, tmp->key, tmp->value); op 506 daemons/controld/controld_remote_ra.c op.call_id = cmd->call_id; op 507 daemons/controld/controld_remote_ra.c op.remote_nodename = cmd->owner; op 509 daemons/controld/controld_remote_ra.c lrm_op_callback(&op); op 511 daemons/controld/controld_remote_ra.c if (op.params) { op 512 daemons/controld/controld_remote_ra.c g_hash_table_destroy(op.params); op 514 daemons/controld/controld_remote_ra.c lrmd__reset_result(&op); op 628 daemons/controld/controld_remote_ra.c lrmd_event_data_t op = { 0, }; op 636 daemons/controld/controld_remote_ra.c op.type = lrmd_event_exec_complete; op 637 daemons/controld/controld_remote_ra.c op.rsc_id = rsc_id; op 638 daemons/controld/controld_remote_ra.c op.op_type = op_type; op 639 daemons/controld/controld_remote_ra.c op.t_run = time(NULL); op 640 daemons/controld/controld_remote_ra.c op.t_rcchange = op.t_run; op 641 daemons/controld/controld_remote_ra.c op.call_id = generate_callid(); op 642 daemons/controld/controld_remote_ra.c lrmd__set_result(&op, PCMK_OCF_OK, PCMK_EXEC_DONE, NULL); op 643 daemons/controld/controld_remote_ra.c process_lrm_event(lrm_state, &op, NULL, NULL); op 647 daemons/controld/controld_remote_ra.c remote_lrm_op_callback(lrmd_event_data_t * op) op 654 daemons/controld/controld_remote_ra.c CRM_CHECK((op != NULL) && (op->remote_nodename != NULL), return); op 658 daemons/controld/controld_remote_ra.c (op->op_type? op->op_type : ""), (op->op_type? " " : ""), op 659 daemons/controld/controld_remote_ra.c lrmd_event_type2str(op->type), op->remote_nodename, op 660 daemons/controld/controld_remote_ra.c crm_exit_str((crm_exit_t) op->rc), op->rc, op 661 daemons/controld/controld_remote_ra.c pcmk_exec_status_str(op->op_status), op->op_status); op 663 daemons/controld/controld_remote_ra.c lrm_state = controld_get_executor_state(op->remote_nodename, false); op 670 daemons/controld/controld_remote_ra.c if (op->type == lrmd_event_new_client) { op 680 daemons/controld/controld_remote_ra.c "unexpected client takeover", op->remote_nodename); op 690 daemons/controld/controld_remote_ra.c if (op->type == lrmd_event_exec_complete) { op 694 daemons/controld/controld_remote_ra.c lrm_op_callback(op); op 699 daemons/controld/controld_remote_ra.c if ((op->type == lrmd_event_disconnect) && (ra_data->cur_cmd == NULL)) { op 733 daemons/controld/controld_remote_ra.c if ((op->type == lrmd_event_connect) && pcmk__is_up_action(cmd->action)) { op 734 daemons/controld/controld_remote_ra.c if (op->connection_rc < 0) { op 737 daemons/controld/controld_remote_ra.c if ((op->connection_rc == -ENOKEY) op 738 daemons/controld/controld_remote_ra.c || (op->connection_rc == -EKEYREJECTED)) { op 742 daemons/controld/controld_remote_ra.c pcmk_strerror(op->connection_rc)); op 756 daemons/controld/controld_remote_ra.c pcmk_strerror(op->connection_rc)); op 769 daemons/controld/controld_remote_ra.c } else if ((op->type == lrmd_event_poke) op 798 daemons/controld/controld_remote_ra.c } else if ((op->type == lrmd_event_disconnect) op 220 daemons/controld/controld_te_actions.c lrmd_event_data_t *op = NULL; op 240 daemons/controld/controld_te_actions.c op = pcmk__event_from_graph_action(NULL, action, PCMK_EXEC_TIMEOUT, op 242 daemons/controld/controld_te_actions.c op->call_id = -1; op 243 daemons/controld/controld_te_actions.c op->user_data = pcmk__transition_key(controld_globals.transition_graph->id, op 247 daemons/controld/controld_te_actions.c return op; op 252 daemons/controld/controld_te_actions.c lrmd_event_data_t *op) op 307 daemons/controld/controld_te_actions.c pcmk__create_history_xml(rsc, op, CRM_FEATURE_SET, target_rc, target, op 322 daemons/controld/controld_te_actions.c lrmd_event_data_t *op = NULL; op 333 daemons/controld/controld_te_actions.c op = synthesize_timeout_event(action, target_rc); op 334 daemons/controld/controld_te_actions.c controld_record_action_event(action, op); op 335 daemons/controld/controld_te_actions.c lrmd_free_event(op); op 49 daemons/controld/controld_te_callbacks.c const char *op, const char *xpath) op 119 daemons/controld/controld_te_callbacks.c abort_unless_down(const char *xpath, const char *op, xmlNode *change, op 125 daemons/controld/controld_te_callbacks.c if (!pcmk__str_eq(op, PCMK_VALUE_DELETE, pcmk__str_none)) { op 181 daemons/controld/controld_te_callbacks.c process_delete_diff(const char *xpath, const char *op, xmlNode *change) op 187 daemons/controld/controld_te_callbacks.c abort_unless_down(xpath, op, change, "Resource state removal"); op 190 daemons/controld/controld_te_callbacks.c abort_unless_down(xpath, op, change, "Node state removal"); op 198 daemons/controld/controld_te_callbacks.c process_node_state_diff(xmlNode *state, xmlNode *change, const char *op, op 203 daemons/controld/controld_te_callbacks.c process_resource_updates(pcmk__xe_id(state), lrm, change, op, xpath); op 207 daemons/controld/controld_te_callbacks.c process_status_diff(xmlNode *status, xmlNode *change, const char *op, op 213 daemons/controld/controld_te_callbacks.c process_node_state_diff(state, change, op, xpath); op 218 daemons/controld/controld_te_callbacks.c process_cib_diff(xmlNode *cib, xmlNode *change, const char *op, op 226 daemons/controld/controld_te_callbacks.c process_status_diff(status, change, op, xpath); op 242 daemons/controld/controld_te_callbacks.c const char *op = crm_element_value(change, PCMK_XA_OPERATION); op 245 daemons/controld/controld_te_callbacks.c if (op == NULL) { op 249 daemons/controld/controld_te_callbacks.c crm_trace("Ignoring %s change for version field", op); op 252 daemons/controld/controld_te_callbacks.c } else if ((strcmp(op, PCMK_VALUE_MOVE) == 0) op 264 daemons/controld/controld_te_callbacks.c if (strcmp(op, PCMK_VALUE_CREATE) == 0) { op 267 daemons/controld/controld_te_callbacks.c } else if (strcmp(op, PCMK_VALUE_MODIFY) == 0) { op 273 daemons/controld/controld_te_callbacks.c } else if (!pcmk__str_any_of(op, op 277 daemons/controld/controld_te_callbacks.c op, xpath); op 283 daemons/controld/controld_te_callbacks.c crm_trace("Ignoring %s operation for comment at %s", op, xpath); op 290 daemons/controld/controld_te_callbacks.c op, (xpath? xpath : "CIB"), op 307 daemons/controld/controld_te_callbacks.c abort_unless_down(xpath, op, change, "Transient attribute change"); op 310 daemons/controld/controld_te_callbacks.c } else if (strcmp(op, PCMK_VALUE_DELETE) == 0) { op 311 daemons/controld/controld_te_callbacks.c process_delete_diff(xpath, op, change); op 315 daemons/controld/controld_te_callbacks.c op, xpath); op 318 daemons/controld/controld_te_callbacks.c process_cib_diff(match, change, op, xpath); op 321 daemons/controld/controld_te_callbacks.c process_status_diff(match, change, op, xpath); op 324 daemons/controld/controld_te_callbacks.c process_node_state_diff(match, change, op, xpath); op 327 daemons/controld/controld_te_callbacks.c process_resource_updates(pcmk__xe_id(match), match, change, op, op 333 daemons/controld/controld_te_callbacks.c process_resource_updates(local_node, match, change, op, xpath); op 350 daemons/controld/controld_te_callbacks.c op, xpath, name); op 361 daemons/controld/controld_te_callbacks.c const char *op = NULL; op 387 daemons/controld/controld_te_callbacks.c op = crm_element_value(msg, PCMK__XA_CIB_OP); op 393 daemons/controld/controld_te_callbacks.c crm_debug("Processing (%s) diff: %d.%d.%d -> %d.%d.%d (%s)", op, op 423 daemons/controld/controld_te_utils.c const char *op = crm_element_value(change, PCMK_XA_OPERATION); op 427 daemons/controld/controld_te_utils.c if (strcmp(op, PCMK_VALUE_CREATE) == 0) { op 430 daemons/controld/controld_te_utils.c } else if (strcmp(op, PCMK_VALUE_MODIFY) == 0) { op 440 daemons/controld/controld_te_utils.c if (strcmp(op, PCMK_VALUE_DELETE) == 0) { op 454 daemons/controld/controld_te_utils.c crm_element_value(reason, PCMK_XA_ID), op, op 467 daemons/controld/controld_te_utils.c crm_element_value(reason, PCMK__XA_OPERATION_KEY), op, op 480 daemons/controld/controld_te_utils.c reason->name, op, pcmk__s(uname, pcmk__xe_id(reason)), op 490 daemons/controld/controld_te_utils.c reason->name, pcmk__s(id, ""), pcmk__s(op, "change"), op 74 daemons/controld/controld_utils.h const char *op, const char *interval_spec, op 709 daemons/execd/execd_commands.c const char *op = crm_element_value(request, PCMK__XA_LRMD_OP); op 717 daemons/execd/execd_commands.c crm_xml_add(notify, PCMK__XA_LRMD_OP, op); op 1163 daemons/execd/execd_commands.c for (GList *op = rsc->recurring_ops; op != NULL; op = op->next) { op 1164 daemons/execd/execd_commands.c lrmd_cmd_t *cmd = op->data; op 1536 daemons/execd/execd_commands.c const char *op = crm_element_value(request, PCMK__XA_LRMD_OP); op 1553 daemons/execd/execd_commands.c if (pcmk__str_eq(op, CRM_OP_REGISTER, pcmk__str_none) && op 1878 daemons/execd/execd_commands.c const char *op = crm_element_value(request, PCMK__XA_LRMD_OP); op 1889 daemons/execd/execd_commands.c crm_trace("Processing %s operation from %s", op, client->id); op 1892 daemons/execd/execd_commands.c if (pcmk__str_eq(op, CRM_OP_IPC_FWD, pcmk__str_none)) { op 1903 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, CRM_OP_REGISTER, pcmk__str_none)) { op 1906 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_RSC_REG, pcmk__str_none)) { op 1914 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_RSC_INFO, pcmk__str_none)) { op 1921 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_RSC_UNREG, pcmk__str_none)) { op 1932 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_RSC_EXEC, pcmk__str_none)) { op 1939 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_RSC_CANCEL, pcmk__str_none)) { op 1946 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_POKE, pcmk__str_none)) { op 1949 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_CHECK, pcmk__str_none)) { op 1964 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_ALERT_EXEC, pcmk__str_none)) { op 1971 daemons/execd/execd_commands.c } else if (pcmk__str_eq(op, LRMD_OP_GET_RECURRING, pcmk__str_none)) { op 1982 daemons/execd/execd_commands.c op, pcmk__client_name(client)); op 1987 daemons/execd/execd_commands.c op, pcmk__client_name(client)); op 1991 daemons/execd/execd_commands.c op, client->id, rc, do_reply, do_notify); op 252 daemons/fenced/fenced_cib.c const char *op = crm_element_value(change, PCMK_XA_OPERATION); op 256 daemons/fenced/fenced_cib.c if (pcmk__str_eq(op, PCMK_VALUE_MOVE, pcmk__str_null_matches) op 263 daemons/fenced/fenced_cib.c && pcmk__str_eq(op, PCMK_VALUE_DELETE, pcmk__str_none)) { op 309 daemons/fenced/fenced_cib.c reason = crm_strdup_printf("%s %s", op, shortpath + 1); op 408 daemons/fenced/fenced_cib.c const char *op = crm_element_value(change, PCMK_XA_OPERATION); op 411 daemons/fenced/fenced_cib.c if (op == NULL) { op 418 daemons/fenced/fenced_cib.c op, add[0], add[1], add[2], xpath); op 420 daemons/fenced/fenced_cib.c if (strcmp(op, PCMK_VALUE_DELETE) == 0) { op 426 daemons/fenced/fenced_cib.c op, add[0], add[1], add[2], xpath); op 431 daemons/fenced/fenced_cib.c if (strcmp(op, PCMK_VALUE_CREATE) == 0) { op 434 daemons/fenced/fenced_cib.c } else if (strcmp(op, PCMK_VALUE_MODIFY) == 0) { op 451 daemons/fenced/fenced_cib.c op, add[0], add[1], add[2], xpath); op 459 daemons/fenced/fenced_cib.c && pcmk__str_any_of(op, PCMK_VALUE_CREATE, PCMK_VALUE_DELETE, op 465 daemons/fenced/fenced_cib.c op, add[0], add[1], add[2], xpath); op 471 daemons/fenced/fenced_cib.c op, add[0], add[1], add[2], xpath); op 93 daemons/fenced/fenced_commands.c char *op; op 381 daemons/fenced/fenced_commands.c free(cmd->op); op 399 daemons/fenced/fenced_commands.c xmlNode *op = NULL; op 407 daemons/fenced/fenced_commands.c op = pcmk__xpath_find_one(msg->doc, "//*[@" PCMK__XA_ST_DEVICE_ACTION "]", op 409 daemons/fenced/fenced_commands.c if (op == NULL) { op 416 daemons/fenced/fenced_commands.c cmd->action = crm_element_value_copy(op, PCMK__XA_ST_DEVICE_ACTION); op 417 daemons/fenced/fenced_commands.c cmd->op = crm_element_value_copy(msg, PCMK__XA_ST_OP); op 419 daemons/fenced/fenced_commands.c if ((cmd->action == NULL) || (cmd->op == NULL) || (cmd->client == NULL)) { op 438 daemons/fenced/fenced_commands.c cmd->target = crm_element_value_copy(op, PCMK__XA_ST_TARGET); op 439 daemons/fenced/fenced_commands.c cmd->device = crm_element_value_copy(op, PCMK__XA_ST_DEVICE_ID); op 1898 daemons/fenced/fenced_commands.c xmlNode *op = pcmk__xpath_find_one(msg->doc, op 1902 daemons/fenced/fenced_commands.c const char *action = crm_element_value(op, PCMK__XA_ST_DEVICE_ACTION); op 2971 daemons/fenced/fenced_commands.c crm_xml_add(reply, PCMK__XA_ST_OP, cmd->op); op 2977 daemons/fenced/fenced_commands.c crm_xml_add(reply, PCMK__XA_ST_DEVICE_ACTION, cmd->op); op 2994 daemons/fenced/fenced_commands.c set_fencing_completed(remote_fencing_op_t *op) op 2999 daemons/fenced/fenced_commands.c op->completed = tv.tv_sec; op 3000 daemons/fenced/fenced_commands.c op->completed_nsec = tv.tv_nsec; op 3105 daemons/fenced/fenced_commands.c is_privileged(const pcmk__client_t *c, const char *op) op 3111 daemons/fenced/fenced_commands.c pcmk__s(op, ""), pcmk__client_name(c)); op 3319 daemons/fenced/fenced_commands.c remote_fencing_op_t *op = NULL; op 3335 daemons/fenced/fenced_commands.c op = create_remote_stonith_op(client_id, request->xml, FALSE); op 3340 daemons/fenced/fenced_commands.c crm_xml_add(request->xml, PCMK__XA_ST_REMOTE_OP, op->id); op 3388 daemons/fenced/fenced_commands.c const char *op = crm_element_value(request->xml, PCMK__XA_ST_OP); op 3392 daemons/fenced/fenced_commands.c if (is_privileged(request->ipc_client, op)) { op 3405 daemons/fenced/fenced_commands.c fenced_send_config_notification(op, &request->result, op 3417 daemons/fenced/fenced_commands.c const char *op = crm_element_value(request->xml, PCMK__XA_ST_OP); op 3419 daemons/fenced/fenced_commands.c if (is_privileged(request->ipc_client, op)) { op 3427 daemons/fenced/fenced_commands.c fenced_send_config_notification(op, &request->result, device_id); op 3435 daemons/fenced/fenced_commands.c const char *op = crm_element_value(request->xml, PCMK__XA_ST_OP); op 3437 daemons/fenced/fenced_commands.c if (is_privileged(request->ipc_client, op)) { op 3452 daemons/fenced/fenced_commands.c const char *op = crm_element_value(request->xml, PCMK__XA_ST_OP); op 3454 daemons/fenced/fenced_commands.c if (is_privileged(request->ipc_client, op)) { op 3483 daemons/fenced/fenced_commands.c request->op, pcmk__request_origin_type(request), op 3486 daemons/fenced/fenced_commands.c "Unknown IPC request type '%s' (bug?)", request->op); op 3551 daemons/fenced/fenced_commands.c request->op, pcmk__request_origin_type(request), op 3563 daemons/fenced/fenced_commands.c char *op = crm_element_value_copy(request, PCMK__XA_ST_OP); op 3565 daemons/fenced/fenced_commands.c if (pcmk__str_eq(op, STONITH_OP_QUERY, pcmk__str_none)) { op 3568 daemons/fenced/fenced_commands.c } else if (pcmk__str_any_of(op, STONITH_OP_NOTIFY, STONITH_OP_FENCE, op 3574 daemons/fenced/fenced_commands.c pcmk__s(op, "untyped"), ((client == NULL)? "peer" : "client"), op 3577 daemons/fenced/fenced_commands.c free(op); op 3581 daemons/fenced/fenced_commands.c op, ((client == NULL)? "peer" : "client"), op 3583 daemons/fenced/fenced_commands.c free(op); op 3641 daemons/fenced/fenced_commands.c request.op = crm_element_value_copy(request.xml, PCMK__XA_ST_OP); op 3642 daemons/fenced/fenced_commands.c CRM_CHECK(request.op != NULL, return); 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 192 daemons/fenced/fenced_history.c const remote_fencing_op_t *op = data; op 194 daemons/fenced/fenced_history.c if (!stonith__op_state_pending(op->state)) { op 195 daemons/fenced/fenced_history.c g_hash_table_remove(stonith_remote_op_list, op->id); op 249 daemons/fenced/fenced_history.c remote_fencing_op_t *op = NULL; op 264 daemons/fenced/fenced_history.c op = pcmk__assert_alloc(1, sizeof(remote_fencing_op_t)); op 266 daemons/fenced/fenced_history.c op->id = id; op 267 daemons/fenced/fenced_history.c op->target = crm_element_value_copy(xml_op, PCMK__XA_ST_TARGET); op 268 daemons/fenced/fenced_history.c op->action = crm_element_value_copy(xml_op, PCMK__XA_ST_DEVICE_ACTION); op 269 daemons/fenced/fenced_history.c op->originator = crm_element_value_copy(xml_op, PCMK__XA_ST_ORIGIN); op 270 daemons/fenced/fenced_history.c op->delegate = crm_element_value_copy(xml_op, PCMK__XA_ST_DELEGATE); op 271 daemons/fenced/fenced_history.c op->client_name = crm_element_value_copy(xml_op, op 274 daemons/fenced/fenced_history.c op->completed = (time_t) completed; op 276 daemons/fenced/fenced_history.c op->completed_nsec = completed_nsec; op 278 daemons/fenced/fenced_history.c op->state = (enum op_state) state; op 290 daemons/fenced/fenced_history.c pcmk__set_result(&op->result, exit_status, execution_status, op 292 daemons/fenced/fenced_history.c pcmk__set_result_output(&op->result, op 298 daemons/fenced/fenced_history.c g_hash_table_replace(rv, id, op); op 323 daemons/fenced/fenced_history.c remote_fencing_op_t *op = NULL; op 333 daemons/fenced/fenced_history.c while (g_hash_table_iter_next(&iter, (void **)&id, (void **)&op)) { op 338 daemons/fenced/fenced_history.c g_hash_table_lookup(remote_history, op->id); op 341 daemons/fenced/fenced_history.c if (stonith__op_state_pending(op->state) op 347 daemons/fenced/fenced_history.c op->id, stonith__op_state_text(op->state), op 350 daemons/fenced/fenced_history.c g_hash_table_steal(remote_history, op->id); op 351 daemons/fenced/fenced_history.c op->id = remote_op->id; op 358 daemons/fenced/fenced_history.c } else if (!stonith__op_state_pending(op->state) op 364 daemons/fenced/fenced_history.c op->id, stonith__op_state_text(op->state), op 367 daemons/fenced/fenced_history.c g_hash_table_remove(remote_history, op->id); op 370 daemons/fenced/fenced_history.c g_hash_table_remove(remote_history, op->id); op 376 daemons/fenced/fenced_history.c if (!pcmk__str_eq(target, op->target, pcmk__str_null_matches)) { op 381 daemons/fenced/fenced_history.c crm_trace("Attaching op %s", op->id); op 384 daemons/fenced/fenced_history.c crm_xml_add(entry, PCMK__XA_ST_REMOTE_OP, op->id); op 386 daemons/fenced/fenced_history.c crm_xml_add(entry, PCMK__XA_ST_TARGET, op->target); op 387 daemons/fenced/fenced_history.c crm_xml_add(entry, PCMK__XA_ST_DEVICE_ACTION, op->action); op 388 daemons/fenced/fenced_history.c crm_xml_add(entry, PCMK__XA_ST_ORIGIN, op->originator); op 389 daemons/fenced/fenced_history.c crm_xml_add(entry, PCMK__XA_ST_DELEGATE, op->delegate); op 390 daemons/fenced/fenced_history.c crm_xml_add(entry, PCMK__XA_ST_CLIENTNAME, op->client_name); op 391 daemons/fenced/fenced_history.c crm_xml_add_ll(entry, PCMK__XA_ST_DATE, op->completed); op 393 daemons/fenced/fenced_history.c op->completed_nsec); op 394 daemons/fenced/fenced_history.c crm_xml_add_int(entry, PCMK__XA_ST_STATE, op->state); op 395 daemons/fenced/fenced_history.c stonith__xe_set_result(entry, &op->result); op 405 daemons/fenced/fenced_history.c while (g_hash_table_iter_next(&iter, NULL, (void **)&op)) { op 406 daemons/fenced/fenced_history.c if (stonith__op_state_pending(op->state) && op 407 daemons/fenced/fenced_history.c pcmk__str_eq(op->originator, fenced_get_local_node(), op 411 daemons/fenced/fenced_history.c "known only from peer history", op->id); op 412 daemons/fenced/fenced_history.c op->state = st_failed; op 413 daemons/fenced/fenced_history.c set_fencing_completed(op); op 418 daemons/fenced/fenced_history.c pcmk__set_result(&op->result, CRM_EX_EXPIRED, PCMK_EXEC_INVALID, op 421 daemons/fenced/fenced_history.c fenced_broadcast_op_result(op, false); op 425 daemons/fenced/fenced_history.c g_hash_table_replace(stonith_remote_op_list, op->id, op); op 82 daemons/fenced/fenced_remote.c extern xmlNode *stonith_create_op(int call_id, const char *token, const char *op, xmlNode * data, op 85 daemons/fenced/fenced_remote.c static void request_peer_fencing(remote_fencing_op_t *op, op 87 daemons/fenced/fenced_remote.c static void finalize_op(remote_fencing_op_t *op, xmlNode *data, bool dup); op 88 daemons/fenced/fenced_remote.c static void report_timeout_period(remote_fencing_op_t * op, int op_timeout); op 89 daemons/fenced/fenced_remote.c static int get_op_total_timeout(const remote_fencing_op_t *op, op 120 daemons/fenced/fenced_remote.c const remote_fencing_op_t *op; op 140 daemons/fenced/fenced_remote.c if (!props->executed[data->op->phase] op 161 daemons/fenced/fenced_remote.c count_peer_devices(const remote_fencing_op_t *op, op 166 daemons/fenced/fenced_remote.c data.op = op; op 187 daemons/fenced/fenced_remote.c find_peer_device(const remote_fencing_op_t *op, const peer_device_info_t *peer, op 199 daemons/fenced/fenced_remote.c if (props->executed[op->phase] || props->disallowed[op->phase]) { op 217 daemons/fenced/fenced_remote.c grab_peer_device(const remote_fencing_op_t *op, peer_device_info_t *peer, op 220 daemons/fenced/fenced_remote.c device_properties_t *props = find_peer_device(op, peer, device, op 221 daemons/fenced/fenced_remote.c fenced_support_flag(op->action)); op 229 daemons/fenced/fenced_remote.c count_peer_devices(op, peer, FALSE, fenced_df_none)); op 230 daemons/fenced/fenced_remote.c props->executed[op->phase] = TRUE; op 235 daemons/fenced/fenced_remote.c clear_remote_op_timers(remote_fencing_op_t * op) op 237 daemons/fenced/fenced_remote.c if (op->query_timer) { op 238 daemons/fenced/fenced_remote.c g_source_remove(op->query_timer); op 239 daemons/fenced/fenced_remote.c op->query_timer = 0; op 241 daemons/fenced/fenced_remote.c if (op->op_timer_total) { op 242 daemons/fenced/fenced_remote.c g_source_remove(op->op_timer_total); op 243 daemons/fenced/fenced_remote.c op->op_timer_total = 0; op 245 daemons/fenced/fenced_remote.c if (op->op_timer_one) { op 246 daemons/fenced/fenced_remote.c g_source_remove(op->op_timer_one); op 247 daemons/fenced/fenced_remote.c op->op_timer_one = 0; op 254 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = data; op 256 daemons/fenced/fenced_remote.c crm_log_xml_debug(op->request, "Destroying"); op 258 daemons/fenced/fenced_remote.c clear_remote_op_timers(op); op 260 daemons/fenced/fenced_remote.c free(op->id); op 261 daemons/fenced/fenced_remote.c free(op->action); op 262 daemons/fenced/fenced_remote.c free(op->delegate); op 263 daemons/fenced/fenced_remote.c free(op->target); op 264 daemons/fenced/fenced_remote.c free(op->client_id); op 265 daemons/fenced/fenced_remote.c free(op->client_name); op 266 daemons/fenced/fenced_remote.c free(op->originator); op 268 daemons/fenced/fenced_remote.c if (op->query_results) { op 269 daemons/fenced/fenced_remote.c g_list_free_full(op->query_results, free_remote_query); op 271 daemons/fenced/fenced_remote.c if (op->request) { op 272 daemons/fenced/fenced_remote.c pcmk__xml_free(op->request); op 273 daemons/fenced/fenced_remote.c op->request = NULL; op 275 daemons/fenced/fenced_remote.c if (op->devices_list) { op 276 daemons/fenced/fenced_remote.c g_list_free_full(op->devices_list, free); op 277 daemons/fenced/fenced_remote.c op->devices_list = NULL; op 279 daemons/fenced/fenced_remote.c g_list_free_full(op->automatic_list, free); op 280 daemons/fenced/fenced_remote.c g_list_free(op->duplicates); op 282 daemons/fenced/fenced_remote.c pcmk__reset_result(&op->result); op 283 daemons/fenced/fenced_remote.c free(op); op 303 daemons/fenced/fenced_remote.c op_requested_action(const remote_fencing_op_t *op) op 305 daemons/fenced/fenced_remote.c return ((op->phase > st_phase_requested)? PCMK_ACTION_REBOOT : op->action); op 315 daemons/fenced/fenced_remote.c op_phase_off(remote_fencing_op_t *op) op 318 daemons/fenced/fenced_remote.c QB_XS " id=%.8s", op->target, op->id); op 319 daemons/fenced/fenced_remote.c op->phase = st_phase_off; op 324 daemons/fenced/fenced_remote.c strcpy(op->action, PCMK_ACTION_OFF); op 334 daemons/fenced/fenced_remote.c op_phase_on(remote_fencing_op_t *op) op 340 daemons/fenced/fenced_remote.c op->target, op->client_name, op->id); op 341 daemons/fenced/fenced_remote.c op->phase = st_phase_on; op 342 daemons/fenced/fenced_remote.c strcpy(op->action, PCMK_ACTION_ON); op 347 daemons/fenced/fenced_remote.c for (iter = op->automatic_list; iter != NULL; iter = iter->next) { op 348 daemons/fenced/fenced_remote.c GList *match = g_list_find_custom(op->devices_list, iter->data, op 352 daemons/fenced/fenced_remote.c op->devices_list = g_list_remove(op->devices_list, match->data); op 355 daemons/fenced/fenced_remote.c g_list_free_full(op->automatic_list, free); op 356 daemons/fenced/fenced_remote.c op->automatic_list = NULL; op 359 daemons/fenced/fenced_remote.c op->devices = op->devices_list; op 369 daemons/fenced/fenced_remote.c undo_op_remap(remote_fencing_op_t *op) op 371 daemons/fenced/fenced_remote.c if (op->phase > 0) { op 373 daemons/fenced/fenced_remote.c QB_XS " id=%.8s", op->target, op->client_name, op->id); op 374 daemons/fenced/fenced_remote.c op->phase = st_phase_requested; op 375 daemons/fenced/fenced_remote.c strcpy(op->action, PCMK_ACTION_REBOOT); op 390 daemons/fenced/fenced_remote.c fencing_result2xml(xmlNode *parent, const remote_fencing_op_t *op) op 394 daemons/fenced/fenced_remote.c crm_xml_add_int(notify_data, PCMK_XA_STATE, op->state); op 395 daemons/fenced/fenced_remote.c crm_xml_add(notify_data, PCMK__XA_ST_TARGET, op->target); op 396 daemons/fenced/fenced_remote.c crm_xml_add(notify_data, PCMK__XA_ST_DEVICE_ACTION, op->action); op 397 daemons/fenced/fenced_remote.c crm_xml_add(notify_data, PCMK__XA_ST_DELEGATE, op->delegate); op 398 daemons/fenced/fenced_remote.c crm_xml_add(notify_data, PCMK__XA_ST_REMOTE_OP, op->id); op 399 daemons/fenced/fenced_remote.c crm_xml_add(notify_data, PCMK__XA_ST_ORIGIN, op->originator); op 400 daemons/fenced/fenced_remote.c crm_xml_add(notify_data, PCMK__XA_ST_CLIENTID, op->client_id); op 401 daemons/fenced/fenced_remote.c crm_xml_add(notify_data, PCMK__XA_ST_CLIENTNAME, op->client_name); op 414 daemons/fenced/fenced_remote.c fenced_broadcast_op_result(const remote_fencing_op_t *op, bool op_merged) op 433 daemons/fenced/fenced_remote.c notify_data = fencing_result2xml(wrapper, op); op 434 daemons/fenced/fenced_remote.c stonith__xe_set_result(notify_data, &op->result); op 450 daemons/fenced/fenced_remote.c handle_local_reply_and_notify(remote_fencing_op_t *op, xmlNode *data) op 456 daemons/fenced/fenced_remote.c if (op->notify_sent == TRUE) { op 462 daemons/fenced/fenced_remote.c crm_xml_add_int(data, PCMK_XA_STATE, op->state); op 463 daemons/fenced/fenced_remote.c crm_xml_add(data, PCMK__XA_ST_TARGET, op->target); op 464 daemons/fenced/fenced_remote.c crm_xml_add(data, PCMK__XA_ST_OP, op->action); op 466 daemons/fenced/fenced_remote.c reply = fenced_construct_reply(op->request, data, &op->result); op 467 daemons/fenced/fenced_remote.c crm_xml_add(reply, PCMK__XA_ST_DELEGATE, op->delegate); op 470 daemons/fenced/fenced_remote.c client = pcmk__find_client_by_id(op->client_id); op 472 daemons/fenced/fenced_remote.c crm_trace("Skipping reply to %s: no longer a client", op->client_id); op 474 daemons/fenced/fenced_remote.c do_local_reply(reply, client, op->call_options); op 478 daemons/fenced/fenced_remote.c notify_data = fencing_result2xml(NULL, op); op 479 daemons/fenced/fenced_remote.c fenced_send_notification(PCMK__VALUE_ST_NOTIFY_FENCE, &op->result, op 485 daemons/fenced/fenced_remote.c op->notify_sent = TRUE; op 497 daemons/fenced/fenced_remote.c finalize_op_duplicates(remote_fencing_op_t *op, xmlNode *data) op 499 daemons/fenced/fenced_remote.c for (GList *iter = op->duplicates; iter != NULL; iter = iter->next) { op 503 daemons/fenced/fenced_remote.c other->state = op->state; op 507 daemons/fenced/fenced_remote.c pcmk_exec_status_str(op->result.execution_status), op 509 daemons/fenced/fenced_remote.c pcmk__copy_result(&op->result, &other->result); op 553 daemons/fenced/fenced_remote.c finalize_op(remote_fencing_op_t *op, xmlNode *data, bool dup) op 560 daemons/fenced/fenced_remote.c CRM_CHECK((op != NULL), return); op 563 daemons/fenced/fenced_remote.c clear_remote_op_timers(op); op 565 daemons/fenced/fenced_remote.c if (op->notify_sent) { op 569 daemons/fenced/fenced_remote.c op->action, (op->target? " targeting " : ""), op 570 daemons/fenced/fenced_remote.c (op->target? op->target : ""), op 571 daemons/fenced/fenced_remote.c (op->delegate? op->delegate : "unknown node"), op 572 daemons/fenced/fenced_remote.c op->client_name, op->originator, op 574 daemons/fenced/fenced_remote.c op->id); op 578 daemons/fenced/fenced_remote.c set_fencing_completed(op); op 579 daemons/fenced/fenced_remote.c undo_op_remap(op); op 585 daemons/fenced/fenced_remote.c } else if (op->delegate == NULL) { op 586 daemons/fenced/fenced_remote.c switch (op->result.execution_status) { op 591 daemons/fenced/fenced_remote.c if (op->result.exit_status != CRM_EX_EXPIRED) { op 592 daemons/fenced/fenced_remote.c op->delegate = delegate_from_xml(data); op 597 daemons/fenced/fenced_remote.c op->delegate = delegate_from_xml(data); op 612 daemons/fenced/fenced_remote.c fenced_broadcast_op_result(op, op_merged); op 617 daemons/fenced/fenced_remote.c if (pcmk__result_ok(&op->result) || dup op 618 daemons/fenced/fenced_remote.c || !pcmk__str_eq(op->originator, fenced_get_local_node(), op 623 daemons/fenced/fenced_remote.c QB_XS " id=%.8s", op->action, (op->target? " targeting " : ""), op 624 daemons/fenced/fenced_remote.c (op->target? op->target : ""), op 625 daemons/fenced/fenced_remote.c (op->delegate? op->delegate : "unknown node"), op 626 daemons/fenced/fenced_remote.c op->client_name, op->originator, op 628 daemons/fenced/fenced_remote.c crm_exit_str(op->result.exit_status), op 629 daemons/fenced/fenced_remote.c pcmk_exec_status_str(op->result.execution_status), op 630 daemons/fenced/fenced_remote.c ((op->result.exit_reason == NULL)? "" : ": "), op 631 daemons/fenced/fenced_remote.c ((op->result.exit_reason == NULL)? "" : op->result.exit_reason), op 632 daemons/fenced/fenced_remote.c op->id); op 634 daemons/fenced/fenced_remote.c handle_local_reply_and_notify(op, data); op 637 daemons/fenced/fenced_remote.c finalize_op_duplicates(op, data); op 643 daemons/fenced/fenced_remote.c if (op->query_results) { op 644 daemons/fenced/fenced_remote.c g_list_free_full(op->query_results, free_remote_query); op 645 daemons/fenced/fenced_remote.c op->query_results = NULL; op 647 daemons/fenced/fenced_remote.c if (op->request) { op 648 daemons/fenced/fenced_remote.c pcmk__xml_free(op->request); op 649 daemons/fenced/fenced_remote.c op->request = NULL; op 666 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = userdata; op 668 daemons/fenced/fenced_remote.c op->op_timer_one = 0; op 672 daemons/fenced/fenced_remote.c op->action, op->target, op->client_name, op->id); op 673 daemons/fenced/fenced_remote.c op->state = st_done; op 674 daemons/fenced/fenced_remote.c pcmk__set_result(&op->result, CRM_EX_OK, PCMK_EXEC_DONE, NULL); op 675 daemons/fenced/fenced_remote.c finalize_op(op, NULL, false); op 682 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = userdata; op 684 daemons/fenced/fenced_remote.c op->op_timer_one = 0; op 687 daemons/fenced/fenced_remote.c " id=%.8s", op->action, op->target, op->client_name, op->id); op 688 daemons/fenced/fenced_remote.c pcmk__set_result(&op->result, CRM_EX_ERROR, PCMK_EXEC_TIMEOUT, op 692 daemons/fenced/fenced_remote.c if (op->client_delay > 0) { op 693 daemons/fenced/fenced_remote.c op->client_delay = 0; op 696 daemons/fenced/fenced_remote.c op->action, op->target, op->client_name, op->id); op 700 daemons/fenced/fenced_remote.c request_peer_fencing(op, NULL); op 712 daemons/fenced/fenced_remote.c finalize_timed_out_op(remote_fencing_op_t *op, const char *reason) op 716 daemons/fenced/fenced_remote.c op->action, op->target, op->client_name, op->id); op 718 daemons/fenced/fenced_remote.c if (op->phase == st_phase_on) { op 723 daemons/fenced/fenced_remote.c op->state = st_done; op 724 daemons/fenced/fenced_remote.c pcmk__set_result(&op->result, CRM_EX_OK, PCMK_EXEC_DONE, NULL); op 726 daemons/fenced/fenced_remote.c op->state = st_failed; op 727 daemons/fenced/fenced_remote.c pcmk__set_result(&op->result, CRM_EX_ERROR, PCMK_EXEC_TIMEOUT, reason); op 729 daemons/fenced/fenced_remote.c finalize_op(op, NULL, false); op 743 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = userdata; op 745 daemons/fenced/fenced_remote.c op->op_timer_total = 0; op 747 daemons/fenced/fenced_remote.c if (op->state == st_done) { op 750 daemons/fenced/fenced_remote.c op->action, op->target, op->client_name, op->id); op 763 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = data; op 765 daemons/fenced/fenced_remote.c op->query_timer = 0; op 767 daemons/fenced/fenced_remote.c if (op->state == st_done) { op 769 daemons/fenced/fenced_remote.c op->id, op->target); op 770 daemons/fenced/fenced_remote.c } else if (op->state == st_exec) { op 772 daemons/fenced/fenced_remote.c op->id, op->target); op 773 daemons/fenced/fenced_remote.c } else if (op->query_results) { op 776 daemons/fenced/fenced_remote.c op->id, op->target, stonith__op_state_text(op->state)); op 777 daemons/fenced/fenced_remote.c request_peer_fencing(op, NULL); op 780 daemons/fenced/fenced_remote.c op->id, op->target, stonith__op_state_text(op->state)); op 781 daemons/fenced/fenced_remote.c finalize_timed_out_op(op, "No capable peers replied to device query " op 813 daemons/fenced/fenced_remote.c add_required_device(remote_fencing_op_t *op, const char *device) op 815 daemons/fenced/fenced_remote.c GList *match = g_list_find_custom(op->automatic_list, device, op 819 daemons/fenced/fenced_remote.c op->automatic_list = g_list_prepend(op->automatic_list, op 832 daemons/fenced/fenced_remote.c remove_required_device(remote_fencing_op_t *op, const char *device) op 834 daemons/fenced/fenced_remote.c GList *match = g_list_find_custom(op->automatic_list, device, op 838 daemons/fenced/fenced_remote.c op->automatic_list = g_list_remove(op->automatic_list, match->data); op 844 daemons/fenced/fenced_remote.c set_op_device_list(remote_fencing_op_t * op, GList *devices) op 848 daemons/fenced/fenced_remote.c if (op->devices_list) { op 849 daemons/fenced/fenced_remote.c g_list_free_full(op->devices_list, free); op 850 daemons/fenced/fenced_remote.c op->devices_list = NULL; op 855 daemons/fenced/fenced_remote.c op->devices_list = g_list_append(op->devices_list, op 858 daemons/fenced/fenced_remote.c op->devices = op->devices_list; op 953 daemons/fenced/fenced_remote.c advance_topology_level(remote_fencing_op_t *op, bool empty_ok) op 957 daemons/fenced/fenced_remote.c if (op->target) { op 958 daemons/fenced/fenced_remote.c tp = find_topology_for_host(op->target); op 966 daemons/fenced/fenced_remote.c stonith__set_call_options(op->call_options, op->id, st_opt_topology); op 969 daemons/fenced/fenced_remote.c undo_op_remap(op); op 972 daemons/fenced/fenced_remote.c op->level++; op 974 daemons/fenced/fenced_remote.c } while (op->level < ST__LEVEL_COUNT && tp->levels[op->level] == NULL); op 976 daemons/fenced/fenced_remote.c if (op->level < ST__LEVEL_COUNT) { op 979 daemons/fenced/fenced_remote.c op->level, op->target, g_list_length(tp->levels[op->level]), op 980 daemons/fenced/fenced_remote.c op->client_name, op->originator, op->id); op 981 daemons/fenced/fenced_remote.c set_op_device_list(op, tp->levels[op->level]); op 984 daemons/fenced/fenced_remote.c if ((op->level > 1) && (op->client_delay > 0)) { op 985 daemons/fenced/fenced_remote.c op->client_delay = 0; op 988 daemons/fenced/fenced_remote.c if ((g_list_next(op->devices_list) != NULL) op 989 daemons/fenced/fenced_remote.c && pcmk__str_eq(op->action, PCMK_ACTION_REBOOT, pcmk__str_none)) { op 995 daemons/fenced/fenced_remote.c op_phase_off(op); op 1003 daemons/fenced/fenced_remote.c op->target, op->client_name, op->originator, op->id); op 1014 daemons/fenced/fenced_remote.c merge_duplicates(remote_fencing_op_t *op) op 1026 daemons/fenced/fenced_remote.c if (!strcmp(op->id, other->id)) { op 1031 daemons/fenced/fenced_remote.c op->id, other->id); op 1034 daemons/fenced/fenced_remote.c if (!pcmk__str_eq(op->target, other->target, pcmk__str_casei)) { op 1036 daemons/fenced/fenced_remote.c op->id, other->id, op->target, other->target); op 1039 daemons/fenced/fenced_remote.c if (!pcmk__str_eq(op->action, other_action, pcmk__str_none)) { op 1041 daemons/fenced/fenced_remote.c op->id, other->id, op->action, other_action); op 1044 daemons/fenced/fenced_remote.c if (pcmk__str_eq(op->client_name, other->client_name, pcmk__str_casei)) { op 1046 daemons/fenced/fenced_remote.c op->id, other->id, op->client_name); op 1051 daemons/fenced/fenced_remote.c op->id, other->id, other->target); op 1064 daemons/fenced/fenced_remote.c op->id, other->id); op 1071 daemons/fenced/fenced_remote.c op->id, other->id, (long long)now, (long long)other->created, op 1079 daemons/fenced/fenced_remote.c other->duplicates = g_list_append(other->duplicates, op); op 1081 daemons/fenced/fenced_remote.c other->total_timeout = op->total_timeout = op 1082 daemons/fenced/fenced_remote.c TIMEOUT_MULTIPLY_FACTOR * get_op_total_timeout(op, NULL); op 1089 daemons/fenced/fenced_remote.c op->action, op->target, op->client_name, op 1091 daemons/fenced/fenced_remote.c op->id, other->id, other->total_timeout); op 1092 daemons/fenced/fenced_remote.c report_timeout_period(op, other->total_timeout); op 1093 daemons/fenced/fenced_remote.c op->state = st_duplicate; op 1124 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = NULL; op 1134 daemons/fenced/fenced_remote.c op = initiate_remote_stonith_op(client, msg, TRUE); op 1135 daemons/fenced/fenced_remote.c if (op == NULL) { op 1138 daemons/fenced/fenced_remote.c op->state = st_done; op 1139 daemons/fenced/fenced_remote.c op->delegate = pcmk__str_copy("a human"); op 1142 daemons/fenced/fenced_remote.c pcmk__set_result(&op->result, CRM_EX_OK, PCMK_EXEC_DONE, NULL); op 1143 daemons/fenced/fenced_remote.c finalize_op(op, msg, false); op 1165 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = NULL; op 1181 daemons/fenced/fenced_remote.c op = g_hash_table_lookup(stonith_remote_op_list, op_id); op 1182 daemons/fenced/fenced_remote.c if (op) { op 1185 daemons/fenced/fenced_remote.c return op; op 1189 daemons/fenced/fenced_remote.c op = pcmk__assert_alloc(1, sizeof(remote_fencing_op_t)); op 1191 daemons/fenced/fenced_remote.c crm_element_value_int(request, PCMK__XA_ST_TIMEOUT, &(op->base_timeout)); op 1193 daemons/fenced/fenced_remote.c crm_element_value_int(request, PCMK__XA_ST_DELAY, &(op->client_delay)); op 1196 daemons/fenced/fenced_remote.c op->id = crm_element_value_copy(dev, PCMK__XA_ST_REMOTE_OP); op 1198 daemons/fenced/fenced_remote.c op->id = crm_generate_uuid(); op 1201 daemons/fenced/fenced_remote.c g_hash_table_replace(stonith_remote_op_list, op->id, op); op 1203 daemons/fenced/fenced_remote.c op->state = st_query; op 1204 daemons/fenced/fenced_remote.c op->replies_expected = fencing_active_peers(); op 1205 daemons/fenced/fenced_remote.c op->action = crm_element_value_copy(dev, PCMK__XA_ST_DEVICE_ACTION); op 1213 daemons/fenced/fenced_remote.c op->originator = crm_element_value_copy(dev, PCMK__XA_ST_ORIGIN); op 1214 daemons/fenced/fenced_remote.c if (op->originator == NULL) { op 1216 daemons/fenced/fenced_remote.c op->originator = pcmk__str_copy(fenced_get_local_node()); op 1220 daemons/fenced/fenced_remote.c op->delegate = crm_element_value_copy(dev, PCMK__XA_ST_DELEGATE); op 1221 daemons/fenced/fenced_remote.c op->created = time(NULL); op 1224 daemons/fenced/fenced_remote.c op->client_id = pcmk__str_copy(client); op 1230 daemons/fenced/fenced_remote.c op->client_name = crm_strdup_printf("%s.%lu", crm_system_name, op 1233 daemons/fenced/fenced_remote.c op->client_name = crm_element_value_copy(request, op 1237 daemons/fenced/fenced_remote.c op->target = crm_element_value_copy(dev, PCMK__XA_ST_TARGET); op 1240 daemons/fenced/fenced_remote.c op->request = pcmk__xml_copy(NULL, request); op 1242 daemons/fenced/fenced_remote.c rc = pcmk__xe_get_flags(request, PCMK__XA_ST_CALLOPT, &(op->call_options), op 1246 daemons/fenced/fenced_remote.c op->id, pcmk_rc_str(rc)); op 1249 daemons/fenced/fenced_remote.c crm_element_value_int(request, PCMK__XA_ST_CALLID, &(op->client_callid)); op 1253 daemons/fenced/fenced_remote.c (peer && dev)? "Recorded" : "Generated", op->id, op->action, op 1254 daemons/fenced/fenced_remote.c op->target, op->client_name, op->base_timeout, op 1255 daemons/fenced/fenced_remote.c op->replies_expected, op 1256 daemons/fenced/fenced_remote.c pcmk__plural_alt(op->replies_expected, "reply", "replies")); op 1258 daemons/fenced/fenced_remote.c if (op->call_options & st_opt_cs_nodeid) { op 1262 daemons/fenced/fenced_remote.c pcmk__scan_min_int(op->target, &nodeid, 0); op 1268 daemons/fenced/fenced_remote.c stonith__clear_call_options(op->call_options, op->id, st_opt_cs_nodeid); op 1271 daemons/fenced/fenced_remote.c pcmk__str_update(&(op->target), node->name); op 1274 daemons/fenced/fenced_remote.c crm_warn("Could not expand nodeid '%s' into a host name", op->target); op 1279 daemons/fenced/fenced_remote.c merge_duplicates(op); op 1281 daemons/fenced/fenced_remote.c if (op->state != st_duplicate) { op 1289 daemons/fenced/fenced_remote.c return op; op 1309 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = NULL; op 1320 daemons/fenced/fenced_remote.c op = create_remote_stonith_op(client_id, request, FALSE); op 1321 daemons/fenced/fenced_remote.c op->owner = TRUE; op 1323 daemons/fenced/fenced_remote.c return op; op 1326 daemons/fenced/fenced_remote.c CRM_CHECK(op->action, return NULL); op 1328 daemons/fenced/fenced_remote.c if (advance_topology_level(op, true) != pcmk_rc_ok) { op 1329 daemons/fenced/fenced_remote.c op->state = st_failed; op 1332 daemons/fenced/fenced_remote.c switch (op->state) { op 1335 daemons/fenced/fenced_remote.c pcmk__set_result(&op->result, CRM_EX_ERROR, PCMK_EXEC_ERROR, op 1338 daemons/fenced/fenced_remote.c QB_XS " id=%.8s", op->action, op->target, op->id); op 1339 daemons/fenced/fenced_remote.c finalize_op(op, NULL, false); op 1340 daemons/fenced/fenced_remote.c return op; op 1344 daemons/fenced/fenced_remote.c QB_XS " id=%.8s", op->action, op->target, op->id); op 1345 daemons/fenced/fenced_remote.c return op; op 1350 daemons/fenced/fenced_remote.c op->action, op->target, op->id, op 1351 daemons/fenced/fenced_remote.c stonith__op_state_text(op->state), op->base_timeout); op 1354 daemons/fenced/fenced_remote.c query = stonith_create_op(op->client_callid, op->id, STONITH_OP_QUERY, op 1355 daemons/fenced/fenced_remote.c NULL, op->call_options); op 1357 daemons/fenced/fenced_remote.c crm_xml_add(query, PCMK__XA_ST_REMOTE_OP, op->id); op 1358 daemons/fenced/fenced_remote.c crm_xml_add(query, PCMK__XA_ST_TARGET, op->target); op 1359 daemons/fenced/fenced_remote.c crm_xml_add(query, PCMK__XA_ST_DEVICE_ACTION, op_requested_action(op)); op 1360 daemons/fenced/fenced_remote.c crm_xml_add(query, PCMK__XA_ST_ORIGIN, op->originator); op 1361 daemons/fenced/fenced_remote.c crm_xml_add(query, PCMK__XA_ST_CLIENTID, op->client_id); op 1362 daemons/fenced/fenced_remote.c crm_xml_add(query, PCMK__XA_ST_CLIENTNAME, op->client_name); op 1363 daemons/fenced/fenced_remote.c crm_xml_add_int(query, PCMK__XA_ST_TIMEOUT, op->base_timeout); op 1377 daemons/fenced/fenced_remote.c query_timeout = op->base_timeout * TIMEOUT_MULTIPLY_FACTOR; op 1378 daemons/fenced/fenced_remote.c op->query_timer = pcmk__create_timer((1000 * query_timeout), remote_op_query_timeout, op); op 1380 daemons/fenced/fenced_remote.c return op; op 1393 daemons/fenced/fenced_remote.c is_watchdog_fencing(const remote_fencing_op_t *op, const char *device) op 1398 daemons/fenced/fenced_remote.c && pcmk__is_fencing_action(op->action) op 1399 daemons/fenced/fenced_remote.c && node_does_watchdog_fencing(op->target)); op 1403 daemons/fenced/fenced_remote.c find_best_peer(const char *device, remote_fencing_op_t * op, enum find_best_peer_options options) op 1408 daemons/fenced/fenced_remote.c if (!device && pcmk_is_set(op->call_options, st_opt_topology)) { op 1412 daemons/fenced/fenced_remote.c for (iter = op->query_results; iter != NULL; iter = iter->next) { op 1416 daemons/fenced/fenced_remote.c peer->host, op->target, peer->ndevices, op 1418 daemons/fenced/fenced_remote.c if ((options & FIND_PEER_SKIP_TARGET) && pcmk__str_eq(peer->host, op->target, pcmk__str_casei)) { op 1421 daemons/fenced/fenced_remote.c if ((options & FIND_PEER_TARGET_ONLY) && !pcmk__str_eq(peer->host, op->target, pcmk__str_casei)) { op 1425 daemons/fenced/fenced_remote.c if (pcmk_is_set(op->call_options, st_opt_topology)) { op 1427 daemons/fenced/fenced_remote.c if (grab_peer_device(op, peer, device, verified_devices_only)) { op 1432 daemons/fenced/fenced_remote.c && count_peer_devices(op, peer, verified_devices_only, op 1433 daemons/fenced/fenced_remote.c fenced_support_flag(op->action))) { op 1444 daemons/fenced/fenced_remote.c stonith_choose_peer(remote_fencing_op_t * op) op 1451 daemons/fenced/fenced_remote.c if (op->devices) { op 1452 daemons/fenced/fenced_remote.c device = op->devices->data; op 1454 daemons/fenced/fenced_remote.c op->action, op->target, device); op 1457 daemons/fenced/fenced_remote.c op->action, op->target); op 1461 daemons/fenced/fenced_remote.c peer = find_best_peer(device, op, FIND_PEER_SKIP_TARGET|FIND_PEER_VERIFIED_ONLY); op 1467 daemons/fenced/fenced_remote.c if(op->query_timer != 0 && op->replies < QB_MIN(op->replies_expected, active)) { op 1468 daemons/fenced/fenced_remote.c crm_trace("Waiting before looking for unverified devices to fence %s", op->target); op 1473 daemons/fenced/fenced_remote.c peer = find_best_peer(device, op, FIND_PEER_SKIP_TARGET); op 1482 daemons/fenced/fenced_remote.c if (op->phase != st_phase_on) { op 1483 daemons/fenced/fenced_remote.c peer = find_best_peer(device, op, FIND_PEER_TARGET_ONLY); op 1493 daemons/fenced/fenced_remote.c } while ((op->phase != st_phase_on) op 1494 daemons/fenced/fenced_remote.c && pcmk_is_set(op->call_options, st_opt_topology) op 1495 daemons/fenced/fenced_remote.c && (advance_topology_level(op, false) == pcmk_rc_ok)); op 1500 daemons/fenced/fenced_remote.c if (is_watchdog_fencing(op, device)) { op 1502 daemons/fenced/fenced_remote.c op->target); op 1506 daemons/fenced/fenced_remote.c op->action, op->target, (device? device : "any device")); op 1513 daemons/fenced/fenced_remote.c const remote_fencing_op_t *op, const char *device) op 1517 daemons/fenced/fenced_remote.c if (!is_watchdog_fencing(op, device)) { op 1530 daemons/fenced/fenced_remote.c op->action, specified_timeout, device? device : "watchdog", op 1545 daemons/fenced/fenced_remote.c get_device_timeout(const remote_fencing_op_t *op, op 1549 daemons/fenced/fenced_remote.c int timeout = valid_fencing_timeout(op->base_timeout, false, op, device); op 1561 daemons/fenced/fenced_remote.c if (props->custom_action_timeout[op->phase]) { op 1562 daemons/fenced/fenced_remote.c timeout = valid_fencing_timeout(props->custom_action_timeout[op->phase], op 1563 daemons/fenced/fenced_remote.c true, op, device); op 1567 daemons/fenced/fenced_remote.c if (with_delay && (op->client_delay >= 0)) { op 1569 daemons/fenced/fenced_remote.c timeout += (props->delay_max[op->phase] > 0 ? op 1570 daemons/fenced/fenced_remote.c props->delay_max[op->phase] : props->delay_base[op->phase]); op 1577 daemons/fenced/fenced_remote.c const remote_fencing_op_t *op; op 1597 daemons/fenced/fenced_remote.c if (!props->executed[timeout->op->phase] op 1598 daemons/fenced/fenced_remote.c && !props->disallowed[timeout->op->phase]) { op 1599 daemons/fenced/fenced_remote.c timeout->total_timeout += get_device_timeout(timeout->op, timeout->peer, op 1605 daemons/fenced/fenced_remote.c get_peer_timeout(const remote_fencing_op_t *op, const peer_device_info_t *peer) op 1609 daemons/fenced/fenced_remote.c timeout.op = op; op 1615 daemons/fenced/fenced_remote.c return (timeout.total_timeout? timeout.total_timeout : op->base_timeout); op 1619 daemons/fenced/fenced_remote.c get_op_total_timeout(const remote_fencing_op_t *op, op 1623 daemons/fenced/fenced_remote.c stonith_topology_t *tp = find_topology_for_host(op->target); op 1625 daemons/fenced/fenced_remote.c if (pcmk_is_set(op->call_options, st_opt_topology) && tp) { op 1631 daemons/fenced/fenced_remote.c if (pcmk__str_eq(op->action, PCMK_ACTION_ON, pcmk__str_none) op 1632 daemons/fenced/fenced_remote.c && (op->automatic_list != NULL)) { op 1633 daemons/fenced/fenced_remote.c auto_list = g_list_copy(op->automatic_list); op 1650 daemons/fenced/fenced_remote.c for (iter = op->query_results; iter != NULL; iter = iter->next) { op 1661 daemons/fenced/fenced_remote.c if (find_peer_device(op, peer, device_list->data, op 1662 daemons/fenced/fenced_remote.c fenced_support_flag(op->action))) { op 1663 daemons/fenced/fenced_remote.c total_timeout += get_device_timeout(op, peer, op 1674 daemons/fenced/fenced_remote.c if (!found && is_watchdog_fencing(op, device_list->data)) { op 1685 daemons/fenced/fenced_remote.c for (iter2 = op->query_results; iter2 != NULL; iter2 = iter2->next) { op 1687 daemons/fenced/fenced_remote.c if (find_peer_device(op, peer, iter->data, op 1689 daemons/fenced/fenced_remote.c total_timeout += get_device_timeout(op, peer, op 1700 daemons/fenced/fenced_remote.c total_timeout = get_peer_timeout(op, chosen_peer); op 1703 daemons/fenced/fenced_remote.c total_timeout = valid_fencing_timeout(op->base_timeout, false, op, op 1708 daemons/fenced/fenced_remote.c total_timeout = op->base_timeout; op 1714 daemons/fenced/fenced_remote.c if (op->client_delay > 0) { op 1715 daemons/fenced/fenced_remote.c total_timeout += op->client_delay; op 1721 daemons/fenced/fenced_remote.c report_timeout_period(remote_fencing_op_t * op, int op_timeout) op 1729 daemons/fenced/fenced_remote.c if (op->call_options & st_opt_sync_call) { op 1735 daemons/fenced/fenced_remote.c } else if (!op->request) { op 1739 daemons/fenced/fenced_remote.c crm_trace("Reporting timeout for %s (id=%.8s)", op->client_name, op->id); op 1740 daemons/fenced/fenced_remote.c client_node = crm_element_value(op->request, PCMK__XA_ST_CLIENTNODE); op 1741 daemons/fenced/fenced_remote.c call_id = crm_element_value(op->request, PCMK__XA_ST_CALLID); op 1742 daemons/fenced/fenced_remote.c client_id = crm_element_value(op->request, PCMK__XA_ST_CLIENTID); op 1754 daemons/fenced/fenced_remote.c update = stonith_create_op(op->client_callid, op->id, STONITH_OP_TIMEOUT_UPDATE, NULL, 0); op 1755 daemons/fenced/fenced_remote.c crm_xml_add(update, PCMK__XA_ST_REMOTE_OP, op->id); op 1766 daemons/fenced/fenced_remote.c for (iter = op->duplicates; iter != NULL; iter = iter->next) { op 1784 daemons/fenced/fenced_remote.c advance_topology_device_in_level(remote_fencing_op_t *op, const char *device, op 1788 daemons/fenced/fenced_remote.c if (op->devices) { op 1789 daemons/fenced/fenced_remote.c op->devices = op->devices->next; op 1793 daemons/fenced/fenced_remote.c if ((op->phase == st_phase_requested) op 1794 daemons/fenced/fenced_remote.c && pcmk__str_eq(op->action, PCMK_ACTION_ON, pcmk__str_none)) { op 1796 daemons/fenced/fenced_remote.c remove_required_device(op, device); op 1801 daemons/fenced/fenced_remote.c if (op->devices == NULL) { op 1802 daemons/fenced/fenced_remote.c op->devices = op->automatic_list; op 1806 daemons/fenced/fenced_remote.c if ((op->devices == NULL) && (op->phase == st_phase_off)) { op 1811 daemons/fenced/fenced_remote.c op_phase_on(op); op 1815 daemons/fenced/fenced_remote.c pcmk__set_result(&op->result, CRM_EX_OK, PCMK_EXEC_DONE, NULL); op 1817 daemons/fenced/fenced_remote.c if (op->devices) { op 1820 daemons/fenced/fenced_remote.c op->target, op->client_name, op->originator); op 1823 daemons/fenced/fenced_remote.c if (op->client_delay > 0) { op 1824 daemons/fenced/fenced_remote.c op->client_delay = 0; op 1827 daemons/fenced/fenced_remote.c request_peer_fencing(op, NULL); op 1831 daemons/fenced/fenced_remote.c op->target); op 1832 daemons/fenced/fenced_remote.c op->state = st_done; op 1833 daemons/fenced/fenced_remote.c finalize_op(op, msg, false); op 1838 daemons/fenced/fenced_remote.c check_watchdog_fencing_and_wait(remote_fencing_op_t * op) op 1840 daemons/fenced/fenced_remote.c if (node_does_watchdog_fencing(op->target)) { op 1845 daemons/fenced/fenced_remote.c pcmk__readable_interval(timeout_ms), op->target, op->action, op 1846 daemons/fenced/fenced_remote.c op->client_name, op->id); op 1848 daemons/fenced/fenced_remote.c if (op->op_timer_one) { op 1849 daemons/fenced/fenced_remote.c g_source_remove(op->op_timer_one); op 1851 daemons/fenced/fenced_remote.c op->op_timer_one = pcmk__create_timer(timeout_ms, remote_op_watchdog_done, op 1852 daemons/fenced/fenced_remote.c op); op 1856 daemons/fenced/fenced_remote.c "not in host-list", op->target); op 1870 daemons/fenced/fenced_remote.c request_peer_fencing(remote_fencing_op_t *op, peer_device_info_t *peer) op 1875 daemons/fenced/fenced_remote.c CRM_CHECK(op != NULL, return); op 1878 daemons/fenced/fenced_remote.c op->id, op->target, op->client_name, op 1879 daemons/fenced/fenced_remote.c stonith__op_state_text(op->state)); op 1881 daemons/fenced/fenced_remote.c if ((op->phase == st_phase_on) && (op->devices != NULL)) { op 1893 daemons/fenced/fenced_remote.c device = op->devices->data; op 1898 daemons/fenced/fenced_remote.c op->target, device); op 1899 daemons/fenced/fenced_remote.c advance_topology_device_in_level(op, device, NULL); op 1904 daemons/fenced/fenced_remote.c "doesn't support 'on'", op->target, device); op 1905 daemons/fenced/fenced_remote.c advance_topology_device_in_level(op, device, NULL); op 1910 daemons/fenced/fenced_remote.c timeout = op->base_timeout; op 1911 daemons/fenced/fenced_remote.c if ((peer == NULL) && !pcmk_is_set(op->call_options, st_opt_topology)) { op 1912 daemons/fenced/fenced_remote.c peer = stonith_choose_peer(op); op 1915 daemons/fenced/fenced_remote.c if (!op->op_timer_total) { op 1916 daemons/fenced/fenced_remote.c op->total_timeout = TIMEOUT_MULTIPLY_FACTOR * get_op_total_timeout(op, peer); op 1917 daemons/fenced/fenced_remote.c op->op_timer_total = pcmk__create_timer(1000 * op->total_timeout, remote_op_timeout, op); op 1918 daemons/fenced/fenced_remote.c report_timeout_period(op, op->total_timeout); op 1921 daemons/fenced/fenced_remote.c op->total_timeout, op->target, op->client_name, op->id); op 1924 daemons/fenced/fenced_remote.c if (pcmk_is_set(op->call_options, st_opt_topology) && op->devices) { op 1933 daemons/fenced/fenced_remote.c peer = stonith_choose_peer(op); op 1935 daemons/fenced/fenced_remote.c device = op->devices->data; op 1940 daemons/fenced/fenced_remote.c timeout = get_device_timeout(op, peer, device, false); op 1945 daemons/fenced/fenced_remote.c xmlNode *remote_op = stonith_create_op(op->client_callid, op->id, STONITH_OP_FENCE, NULL, 0); op 1950 daemons/fenced/fenced_remote.c if (op->client_delay > 0) { op 1954 daemons/fenced/fenced_remote.c timeout_one = TIMEOUT_MULTIPLY_FACTOR * op->client_delay; op 1957 daemons/fenced/fenced_remote.c crm_xml_add(remote_op, PCMK__XA_ST_REMOTE_OP, op->id); op 1958 daemons/fenced/fenced_remote.c crm_xml_add(remote_op, PCMK__XA_ST_TARGET, op->target); op 1959 daemons/fenced/fenced_remote.c crm_xml_add(remote_op, PCMK__XA_ST_DEVICE_ACTION, op->action); op 1960 daemons/fenced/fenced_remote.c crm_xml_add(remote_op, PCMK__XA_ST_ORIGIN, op->originator); op 1961 daemons/fenced/fenced_remote.c crm_xml_add(remote_op, PCMK__XA_ST_CLIENTID, op->client_id); op 1962 daemons/fenced/fenced_remote.c crm_xml_add(remote_op, PCMK__XA_ST_CLIENTNAME, op->client_name); op 1964 daemons/fenced/fenced_remote.c crm_xml_add_int(remote_op, PCMK__XA_ST_CALLOPT, op->call_options); op 1965 daemons/fenced/fenced_remote.c crm_xml_add_int(remote_op, PCMK__XA_ST_DELAY, op->client_delay); op 1969 daemons/fenced/fenced_remote.c get_device_timeout(op, peer, device, true); op 1972 daemons/fenced/fenced_remote.c peer->host, op->action, op->target, device, op 1973 daemons/fenced/fenced_remote.c op->client_name, timeout_one); op 1977 daemons/fenced/fenced_remote.c timeout_one += TIMEOUT_MULTIPLY_FACTOR * get_peer_timeout(op, peer); op 1980 daemons/fenced/fenced_remote.c peer->host, op->action, op->target, op->client_name, op 1985 daemons/fenced/fenced_remote.c op->state = st_exec; op 1986 daemons/fenced/fenced_remote.c if (op->op_timer_one) { op 1987 daemons/fenced/fenced_remote.c g_source_remove(op->op_timer_one); op 1988 daemons/fenced/fenced_remote.c op->op_timer_one = 0; op 1991 daemons/fenced/fenced_remote.c if (!is_watchdog_fencing(op, device) op 1992 daemons/fenced/fenced_remote.c || !check_watchdog_fencing_and_wait(op)) { op 2014 daemons/fenced/fenced_remote.c op->op_timer_one = pcmk__create_timer((1000 * timeout_one), remote_op_timeout_one, op); op 2022 daemons/fenced/fenced_remote.c } else if (op->phase == st_phase_on) { op 2027 daemons/fenced/fenced_remote.c "after successful 'off'", device, op->target); op 2028 daemons/fenced/fenced_remote.c advance_topology_device_in_level(op, device, NULL); op 2031 daemons/fenced/fenced_remote.c } else if (op->owner == FALSE) { op 2033 daemons/fenced/fenced_remote.c op->action, op->target, op->client_name); op 2035 daemons/fenced/fenced_remote.c } else if (op->query_timer == 0) { op 2038 daemons/fenced/fenced_remote.c QB_XS " state=%s", op->action, op->target, op->client_name, op 2039 daemons/fenced/fenced_remote.c stonith__op_state_text(op->state)); op 2040 daemons/fenced/fenced_remote.c CRM_CHECK(op->state < st_done, return); op 2041 daemons/fenced/fenced_remote.c finalize_timed_out_op(op, "All nodes failed, or are unable, to " op 2044 daemons/fenced/fenced_remote.c } else if(op->replies >= op->replies_expected || op->replies >= fencing_active_peers()) { op 2049 daemons/fenced/fenced_remote.c if (is_watchdog_fencing(op, device) op 2050 daemons/fenced/fenced_remote.c && check_watchdog_fencing_and_wait(op)) { op 2056 daemons/fenced/fenced_remote.c op->state = st_exec; op 2060 daemons/fenced/fenced_remote.c if (op->state == st_query) { op 2063 daemons/fenced/fenced_remote.c op->replies, op->action, op->target, op->client_name, op 2064 daemons/fenced/fenced_remote.c stonith__op_state_text(op->state)); op 2066 daemons/fenced/fenced_remote.c pcmk__reset_result(&op->result); op 2067 daemons/fenced/fenced_remote.c pcmk__set_result(&op->result, CRM_EX_ERROR, op 2070 daemons/fenced/fenced_remote.c if (pcmk_is_set(op->call_options, st_opt_topology)) { op 2071 daemons/fenced/fenced_remote.c pcmk__reset_result(&op->result); op 2072 daemons/fenced/fenced_remote.c pcmk__set_result(&op->result, CRM_EX_ERROR, op 2084 daemons/fenced/fenced_remote.c op->replies, op->action, op->target, op->client_name, op 2085 daemons/fenced/fenced_remote.c stonith__op_state_text(op->state)); op 2088 daemons/fenced/fenced_remote.c op->state = st_failed; op 2089 daemons/fenced/fenced_remote.c finalize_op(op, NULL, false); op 2094 daemons/fenced/fenced_remote.c op->action, op->target, (device? " using " : ""), op 2095 daemons/fenced/fenced_remote.c (device? device : ""), op->client_name, op->id); op 2126 daemons/fenced/fenced_remote.c all_topology_devices_found(const remote_fencing_op_t *op) op 2135 daemons/fenced/fenced_remote.c tp = find_topology_for_host(op->target); op 2139 daemons/fenced/fenced_remote.c if (pcmk__is_fencing_action(op->action)) { op 2148 daemons/fenced/fenced_remote.c for (iter = op->query_results; iter && !match; iter = iter->next) { op 2151 daemons/fenced/fenced_remote.c if (skip_target && pcmk__str_eq(peer->host, op->target, pcmk__str_casei)) { op 2154 daemons/fenced/fenced_remote.c match = find_peer_device(op, peer, device->data, op 2180 daemons/fenced/fenced_remote.c const char *action, remote_fencing_op_t *op, op 2214 daemons/fenced/fenced_remote.c add_required_device(op, device); op 2238 daemons/fenced/fenced_remote.c add_device_properties(const xmlNode *xml, remote_fencing_op_t *op, op 2268 daemons/fenced/fenced_remote.c parse_action_specific(xml, peer->host, device, op_requested_action(op), op 2269 daemons/fenced/fenced_remote.c op, st_phase_requested, props); op 2278 daemons/fenced/fenced_remote.c op, st_phase_off, props); op 2283 daemons/fenced/fenced_remote.c op, st_phase_on, props); op 2300 daemons/fenced/fenced_remote.c add_result(remote_fencing_op_t *op, const char *host, int ndevices, op 2316 daemons/fenced/fenced_remote.c add_device_properties(child, op, peer, device); op 2325 daemons/fenced/fenced_remote.c op->query_results = g_list_insert_sorted(op->query_results, peer, sort_peers); op 2351 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = NULL; op 2369 daemons/fenced/fenced_remote.c op = g_hash_table_lookup(stonith_remote_op_list, id); op 2370 daemons/fenced/fenced_remote.c if (op == NULL) { op 2377 daemons/fenced/fenced_remote.c if (op->replies_expected < replies_expected) { op 2378 daemons/fenced/fenced_remote.c replies_expected = op->replies_expected; op 2380 daemons/fenced/fenced_remote.c if ((++op->replies >= replies_expected) && (op->state == st_query)) { op 2384 daemons/fenced/fenced_remote.c host_is_target = pcmk__str_eq(host, op->target, pcmk__str_casei); op 2387 daemons/fenced/fenced_remote.c op->replies, replies_expected, host, op 2388 daemons/fenced/fenced_remote.c op->target, op->action, ndevices, pcmk__plural_s(ndevices), id); op 2390 daemons/fenced/fenced_remote.c peer = add_result(op, host, ndevices, dev); op 2393 daemons/fenced/fenced_remote.c pcmk__set_result(&op->result, CRM_EX_OK, PCMK_EXEC_DONE, NULL); op 2395 daemons/fenced/fenced_remote.c if (pcmk_is_set(op->call_options, st_opt_topology)) { op 2399 daemons/fenced/fenced_remote.c if (op->state == st_query && all_topology_devices_found(op)) { op 2402 daemons/fenced/fenced_remote.c request_peer_fencing(op, peer); op 2406 daemons/fenced/fenced_remote.c replies_expected, op->replies); op 2407 daemons/fenced/fenced_remote.c request_peer_fencing(op, NULL); op 2410 daemons/fenced/fenced_remote.c } else if (op->state == st_query) { op 2411 daemons/fenced/fenced_remote.c int nverified = count_peer_devices(op, peer, TRUE, op 2412 daemons/fenced/fenced_remote.c fenced_support_flag(op->action)); op 2420 daemons/fenced/fenced_remote.c request_peer_fencing(op, peer); op 2424 daemons/fenced/fenced_remote.c replies_expected, op->replies); op 2425 daemons/fenced/fenced_remote.c request_peer_fencing(op, NULL); op 2431 daemons/fenced/fenced_remote.c } else if ((peer != NULL) && (op->state == st_done)) { op 2435 daemons/fenced/fenced_remote.c stonith__op_state_text(op->state)); op 2455 daemons/fenced/fenced_remote.c remote_fencing_op_t *op = NULL; op 2474 daemons/fenced/fenced_remote.c op = g_hash_table_lookup(stonith_remote_op_list, id); op 2477 daemons/fenced/fenced_remote.c if ((op == NULL) && pcmk__result_ok(&result)) { op 2481 daemons/fenced/fenced_remote.c op = create_remote_stonith_op(client_id, dev, TRUE); op 2484 daemons/fenced/fenced_remote.c if (op == NULL) { op 2492 daemons/fenced/fenced_remote.c pcmk__reset_result(&op->result); op 2493 daemons/fenced/fenced_remote.c op->result = result; // The operation takes ownership of the result op 2495 daemons/fenced/fenced_remote.c if (op->devices && device && !pcmk__str_eq(op->devices->data, device, pcmk__str_casei)) { op 2498 daemons/fenced/fenced_remote.c device, (const char *) op->devices->data, op->action, op->target); op 2505 daemons/fenced/fenced_remote.c if (pcmk__result_ok(&op->result)) { op 2506 daemons/fenced/fenced_remote.c op->state = st_done; op 2508 daemons/fenced/fenced_remote.c op->state = st_failed; op 2510 daemons/fenced/fenced_remote.c finalize_op(op, msg, false); op 2513 daemons/fenced/fenced_remote.c } else if (!pcmk__str_eq(op->originator, fenced_get_local_node(), op 2519 daemons/fenced/fenced_remote.c op->id, device, op->target); op 2523 daemons/fenced/fenced_remote.c if (pcmk_is_set(op->call_options, st_opt_topology)) { op 2525 daemons/fenced/fenced_remote.c const char *reason = op->result.exit_reason; op 2529 daemons/fenced/fenced_remote.c if (op->state == st_done) { op 2530 daemons/fenced/fenced_remote.c finalize_op(op, msg, false); op 2536 daemons/fenced/fenced_remote.c if ((op->phase == 2) && !pcmk__result_ok(&op->result)) { op 2542 daemons/fenced/fenced_remote.c device, pcmk_exec_status_str(op->result.execution_status), op 2545 daemons/fenced/fenced_remote.c op->target); op 2546 daemons/fenced/fenced_remote.c pcmk__set_result(&op->result, CRM_EX_OK, PCMK_EXEC_DONE, NULL); op 2550 daemons/fenced/fenced_remote.c op->action, op->target, op 2553 daemons/fenced/fenced_remote.c op->client_name, op 2554 daemons/fenced/fenced_remote.c op->originator, op 2555 daemons/fenced/fenced_remote.c pcmk_exec_status_str(op->result.execution_status), op 2561 daemons/fenced/fenced_remote.c if (pcmk__result_ok(&op->result)) { op 2564 daemons/fenced/fenced_remote.c advance_topology_device_in_level(op, device, msg); op 2569 daemons/fenced/fenced_remote.c if (advance_topology_level(op, false) != pcmk_rc_ok) { op 2570 daemons/fenced/fenced_remote.c op->state = st_failed; op 2571 daemons/fenced/fenced_remote.c finalize_op(op, msg, false); op 2576 daemons/fenced/fenced_remote.c } else if (pcmk__result_ok(&op->result) && (op->devices == NULL)) { op 2577 daemons/fenced/fenced_remote.c op->state = st_done; op 2578 daemons/fenced/fenced_remote.c finalize_op(op, msg, false); op 2581 daemons/fenced/fenced_remote.c } else if ((op->result.execution_status == PCMK_EXEC_TIMEOUT) op 2582 daemons/fenced/fenced_remote.c && (op->devices == NULL)) { op 2584 daemons/fenced/fenced_remote.c op->state = st_failed; op 2585 daemons/fenced/fenced_remote.c finalize_op(op, msg, false); op 2594 daemons/fenced/fenced_remote.c op->target, op->originator, op->client_name, op 2595 daemons/fenced/fenced_remote.c pcmk_exec_status_str(op->result.execution_status)); op 2596 daemons/fenced/fenced_remote.c request_peer_fencing(op, NULL); op 95 daemons/fenced/pacemaker-fenced.c const char *op = NULL; op 136 daemons/fenced/pacemaker-fenced.c op = crm_element_value(request, PCMK__XA_CRM_TASK); op 137 daemons/fenced/pacemaker-fenced.c if(pcmk__str_eq(op, CRM_OP_RM_NODE_CACHE, pcmk__str_casei)) { op 139 daemons/fenced/pacemaker-fenced.c crm_xml_add(request, PCMK__XA_ST_OP, op); op 210 daemons/fenced/pacemaker-fenced.c const char *op = crm_element_value(msg, PCMK__XA_ST_OP); op 212 daemons/fenced/pacemaker-fenced.c if (pcmk__str_eq(op, STONITH_OP_POKE, pcmk__str_none)) { op 420 daemons/fenced/pacemaker-fenced.c fenced_send_config_notification(const char *op, op 424 daemons/fenced/pacemaker-fenced.c xmlNode *notify_data = pcmk__xe_create(NULL, op); op 428 daemons/fenced/pacemaker-fenced.c fenced_send_notification(op, result, notify_data); op 259 daemons/fenced/pacemaker-fenced.h void fenced_broadcast_op_result(const remote_fencing_op_t *op, bool op_merged); op 337 daemons/fenced/pacemaker-fenced.h void fenced_send_config_notification(const char *op, op 358 daemons/fenced/pacemaker-fenced.h void set_fencing_completed(remote_fencing_op_t * op); op 269 daemons/pacemakerd/pcmkd_messages.c request.op = crm_element_value_copy(request.xml, PCMK__XA_CRM_TASK); op 270 daemons/pacemakerd/pcmkd_messages.c CRM_CHECK(request.op != NULL, return 0); op 282 daemons/pacemakerd/pcmkd_messages.c request.op, pcmk__request_origin_type(&request), op 301 daemons/schedulerd/schedulerd_messages.c request.op = crm_element_value_copy(request.xml, PCMK__XA_CRM_TASK); op 302 daemons/schedulerd/schedulerd_messages.c CRM_CHECK(request.op != NULL, return 0); op 314 daemons/schedulerd/schedulerd_messages.c request.op, pcmk__request_origin_type(&request), op 175 include/crm/cib/internal.h int cib_perform_op(cib_t *cib, const char *op, uint32_t call_options, op 181 include/crm/cib/internal.h int cib__create_op(cib_t *cib, const char *op, const char *host, op 191 include/crm/cib/internal.h int cib__get_operation(const char *op, const cib__operation_t **operation); op 193 include/crm/cib/internal.h int cib_process_query(const char *op, int options, const char *section, xmlNode * req, op 197 include/crm/cib/internal.h int cib_process_erase(const char *op, int options, const char *section, xmlNode * req, op 201 include/crm/cib/internal.h int cib_process_bump(const char *op, int options, const char *section, xmlNode * req, op 205 include/crm/cib/internal.h int cib_process_replace(const char *op, int options, const char *section, xmlNode * req, op 209 include/crm/cib/internal.h int cib_process_create(const char *op, int options, const char *section, xmlNode * req, op 213 include/crm/cib/internal.h int cib_process_modify(const char *op, int options, const char *section, xmlNode * req, op 217 include/crm/cib/internal.h int cib_process_delete(const char *op, int options, const char *section, xmlNode * req, op 221 include/crm/cib/internal.h int cib_process_diff(const char *op, int options, const char *section, xmlNode * req, op 225 include/crm/cib/internal.h int cib_process_upgrade(const char *op, int options, const char *section, xmlNode * req, op 251 include/crm/cib/internal.h int cib_process_xpath(const char *op, int options, const char *section, op 255 include/crm/cib/internal.h int cib_internal_op(cib_t * cib, const char *op, const char *host, op 83 include/crm/common/actions.h bool crm_op_needs_metadata(const char *rsc_class, const char *op); op 320 include/crm/common/internal.h pcmk__fail_attr_name(const char *prefix, const char *rsc_id, const char *op, op 323 include/crm/common/internal.h CRM_CHECK(prefix && rsc_id && op, return NULL); op 324 include/crm/common/internal.h return crm_strdup_printf("%s-%s#%s_%u", prefix, rsc_id, op, interval_ms); op 328 include/crm/common/internal.h pcmk__failcount_name(const char *rsc_id, const char *op, guint interval_ms) op 330 include/crm/common/internal.h return pcmk__fail_attr_name(PCMK__FAIL_COUNT_PREFIX, rsc_id, op, op 335 include/crm/common/internal.h pcmk__lastfailure_name(const char *rsc_id, const char *op, guint interval_ms) op 337 include/crm/common/internal.h return pcmk__fail_attr_name(PCMK__LAST_FAILURE_PREFIX, rsc_id, op, op 65 include/crm/common/messages_internal.h char *op; // IPC command name op 38 include/crm/lrmd_internal.h const char *node, const lrmd_event_data_t *op); op 277 include/crm/pengine/internal.h pcmk_action_t *pe_fence_op(pcmk_node_t *node, const char *op, bool optional, op 273 include/crm/services.h void services_action_cleanup(svc_action_t *op); op 274 include/crm/services.h void services_action_free(svc_action_t *op); op 275 include/crm/services.h int services_action_user(svc_action_t *op, const char *user); op 276 include/crm/services.h gboolean services_action_sync(svc_action_t *op); op 311 include/crm/services.h gboolean services_action_async_fork_notify(svc_action_t *op, op 344 include/crm/services.h gboolean services_action_async(svc_action_t *op, op 355 include/crm/services.h void (*cb)(svc_action_t *op)); op 54 lib/cib/cib_file.c static int cib_file_process_commit_transaction(const char *op, int options, op 221 lib/cib/cib_file.c const char *op = crm_element_value(request, PCMK__XA_CIB_OP); op 235 lib/cib/cib_file.c cib__get_operation(op, &operation); op 253 lib/cib/cib_file.c rc = cib_perform_op(cib, op, call_options, op_function, read_only, section, op 287 lib/cib/cib_file.c cib_file_perform_op_delegate(cib_t *cib, const char *op, const char *host, op 300 lib/cib/cib_file.c pcmk__s(op, "invalid"), pcmk__s(section, "entire CIB"), op 311 lib/cib/cib_file.c rc = cib__get_operation(op, &operation); op 320 lib/cib/cib_file.c crm_err("Operation %s is not supported by CIB file clients", op); op 326 lib/cib/cib_file.c rc = cib__create_op(cib, op, host, section, data, call_options, user_name, op 1070 lib/cib/cib_file.c const char *op = crm_element_value(request, PCMK__XA_CIB_OP); op 1078 lib/cib/cib_file.c private->id, private->filename, op, pcmk_rc_str(rc)); op 1085 lib/cib/cib_file.c op, private->id, private->filename); op 1155 lib/cib/cib_file.c cib_file_process_commit_transaction(const char *op, int options, op 37 lib/cib/cib_native.c cib_native_perform_op_delegate(cib_t *cib, const char *op, const char *host, op 59 lib/cib/cib_native.c if (op == NULL) { op 68 lib/cib/cib_native.c rc = cib__create_op(cib, op, host, section, data, call_options, user_name, op 79 lib/cib/cib_native.c crm_trace("Sending %s message to the CIB manager (timeout=%ds)", op, cib->call_timeout); op 83 lib/cib/cib_native.c crm_err("Couldn't perform %s operation (timeout=%ds): %s (%d)", op, op 157 lib/cib/cib_native.c if (!pcmk__str_eq(op, PCMK__CIB_REQUEST_QUERY, pcmk__str_none)) { op 145 lib/cib/cib_ops.c cib__get_operation(const char *op, const cib__operation_t **operation) op 147 lib/cib/cib_ops.c pcmk__assert((op != NULL) && (operation != NULL)); op 160 lib/cib/cib_ops.c *operation = g_hash_table_lookup(operation_table, op); op 162 lib/cib/cib_ops.c crm_err("Operation %s is invalid", op); op 169 lib/cib/cib_ops.c cib_process_query(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 176 lib/cib/cib_ops.c op, pcmk__s(section, "unspecified")); op 179 lib/cib/cib_ops.c return cib_process_xpath(op, options, section, req, input, op 242 lib/cib/cib_ops.c cib_process_erase(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 247 lib/cib/cib_ops.c crm_trace("Processing \"%s\" event", op); op 261 lib/cib/cib_ops.c cib_process_upgrade(const char *op, int options, const char *section, xmlNode * req, op 271 lib/cib/cib_ops.c crm_trace("Processing \"%s\" event with max=%s", op, max_schema); op 290 lib/cib/cib_ops.c cib_process_bump(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 295 lib/cib/cib_ops.c crm_trace("Processing %s for epoch='%s'", op, op 305 lib/cib/cib_ops.c cib_process_replace(const char *op, int options, const char *section, xmlNode * req, op 312 lib/cib/cib_ops.c op, pcmk__s(section, "unspecified")); op 315 lib/cib/cib_ops.c return cib_process_xpath(op, options, section, req, input, op 426 lib/cib/cib_ops.c cib_process_delete(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 431 lib/cib/cib_ops.c crm_trace("Processing \"%s\" event", op); op 434 lib/cib/cib_ops.c return cib_process_xpath(op, options, section, req, input, op 454 lib/cib/cib_ops.c cib_process_modify(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 460 lib/cib/cib_ops.c crm_trace("Processing \"%s\" event", op); op 463 lib/cib/cib_ops.c return cib_process_xpath(op, options, section, req, input, op 578 lib/cib/cib_ops.c cib_process_create(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 586 lib/cib/cib_ops.c op, pcmk__s(section, "unspecified")); op 597 lib/cib/cib_ops.c CRM_CHECK(strcmp(op, PCMK__CIB_REQUEST_CREATE) == 0, return -EINVAL); op 605 lib/cib/cib_ops.c return cib_process_modify(op, options, section, req, input, existing_cib, result_cib, op 619 lib/cib/cib_ops.c if (update_results(failed, a_child, op, result)) { op 626 lib/cib/cib_ops.c update_results(failed, input, op, result); op 645 lib/cib/cib_ops.c cib_process_diff(const char *op, int options, const char *section, xmlNode * req, xmlNode * input, op 655 lib/cib/cib_ops.c op, originator, op 667 lib/cib/cib_ops.c cib_process_xpath(const char *op, int options, const char *section, op 673 lib/cib/cib_ops.c bool is_query = pcmk__str_eq(op, PCMK__CIB_REQUEST_QUERY, pcmk__str_none); op 675 lib/cib/cib_ops.c && pcmk__str_eq(op, PCMK__CIB_REQUEST_DELETE, op 679 lib/cib/cib_ops.c crm_trace("Processing \"%s\" event", op); op 689 lib/cib/cib_ops.c if (pcmk__str_eq(op, PCMK__CIB_REQUEST_DELETE, pcmk__str_none)) { op 693 lib/cib/cib_ops.c crm_debug("%s: %s does not exist", op, section); op 734 lib/cib/cib_ops.c crm_debug("Processing %s op for %s with %s", op, section, path); op 737 lib/cib/cib_ops.c if (pcmk__str_eq(op, PCMK__CIB_REQUEST_DELETE, pcmk__str_none)) { op 740 lib/cib/cib_ops.c crm_warn("Cannot perform %s for %s: The xpath is addressing the whole /cib", op, section); op 750 lib/cib/cib_ops.c } else if (pcmk__str_eq(op, PCMK__CIB_REQUEST_MODIFY, pcmk__str_none)) { op 763 lib/cib/cib_ops.c } else if (pcmk__str_eq(op, PCMK__CIB_REQUEST_CREATE, pcmk__str_none)) { op 767 lib/cib/cib_ops.c } else if (pcmk__str_eq(op, PCMK__CIB_REQUEST_QUERY, pcmk__str_none)) { op 816 lib/cib/cib_ops.c } else if (pcmk__str_eq(op, PCMK__CIB_REQUEST_REPLACE, op 55 lib/cib/cib_remote.c cib_remote_perform_op(cib_t *cib, const char *op, const char *host, op 77 lib/cib/cib_remote.c if (op == NULL) { op 82 lib/cib/cib_remote.c rc = cib__create_op(cib, op, host, section, data, call_options, user_name, op 94 lib/cib/cib_remote.c crm_trace("Sending %s message to the CIB manager", op); op 189 lib/cib/cib_remote.c crm_trace("No output in reply to \"%s\" command %d", op, cib->call_id - 1); op 183 lib/cib/cib_utils.c should_copy_cib(const char *op, const char *section, int call_options) op 190 lib/cib/cib_utils.c if (pcmk__str_eq(op, PCMK__CIB_REQUEST_COMMIT_TRANSACT, pcmk__str_none)) { op 221 lib/cib/cib_utils.c cib_perform_op(cib_t *cib, const char *op, uint32_t call_options, op 241 lib/cib/cib_utils.c (is_query? "read-only " : ""), op); op 275 lib/cib/cib_utils.c rc = (*fn) (op, call_options, section, req, input, cib_ro, result_cib, output); op 299 lib/cib/cib_utils.c make_copy = should_copy_cib(op, section, call_options); op 317 lib/cib/cib_utils.c rc = (*fn) (op, call_options, section, req, input, scratch, &scratch, output); op 336 lib/cib/cib_utils.c rc = (*fn) (op, call_options, section, req, input, *current_cib, op 344 lib/cib/cib_utils.c crm_trace("Inferring changes after %s op", op); op 558 lib/cib/cib_utils.c cib__create_op(cib_t *cib, const char *op, const char *host, op 573 lib/cib/cib_utils.c crm_xml_add(*op_msg, PCMK__XA_CIB_OP, op); op 603 lib/cib/cib_utils.c const char *op = crm_element_value(request, PCMK__XA_CIB_OP); op 606 lib/cib/cib_utils.c int rc = cib__get_operation(op, &operation); op 614 lib/cib/cib_utils.c crm_err("Operation %s is not supported in CIB transactions", op); op 653 lib/cib/cib_utils.c const char *op = crm_element_value(request, PCMK__XA_CIB_OP); op 658 lib/cib/cib_utils.c op, pcmk__s(client_id, "(unidentified)"), pcmk_rc_str(rc)); op 777 lib/cib/cib_utils.c cib_internal_op(cib_t * cib, const char *op, const char *host, op 781 lib/cib/cib_utils.c int (*delegate)(cib_t *cib, const char *op, const char *host, op 796 lib/cib/cib_utils.c return delegate(cib, op, host, section, data, output_data, call_options, user_name); op 403 lib/cluster/election.c const char *op; op 431 lib/cluster/election.c vote->op = crm_element_value(message, PCMK__XA_CRM_TASK); op 438 lib/cluster/election.c if ((vote->op == NULL) || (vote->from == NULL) || (vote->version == NULL) op 442 lib/cluster/election.c pcmk__s(vote->op, "election"), op 450 lib/cluster/election.c if (pcmk__str_eq(vote->op, CRM_OP_VOTE, pcmk__str_none)) { op 458 lib/cluster/election.c "because it is missing uptime", vote->op, vote->from); op 462 lib/cluster/election.c } else if (!pcmk__str_eq(vote->op, CRM_OP_NOVOTE, pcmk__str_none)) { op 464 lib/cluster/election.c "because %s is not a known election op", vote->from, vote->op); op 473 lib/cluster/election.c "because no peer information available", vote->op, vote->from); op 482 lib/cluster/election.c pcmk__assert((vote->from != NULL) && (vote->op != NULL)); op 487 lib/cluster/election.c pcmk__insert_dup(cluster->priv->election->voted, vote->from, vote->op); op 574 lib/cluster/election.c } else if (pcmk__str_eq(vote.op, CRM_OP_NOVOTE, pcmk__str_none) op 583 lib/cluster/election.c vote.election_id, vote.op, vote.from, op 591 lib/cluster/election.c vote.election_id, vote.op, vote.from); op 663 lib/cluster/election.c vote.election_id, vote.op, cluster->priv->election->count, op 688 lib/cluster/election.c vote.election_id, vote.election_owner, vote.op, op 718 lib/cluster/election.c vote.election_id, vote.election_owner, vote.op, op 501 lib/common/actions.c rsc_op_expected_rc(const lrmd_event_data_t *op) op 505 lib/common/actions.c if (op && op->user_data) { op 506 lib/common/actions.c decode_transition_key(op->user_data, NULL, NULL, NULL, &rc); op 512 lib/common/actions.c did_rsc_op_fail(lrmd_event_data_t * op, int target_rc) op 514 lib/common/actions.c switch (op->op_status) { op 529 lib/common/actions.c if (target_rc != op->rc) { op 576 lib/common/actions.c crm_op_needs_metadata(const char *rsc_class, const char *op) op 582 lib/common/actions.c CRM_CHECK((rsc_class != NULL) || (op != NULL), return false); op 589 lib/common/actions.c if (op == NULL) { op 594 lib/common/actions.c return pcmk__str_any_of(op, PCMK_ACTION_START, PCMK_ACTION_MONITOR, op 406 lib/common/crmcommon_private.h enum pcmk__comparison pcmk__parse_comparison(const char *op); op 409 lib/common/crmcommon_private.h enum pcmk__type pcmk__parse_type(const char *type, enum pcmk__comparison op, op 346 lib/common/ipc_attrd.c add_op_attr(xmlNode *op, uint32_t options) op 349 lib/common/ipc_attrd.c crm_xml_add(op, PCMK_XA_TASK, PCMK__ATTRD_CMD_UPDATE_BOTH); op 351 lib/common/ipc_attrd.c crm_xml_add(op, PCMK_XA_TASK, PCMK__ATTRD_CMD_UPDATE); op 353 lib/common/ipc_attrd.c crm_xml_add(op, PCMK_XA_TASK, PCMK__ATTRD_CMD_UPDATE_DELAY); op 358 lib/common/ipc_attrd.c populate_update_op(xmlNode *op, const char *node, const char *name, const char *value, op 362 lib/common/ipc_attrd.c crm_xml_add(op, PCMK__XA_ATTR_REGEX, name); op 364 lib/common/ipc_attrd.c crm_xml_add(op, PCMK__XA_ATTR_NAME, name); op 368 lib/common/ipc_attrd.c crm_xml_add(op, PCMK__XA_ATTR_SET_TYPE, PCMK_XE_UTILIZATION); op 370 lib/common/ipc_attrd.c crm_xml_add(op, PCMK__XA_ATTR_SET_TYPE, PCMK_XE_INSTANCE_ATTRIBUTES); op 373 lib/common/ipc_attrd.c add_op_attr(op, options); op 375 lib/common/ipc_attrd.c crm_xml_add(op, PCMK__XA_ATTR_VALUE, value); op 376 lib/common/ipc_attrd.c crm_xml_add(op, PCMK__XA_ATTR_DAMPENING, dampen); op 377 lib/common/ipc_attrd.c crm_xml_add(op, PCMK__XA_ATTR_HOST, node); op 378 lib/common/ipc_attrd.c crm_xml_add(op, PCMK__XA_ATTR_SET, set); op 379 lib/common/ipc_attrd.c crm_xml_add_int(op, PCMK__XA_ATTR_IS_REMOTE, op 381 lib/common/ipc_attrd.c crm_xml_add_int(op, PCMK__XA_ATTR_IS_PRIVATE, op 385 lib/common/ipc_attrd.c crm_xml_add(op, PCMK__XA_ATTR_SYNC_POINT, PCMK__VALUE_LOCAL); op 387 lib/common/ipc_attrd.c crm_xml_add(op, PCMK__XA_ATTR_SYNC_POINT, PCMK__VALUE_CLUSTER); op 325 lib/common/ipc_controld.c create_controller_request(const pcmk_ipc_api_t *api, const char *op, op 337 lib/common/ipc_controld.c if ((node == NULL) && !strcmp(op, CRM_OP_PING)) { op 345 lib/common/ipc_controld.c op, msg_data); op 492 lib/common/ipc_controld.c controller_resource_op(pcmk_ipc_api_t *api, const char *op, op 545 lib/common/ipc_controld.c request = create_controller_request(api, op, router_node, msg_data); op 214 lib/common/messages.c CRM_CHECK((request != NULL) && (request->op != NULL) && (handlers != NULL), op 223 lib/common/messages.c handler = g_hash_table_lookup(handlers, request->op); op 228 lib/common/messages.c request->op, pcmk__request_origin_type(request), op 246 lib/common/messages.c free(request->op); op 247 lib/common/messages.c request->op = NULL; op 594 lib/common/patchset.c const char *op = crm_element_value(change, PCMK_XA_OPERATION); op 598 lib/common/patchset.c if (op == NULL) { op 602 lib/common/patchset.c crm_trace("Processing %s %s", change->name, op); op 607 lib/common/patchset.c if (strcmp(op, PCMK_VALUE_DELETE) == 0) { op 611 lib/common/patchset.c crm_trace("Performing %s on %s with %p", op, xpath, match); op 613 lib/common/patchset.c if ((match == NULL) && (strcmp(op, PCMK_VALUE_DELETE) == 0)) { op 614 lib/common/patchset.c crm_debug("No %s match for %s in %p", op, xpath, xml->doc); op 618 lib/common/patchset.c crm_err("No %s match for %s in %p", op, xpath, xml->doc); op 622 lib/common/patchset.c } else if (pcmk__str_any_of(op, op 633 lib/common/patchset.c if (strcmp(op, PCMK_VALUE_MOVE) == 0) { op 640 lib/common/patchset.c } else if (strcmp(op, PCMK_VALUE_DELETE) == 0) { op 643 lib/common/patchset.c } else if (strcmp(op, PCMK_VALUE_MODIFY) == 0) { op 666 lib/common/patchset.c crm_err("Unknown operation: %s", op); op 677 lib/common/patchset.c const char *op = NULL; op 682 lib/common/patchset.c op = crm_element_value(change, PCMK_XA_OPERATION); op 685 lib/common/patchset.c crm_trace("Continue performing %s on %s with %p", op, xpath, match); op 687 lib/common/patchset.c if (strcmp(op, PCMK_VALUE_CREATE) == 0) { op 711 lib/common/patchset.c } else if (strcmp(op, PCMK_VALUE_MOVE) == 0) { op 864 lib/common/patchset.c const char *op = crm_element_value(change, PCMK_XA_OPERATION); op 873 lib/common/patchset.c if (pcmk__str_eq(op, PCMK_VALUE_CREATE, pcmk__str_none) op 89 lib/common/patchset_display.c const char *op = crm_element_value(change, PCMK_XA_OPERATION); op 92 lib/common/patchset_display.c if (op == NULL) { op 96 lib/common/patchset_display.c if (strcmp(op, PCMK_VALUE_CREATE) == 0) { op 116 lib/common/patchset_display.c } else if (strcmp(op, PCMK_VALUE_MOVE) == 0) { op 124 lib/common/patchset_display.c } else if (strcmp(op, PCMK_VALUE_MODIFY) == 0) { op 136 lib/common/patchset_display.c op = crm_element_value(child, PCMK_XA_OPERATION); op 137 lib/common/patchset_display.c if (op == NULL) { op 141 lib/common/patchset_display.c if (strcmp(op, "set") == 0) { op 147 lib/common/patchset_display.c } else if (strcmp(op, "unset") == 0) { op 166 lib/common/patchset_display.c } else if (strcmp(op, PCMK_VALUE_DELETE) == 0) { op 474 lib/common/rules.c const char *op = NULL; op 489 lib/common/rules.c op = crm_element_value(date_expression, PCMK_XA_OPERATION); op 490 lib/common/rules.c if (pcmk__str_eq(op, PCMK_VALUE_IN_RANGE, op 494 lib/common/rules.c } else if (pcmk__str_eq(op, PCMK_VALUE_DATE_SPEC, pcmk__str_casei)) { op 510 lib/common/rules.c } else if (pcmk__str_eq(op, PCMK_VALUE_GT, pcmk__str_casei)) { op 513 lib/common/rules.c } else if (pcmk__str_eq(op, PCMK_VALUE_LT, pcmk__str_casei)) { op 519 lib/common/rules.c PCMK_XE_OPERATION, id, op); op 524 lib/common/rules.c id, op, pcmk_rc_str(rc), rc); op 652 lib/common/rules.c pcmk__parse_comparison(const char *op) op 654 lib/common/rules.c if (pcmk__str_eq(op, PCMK_VALUE_DEFINED, pcmk__str_casei)) { op 657 lib/common/rules.c } else if (pcmk__str_eq(op, PCMK_VALUE_NOT_DEFINED, pcmk__str_casei)) { op 660 lib/common/rules.c } else if (pcmk__str_eq(op, PCMK_VALUE_EQ, pcmk__str_casei)) { op 663 lib/common/rules.c } else if (pcmk__str_eq(op, PCMK_VALUE_NE, pcmk__str_casei)) { op 666 lib/common/rules.c } else if (pcmk__str_eq(op, PCMK_VALUE_LT, pcmk__str_casei)) { op 669 lib/common/rules.c } else if (pcmk__str_eq(op, PCMK_VALUE_LTE, pcmk__str_casei)) { op 672 lib/common/rules.c } else if (pcmk__str_eq(op, PCMK_VALUE_GT, pcmk__str_casei)) { op 675 lib/common/rules.c } else if (pcmk__str_eq(op, PCMK_VALUE_GTE, pcmk__str_casei)) { op 694 lib/common/rules.c pcmk__parse_type(const char *type, enum pcmk__comparison op, op 698 lib/common/rules.c switch (op) { op 962 lib/common/rules.c const char *op = NULL; op 1005 lib/common/rules.c op = crm_element_value(expression, PCMK_XA_OPERATION); op 1006 lib/common/rules.c comparison = pcmk__parse_comparison(op); op 1009 lib/common/rules.c if (op == NULL) { op 1016 lib/common/rules.c PCMK_XA_OPERATION, id, op); op 1043 lib/common/rules.c id, op); op 1054 lib/common/rules.c id, op); op 1083 lib/common/rules.c id, pcmk_rc_str(rc), attr, op); op 1089 lib/common/rules.c id, pcmk_rc_str(rc), attr, op, pcmk__s(reference, ""), op 88 lib/fencing/st_client.c xmlNode *stonith_create_op(int call_id, const char *token, const char *op, xmlNode * data, op 90 lib/fencing/st_client.c static int stonith_send_command(stonith_t *stonith, const char *op, op 731 lib/fencing/st_client.c xmlNode *op = NULL; op 736 lib/fencing/st_client.c for (op = pcmk__xe_first_child(reply, NULL, NULL, NULL); op != NULL; op 737 lib/fencing/st_client.c op = pcmk__xe_next(op, NULL)) { op 743 lib/fencing/st_client.c kvp->target = crm_element_value_copy(op, PCMK__XA_ST_TARGET); op 744 lib/fencing/st_client.c kvp->action = crm_element_value_copy(op, PCMK__XA_ST_DEVICE_ACTION); op 745 lib/fencing/st_client.c kvp->origin = crm_element_value_copy(op, PCMK__XA_ST_ORIGIN); op 746 lib/fencing/st_client.c kvp->delegate = crm_element_value_copy(op, PCMK__XA_ST_DELEGATE); op 747 lib/fencing/st_client.c kvp->client = crm_element_value_copy(op, PCMK__XA_ST_CLIENTNAME); op 748 lib/fencing/st_client.c crm_element_value_ll(op, PCMK__XA_ST_DATE, &completed); op 750 lib/fencing/st_client.c crm_element_value_ll(op, PCMK__XA_ST_DATE_NSEC, &completed_nsec); op 752 lib/fencing/st_client.c crm_element_value_int(op, PCMK__XA_ST_STATE, &kvp->state); op 753 lib/fencing/st_client.c kvp->exit_reason = crm_element_value_copy(op, PCMK_XA_EXIT_REASON); op 829 lib/fencing/st_client.c stonith_create_op(int call_id, const char *token, const char *op, xmlNode * data, int call_options) op 837 lib/fencing/st_client.c crm_xml_add(op_msg, PCMK__XA_ST_OP, op); op 1547 lib/fencing/st_client.c stonith_send_command(stonith_t * stonith, const char *op, xmlNode * data, xmlNode ** output_data, op 1558 lib/fencing/st_client.c && (op != NULL)); op 1578 lib/fencing/st_client.c op_msg = stonith_create_op(stonith->call_id, native->token, op, data, call_options); op 1584 lib/fencing/st_client.c crm_trace("Sending %s message to fencer with timeout %ds", op, timeout); op 1607 lib/fencing/st_client.c crm_perror(LOG_ERR, "Couldn't perform %s operation (timeout=%ds): %d", op, timeout, rc); op 341 lib/lrmd/lrmd_alerts.c const char *node, const lrmd_event_data_t *op) op 351 lib/lrmd/lrmd_alerts.c target_rc = rsc_op_expected_rc(op); op 352 lib/lrmd/lrmd_alerts.c if ((op->interval_ms == 0) && (target_rc == op->rc) op 353 lib/lrmd/lrmd_alerts.c && pcmk__str_eq(op->op_type, PCMK_ACTION_MONITOR, pcmk__str_casei)) { op 364 lib/lrmd/lrmd_alerts.c params = alert_key2param(params, PCMK__alert_key_rsc, op->rsc_id); op 365 lib/lrmd/lrmd_alerts.c params = alert_key2param(params, PCMK__alert_key_task, op->op_type); op 367 lib/lrmd/lrmd_alerts.c op->interval_ms); op 369 lib/lrmd/lrmd_alerts.c params = alert_key2param_int(params, PCMK__alert_key_status, op->op_status); op 370 lib/lrmd/lrmd_alerts.c params = alert_key2param_int(params, PCMK__alert_key_rc, op->rc); op 375 lib/lrmd/lrmd_alerts.c if ((op->op_status == PCMK_EXEC_TIMEOUT) && (op->exec_time == 0)) { op 377 lib/lrmd/lrmd_alerts.c op->timeout); op 380 lib/lrmd/lrmd_alerts.c op->exec_time); op 383 lib/lrmd/lrmd_alerts.c if (op->op_status == PCMK_EXEC_DONE) { op 385 lib/lrmd/lrmd_alerts.c crm_exit_str((crm_exit_t) op->rc)); op 388 lib/lrmd/lrmd_alerts.c pcmk_exec_status_str(op->op_status)); op 396 lib/lrmd/lrmd_client.c const char *op = crm_element_value(xml, PCMK__XA_LRMD_OP); op 404 lib/lrmd/lrmd_client.c if (pcmk__str_eq(op, "register", pcmk__str_casei)) { op 562 lib/lrmd/lrmd_client.c lrmd_create_op(const char *token, const char *op, xmlNode *data, int timeout, op 571 lib/lrmd/lrmd_client.c crm_xml_add(op_msg, PCMK__XA_LRMD_OP, op); op 582 lib/lrmd/lrmd_client.c op, (long)options, options); op 899 lib/lrmd/lrmd_client.c lrmd_send_command(lrmd_t *lrmd, const char *op, xmlNode *data, op 912 lib/lrmd/lrmd_client.c if (op == NULL) { op 918 lib/lrmd/lrmd_client.c crm_trace("Sending %s op to executor", op); op 920 lib/lrmd/lrmd_client.c op_msg = lrmd_create_op(native->token, op, data, timeout, options); op 934 lib/lrmd/lrmd_client.c crm_perror(LOG_ERR, "Couldn't perform %s operation (timeout=%d): %d", op, timeout, rc); op 943 lib/lrmd/lrmd_client.c crm_trace("%s op reply received", op); op 219 lib/lrmd/proxy_common.c const char *op = crm_element_value(msg, PCMK__XA_LRMD_IPC_OP); op 228 lib/lrmd/proxy_common.c CRM_CHECK(op != NULL, return); op 234 lib/lrmd/proxy_common.c if (pcmk__str_eq(op, LRMD_IPC_OP_DESTROY, pcmk__str_casei)) { op 237 lib/lrmd/proxy_common.c } else if (pcmk__str_eq(op, LRMD_IPC_OP_REQUEST, pcmk__str_casei)) { op 294 lib/lrmd/proxy_common.c op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name, pcmk_strerror(rc), rc); op 305 lib/lrmd/proxy_common.c op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name); op 315 lib/lrmd/proxy_common.c op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name); op 320 lib/lrmd/proxy_common.c op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name, pcmk_strerror(rc), rc); op 323 lib/lrmd/proxy_common.c op, msg_id, proxy->node_name, crm_ipc_name(proxy->ipc), name); op 332 lib/lrmd/proxy_common.c crm_err("Unknown proxy operation: %s", op); op 991 lib/pacemaker/libpacemaker_private.h lrmd_event_data_t *op, const char *node, op 827 lib/pacemaker/pcmk_graph_consumer.c lrmd_event_data_t *op = NULL; op 841 lib/pacemaker/pcmk_graph_consumer.c op = lrmd_new_event(pcmk__xe_id(action_resource), op 844 lib/pacemaker/pcmk_graph_consumer.c lrmd__set_result(op, rc, status, exit_reason); op 845 lib/pacemaker/pcmk_graph_consumer.c op->t_run = time(NULL); op 846 lib/pacemaker/pcmk_graph_consumer.c op->t_rcchange = op->t_run; op 847 lib/pacemaker/pcmk_graph_consumer.c op->params = pcmk__strkey_table(free, free); op 851 lib/pacemaker/pcmk_graph_consumer.c pcmk__insert_dup(op->params, name, value); op 861 lib/pacemaker/pcmk_graph_consumer.c if (tmp > op->call_id) { op 862 lib/pacemaker/pcmk_graph_consumer.c op->call_id = tmp; op 866 lib/pacemaker/pcmk_graph_consumer.c op->call_id++; op 867 lib/pacemaker/pcmk_graph_consumer.c return op; op 198 lib/pacemaker/pcmk_injections.c lrmd_event_data_t *op = NULL; op 201 lib/pacemaker/pcmk_injections.c op = lrmd_new_event(pcmk__xe_id(cib_resource), task, interval_ms); op 202 lib/pacemaker/pcmk_injections.c lrmd__set_result(op, outcome, PCMK_EXEC_DONE, "Simulated action result"); op 203 lib/pacemaker/pcmk_injections.c op->params = NULL; // Not needed for simulation purposes op 204 lib/pacemaker/pcmk_injections.c op->t_run = time(NULL); op 205 lib/pacemaker/pcmk_injections.c op->t_rcchange = op->t_run; op 208 lib/pacemaker/pcmk_injections.c op->call_id = 0; op 215 lib/pacemaker/pcmk_injections.c if (tmp > op->call_id) { op 216 lib/pacemaker/pcmk_injections.c op->call_id = tmp; op 219 lib/pacemaker/pcmk_injections.c op->call_id++; op 221 lib/pacemaker/pcmk_injections.c return op; op 236 lib/pacemaker/pcmk_injections.c pcmk__inject_action_result(xmlNode *cib_resource, lrmd_event_data_t *op, op 239 lib/pacemaker/pcmk_injections.c return pcmk__create_history_xml(cib_resource, op, CRM_FEATURE_SET, op 579 lib/pacemaker/pcmk_injections.c lrmd_event_data_t *op = NULL; op 625 lib/pacemaker/pcmk_injections.c op = create_op(cib_resource, task, interval_ms, outcome); op 626 lib/pacemaker/pcmk_injections.c pcmk__assert(op != NULL); op 628 lib/pacemaker/pcmk_injections.c cib_op = pcmk__inject_action_result(cib_resource, op, node, 0); op 630 lib/pacemaker/pcmk_injections.c lrmd_free_event(op); op 1466 lib/pacemaker/pcmk_output.c const char *op = va_arg(args, const char *); op 1472 lib/pacemaker/pcmk_output.c out->list_item(out, NULL, "Fencing %s (%s)", target, op); op 1481 lib/pacemaker/pcmk_output.c const char *op = va_arg(args, const char *); op 1489 lib/pacemaker/pcmk_output.c PCMK_XA_OP, op, op 1098 lib/pacemaker/pcmk_sched_actions.c add_op_digest_to_xml(const lrmd_event_data_t *op, xmlNode *update) op 1103 lib/pacemaker/pcmk_sched_actions.c if (op->params == NULL) { op 1107 lib/pacemaker/pcmk_sched_actions.c g_hash_table_foreach(op->params, hash2field, args_xml); op 1131 lib/pacemaker/pcmk_sched_actions.c pcmk__create_history_xml(xmlNode *parent, lrmd_event_data_t *op, op 1145 lib/pacemaker/pcmk_sched_actions.c CRM_CHECK(op != NULL, return NULL); op 1148 lib/pacemaker/pcmk_sched_actions.c pcmk__readable_interval(op->interval_ms), op->op_type, op->rsc_id, op 1151 lib/pacemaker/pcmk_sched_actions.c task = op->op_type; op 1169 lib/pacemaker/pcmk_sched_actions.c if (op->op_status == PCMK_EXEC_DONE) { op 1176 lib/pacemaker/pcmk_sched_actions.c key = pcmk__op_key(op->rsc_id, task, op->interval_ms); op 1178 lib/pacemaker/pcmk_sched_actions.c const char *n_type = crm_meta_value(op->params, "notify_type"); op 1179 lib/pacemaker/pcmk_sched_actions.c const char *n_task = crm_meta_value(op->params, "notify_operation"); op 1183 lib/pacemaker/pcmk_sched_actions.c op_id = pcmk__notify_key(op->rsc_id, n_type, n_task); op 1185 lib/pacemaker/pcmk_sched_actions.c if (op->op_status != PCMK_EXEC_PENDING) { op 1191 lib/pacemaker/pcmk_sched_actions.c lrmd__set_result(op, PCMK_OCF_OK, PCMK_EXEC_DONE, NULL); op 1197 lib/pacemaker/pcmk_sched_actions.c } else if (pcmk__str_any_of(op->op_type, PCMK_ACTION_MIGRATE_TO, op 1201 lib/pacemaker/pcmk_sched_actions.c } else if (did_rsc_op_fail(op, target_rc)) { op 1202 lib/pacemaker/pcmk_sched_actions.c op_id = pcmk__op_key(op->rsc_id, "last_failure", 0); op 1203 lib/pacemaker/pcmk_sched_actions.c if (op->interval_ms == 0) { op 1207 lib/pacemaker/pcmk_sched_actions.c op_id_additional = pcmk__op_key(op->rsc_id, "last", 0); op 1209 lib/pacemaker/pcmk_sched_actions.c exit_reason = op->exit_reason; op 1211 lib/pacemaker/pcmk_sched_actions.c } else if (op->interval_ms > 0) { op 1215 lib/pacemaker/pcmk_sched_actions.c op_id = pcmk__op_key(op->rsc_id, "last", 0); op 1225 lib/pacemaker/pcmk_sched_actions.c if (op->user_data == NULL) { op 1227 lib/pacemaker/pcmk_sched_actions.c " %d from %s", op->rsc_id, op->op_type, op->interval_ms, op 1228 lib/pacemaker/pcmk_sched_actions.c op->call_id, origin); op 1229 lib/pacemaker/pcmk_sched_actions.c local_user_data = pcmk__transition_key(-1, op->call_id, target_rc, op 1231 lib/pacemaker/pcmk_sched_actions.c op->user_data = local_user_data; op 1235 lib/pacemaker/pcmk_sched_actions.c magic = crm_strdup_printf("%d:%d;%s", op->op_status, op->rc, op 1236 lib/pacemaker/pcmk_sched_actions.c (const char *) op->user_data); op 1244 lib/pacemaker/pcmk_sched_actions.c crm_xml_add(xml_op, PCMK__XA_TRANSITION_KEY, op->user_data); op 1249 lib/pacemaker/pcmk_sched_actions.c crm_xml_add_int(xml_op, PCMK__XA_CALL_ID, op->call_id); op 1250 lib/pacemaker/pcmk_sched_actions.c crm_xml_add_int(xml_op, PCMK__XA_RC_CODE, op->rc); op 1251 lib/pacemaker/pcmk_sched_actions.c crm_xml_add_int(xml_op, PCMK__XA_OP_STATUS, op->op_status); op 1252 lib/pacemaker/pcmk_sched_actions.c crm_xml_add_ms(xml_op, PCMK_META_INTERVAL, op->interval_ms); op 1254 lib/pacemaker/pcmk_sched_actions.c if ((op->t_run > 0) || (op->t_rcchange > 0) || (op->exec_time > 0) op 1255 lib/pacemaker/pcmk_sched_actions.c || (op->queue_time > 0)) { op 1259 lib/pacemaker/pcmk_sched_actions.c op->rsc_id, op->op_type, op->interval_ms, op 1260 lib/pacemaker/pcmk_sched_actions.c (long long) op->t_run, (long long) op->t_rcchange, op 1261 lib/pacemaker/pcmk_sched_actions.c op->exec_time, op->queue_time); op 1263 lib/pacemaker/pcmk_sched_actions.c if ((op->interval_ms > 0) && (op->t_rcchange > 0)) { op 1266 lib/pacemaker/pcmk_sched_actions.c (long long) op->t_rcchange); op 1269 lib/pacemaker/pcmk_sched_actions.c (long long) op->t_run); op 1272 lib/pacemaker/pcmk_sched_actions.c crm_xml_add_int(xml_op, PCMK_XA_EXEC_TIME, op->exec_time); op 1273 lib/pacemaker/pcmk_sched_actions.c crm_xml_add_int(xml_op, PCMK_XA_QUEUE_TIME, op->queue_time); op 1276 lib/pacemaker/pcmk_sched_actions.c if (pcmk__str_any_of(op->op_type, PCMK_ACTION_MIGRATE_TO, op 1283 lib/pacemaker/pcmk_sched_actions.c crm_xml_add(xml_op, name, crm_meta_value(op->params, name)); op 1286 lib/pacemaker/pcmk_sched_actions.c crm_xml_add(xml_op, name, crm_meta_value(op->params, name)); op 1289 lib/pacemaker/pcmk_sched_actions.c add_op_digest_to_xml(op, xml_op); op 1300 lib/pacemaker/pcmk_sched_actions.c op->user_data = NULL; op 1440 lib/pacemaker/pcmk_sched_actions.c const char *op = g_hash_table_lookup(action->meta, op 1443 lib/pacemaker/pcmk_sched_actions.c task = crm_strdup_printf("Fence (%s)", op); op 108 lib/pacemaker/pcmk_sched_group.c pcmk_action_t *op = custom_action(group, pcmk__op_key(group->id, action, 0), op 112 lib/pacemaker/pcmk_sched_group.c pcmk__set_action_flags(op, pcmk__action_pseudo|pcmk__action_runnable); op 113 lib/pacemaker/pcmk_sched_group.c return op; op 321 lib/pacemaker/pcmk_sched_probes.c const char *op = g_hash_table_lookup(then->meta, op 324 lib/pacemaker/pcmk_sched_probes.c if (pcmk__str_eq(op, PCMK_ACTION_ON, pcmk__str_casei)) { op 66 lib/pacemaker/pcmk_sched_recurring.c for (xmlNode *op = pcmk__xe_first_child(rsc->priv->ops_xml, PCMK_XE_OP, op 68 lib/pacemaker/pcmk_sched_recurring.c op != NULL; op = pcmk__xe_next(op, PCMK_XE_OP)) { op 71 lib/pacemaker/pcmk_sched_recurring.c if (!pcmk__str_eq(crm_element_value(op, PCMK_XA_NAME), name, op 73 lib/pacemaker/pcmk_sched_recurring.c || (xe_interval(op) != interval_ms)) { op 77 lib/pacemaker/pcmk_sched_recurring.c if (pcmk__xe_id(op) == NULL) { op 82 lib/pacemaker/pcmk_sched_recurring.c id = pcmk__xe_id(op); // First matching op op 86 lib/pacemaker/pcmk_sched_recurring.c "than once per resource)", pcmk__xe_id(op), id); op 131 lib/pacemaker/pcmk_sched_recurring.c struct op_history *op) op 135 lib/pacemaker/pcmk_sched_recurring.c op->interval_ms = xe_interval(xml); op 136 lib/pacemaker/pcmk_sched_recurring.c if (op->interval_ms == 0) { op 140 lib/pacemaker/pcmk_sched_recurring.c op->id = pcmk__xe_id(xml); op 141 lib/pacemaker/pcmk_sched_recurring.c if (pcmk__str_empty(op->id)) { op 146 lib/pacemaker/pcmk_sched_recurring.c op->name = crm_element_value(xml, PCMK_XA_NAME); op 147 lib/pacemaker/pcmk_sched_recurring.c if (op_cannot_recur(op->name)) { op 149 lib/pacemaker/pcmk_sched_recurring.c op->id, pcmk__s(op->name, "unnamed")); op 154 lib/pacemaker/pcmk_sched_recurring.c if (is_op_dup(rsc, op->name, op->interval_ms)) { op 161 lib/pacemaker/pcmk_sched_recurring.c op->role = pcmk_role_unknown; op 163 lib/pacemaker/pcmk_sched_recurring.c op->role = pcmk_parse_role(role); op 164 lib/pacemaker/pcmk_sched_recurring.c if (op->role == pcmk_role_unknown) { op 166 lib/pacemaker/pcmk_sched_recurring.c op->id, role); op 172 lib/pacemaker/pcmk_sched_recurring.c if (pcmk__find_action_config(rsc, op->name, op->interval_ms, op 177 lib/pacemaker/pcmk_sched_recurring.c op->id, pcmk__readable_interval(op->interval_ms), op 178 lib/pacemaker/pcmk_sched_recurring.c op->name, rsc->id); op 182 lib/pacemaker/pcmk_sched_recurring.c op->key = pcmk__op_key(rsc->id, op->name, op->interval_ms); op 229 lib/pacemaker/pcmk_sched_recurring.c const pcmk_action_t *op = (const pcmk_action_t *) iter->data; op 231 lib/pacemaker/pcmk_sched_recurring.c if (pcmk_is_set(op->flags, pcmk__action_reschedule)) { op 255 lib/pacemaker/pcmk_sched_recurring.c const pcmk_node_t *node, const struct op_history *op) op 260 lib/pacemaker/pcmk_sched_recurring.c enum rsc_role_e monitor_role = op->role; op 267 lib/pacemaker/pcmk_sched_recurring.c is_optional = active_recurring_should_be_optional(rsc, node, op->key, op 281 lib/pacemaker/pcmk_sched_recurring.c pcmk_action_t *cancel_op = pcmk__new_cancel_action(rsc, op->name, op 282 lib/pacemaker/pcmk_sched_recurring.c op->interval_ms, op 313 lib/pacemaker/pcmk_sched_recurring.c (is_optional? "Cancelling" : "Ignoring"), op->key, op->id, op 321 lib/pacemaker/pcmk_sched_recurring.c (is_optional? "optional" : "mandatory"), op->key, op 322 lib/pacemaker/pcmk_sched_recurring.c op->id, rsc->id, pcmk_role_text(rsc->priv->next_role), op 325 lib/pacemaker/pcmk_sched_recurring.c mon = custom_action(rsc, strdup(op->key), op->name, node, is_optional, op 340 lib/pacemaker/pcmk_sched_recurring.c pcmk__readable_interval(op->interval_ms), mon->task, op 501 lib/pacemaker/pcmk_sched_recurring.c const struct op_history *op) op 506 lib/pacemaker/pcmk_sched_recurring.c if (op->role != pcmk_role_stopped) { op 512 lib/pacemaker/pcmk_sched_recurring.c " role are not supported for anonymous clones)", op->id); op 518 lib/pacemaker/pcmk_sched_recurring.c "where it should not be running", op->id, rsc->id); op 532 lib/pacemaker/pcmk_sched_recurring.c cancel_if_running(rsc, node, op->key, op->name, op->interval_ms); op 537 lib/pacemaker/pcmk_sched_recurring.c possible_matches = find_actions_exact(rsc->priv->actions, op->key, op 546 lib/pacemaker/pcmk_sched_recurring.c op->key, op->id, rsc->id, pcmk__node_name(stop_node)); op 548 lib/pacemaker/pcmk_sched_recurring.c stopped_mon = custom_action(rsc, strdup(op->key), op->name, stop_node, op 572 lib/pacemaker/pcmk_sched_recurring.c pcmk__readable_interval(op->interval_ms), op 621 lib/pacemaker/pcmk_sched_recurring.c for (xmlNode *op = pcmk__xe_first_child(rsc->priv->ops_xml, PCMK_XE_OP, op 623 lib/pacemaker/pcmk_sched_recurring.c op != NULL; op = pcmk__xe_next(op, PCMK_XE_OP)) { op 627 lib/pacemaker/pcmk_sched_recurring.c if (!is_recurring_history(rsc, op, &op_history)) { op 728 lib/pacemaker/pcmk_sched_recurring.c pcmk_action_t *op = NULL; op 732 lib/pacemaker/pcmk_sched_recurring.c op = custom_action(rsc, pcmk__op_key(rsc->id, task, interval_ms), op 734 lib/pacemaker/pcmk_sched_recurring.c pcmk__set_action_flags(op, pcmk__action_reschedule); op 479 lib/pacemaker/pcmk_sched_resource.c pcmk_action_t *op = (pcmk_action_t *) iter->data; op 482 lib/pacemaker/pcmk_sched_resource.c op->uuid, rsc->id); op 484 lib/pacemaker/pcmk_sched_resource.c if (pcmk__str_eq(op->task, PCMK_ACTION_STOP, pcmk__str_none)) { op 485 lib/pacemaker/pcmk_sched_resource.c pcmk__clear_action_flags(op, pcmk__action_optional); op 487 lib/pacemaker/pcmk_sched_resource.c } else if (pcmk__str_eq(op->task, PCMK_ACTION_START, op 489 lib/pacemaker/pcmk_sched_resource.c pcmk__clear_action_flags(op, pcmk__action_runnable); op 496 lib/pacemaker/pcmk_sched_resource.c interval_ms_s = g_hash_table_lookup(op->meta, op 498 lib/pacemaker/pcmk_sched_resource.c target_rc_s = g_hash_table_lookup(op->meta, op 507 lib/pacemaker/pcmk_sched_resource.c pcmk__clear_action_flags(op, pcmk__action_runnable); op 100 lib/pacemaker/pcmk_simulate.c const char *op = g_hash_table_lookup(action->meta, op 104 lib/pacemaker/pcmk_simulate.c prefix, action->task, op, action_host); op 558 lib/pacemaker/pcmk_simulate.c lrmd_event_data_t *op = NULL; op 650 lib/pacemaker/pcmk_simulate.c op = pcmk__event_from_graph_action(cib_resource, action, PCMK_EXEC_DONE, op 652 lib/pacemaker/pcmk_simulate.c out->message(out, "inject-rsc-action", resource, op->op_type, node, op 653 lib/pacemaker/pcmk_simulate.c op->interval_ms); op 664 lib/pacemaker/pcmk_simulate.c key = crm_strdup_printf(PCMK__OP_FMT "@%s=", resource, op->op_type, op 665 lib/pacemaker/pcmk_simulate.c op->interval_ms, node); op 676 lib/pacemaker/pcmk_simulate.c op->op_type, op->interval_ms, node); op 688 lib/pacemaker/pcmk_simulate.c rc = sscanf(spec, "%*[^=]=%d", (int *) &op->rc); op 696 lib/pacemaker/pcmk_simulate.c action->id, op->rc); op 700 lib/pacemaker/pcmk_simulate.c if (pcmk__str_eq(op->op_type, PCMK_ACTION_START, pcmk__str_none)) { op 703 lib/pacemaker/pcmk_simulate.c } else if (pcmk__str_eq(op->op_type, PCMK_ACTION_STOP, op 708 lib/pacemaker/pcmk_simulate.c pcmk__inject_failcount(out, fake_cib, cib_node, match_name, op->op_type, op 709 lib/pacemaker/pcmk_simulate.c op->interval_ms, op->rc, op 714 lib/pacemaker/pcmk_simulate.c pcmk__inject_action_result(cib_resource, op, node, target_outcome); op 715 lib/pacemaker/pcmk_simulate.c lrmd_free_event(op); op 763 lib/pacemaker/pcmk_simulate.c const char *op = crm_meta_value(action->params, PCMK__META_STONITH_ACTION); op 766 lib/pacemaker/pcmk_simulate.c out->message(out, "inject-fencing-action", target, op); op 768 lib/pacemaker/pcmk_simulate.c if (!pcmk__str_eq(op, PCMK_ACTION_ON, pcmk__str_casei)) { op 250 lib/pengine/complex.c template_op_key(xmlNode * op) op 252 lib/pengine/complex.c const char *name = crm_element_value(op, PCMK_XA_NAME); op 253 lib/pengine/complex.c const char *role = crm_element_value(op, PCMK_XA_ROLE); op 335 lib/pengine/complex.c xmlNode *op = NULL; op 338 lib/pengine/complex.c for (op = pcmk__xe_first_child(rsc_ops, NULL, NULL, NULL); op != NULL; op 339 lib/pengine/complex.c op = pcmk__xe_next(op, NULL)) { op 341 lib/pengine/complex.c char *key = template_op_key(op); op 343 lib/pengine/complex.c g_hash_table_insert(rsc_ops_hash, key, op); op 346 lib/pengine/complex.c for (op = pcmk__xe_first_child(template_ops, NULL, NULL, NULL); op 347 lib/pengine/complex.c op != NULL; op = pcmk__xe_next(op, NULL)) { op 349 lib/pengine/complex.c char *key = template_op_key(op); op 352 lib/pengine/complex.c pcmk__xml_copy(rsc_ops, op); op 626 lib/pengine/pe_actions.c xmlNode *op = NULL; op 656 lib/pengine/pe_actions.c op = operation; op 659 lib/pengine/pe_actions.c return op; op 1134 lib/pengine/pe_actions.c pcmk_action_t *op = lookup_singleton(scheduler, name); op 1136 lib/pengine/pe_actions.c if (op == NULL) { op 1137 lib/pengine/pe_actions.c op = custom_action(NULL, strdup(name), name, NULL, TRUE, scheduler); op 1138 lib/pengine/pe_actions.c pcmk__set_action_flags(op, pcmk__action_pseudo|pcmk__action_runnable); op 1140 lib/pengine/pe_actions.c return op; op 1237 lib/pengine/pe_actions.c pe_fence_op(pcmk_node_t *node, const char *op, bool optional, op 1244 lib/pengine/pe_actions.c if(op == NULL) { op 1245 lib/pengine/pe_actions.c op = scheduler->priv->fence_action; op 1249 lib/pengine/pe_actions.c PCMK_ACTION_STONITH, node->priv->name, op); op 1259 lib/pengine/pe_actions.c pcmk__insert_meta(stonith_op, PCMK__META_STONITH_ACTION, op); op 319 lib/pengine/pe_notif.c pcmk_action_t *op, pcmk_action_t *notify_done, op 331 lib/pengine/pe_notif.c if (op == NULL) { op 337 lib/pengine/pe_notif.c } else if (!pcmk_is_set(op->flags, pcmk__action_runnable)) { op 346 lib/pengine/pe_notif.c value = g_hash_table_lookup(op->meta, "notify_type"); // "pre" or "post" op 347 lib/pengine/pe_notif.c task = g_hash_table_lookup(op->meta, "notify_operation"); // original action op 354 lib/pengine/pe_notif.c notify_action = custom_action(rsc, key, op->task, node, op 355 lib/pengine/pe_notif.c pcmk_is_set(op->flags, pcmk__action_optional), op 359 lib/pengine/pe_notif.c g_hash_table_foreach(op->meta, copy_meta_to_notify, notify_action); op 363 lib/pengine/pe_notif.c order_actions(op, notify_action, pcmk__ar_ordered); op 622 lib/pengine/pe_notif.c const pcmk_action_t *op = (const pcmk_action_t *) iter->data; op 624 lib/pengine/pe_notif.c if (!pcmk_is_set(op->flags, pcmk__action_optional) op 625 lib/pengine/pe_notif.c && (op->node != NULL)) { op 626 lib/pengine/pe_notif.c enum pcmk__action_type task = pcmk__parse_action(op->task); op 628 lib/pengine/pe_notif.c if ((task == pcmk__action_stop) && op->node->details->unclean) { op 630 lib/pengine/pe_notif.c } else if (!pcmk_is_set(op->flags, pcmk__action_runnable)) { op 634 lib/pengine/pe_notif.c entry = new_notify_entry(rsc, op->node); op 835 lib/pengine/pe_notif.c pcmk_action_t *op = (pcmk_action_t *) iter->data; op 837 lib/pengine/pe_notif.c if (!pcmk_is_set(op->flags, pcmk__action_optional) op 838 lib/pengine/pe_notif.c && (op->node != NULL)) { op 839 lib/pengine/pe_notif.c switch (pcmk__parse_action(op->task)) { op 844 lib/pengine/pe_notif.c add_notify_data_to_action_meta(n_data, op); op 2948 lib/pengine/unpack.c find_lrm_op(const char *resource, const char *op, const char *node, const char *source, op 2954 lib/pengine/unpack.c CRM_CHECK((resource != NULL) && (op != NULL) && (node != NULL), op 2961 lib/pengine/unpack.c SUB_XPATH_LRM_RSC_OP "[@" PCMK_XA_OPERATION "='", op, "'", op 2965 lib/pengine/unpack.c if ((source != NULL) && (strcmp(op, PCMK_ACTION_MIGRATE_TO) == 0)) { op 2971 lib/pengine/unpack.c && (strcmp(op, PCMK_ACTION_MIGRATE_FROM) == 0)) { op 3093 lib/pengine/unpack.c for (xmlNode *op = pcmk__xe_first_child(lrm_resource, PCMK__XE_LRM_RSC_OP, op 3095 lib/pengine/unpack.c op != NULL; op = pcmk__xe_next(op, PCMK__XE_LRM_RSC_OP)) { op 3099 lib/pengine/unpack.c if (op == xml_op) { op 3103 lib/pengine/unpack.c task = crm_element_value(op, PCMK_XA_OPERATION); op 3108 lib/pengine/unpack.c && pe__is_newer_op(op, xml_op) > 0) { op 97 lib/services/services.c inflight_systemd(const svc_action_t *op) op 99 lib/services/services.c return pcmk__str_eq(op->standard, PCMK_RESOURCE_CLASS_SYSTEMD, op 101 lib/services/services.c && (g_list_find(inflight_ops, op) != NULL); op 160 lib/services/services.c svc_action_t *op = calloc(1, sizeof(svc_action_t)); op 162 lib/services/services.c if (op == NULL) { op 166 lib/services/services.c op->opaque = calloc(1, sizeof(svc_action_private_t)); op 167 lib/services/services.c if (op->opaque == NULL) { op 168 lib/services/services.c free(op); op 173 lib/services/services.c services__set_result(op, PCMK_OCF_UNKNOWN, PCMK_EXEC_UNKNOWN, NULL); op 174 lib/services/services.c return op; op 216 lib/services/services.c copy_action_arguments(svc_action_t *op, uint32_t ra_caps, const char *name, op 220 lib/services/services.c op->rsc = strdup(name); op 221 lib/services/services.c if (op->rsc == NULL) { op 225 lib/services/services.c op->agent = strdup(agent); op 226 lib/services/services.c if (op->agent == NULL) { op 230 lib/services/services.c op->standard = expand_resource_class(name, standard, agent); op 231 lib/services/services.c if (op->standard == NULL) { op 239 lib/services/services.c op->action = strdup(action); op 240 lib/services/services.c if (op->action == NULL) { op 245 lib/services/services.c op->provider = strdup(provider); op 246 lib/services/services.c if (op->provider == NULL) { op 260 lib/services/services.c svc_action_t *op = NULL; op 264 lib/services/services.c op = new_action(); op 265 lib/services/services.c if (op == NULL) { op 273 lib/services/services.c op->interval_ms = interval_ms; op 274 lib/services/services.c op->timeout = timeout; op 275 lib/services/services.c op->flags = flags; op 276 lib/services/services.c op->sequence = ++operations; op 280 lib/services/services.c op->params = params; op 288 lib/services/services.c services__set_result(op, services__generic_error(op), op 291 lib/services/services.c return op; op 294 lib/services/services.c op->id = pcmk__op_key(name, action, interval_ms); op 296 lib/services/services.c if (copy_action_arguments(op, ra_caps, name, standard, provider, agent, op 300 lib/services/services.c services__handle_exec_error(op, ENOMEM); op 301 lib/services/services.c return op; op 304 lib/services/services.c if (strcasecmp(op->standard, PCMK_RESOURCE_CLASS_OCF) == 0) { op 305 lib/services/services.c rc = services__ocf_prepare(op); op 308 lib/services/services.c } else if (strcasecmp(op->standard, PCMK_RESOURCE_CLASS_LSB) == 0) { op 309 lib/services/services.c rc = services__lsb_prepare(op); op 312 lib/services/services.c } else if (strcasecmp(op->standard, PCMK_RESOURCE_CLASS_SYSTEMD) == 0) { op 313 lib/services/services.c rc = services__systemd_prepare(op); op 316 lib/services/services.c crm_info("Unknown resource standard: %s", op->standard); op 323 lib/services/services.c services__handle_exec_error(op, rc); op 325 lib/services/services.c return op; op 334 lib/services/services.c svc_action_t *op = services__create_resource_action(name, standard, op 337 lib/services/services.c if (op == NULL || op->rc != 0) { op 338 lib/services/services.c services_action_free(op); op 342 lib/services/services.c op->rc = PCMK_OCF_OK; op 343 lib/services/services.c op->status = PCMK_EXEC_DONE; op 345 lib/services/services.c return op; op 352 lib/services/services.c svc_action_t *op = new_action(); op 354 lib/services/services.c pcmk__mem_assert(op); op 356 lib/services/services.c op->opaque->exec = strdup(exec); op 357 lib/services/services.c op->opaque->args[0] = strdup(exec); op 358 lib/services/services.c if ((op->opaque->exec == NULL) || (op->opaque->args[0] == NULL)) { op 360 lib/services/services.c services__set_result(op, PCMK_OCF_UNKNOWN_ERROR, PCMK_EXEC_ERROR, op 362 lib/services/services.c return op; op 366 lib/services/services.c return op; op 371 lib/services/services.c if (cur_arg == PCMK__NELEM(op->opaque->args)) { op 374 lib/services/services.c services__set_result(op, PCMK_OCF_UNKNOWN_ERROR, op 379 lib/services/services.c op->opaque->args[cur_arg] = strdup(args[cur_arg - 1]); op 380 lib/services/services.c if (op->opaque->args[cur_arg] == NULL) { op 383 lib/services/services.c services__set_result(op, PCMK_OCF_UNKNOWN_ERROR, PCMK_EXEC_ERROR, op 389 lib/services/services.c return op; op 436 lib/services/services.c services_action_user(svc_action_t *op, const char *user) op 438 lib/services/services.c CRM_CHECK((op != NULL) && (user != NULL), return -EINVAL); op 439 lib/services/services.c return crm_user_lookup(user, &(op->opaque->uid), &(op->opaque->gid)); op 456 lib/services/services.c services_alert_async(svc_action_t *action, void (*cb)(svc_action_t *op)) op 472 lib/services/services.c services_set_op_pending(svc_action_t *op, DBusPendingCall *pending) op 474 lib/services/services.c if (op->opaque->pending && (op->opaque->pending != pending)) { op 476 lib/services/services.c crm_info("Lost pending %s DBus call (%p)", op->id, op->opaque->pending); op 478 lib/services/services.c crm_trace("Done with pending %s DBus call (%p)", op->id, op->opaque->pending); op 480 lib/services/services.c dbus_pending_call_unref(op->opaque->pending); op 482 lib/services/services.c op->opaque->pending = pending; op 484 lib/services/services.c crm_trace("Updated pending %s DBus call (%p)", op->id, pending); op 486 lib/services/services.c crm_trace("Cleared pending %s DBus call", op->id); op 492 lib/services/services.c services_action_cleanup(svc_action_t * op) op 494 lib/services/services.c if ((op == NULL) || (op->opaque == NULL)) { op 499 lib/services/services.c if(op->opaque->timerid != 0) { op 500 lib/services/services.c crm_trace("Removing timer for call %s to %s", op->action, op->rsc); op 501 lib/services/services.c g_source_remove(op->opaque->timerid); op 502 lib/services/services.c op->opaque->timerid = 0; op 505 lib/services/services.c if(op->opaque->pending) { op 506 lib/services/services.c if (dbus_pending_call_get_completed(op->opaque->pending)) { op 509 lib/services/services.c op->standard, op->id); op 512 lib/services/services.c op->standard, op->id); op 514 lib/services/services.c dbus_pending_call_cancel(op->opaque->pending); op 515 lib/services/services.c services_set_op_pending(op, NULL); op 519 lib/services/services.c if (op->opaque->stderr_gsource) { op 520 lib/services/services.c mainloop_del_fd(op->opaque->stderr_gsource); op 521 lib/services/services.c op->opaque->stderr_gsource = NULL; op 524 lib/services/services.c if (op->opaque->stdout_gsource) { op 525 lib/services/services.c mainloop_del_fd(op->opaque->stdout_gsource); op 526 lib/services/services.c op->opaque->stdout_gsource = NULL; op 566 lib/services/services.c services_action_free(svc_action_t * op) op 570 lib/services/services.c if (op == NULL) { op 578 lib/services/services.c CRM_CHECK(g_list_find(inflight_ops, op) == NULL, return); op 579 lib/services/services.c CRM_CHECK(g_list_find(blocked_ops, op) == NULL, return); op 581 lib/services/services.c || (g_hash_table_lookup(recurring_actions, op->id) == NULL), op 584 lib/services/services.c services_action_cleanup(op); op 586 lib/services/services.c if (op->opaque->repeat_timer) { op 587 lib/services/services.c g_source_remove(op->opaque->repeat_timer); op 588 lib/services/services.c op->opaque->repeat_timer = 0; op 591 lib/services/services.c free(op->id); op 592 lib/services/services.c free(op->opaque->exec); op 594 lib/services/services.c for (i = 0; i < PCMK__NELEM(op->opaque->args); i++) { op 595 lib/services/services.c free(op->opaque->args[i]); op 598 lib/services/services.c free(op->opaque->exit_reason); op 601 lib/services/services.c free(op->opaque->job_path); op 604 lib/services/services.c free(op->opaque); op 605 lib/services/services.c free(op->rsc); op 606 lib/services/services.c free(op->action); op 608 lib/services/services.c free(op->standard); op 609 lib/services/services.c free(op->agent); op 610 lib/services/services.c free(op->provider); op 612 lib/services/services.c free(op->stdout_data); op 613 lib/services/services.c free(op->stderr_data); op 615 lib/services/services.c if (op->params) { op 616 lib/services/services.c g_hash_table_destroy(op->params); op 617 lib/services/services.c op->params = NULL; op 620 lib/services/services.c free(op); op 624 lib/services/services.c cancel_recurring_action(svc_action_t * op) op 626 lib/services/services.c crm_info("Cancelling %s operation %s", op->standard, op->id); op 629 lib/services/services.c g_hash_table_remove(recurring_actions, op->id); op 632 lib/services/services.c if (op->opaque->repeat_timer) { op 633 lib/services/services.c g_source_remove(op->opaque->repeat_timer); op 634 lib/services/services.c op->opaque->repeat_timer = 0; op 654 lib/services/services.c svc_action_t *op = NULL; op 658 lib/services/services.c op = g_hash_table_lookup(recurring_actions, id); op 659 lib/services/services.c if (op == NULL) { op 664 lib/services/services.c op->cancel = TRUE; op 667 lib/services/services.c cancel_recurring_action(op); op 675 lib/services/services.c if (op->pid != 0) { op 677 lib/services/services.c id, op->pid); op 678 lib/services/services.c cancelled = mainloop_child_kill(op->pid); op 680 lib/services/services.c crm_err("Termination of %s[%d] failed", id, op->pid); op 687 lib/services/services.c if (inflight_systemd(op)) { op 688 lib/services/services.c inflight_ops = g_list_remove(inflight_ops, op); op 693 lib/services/services.c services_action_cleanup(op); op 702 lib/services/services.c services__set_cancelled(op); op 703 lib/services/services.c if (op->opaque->callback) { op 704 lib/services/services.c op->opaque->callback(op); op 707 lib/services/services.c blocked_ops = g_list_remove(blocked_ops, op); op 708 lib/services/services.c services_action_free(op); op 720 lib/services/services.c svc_action_t * op = NULL; op 724 lib/services/services.c op = g_hash_table_lookup(recurring_actions, id); op 727 lib/services/services.c if (op == NULL) { op 732 lib/services/services.c if (op->pid || inflight_systemd(op)) { op 735 lib/services/services.c if (op->opaque->repeat_timer) { op 736 lib/services/services.c g_source_remove(op->opaque->repeat_timer); op 737 lib/services/services.c op->opaque->repeat_timer = 0; op 739 lib/services/services.c recurring_action_timer(op); op 754 lib/services/services.c handle_duplicate_recurring(svc_action_t *op) op 759 lib/services/services.c dup = g_hash_table_lookup(recurring_actions, op->id); op 761 lib/services/services.c if (dup && (dup != op)) { op 763 lib/services/services.c if (op->opaque->callback) { op 764 lib/services/services.c dup->opaque->callback = op->opaque->callback; op 765 lib/services/services.c dup->cb_data = op->cb_data; op 766 lib/services/services.c op->cb_data = NULL; op 770 lib/services/services.c if (op->opaque->repeat_timer) { op 771 lib/services/services.c g_source_remove(op->opaque->repeat_timer); op 772 lib/services/services.c op->opaque->repeat_timer = 0; op 777 lib/services/services.c services_action_free(op); op 801 lib/services/services.c execute_action(svc_action_t *op) op 804 lib/services/services.c if (pcmk__str_eq(op->standard, PCMK_RESOURCE_CLASS_SYSTEMD, op 806 lib/services/services.c return services__execute_systemd(op); op 810 lib/services/services.c return services__execute_file(op); op 814 lib/services/services.c services_add_inflight_op(svc_action_t * op) op 816 lib/services/services.c if (op == NULL) { op 820 lib/services/services.c pcmk__assert(op->synchronous == FALSE); op 823 lib/services/services.c if (op->rsc) { op 824 lib/services/services.c inflight_ops = g_list_append(inflight_ops, op); op 835 lib/services/services.c services_untrack_op(const svc_action_t *op) op 838 lib/services/services.c inflight_ops = g_list_remove(inflight_ops, op); op 839 lib/services/services.c blocked_ops = g_list_remove(blocked_ops, op); op 846 lib/services/services.c services_action_async_fork_notify(svc_action_t * op, op 850 lib/services/services.c CRM_CHECK(op != NULL, return TRUE); op 852 lib/services/services.c op->synchronous = false; op 854 lib/services/services.c op->opaque->callback = action_callback; op 857 lib/services/services.c op->opaque->fork_callback = action_fork_callback; op 860 lib/services/services.c if (op->interval_ms > 0) { op 862 lib/services/services.c if (handle_duplicate_recurring(op)) { op 867 lib/services/services.c g_hash_table_replace(recurring_actions, op->id, op); op 870 lib/services/services.c if (!pcmk_is_set(op->flags, SVC_ACTION_NON_BLOCKED) op 871 lib/services/services.c && op->rsc && is_op_blocked(op->rsc)) { op 872 lib/services/services.c blocked_ops = g_list_append(blocked_ops, op); op 876 lib/services/services.c return execute_action(op) == pcmk_rc_ok; op 880 lib/services/services.c services_action_async(svc_action_t * op, op 883 lib/services/services.c return services_action_async_fork_notify(op, action_callback, NULL); op 892 lib/services/services.c svc_action_t *op = NULL; op 895 lib/services/services.c op = gIter->data; op 896 lib/services/services.c if (pcmk__str_eq(op->rsc, rsc, pcmk__str_none)) { op 909 lib/services/services.c svc_action_t *op = NULL; op 921 lib/services/services.c op = gIter->data; op 922 lib/services/services.c if (is_op_blocked(op->rsc)) { op 925 lib/services/services.c executed_ops = g_list_append(executed_ops, op); op 926 lib/services/services.c if (execute_action(op) != pcmk_rc_ok) { op 929 lib/services/services.c services__finalize_async_op(op); op 934 lib/services/services.c op = gIter->data; op 935 lib/services/services.c blocked_ops = g_list_remove(blocked_ops, op); op 951 lib/services/services.c execute_metadata_action(svc_action_t *op) op 953 lib/services/services.c const char *class = op->standard; op 955 lib/services/services.c if (op->agent == NULL) { op 957 lib/services/services.c services__set_result(op, services__generic_error(op), op 964 lib/services/services.c op->agent); op 965 lib/services/services.c services__set_result(op, services__generic_error(op), op 973 lib/services/services.c class = resources_find_service_class(op->agent); op 977 lib/services/services.c op->agent); op 978 lib/services/services.c services__set_result(op, services__generic_error(op), op 987 lib/services/services.c return pcmk_legacy2rc(services__get_lsb_metadata(op->agent, op 988 lib/services/services.c &op->stdout_data)); op 992 lib/services/services.c return execute_action(op); op 996 lib/services/services.c services_action_sync(svc_action_t * op) op 1000 lib/services/services.c if (op == NULL) { op 1005 lib/services/services.c op->synchronous = true; op 1007 lib/services/services.c if (pcmk__str_eq(op->action, PCMK_ACTION_META_DATA, pcmk__str_casei)) { op 1015 lib/services/services.c rc = (execute_metadata_action(op) == pcmk_rc_ok); op 1017 lib/services/services.c rc = (execute_action(op) == pcmk_rc_ok); op 1020 lib/services/services.c op->rsc, op->action, op->interval_ms, op->opaque->exec, op->rc); op 1021 lib/services/services.c if (op->stdout_data) { op 1022 lib/services/services.c crm_trace(" > stdout: %s", op->stdout_data); op 1024 lib/services/services.c if (op->stderr_data) { op 1025 lib/services/services.c crm_trace(" > stderr: %s", op->stderr_data); op 288 lib/services/services_linux.c svc_read_output(int fd, svc_action_t * op, bool is_stderr) op 298 lib/services/services_linux.c crm_trace("No fd for %s", op->id); op 302 lib/services/services_linux.c if (is_stderr && op->stderr_data) { op 303 lib/services/services_linux.c len = strlen(op->stderr_data); op 304 lib/services/services_linux.c data = op->stderr_data; op 305 lib/services/services_linux.c crm_trace("Reading %s stderr into offset %zu", op->id, len); op 307 lib/services/services_linux.c } else if (is_stderr == FALSE && op->stdout_data) { op 308 lib/services/services_linux.c len = strlen(op->stdout_data); op 309 lib/services/services_linux.c data = op->stdout_data; op 310 lib/services/services_linux.c crm_trace("Reading %s stdout into offset %zu", op->id, len); op 313 lib/services/services_linux.c crm_trace("Reading %s %s", op->id, out_type(is_stderr)); op 323 lib/services/services_linux.c rc, op->id, out_type(is_stderr), buf); op 339 lib/services/services_linux.c op->id, out_type(is_stderr), len, discarded); op 343 lib/services/services_linux.c op->stderr_data = data; op 345 lib/services/services_linux.c op->stdout_data = data; op 354 lib/services/services_linux.c svc_action_t *op = (svc_action_t *) userdata; op 356 lib/services/services_linux.c return svc_read_output(op->opaque->stdout_fd, op, FALSE); op 362 lib/services/services_linux.c svc_action_t *op = (svc_action_t *) userdata; op 364 lib/services/services_linux.c return svc_read_output(op->opaque->stderr_fd, op, TRUE); op 370 lib/services/services_linux.c svc_action_t *op = (svc_action_t *) user_data; op 372 lib/services/services_linux.c crm_trace("%p", op); op 374 lib/services/services_linux.c op->opaque->stdout_gsource = NULL; op 375 lib/services/services_linux.c if (op->opaque->stdout_fd > STDOUT_FILENO) { op 376 lib/services/services_linux.c close(op->opaque->stdout_fd); op 378 lib/services/services_linux.c op->opaque->stdout_fd = -1; op 384 lib/services/services_linux.c svc_action_t *op = (svc_action_t *) user_data; op 386 lib/services/services_linux.c op->opaque->stderr_gsource = NULL; op 387 lib/services/services_linux.c if (op->opaque->stderr_fd > STDERR_FILENO) { op 388 lib/services/services_linux.c close(op->opaque->stderr_fd); op 390 lib/services/services_linux.c op->opaque->stderr_fd = -1; op 446 lib/services/services_linux.c add_action_env_vars(const svc_action_t *op) op 449 lib/services/services_linux.c if (op->agent == NULL) { op 452 lib/services/services_linux.c } else if (pcmk__str_eq(op->standard, PCMK_RESOURCE_CLASS_OCF, pcmk__str_casei)) { op 456 lib/services/services_linux.c if (env_setter != NULL && op->params != NULL) { op 457 lib/services/services_linux.c g_hash_table_foreach(op->params, env_setter, NULL); op 469 lib/services/services_linux.c if (op->rsc) { op 470 lib/services/services_linux.c set_ocf_env("OCF_RESOURCE_INSTANCE", op->rsc, NULL); op 473 lib/services/services_linux.c if (op->agent != NULL) { op 474 lib/services/services_linux.c set_ocf_env("OCF_RESOURCE_TYPE", op->agent, NULL); op 478 lib/services/services_linux.c if (op->provider != NULL) { op 479 lib/services/services_linux.c set_ocf_env("OCF_RESOURCE_PROVIDER", op->provider, NULL); op 486 lib/services/services_linux.c svc_action_t *op = user_data; op 494 lib/services/services_linux.c ret = write(op->opaque->stdin_fd, buffer + total, len - total); op 509 lib/services/services_linux.c pipe_in_action_stdin_parameters(const svc_action_t *op) op 511 lib/services/services_linux.c if (op->params) { op 512 lib/services/services_linux.c g_hash_table_foreach(op->params, pipe_in_single_parameter, (gpointer) op); op 519 lib/services/services_linux.c svc_action_t *op = data; op 521 lib/services/services_linux.c crm_debug("Scheduling another invocation of %s", op->id); op 524 lib/services/services_linux.c free(op->stdout_data); op 525 lib/services/services_linux.c op->stdout_data = NULL; op 526 lib/services/services_linux.c free(op->stderr_data); op 527 lib/services/services_linux.c op->stderr_data = NULL; op 528 lib/services/services_linux.c op->opaque->repeat_timer = 0; op 530 lib/services/services_linux.c services_action_async(op, NULL); op 553 lib/services/services_linux.c services__finalize_async_op(svc_action_t *op) op 555 lib/services/services_linux.c CRM_CHECK((op != NULL) && !(op->synchronous), return EINVAL); op 557 lib/services/services_linux.c if (op->interval_ms != 0) { op 559 lib/services/services_linux.c if (op->cancel) { op 560 lib/services/services_linux.c services__set_cancelled(op); op 561 lib/services/services_linux.c cancel_recurring_action(op); op 563 lib/services/services_linux.c op->opaque->repeat_timer = pcmk__create_timer(op->interval_ms, op 565 lib/services/services_linux.c op); op 569 lib/services/services_linux.c if (op->opaque->callback != NULL) { op 570 lib/services/services_linux.c op->opaque->callback(op); op 574 lib/services/services_linux.c op->pid = 0; op 575 lib/services/services_linux.c services_untrack_op(op); op 577 lib/services/services_linux.c if ((op->interval_ms != 0) && !(op->cancel)) { op 579 lib/services/services_linux.c services_action_cleanup(op); op 583 lib/services/services_linux.c services_action_free(op); op 588 lib/services/services_linux.c close_op_input(svc_action_t *op) op 590 lib/services/services_linux.c if (op->opaque->stdin_fd >= 0) { op 591 lib/services/services_linux.c close(op->opaque->stdin_fd); op 596 lib/services/services_linux.c finish_op_output(svc_action_t *op, bool is_stderr) op 602 lib/services/services_linux.c source = &(op->opaque->stderr_gsource); op 603 lib/services/services_linux.c fd = op->opaque->stderr_fd; op 605 lib/services/services_linux.c source = &(op->opaque->stdout_gsource); op 606 lib/services/services_linux.c fd = op->opaque->stdout_fd; op 609 lib/services/services_linux.c if (op->synchronous || *source) { op 611 lib/services/services_linux.c op->id, op->pid, (is_stderr? "stderr" : "stdout")); op 612 lib/services/services_linux.c svc_read_output(fd, op, is_stderr); op 613 lib/services/services_linux.c if (op->synchronous) { op 624 lib/services/services_linux.c log_op_output(svc_action_t *op) op 626 lib/services/services_linux.c char *prefix = crm_strdup_printf("%s[%d] error output", op->id, op->pid); op 632 lib/services/services_linux.c crm_log_output(LOG_INFO, prefix, op->stderr_data); op 634 lib/services/services_linux.c crm_log_output(LOG_DEBUG, prefix, op->stdout_data); op 642 lib/services/services_linux.c parse_exit_reason_from_stderr(svc_action_t *op) op 648 lib/services/services_linux.c if ((op->stderr_data == NULL) || op 650 lib/services/services_linux.c !pcmk__str_eq(op->standard, PCMK_RESOURCE_CLASS_OCF, pcmk__str_none)) { op 655 lib/services/services_linux.c for (const char *cur = strstr(op->stderr_data, PCMK_OCF_REASON_PREFIX); op 678 lib/services/services_linux.c free(op->opaque->exit_reason); op 679 lib/services/services_linux.c op->opaque->exit_reason = strndup(reason_start, reason_end - reason_start); op 696 lib/services/services_linux.c svc_action_t *op = mainloop_child_userdata(p); op 699 lib/services/services_linux.c CRM_CHECK(op->pid == pid, op 700 lib/services/services_linux.c services__set_result(op, services__generic_error(op), op 708 lib/services/services_linux.c finish_op_output(op, true); op 709 lib/services/services_linux.c finish_op_output(op, false); op 711 lib/services/services_linux.c close_op_input(op); op 714 lib/services/services_linux.c crm_debug("%s[%d] exited with status %d", op->id, op->pid, exitcode); op 715 lib/services/services_linux.c services__set_result(op, exitcode, PCMK_EXEC_DONE, NULL); op 716 lib/services/services_linux.c log_op_output(op); op 717 lib/services/services_linux.c parse_exit_reason_from_stderr(op); op 720 lib/services/services_linux.c const char *kind = services__action_kind(op); op 723 lib/services/services_linux.c kind, op->id, op->pid, pcmk__readable_interval(op->timeout)); op 724 lib/services/services_linux.c services__format_result(op, services__generic_error(op), op 727 lib/services/services_linux.c kind, pcmk__readable_interval(op->timeout)); op 729 lib/services/services_linux.c } else if (op->cancel) { op 734 lib/services/services_linux.c op->id, op->pid, signo, strsignal(signo)); op 735 lib/services/services_linux.c services__set_result(op, PCMK_OCF_OK, PCMK_EXEC_CANCELLED, NULL); op 739 lib/services/services_linux.c op->id, op->pid, signo, strsignal(signo)); op 740 lib/services/services_linux.c services__format_result(op, PCMK_OCF_UNKNOWN_ERROR, PCMK_EXEC_ERROR, op 742 lib/services/services_linux.c services__action_kind(op), strsignal(signo)); op 745 lib/services/services_linux.c services__finalize_async_op(op); op 762 lib/services/services_linux.c services__generic_error(const svc_action_t *op) op 764 lib/services/services_linux.c if ((op == NULL) || (op->standard == NULL)) { op 769 lib/services/services_linux.c if (pcmk__str_eq(op->standard, PCMK_RESOURCE_CLASS_LSB, pcmk__str_casei) op 770 lib/services/services_linux.c && pcmk__str_eq(op->action, PCMK_ACTION_STATUS, pcmk__str_casei)) { op 793 lib/services/services_linux.c services__not_installed_error(const svc_action_t *op) op 795 lib/services/services_linux.c if ((op == NULL) || (op->standard == NULL)) { op 800 lib/services/services_linux.c if (pcmk__str_eq(op->standard, PCMK_RESOURCE_CLASS_LSB, pcmk__str_casei) op 801 lib/services/services_linux.c && pcmk__str_eq(op->action, PCMK_ACTION_STATUS, pcmk__str_casei)) { op 824 lib/services/services_linux.c services__authorization_error(const svc_action_t *op) op 826 lib/services/services_linux.c if ((op == NULL) || (op->standard == NULL)) { op 831 lib/services/services_linux.c if (pcmk__str_eq(op->standard, PCMK_RESOURCE_CLASS_LSB, pcmk__str_casei) op 832 lib/services/services_linux.c && pcmk__str_eq(op->action, PCMK_ACTION_STATUS, pcmk__str_casei)) { op 856 lib/services/services_linux.c services__configuration_error(const svc_action_t *op, bool is_fatal) op 858 lib/services/services_linux.c if ((op == NULL) || (op->standard == NULL)) { op 863 lib/services/services_linux.c if (pcmk__str_eq(op->standard, PCMK_RESOURCE_CLASS_LSB, pcmk__str_casei) op 864 lib/services/services_linux.c && pcmk__str_eq(op->action, PCMK_ACTION_STATUS, pcmk__str_casei)) { op 884 lib/services/services_linux.c services__handle_exec_error(svc_action_t * op, int error) op 886 lib/services/services_linux.c const char *name = op->opaque->exec; op 889 lib/services/services_linux.c name = op->agent; op 891 lib/services/services_linux.c name = op->id; op 901 lib/services/services_linux.c services__format_result(op, services__not_installed_error(op), op 907 lib/services/services_linux.c services__format_result(op, services__authorization_error(op), op 912 lib/services/services_linux.c services__set_result(op, services__generic_error(op), op 926 lib/services/services_linux.c exit_child(const svc_action_t *op, int exit_status, const char *exit_reason) op 928 lib/services/services_linux.c if ((op != NULL) && (exit_reason != NULL) op 929 lib/services/services_linux.c && pcmk__str_eq(op->standard, PCMK_RESOURCE_CLASS_OCF, op 938 lib/services/services_linux.c action_launch_child(svc_action_t *op) op 956 lib/services/services_linux.c crm_info("Could not reset scheduling policy for %s", op->id); op 961 lib/services/services_linux.c crm_info("Could not reset process priority for %s", op->id); op 984 lib/services/services_linux.c rc = pcmk__substitute_secrets(op->rsc, op->params); op 986 lib/services/services_linux.c if (pcmk__str_eq(op->action, PCMK_ACTION_STOP, pcmk__str_casei)) { op 989 lib/services/services_linux.c op->rsc, pcmk_rc_str(rc)); op 993 lib/services/services_linux.c op->rsc, pcmk_rc_str(rc)); op 994 lib/services/services_linux.c exit_child(op, services__configuration_error(op, false), op 1000 lib/services/services_linux.c add_action_env_vars(op); op 1003 lib/services/services_linux.c if (op->opaque->uid && (geteuid() == 0)) { op 1006 lib/services/services_linux.c if (op->opaque->gid && (setgid(op->opaque->gid) < 0)) { op 1009 lib/services/services_linux.c op->id, op->opaque->gid, strerror(errno)); op 1010 lib/services/services_linux.c exit_child(op, services__authorization_error(op), op 1018 lib/services/services_linux.c "clear supplementary groups: %s", op->id, strerror(errno)); op 1019 lib/services/services_linux.c exit_child(op, services__authorization_error(op), op 1024 lib/services/services_linux.c if (setuid(op->opaque->uid) < 0) { op 1026 lib/services/services_linux.c "to %d: %s", op->id, op->opaque->uid, strerror(errno)); op 1027 lib/services/services_linux.c exit_child(op, services__authorization_error(op), op 1033 lib/services/services_linux.c execvp(op->opaque->exec, op->opaque->args); op 1037 lib/services/services_linux.c services__handle_exec_error(op, rc); op 1038 lib/services/services_linux.c crm_err("Unable to execute %s: %s", op->id, strerror(rc)); op 1039 lib/services/services_linux.c exit_child(op, op->rc, "Child process was unable to execute file"); op 1050 lib/services/services_linux.c wait_for_sync_result(svc_action_t *op, struct sigchld_data_s *data) op 1053 lib/services/services_linux.c int timeout = op->timeout; op 1059 lib/services/services_linux.c fds[0].fd = op->opaque->stdout_fd; op 1063 lib/services/services_linux.c fds[1].fd = op->opaque->stderr_fd; op 1071 lib/services/services_linux.c crm_trace("Waiting for %s[%d]", op->id, op->pid); op 1079 lib/services/services_linux.c svc_read_output(op->opaque->stdout_fd, op, FALSE); op 1083 lib/services/services_linux.c svc_read_output(op->opaque->stderr_fd, op, TRUE); op 1087 lib/services/services_linux.c && sigchld_received(fds[2].fd, op->pid, data)) { op 1088 lib/services/services_linux.c wait_rc = waitpid(op->pid, &status, WNOHANG); op 1098 lib/services/services_linux.c op->id, op->pid, wait_reason); op 1122 lib/services/services_linux.c QB_XS " source=poll", op->id, op->pid, wait_reason); op 1126 lib/services/services_linux.c timeout = op->timeout - (time(NULL) - start) * 1000; op 1128 lib/services/services_linux.c } while ((op->timeout < 0 || timeout > 0)); op 1130 lib/services/services_linux.c crm_trace("Stopped waiting for %s[%d]", op->id, op->pid); op 1131 lib/services/services_linux.c finish_op_output(op, true); op 1132 lib/services/services_linux.c finish_op_output(op, false); op 1133 lib/services/services_linux.c close_op_input(op); op 1138 lib/services/services_linux.c if ((op->timeout > 0) && (timeout <= 0)) { op 1139 lib/services/services_linux.c services__format_result(op, services__generic_error(op), op 1142 lib/services/services_linux.c services__action_kind(op)); op 1144 lib/services/services_linux.c op->id, op->pid, op->timeout); op 1147 lib/services/services_linux.c services__set_result(op, services__generic_error(op), op 1153 lib/services/services_linux.c if ((wait_rc == 0) && (waitpid(op->pid, &status, WNOHANG) == 0)) { op 1154 lib/services/services_linux.c if (kill(op->pid, SIGKILL)) { op 1156 lib/services/services_linux.c op->id, op->pid, pcmk_rc_str(errno)); op 1159 lib/services/services_linux.c while ((waitpid(op->pid, &status, 0) == (pid_t) -1) op 1166 lib/services/services_linux.c services__set_result(op, WEXITSTATUS(status), PCMK_EXEC_DONE, NULL); op 1167 lib/services/services_linux.c parse_exit_reason_from_stderr(op); op 1168 lib/services/services_linux.c crm_info("%s[%d] exited with status %d", op->id, op->pid, op->rc); op 1173 lib/services/services_linux.c services__format_result(op, services__generic_error(op), op 1175 lib/services/services_linux.c services__action_kind(op), strsignal(signo)); op 1177 lib/services/services_linux.c op->id, op->pid, signo, strsignal(signo)); op 1181 lib/services/services_linux.c crm_warn("%s[%d] dumped core", op->id, op->pid); op 1187 lib/services/services_linux.c services__set_result(op, services__generic_error(op), PCMK_EXEC_ERROR, op 1209 lib/services/services_linux.c services__execute_file(svc_action_t *op) op 1219 lib/services/services_linux.c if (stat(op->opaque->exec, &st) != 0) { op 1222 lib/services/services_linux.c op->opaque->exec, pcmk_rc_str(rc), rc); op 1223 lib/services/services_linux.c services__handle_exec_error(op, rc); op 1230 lib/services/services_linux.c op->opaque->exec, pcmk_rc_str(rc), rc); op 1231 lib/services/services_linux.c services__handle_exec_error(op, rc); op 1241 lib/services/services_linux.c op->opaque->exec, pcmk_rc_str(rc), rc); op 1242 lib/services/services_linux.c services__handle_exec_error(op, rc); op 1246 lib/services/services_linux.c if (pcmk_is_set(pcmk_get_ra_caps(op->standard), pcmk_ra_cap_stdin)) { op 1254 lib/services/services_linux.c op->opaque->exec, pcmk_rc_str(rc), rc); op 1255 lib/services/services_linux.c services__handle_exec_error(op, rc); op 1260 lib/services/services_linux.c if (op->synchronous && !sigchld_setup(&data)) { op 1265 lib/services/services_linux.c services__set_result(op, services__generic_error(op), PCMK_EXEC_ERROR, op 1270 lib/services/services_linux.c op->pid = fork(); op 1271 lib/services/services_linux.c switch (op->pid) { op 1279 lib/services/services_linux.c op->opaque->exec, pcmk_rc_str(rc), rc); op 1280 lib/services/services_linux.c services__handle_exec_error(op, rc); op 1281 lib/services/services_linux.c if (op->synchronous) { op 1297 lib/services/services_linux.c op->opaque->exec, pcmk_rc_str(errno), errno); op 1305 lib/services/services_linux.c op->opaque->exec, pcmk_rc_str(errno), errno); op 1314 lib/services/services_linux.c op->opaque->exec, pcmk_rc_str(errno), errno); op 1319 lib/services/services_linux.c if (op->synchronous) { op 1323 lib/services/services_linux.c action_launch_child(op); op 1334 lib/services/services_linux.c op->opaque->stdout_fd = stdout_fd[0]; op 1335 lib/services/services_linux.c rc = pcmk__set_nonblocking(op->opaque->stdout_fd); op 1339 lib/services/services_linux.c op->opaque->exec, pcmk_rc_str(rc), rc); op 1342 lib/services/services_linux.c op->opaque->stderr_fd = stderr_fd[0]; op 1343 lib/services/services_linux.c rc = pcmk__set_nonblocking(op->opaque->stderr_fd); op 1347 lib/services/services_linux.c op->opaque->exec, pcmk_rc_str(rc), rc); op 1350 lib/services/services_linux.c op->opaque->stdin_fd = stdin_fd[1]; op 1351 lib/services/services_linux.c if (op->opaque->stdin_fd >= 0) { op 1354 lib/services/services_linux.c rc = pcmk__set_nonblocking(op->opaque->stdin_fd); op 1357 lib/services/services_linux.c QB_XS " fd=%d,rc=%d", op->opaque->exec, op 1358 lib/services/services_linux.c pcmk_rc_str(rc), op->opaque->stdin_fd, rc); op 1360 lib/services/services_linux.c pipe_in_action_stdin_parameters(op); op 1362 lib/services/services_linux.c close(op->opaque->stdin_fd); op 1363 lib/services/services_linux.c op->opaque->stdin_fd = -1; op 1367 lib/services/services_linux.c if (op->opaque->fork_callback) { op 1368 lib/services/services_linux.c op->opaque->fork_callback(op); op 1371 lib/services/services_linux.c if (op->synchronous) { op 1372 lib/services/services_linux.c wait_for_sync_result(op, &data); op 1377 lib/services/services_linux.c crm_trace("Waiting async for '%s'[%d]", op->opaque->exec, op->pid); op 1378 lib/services/services_linux.c mainloop_child_add_with_flags(op->pid, op->timeout, op->id, op, op 1379 lib/services/services_linux.c pcmk_is_set(op->flags, SVC_ACTION_LEAVE_GROUP)? mainloop_leave_pid_group : 0, op 1382 lib/services/services_linux.c op->opaque->stdout_gsource = mainloop_add_fd(op->id, op 1384 lib/services/services_linux.c op->opaque->stdout_fd, op, op 1386 lib/services/services_linux.c op->opaque->stderr_gsource = mainloop_add_fd(op->id, op 1388 lib/services/services_linux.c op->opaque->stderr_fd, op, op 1390 lib/services/services_linux.c services_add_inflight_op(op); op 1394 lib/services/services_linux.c if (op->synchronous) { op 1395 lib/services/services_linux.c return (op->rc == PCMK_OCF_OK)? pcmk_rc_ok : pcmk_rc_error; op 1397 lib/services/services_linux.c return services__finalize_async_op(op); op 268 lib/services/services_lsb.c services__lsb_prepare(svc_action_t *op) op 270 lib/services/services_lsb.c op->opaque->exec = pcmk__full_path(op->agent, PCMK__LSB_INIT_DIR); op 271 lib/services/services_lsb.c op->opaque->args[0] = strdup(op->opaque->exec); op 272 lib/services/services_lsb.c op->opaque->args[1] = strdup(op->action); op 273 lib/services/services_lsb.c if ((op->opaque->args[0] == NULL) || (op->opaque->args[1] == NULL)) { op 25 lib/services/services_lsb.h G_GNUC_INTERNAL int services__lsb_prepare(svc_action_t *op); op 123 lib/services/services_ocf.c services__ocf_prepare(svc_action_t *op) op 134 lib/services/services_ocf.c char *buf = crm_strdup_printf("%s/%s/%s", dir, op->provider, op->agent); op 137 lib/services/services_ocf.c op->opaque->exec = buf; op 144 lib/services/services_ocf.c if (op->opaque->exec == NULL) { op 148 lib/services/services_ocf.c op->opaque->args[0] = strdup(op->opaque->exec); op 149 lib/services/services_ocf.c op->opaque->args[1] = strdup(op->action); op 150 lib/services/services_ocf.c if ((op->opaque->args[0] == NULL) || (op->opaque->args[1] == NULL)) { op 33 lib/services/services_ocf.h int services__ocf_prepare(svc_action_t *op); op 38 lib/services/services_private.h void (*callback) (svc_action_t * op); op 39 lib/services/services_private.h void (*fork_callback) (svc_action_t * op); op 69 lib/services/services_private.h int services__execute_file(svc_action_t *op); op 72 lib/services/services_private.h gboolean cancel_recurring_action(svc_action_t * op); op 78 lib/services/services_private.h int services__finalize_async_op(svc_action_t *op); op 81 lib/services/services_private.h int services__generic_error(const svc_action_t *op); op 84 lib/services/services_private.h int services__not_installed_error(const svc_action_t *op); op 87 lib/services/services_private.h int services__authorization_error(const svc_action_t *op); op 90 lib/services/services_private.h int services__configuration_error(const svc_action_t *op, bool is_fatal); op 93 lib/services/services_private.h void services__handle_exec_error(svc_action_t * op, int error); op 99 lib/services/services_private.h void services_add_inflight_op(svc_action_t *op); op 102 lib/services/services_private.h void services_untrack_op(const svc_action_t *op); op 109 lib/services/services_private.h void services_set_op_pending(svc_action_t *op, DBusPendingCall *pending); op 28 lib/services/systemd.c static void invoke_unit_by_path(svc_action_t *op, const char *unit); op 47 lib/services/systemd.c services__systemd_prepare(svc_action_t *op) op 49 lib/services/systemd.c op->opaque->exec = strdup("systemd-dbus"); op 50 lib/services/systemd.c if (op->opaque->exec == NULL) { op 353 lib/services/systemd.c set_result_from_method_error(svc_action_t *op, const DBusError *error) op 355 lib/services/systemd.c services__set_result(op, PCMK_OCF_UNKNOWN_ERROR, PCMK_EXEC_ERROR, op 362 lib/services/systemd.c if (pcmk__str_eq(op->action, PCMK_ACTION_STOP, pcmk__str_casei)) { op 365 lib/services/systemd.c error->name, pcmk__s(op->rsc, "unknown resource")); op 366 lib/services/systemd.c services__set_result(op, PCMK_OCF_OK, PCMK_EXEC_DONE, NULL); op 370 lib/services/systemd.c services__format_result(op, PCMK_OCF_NOT_INSTALLED, op 372 lib/services/systemd.c "systemd unit %s not found", op->agent); op 381 lib/services/systemd.c } else if (pcmk__str_any_of(op->action, PCMK_ACTION_MONITOR, op 385 lib/services/systemd.c services__set_result(op, PCMK_OCF_UNKNOWN, PCMK_EXEC_PENDING, NULL); op 389 lib/services/systemd.c op->action, op->agent, op 390 lib/services/systemd.c ((op->rsc == NULL)? "" : " for resource "), pcmk__s(op->rsc, ""), op 405 lib/services/systemd.c execute_after_loadunit(DBusMessage *reply, svc_action_t *op) op 414 lib/services/systemd.c if (op != NULL) { op 415 lib/services/systemd.c set_result_from_method_error(op, &error); op 421 lib/services/systemd.c if (op != NULL) { op 422 lib/services/systemd.c services__set_result(op, PCMK_OCF_UNKNOWN_ERROR, PCMK_EXEC_ERROR, op 425 lib/services/systemd.c "DBus reply has unexpected type", op->agent, op->id); op 437 lib/services/systemd.c if (op != NULL) { op 439 lib/services/systemd.c invoke_unit_by_path(op, path); op 441 lib/services/systemd.c } else if (!(op->synchronous)) { op 442 lib/services/systemd.c if (!pcmk__str_any_of(op->action, PCMK_ACTION_MONITOR, op 444 lib/services/systemd.c || op->status != PCMK_EXEC_PENDING) { op 445 lib/services/systemd.c services__format_result(op, PCMK_OCF_UNKNOWN_ERROR, PCMK_EXEC_ERROR, op 447 lib/services/systemd.c op->agent); op 449 lib/services/systemd.c services__finalize_async_op(op); op 467 lib/services/systemd.c svc_action_t *op = user_data; op 469 lib/services/systemd.c crm_trace("LoadUnit result for %s arrived", op->id); op 477 lib/services/systemd.c CRM_LOG_ASSERT(pending == op->opaque->pending); op 478 lib/services/systemd.c services_set_op_pending(op, NULL); op 503 lib/services/systemd.c invoke_unit_by_name(const char *arg_name, svc_action_t *op, char **path) op 515 lib/services/systemd.c if (op != NULL) { op 516 lib/services/systemd.c services__set_result(op, PCMK_OCF_UNKNOWN_ERROR, PCMK_EXEC_ERROR, op 535 lib/services/systemd.c (op == NULL) op 536 lib/services/systemd.c || pcmk__str_eq(op->action, PCMK_ACTION_META_DATA, op 542 lib/services/systemd.c if ((op == NULL) || op->synchronous) { op 548 lib/services/systemd.c (op? op->timeout : DBUS_TIMEOUT_USE_DEFAULT)); op 551 lib/services/systemd.c unit = execute_after_loadunit(reply, op); op 571 lib/services/systemd.c pending = systemd_send(msg, loadunit_completed, op, op->timeout); op 573 lib/services/systemd.c services__set_result(op, PCMK_OCF_UNKNOWN_ERROR, PCMK_EXEC_ERROR, op 580 lib/services/systemd.c services__set_result(op, PCMK_OCF_UNKNOWN, PCMK_EXEC_PENDING, NULL); op 581 lib/services/systemd.c services_set_op_pending(op, pending); op 805 lib/services/systemd.c process_unit_method_reply(DBusMessage *reply, svc_action_t *op) op 807 lib/services/systemd.c bool start_stop = pcmk__strcase_any_of(op->action, PCMK_ACTION_START, op 817 lib/services/systemd.c set_result_from_method_error(op, &error); op 826 lib/services/systemd.c op->action, pcmk__s(op->rsc, "unknown resource")); op 828 lib/services/systemd.c if (!op->synchronous && start_stop) { op 832 lib/services/systemd.c services__set_result(op, PCMK_OCF_UNKNOWN_ERROR, PCMK_EXEC_ERROR, op 839 lib/services/systemd.c services__set_result(op, PCMK_OCF_OK, PCMK_EXEC_DONE, reason); op 850 lib/services/systemd.c op->action, pcmk__s(op->rsc, "unknown resource"), path); op 852 lib/services/systemd.c if (!op->synchronous && start_stop) { op 854 lib/services/systemd.c services__set_result(op, PCMK_OCF_UNKNOWN, PCMK_EXEC_PENDING, NULL); op 855 lib/services/systemd.c pcmk__str_update(&(op->opaque->job_path), path); op 858 lib/services/systemd.c services__set_result(op, PCMK_OCF_OK, PCMK_EXEC_DONE, NULL); op 972 lib/services/systemd.c svc_action_t *op = user_data; op 974 lib/services/systemd.c crm_trace("Result for %s arrived", op->id); op 982 lib/services/systemd.c CRM_LOG_ASSERT(pending == op->opaque->pending); op 983 lib/services/systemd.c services_set_op_pending(op, NULL); op 985 lib/services/systemd.c process_unit_method_reply(reply, op); op 991 lib/services/systemd.c if ((op->status == PCMK_EXEC_PENDING) op 992 lib/services/systemd.c && pcmk__strcase_any_of(op->action, PCMK_ACTION_START, PCMK_ACTION_STOP, op 1003 lib/services/systemd.c if (dbus_connection_add_filter(systemd_proxy, job_removed_filter, op, op 1008 lib/services/systemd.c services__set_result(op, PCMK_OCF_UNKNOWN_ERROR, PCMK_EXEC_ERROR, op 1012 lib/services/systemd.c services__finalize_async_op(op); op 1201 lib/services/systemd.c svc_action_t *op = userdata; op 1204 lib/services/systemd.c pcmk__s(op->rsc, "(unspecified)"), name, op 1208 lib/services/systemd.c services__set_result(op, PCMK_OCF_OK, PCMK_EXEC_DONE, NULL); op 1211 lib/services/systemd.c services__set_result(op, PCMK_OCF_OK, PCMK_EXEC_DONE, NULL); op 1214 lib/services/systemd.c services__set_result(op, PCMK_OCF_UNKNOWN, PCMK_EXEC_PENDING, NULL); op 1217 lib/services/systemd.c services__set_result(op, PCMK_OCF_UNKNOWN, PCMK_EXEC_PENDING, NULL); op 1220 lib/services/systemd.c services__set_result(op, PCMK_OCF_NOT_RUNNING, PCMK_EXEC_DONE, state); op 1223 lib/services/systemd.c if (!(op->synchronous)) { op 1224 lib/services/systemd.c services_set_op_pending(op, NULL); op 1225 lib/services/systemd.c services__finalize_async_op(op); op 1237 lib/services/systemd.c invoke_unit_by_path(svc_action_t *op, const char *unit) op 1243 lib/services/systemd.c if (pcmk__str_any_of(op->action, PCMK_ACTION_MONITOR, PCMK_ACTION_STATUS, op 1249 lib/services/systemd.c (op->synchronous? NULL : parse_status_result), op 1250 lib/services/systemd.c op, (op->synchronous? NULL : &pending), op 1251 lib/services/systemd.c op->timeout); op 1252 lib/services/systemd.c if (op->synchronous) { op 1253 lib/services/systemd.c parse_status_result("ActiveState", state, op); op 1257 lib/services/systemd.c services__format_result(op, PCMK_OCF_UNKNOWN_ERROR, PCMK_EXEC_ERROR, op 1259 lib/services/systemd.c op->agent); op 1260 lib/services/systemd.c services__finalize_async_op(op); op 1263 lib/services/systemd.c services_set_op_pending(op, pending); op 1267 lib/services/systemd.c } else if (pcmk__str_eq(op->action, PCMK_ACTION_START, pcmk__str_none)) { op 1271 lib/services/systemd.c rc = systemd_create_override(op->agent, op->timeout); op 1273 lib/services/systemd.c services__format_result(op, pcmk_rc2ocf(rc), PCMK_EXEC_ERROR, op 1276 lib/services/systemd.c pcmk__s(op->agent, "(unspecified)")); op 1277 lib/services/systemd.c if (!(op->synchronous)) { op 1278 lib/services/systemd.c services__finalize_async_op(op); op 1283 lib/services/systemd.c } else if (pcmk__str_eq(op->action, PCMK_ACTION_STOP, pcmk__str_none)) { op 1285 lib/services/systemd.c systemd_remove_override(op->agent, op->timeout); op 1287 lib/services/systemd.c } else if (pcmk__str_eq(op->action, "restart", pcmk__str_none)) { op 1291 lib/services/systemd.c services__format_result(op, PCMK_OCF_UNIMPLEMENT_FEATURE, op 1295 lib/services/systemd.c pcmk__s(op->action, "(unspecified)")); op 1296 lib/services/systemd.c if (!(op->synchronous)) { op 1297 lib/services/systemd.c services__finalize_async_op(op); op 1304 lib/services/systemd.c ((op->rsc == NULL)? "" : " for resource "), pcmk__s(op->rsc, "")); op 1312 lib/services/systemd.c char *name = systemd_unit_name(op->agent, op 1313 lib/services/systemd.c pcmk__str_eq(op->action, op 1323 lib/services/systemd.c if (op->synchronous) { op 1324 lib/services/systemd.c reply = systemd_send_recv(msg, NULL, op->timeout); op 1326 lib/services/systemd.c process_unit_method_reply(reply, op); op 1332 lib/services/systemd.c DBusPendingCall *pending = systemd_send(msg, unit_method_complete, op, op 1333 lib/services/systemd.c op->timeout); op 1337 lib/services/systemd.c services__set_result(op, PCMK_OCF_UNKNOWN_ERROR, PCMK_EXEC_ERROR, op 1339 lib/services/systemd.c services__finalize_async_op(op); op 1342 lib/services/systemd.c services_set_op_pending(op, pending); op 1350 lib/services/systemd.c svc_action_t * op = p; op 1352 lib/services/systemd.c op->opaque->timerid = 0; op 1354 lib/services/systemd.c op->action, op->agent, op->rsc); op 1355 lib/services/systemd.c services__format_result(op, PCMK_OCF_UNKNOWN_ERROR, PCMK_EXEC_TIMEOUT, op 1357 lib/services/systemd.c "did not complete in time", op->action, op->agent); op 1359 lib/services/systemd.c if (op->opaque->job_path != NULL) { op 1361 lib/services/systemd.c dbus_connection_remove_filter(systemd_proxy, job_removed_filter, op); op 1364 lib/services/systemd.c services__finalize_async_op(op); op 1386 lib/services/systemd.c services__execute_systemd(svc_action_t *op) op 1388 lib/services/systemd.c pcmk__assert(op != NULL); op 1390 lib/services/systemd.c if (pcmk__str_empty(op->action) || pcmk__str_empty(op->agent)) { op 1391 lib/services/systemd.c services__set_result(op, PCMK_OCF_NOT_CONFIGURED, PCMK_EXEC_ERROR_FATAL, op 1397 lib/services/systemd.c services__set_result(op, PCMK_OCF_UNKNOWN_ERROR, PCMK_EXEC_ERROR, op 1403 lib/services/systemd.c (op->synchronous? "" : "a"), op->action, op->agent, op 1404 lib/services/systemd.c ((op->rsc == NULL)? "" : " for resource "), pcmk__s(op->rsc, "")); op 1406 lib/services/systemd.c if (pcmk__str_eq(op->action, PCMK_ACTION_META_DATA, pcmk__str_casei)) { op 1407 lib/services/systemd.c op->stdout_data = systemd_unit_metadata(op->agent, op->timeout); op 1408 lib/services/systemd.c services__set_result(op, PCMK_OCF_OK, PCMK_EXEC_DONE, NULL); op 1415 lib/services/systemd.c services__set_result(op, PCMK_OCF_UNKNOWN_ERROR, PCMK_EXEC_ERROR, op 1418 lib/services/systemd.c if (invoke_unit_by_name(op->agent, op, NULL) == pcmk_rc_ok) { op 1420 lib/services/systemd.c op->opaque->timerid = pcmk__create_timer(op->timeout + 5000, op 1421 lib/services/systemd.c systemd_timeout_callback, op); op 1422 lib/services/systemd.c services_add_inflight_op(op); op 1427 lib/services/systemd.c if (op->synchronous) { op 1428 lib/services/systemd.c return (op->rc == PCMK_OCF_OK)? pcmk_rc_ok : pcmk_rc_error; op 1430 lib/services/systemd.c return services__finalize_async_op(op); op 23 lib/services/systemd.h int services__systemd_prepare(svc_action_t *op); op 29 lib/services/systemd.h int services__execute_systemd(svc_action_t *op); op 1836 tools/crm_mon.c const char *op = crm_element_value(change, PCMK_XA_OPERATION); op 1841 tools/crm_mon.c if (op == NULL) { op 1844 tools/crm_mon.c } else if (strcmp(op, PCMK_VALUE_CREATE) == 0) { op 1847 tools/crm_mon.c } else if (pcmk__str_any_of(op, PCMK_VALUE_MOVE, PCMK_VALUE_DELETE, op 1851 tools/crm_mon.c } else if (strcmp(op, PCMK_VALUE_MODIFY) == 0) { op 1862 tools/crm_mon.c crm_trace("Handling %s operation for %s %p, %s", op, xpath, match, name); op 1867 tools/crm_mon.c crm_debug("No result for %s operation to %s", op, xpath); op 1868 tools/crm_mon.c pcmk__assert(pcmk__str_any_of(op, PCMK_VALUE_MOVE, PCMK_VALUE_DELETE, op 1909 tools/crm_mon.c crm_trace("Ignoring %s operation for %s %p, %s", op, xpath, match, name); op 2280 tools/crm_resource_runtime.c svc_action_t *op = NULL; op 2291 tools/crm_resource_runtime.c op = services__create_resource_action(rsc_name? rsc_name : "test", op 2295 tools/crm_resource_runtime.c if (op == NULL) { op 2310 tools/crm_resource_runtime.c services__format_result(op, CRM_EX_UNIMPLEMENT_FEATURE, PCMK_EXEC_ERROR, op 2315 tools/crm_resource_runtime.c if (op->rc != PCMK_OCF_UNKNOWN) { op 2316 tools/crm_resource_runtime.c exit_code = op->rc; op 2320 tools/crm_resource_runtime.c services_action_sync(op); op 2324 tools/crm_resource_runtime.c enum ocf_exitcode ocf_code = services_result2ocf(class, action, op->rc); op 2333 tools/crm_resource_runtime.c exit_code, op->status, services__exit_reason(op), op 2334 tools/crm_resource_runtime.c op->stdout_data, op->stderr_data); op 2335 tools/crm_resource_runtime.c services_action_free(op); op 2350 tools/crm_resource_runtime.c xmlNode *op = pcmk__find_action_config(rsc, action, 0, true); op 2351 tools/crm_resource_runtime.c GHashTable *meta = pcmk__unpack_action_meta(rsc, NULL, action, 0, op);