history            92 daemons/controld/controld_execd.c history_remove_recurring_op(rsc_history_t *history, const lrmd_event_data_t *op)
history            96 daemons/controld/controld_execd.c     for (iter = history->recurring_op_list; iter != NULL; iter = iter->next) {
history           103 daemons/controld/controld_execd.c             history->recurring_op_list = g_list_delete_link(history->recurring_op_list, iter);
history           118 daemons/controld/controld_execd.c history_free_recurring_ops(rsc_history_t *history)
history           122 daemons/controld/controld_execd.c     for (iter = history->recurring_op_list; iter != NULL; iter = iter->next) {
history           125 daemons/controld/controld_execd.c     g_list_free(history->recurring_op_list);
history           126 daemons/controld/controld_execd.c     history->recurring_op_list = NULL;
history           138 daemons/controld/controld_execd.c     rsc_history_t *history = (rsc_history_t*)data;
history           140 daemons/controld/controld_execd.c     if (history->stop_params) {
history           141 daemons/controld/controld_execd.c         g_hash_table_destroy(history->stop_params);
history           145 daemons/controld/controld_execd.c     free(history->rsc.type);
history           146 daemons/controld/controld_execd.c     free(history->rsc.standard);
history           147 daemons/controld/controld_execd.c     free(history->rsc.provider);
history           149 daemons/controld/controld_execd.c     lrmd_free_event(history->failed);
history           150 daemons/controld/controld_execd.c     lrmd_free_event(history->last);
history           151 daemons/controld/controld_execd.c     free(history->id);
history           152 daemons/controld/controld_execd.c     history_free_recurring_ops(history);
history           153 daemons/controld/controld_execd.c     free(history);
history           774 daemons/controld/controld_fencing.c         stonith_history_t *history = NULL;
history           777 daemons/controld/controld_fencing.c         stonith_api->cmds->history(stonith_api,
history           779 daemons/controld/controld_fencing.c                                    NULL, &history, 5);
history           780 daemons/controld/controld_fencing.c         stonith_history_free(history);
history            40 daemons/fenced/fenced_history.c stonith_send_broadcast_history(xmlNode *history,
history            53 daemons/fenced/fenced_history.c     pcmk__xml_copy(call_data, history);
history           235 daemons/fenced/fenced_history.c stonith_xml_history_to_list(const xmlNode *history)
history           244 daemons/fenced/fenced_history.c     for (xml_op = pcmk__xe_first_child(history, NULL, NULL, NULL);
history           319 daemons/fenced/fenced_history.c     xmlNode *history = NULL;
history           328 daemons/fenced/fenced_history.c             history = pcmk__xe_create(NULL, PCMK__XE_ST_HISTORY);
history           380 daemons/fenced/fenced_history.c                 entry = pcmk__xe_create(history, STONITH_OP_EXEC);
history           443 daemons/fenced/fenced_history.c         pcmk__xml_free(history);
history           446 daemons/fenced/fenced_history.c         return history;
history           528 daemons/fenced/fenced_history.c             xmlNode *history = get_xpath_object("//" PCMK__XE_ST_HISTORY, msg,
history           540 daemons/fenced/fenced_history.c             if (!history
history           541 daemons/fenced/fenced_history.c                 || !pcmk__xe_attr_is_true(history, PCMK__XA_ST_DIFFERENTIAL)) {
history           545 daemons/fenced/fenced_history.c                 if (history != NULL) {
history           546 daemons/fenced/fenced_history.c                     received_history = stonith_xml_history_to_list(history);
history           102 include/crm/fencing/internal.h stonith_history_t *stonith__sort_history(stonith_history_t *history);
history           135 include/crm/fencing/internal.h stonith_history_t *stonith__first_matching_event(stonith_history_t *history,
history           138 include/crm/fencing/internal.h bool stonith__event_state_pending(stonith_history_t *history, void *user_data);
history           139 include/crm/fencing/internal.h bool stonith__event_state_eq(stonith_history_t *history, void *user_data);
history           140 include/crm/fencing/internal.h bool stonith__event_state_neq(stonith_history_t *history, void *user_data);
history           406 include/crm/stonith-ng.h     int (*history)(stonith_t *stonith, int call_options, const char *node,
history           407 include/crm/stonith-ng.h                    stonith_history_t **history, int timeout);
history           589 include/crm/stonith-ng.h void stonith_history_free(stonith_history_t *history);
history           704 lib/fencing/st_client.c                     stonith_history_t ** history, int timeout)
history           711 lib/fencing/st_client.c     *history = NULL;
history           750 lib/fencing/st_client.c                 *history = kvp;
history           761 lib/fencing/st_client.c void stonith_history_free(stonith_history_t *history)
history           765 lib/fencing/st_client.c     for (hp = history; hp; hp_old = hp, hp = hp->next, free(hp_old)) {
history          1901 lib/fencing/st_client.c     new_stonith->cmds->history    = stonith_api_history;
history          2048 lib/fencing/st_client.c     stonith_history_t *history = NULL, *hp = NULL;
history          2070 lib/fencing/st_client.c         rc = st->cmds->history(st, opts, name, &history, 120);
history          2073 lib/fencing/st_client.c         for (hp = history; hp; hp = hp->next) {
history          2089 lib/fencing/st_client.c         stonith_history_free(history);
history          2330 lib/fencing/st_client.c stonith__sort_history(stonith_history_t *history)
history          2334 lib/fencing/st_client.c     for (hp = history; hp; ) {
history          2397 lib/fencing/st_client.c stonith__first_matching_event(stonith_history_t *history,
history          2401 lib/fencing/st_client.c     for (stonith_history_t *hp = history; hp; hp = hp->next) {
history          2411 lib/fencing/st_client.c stonith__event_state_pending(stonith_history_t *history, void *user_data)
history          2413 lib/fencing/st_client.c     return history->state != st_failed && history->state != st_done;
history          2417 lib/fencing/st_client.c stonith__event_state_eq(stonith_history_t *history, void *user_data)
history          2419 lib/fencing/st_client.c     return history->state == GPOINTER_TO_INT(user_data);
history          2423 lib/fencing/st_client.c stonith__event_state_neq(stonith_history_t *history, void *user_data)
history          2425 lib/fencing/st_client.c     return history->state != GPOINTER_TO_INT(user_data);
history            62 lib/fencing/st_output.c state_str(const stonith_history_t *history)
history            64 lib/fencing/st_output.c     switch (history->state) {
history            89 lib/fencing/st_output.c stonith__history_description(const stonith_history_t *history,
history            96 lib/fencing/st_output.c     if ((history->state == st_failed) || (history->state == st_done)) {
history            97 lib/fencing/st_output.c         completed_time_s = timespec_string(history->completed,
history            98 lib/fencing/st_output.c                                            history->completed_nsec, true);
history           102 lib/fencing/st_output.c                    stonith_action_str(history->action), " of ", history->target,
history           107 lib/fencing/st_output.c         if (((history->state == st_failed) || (history->state == st_done))
history           108 lib/fencing/st_output.c             && (history->delegate != NULL)) {
history           110 lib/fencing/st_output.c             pcmk__g_strcat(str, " by ", history->delegate, NULL);
history           112 lib/fencing/st_output.c         pcmk__g_strcat(str, " for ", history->client, "@", history->origin,
history           119 lib/fencing/st_output.c     pcmk__add_word(&str, 0, state_str(history));
history           122 lib/fencing/st_output.c     if ((history->state == st_failed) && (history->exit_reason != NULL)) {
history           123 lib/fencing/st_output.c         pcmk__g_strcat(str, " (", history->exit_reason, ")", NULL);
history           131 lib/fencing/st_output.c         if (((history->state == st_failed) || (history->state == st_done))
history           132 lib/fencing/st_output.c             && (history->delegate != NULL)) {
history           134 lib/fencing/st_output.c             pcmk__g_strcat(str, PCMK_XA_DELEGATE "=", history->delegate, ", ",
history           140 lib/fencing/st_output.c                        PCMK_XA_CLIENT "=", history->client, ", "
history           141 lib/fencing/st_output.c                        PCMK_XA_ORIGIN "=", history->origin, NULL);
history           147 lib/fencing/st_output.c             } else if (history->state == st_failed) {
history           159 lib/fencing/st_output.c     if ((history->state == st_failed) && (later_succeeded != NULL)) {
history           174 lib/fencing/st_output.c     stonith_history_t *history = va_arg(args, stonith_history_t *);
history           182 lib/fencing/st_output.c     for (stonith_history_t *hp = history; hp; hp = hp->next) {
history           194 lib/fencing/st_output.c                      false, stonith__later_succeeded(hp, history), show_opts);
history           207 lib/fencing/st_output.c     stonith_history_t *history = va_arg(args, stonith_history_t *);
history           215 lib/fencing/st_output.c     for (stonith_history_t *hp = history; hp; hp = hp->next) {
history           225 lib/fencing/st_output.c                          false, stonith__later_succeeded(hp, history), show_opts);
history           240 lib/fencing/st_output.c     stonith_history_t *history = va_arg(args, stonith_history_t *);
history           248 lib/fencing/st_output.c     for (stonith_history_t *hp = history; hp; hp = hp->next) {
history           256 lib/fencing/st_output.c                      false, stonith__later_succeeded(hp, history), show_opts);
history           270 lib/fencing/st_output.c     stonith_history_t *history = va_arg(args, stonith_history_t *);
history           279 lib/fencing/st_output.c         for (stonith_history_t *hp = history; hp; hp = hp->next) {
history           288 lib/fencing/st_output.c                          false, stonith__later_succeeded(hp, history), show_opts);
history           364 lib/fencing/st_output.c     stonith_history_t *history = va_arg(args, stonith_history_t *);
history           372 lib/fencing/st_output.c     for (stonith_history_t *hp = history; hp; hp = hp->next) {
history           385 lib/fencing/st_output.c                      false, stonith__later_succeeded(hp, history), show_opts);
history            86 lib/pacemaker/pcmk_fence.c reduce_fence_history(stonith_history_t *history)
history            90 lib/pacemaker/pcmk_fence.c     if (!history) {
history            91 lib/pacemaker/pcmk_fence.c         return history;
history            94 lib/pacemaker/pcmk_fence.c     new = history;
history           258 lib/pacemaker/pcmk_fence.c     stonith_history_t *history = NULL;
history           286 lib/pacemaker/pcmk_fence.c     rc = st->cmds->history(st, opts, target, &history, pcmk__timeout_ms2s(timeout));
history           290 lib/pacemaker/pcmk_fence.c         stonith_history_free(history);
history           296 lib/pacemaker/pcmk_fence.c     history = stonith__sort_history(history);
history           297 lib/pacemaker/pcmk_fence.c     for (stonith_history_t *hp = history; hp != NULL; hp = hp->next) {
history           307 lib/pacemaker/pcmk_fence.c                      stonith__later_succeeded(hp, history),
history           325 lib/pacemaker/pcmk_fence.c     stonith_history_free(history);
history           662 lib/pacemaker/pcmk_fence.c         rc = st->cmds->history(st, st_opt_sync_call, NULL, stonith_history,
history            36 lib/pacemaker/pcmk_resource.c     xmlNode *history = NULL;
history            45 lib/pacemaker/pcmk_resource.c     history = get_xpath_object(xpath, rsc->priv->scheduler->input, LOG_NEVER);
history            49 lib/pacemaker/pcmk_resource.c     for (xmlNode *lrm_rsc_op = pcmk__xe_first_child(history,
history          1933 lib/pacemaker/pcmk_sched_actions.c             xmlNode *history = NULL;
history          1936 lib/pacemaker/pcmk_sched_actions.c             history = get_xpath_object(xpath, scheduler->input, LOG_NEVER);
history          1939 lib/pacemaker/pcmk_sched_actions.c             process_node_history(node, history);
history          3223 lib/pengine/unpack.c unpack_migrate_to_success(struct action_history *history)
history          3265 lib/pengine/unpack.c     pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
history          3268 lib/pengine/unpack.c     if (get_migration_node_names(history->xml, history->node, NULL, &source,
history          3274 lib/pengine/unpack.c     source_newer_op = non_monitor_after(history->rsc->id, source, history->xml,
history          3278 lib/pengine/unpack.c     migrate_from = find_lrm_op(history->rsc->id, PCMK_ACTION_MIGRATE_FROM,
history          3295 lib/pengine/unpack.c     target_newer_state = newer_state_after_migrate(history->rsc->id, target,
history          3296 lib/pengine/unpack.c                                                    history->xml, migrate_from,
history          3307 lib/pengine/unpack.c         add_dangling_migration(history->rsc, history->node);
history          3314 lib/pengine/unpack.c     history->rsc->priv->orig_role = pcmk_role_started;
history          3322 lib/pengine/unpack.c             native_add_running(history->rsc, target_node, scheduler, TRUE);
history          3325 lib/pengine/unpack.c             pcmk__set_rsc_flags(history->rsc,
history          3327 lib/pengine/unpack.c             pcmk__clear_rsc_flags(history->rsc, pcmk__rsc_migratable);
history          3339 lib/pengine/unpack.c         && unknown_on_node(history->rsc, target)) {
history          3346 lib/pengine/unpack.c         native_add_running(history->rsc, target_node, scheduler, FALSE);
history          3354 lib/pengine/unpack.c             history->rsc->priv->partial_migration_target = target_node;
history          3355 lib/pengine/unpack.c             history->rsc->priv->partial_migration_source = source_node;
history          3360 lib/pengine/unpack.c         pcmk__set_rsc_flags(history->rsc,
history          3362 lib/pengine/unpack.c         pcmk__clear_rsc_flags(history->rsc, pcmk__rsc_migratable);
history          3373 lib/pengine/unpack.c unpack_migrate_to_failure(struct action_history *history)
history          3378 lib/pengine/unpack.c     pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
history          3381 lib/pengine/unpack.c     if (get_migration_node_names(history->xml, history->node, NULL, &source,
history          3389 lib/pengine/unpack.c     history->rsc->priv->orig_role = pcmk_role_started;
history          3392 lib/pengine/unpack.c     target_migrate_from = find_lrm_op(history->rsc->id,
history          3401 lib/pengine/unpack.c         !unknown_on_node(history->rsc, target)
history          3405 lib/pengine/unpack.c         && !newer_state_after_migrate(history->rsc->id, target, history->xml,
history          3414 lib/pengine/unpack.c             native_add_running(history->rsc, target_node, scheduler, FALSE);
history          3417 lib/pengine/unpack.c     } else if (!non_monitor_after(history->rsc->id, source, history->xml,
history          3425 lib/pengine/unpack.c         history->rsc->priv->dangling_migration_sources =
history          3426 lib/pengine/unpack.c             g_list_prepend(history->rsc->priv->dangling_migration_sources,
history          3427 lib/pengine/unpack.c                            (gpointer) history->node);
history          3438 lib/pengine/unpack.c unpack_migrate_from_failure(struct action_history *history)
history          3443 lib/pengine/unpack.c     pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
history          3446 lib/pengine/unpack.c     if (get_migration_node_names(history->xml, NULL, history->node, &source,
history          3454 lib/pengine/unpack.c     history->rsc->priv->orig_role = pcmk_role_started;
history          3457 lib/pengine/unpack.c     source_migrate_to = find_lrm_op(history->rsc->id, PCMK_ACTION_MIGRATE_TO,
history          3465 lib/pengine/unpack.c         !unknown_on_node(history->rsc, source)
history          3469 lib/pengine/unpack.c         && !newer_state_after_migrate(history->rsc->id, source,
history          3470 lib/pengine/unpack.c                                       source_migrate_to, history->xml,
history          3478 lib/pengine/unpack.c             native_add_running(history->rsc, source_node, scheduler, TRUE);
history          3490 lib/pengine/unpack.c record_failed_op(struct action_history *history)
history          3492 lib/pengine/unpack.c     const pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
history          3494 lib/pengine/unpack.c     if (!(history->node->details->online)) {
history          3504 lib/pengine/unpack.c         if (pcmk__str_eq(history->key, key, pcmk__str_none)
history          3505 lib/pengine/unpack.c             && pcmk__str_eq(uname, history->node->priv->name,
history          3508 lib/pengine/unpack.c                       history->key, pcmk__node_name(history->node));
history          3514 lib/pengine/unpack.c               history->key, pcmk__node_name(history->node));
history          3515 lib/pengine/unpack.c     crm_xml_add(history->xml, PCMK_XA_UNAME, history->node->priv->name);
history          3516 lib/pengine/unpack.c     crm_xml_add(history->xml, PCMK__XA_RSC_ID, history->rsc->id);
history          3517 lib/pengine/unpack.c     pcmk__xml_copy(scheduler->priv->failed, history->xml);
history          3587 lib/pengine/unpack.c unpack_failure_handling(struct action_history *history,
history          3591 lib/pengine/unpack.c     xmlNode *config = pcmk__find_action_config(history->rsc, history->task,
history          3592 lib/pengine/unpack.c                                                history->interval_ms, true);
history          3594 lib/pengine/unpack.c     GHashTable *meta = pcmk__unpack_action_meta(history->rsc, history->node,
history          3595 lib/pengine/unpack.c                                                 history->task,
history          3596 lib/pengine/unpack.c                                                 history->interval_ms, config);
history          3600 lib/pengine/unpack.c     *on_fail = pcmk__parse_on_fail(history->rsc, history->task,
history          3601 lib/pengine/unpack.c                                    history->interval_ms, on_fail_str);
history          3602 lib/pengine/unpack.c     *fail_role = pcmk__role_after_failure(history->rsc, history->task, *on_fail,
history          3618 lib/pengine/unpack.c unpack_rsc_op_failure(struct action_history *history,
history          3625 lib/pengine/unpack.c     pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
history          3627 lib/pengine/unpack.c     *last_failure = history->xml;
history          3629 lib/pengine/unpack.c     is_probe = pcmk_xe_is_probe(history->xml);
history          3630 lib/pengine/unpack.c     last_change_s = last_change_str(history->xml);
history          3633 lib/pengine/unpack.c         && (history->exit_status == PCMK_OCF_NOT_INSTALLED)) {
history          3636 lib/pengine/unpack.c                   crm_exit_str(history->exit_status),
history          3637 lib/pengine/unpack.c                   (pcmk__str_empty(history->exit_reason)? "" : ": "),
history          3638 lib/pengine/unpack.c                   pcmk__s(history->exit_reason, ""),
history          3639 lib/pengine/unpack.c                   (is_probe? "probe" : history->task), history->rsc->id,
history          3640 lib/pengine/unpack.c                   pcmk__node_name(history->node), last_change_s,
history          3641 lib/pengine/unpack.c                   history->exit_status, history->id);
history          3646 lib/pengine/unpack.c                          crm_exit_str(history->exit_status),
history          3647 lib/pengine/unpack.c                          (pcmk__str_empty(history->exit_reason)? "" : ": "),
history          3648 lib/pengine/unpack.c                          pcmk__s(history->exit_reason, ""),
history          3649 lib/pengine/unpack.c                          (is_probe? "probe" : history->task), history->rsc->id,
history          3650 lib/pengine/unpack.c                          pcmk__node_name(history->node), last_change_s,
history          3651 lib/pengine/unpack.c                          history->exit_status, history->id);
history          3653 lib/pengine/unpack.c         if (is_probe && (history->exit_status != PCMK_OCF_OK)
history          3654 lib/pengine/unpack.c             && (history->exit_status != PCMK_OCF_NOT_RUNNING)
history          3655 lib/pengine/unpack.c             && (history->exit_status != PCMK_OCF_RUNNING_PROMOTED)) {
history          3663 lib/pengine/unpack.c                        history->rsc->id, pcmk__node_name(history->node));
history          3666 lib/pengine/unpack.c         record_failed_op(history);
history          3672 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc, "on-fail %s -> %s for %s",
history          3674 lib/pengine/unpack.c                         pcmk__on_fail_text(config_on_fail), history->key);
history          3678 lib/pengine/unpack.c     if (strcmp(history->task, PCMK_ACTION_STOP) == 0) {
history          3679 lib/pengine/unpack.c         resource_location(history->rsc, history->node, -PCMK_SCORE_INFINITY,
history          3682 lib/pengine/unpack.c     } else if (strcmp(history->task, PCMK_ACTION_MIGRATE_TO) == 0) {
history          3683 lib/pengine/unpack.c         unpack_migrate_to_failure(history);
history          3685 lib/pengine/unpack.c     } else if (strcmp(history->task, PCMK_ACTION_MIGRATE_FROM) == 0) {
history          3686 lib/pengine/unpack.c         unpack_migrate_from_failure(history);
history          3688 lib/pengine/unpack.c     } else if (strcmp(history->task, PCMK_ACTION_PROMOTE) == 0) {
history          3689 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_promoted;
history          3691 lib/pengine/unpack.c     } else if (strcmp(history->task, PCMK_ACTION_DEMOTE) == 0) {
history          3693 lib/pengine/unpack.c             history->rsc->priv->orig_role = pcmk_role_promoted;
history          3694 lib/pengine/unpack.c             pe__set_next_role(history->rsc, pcmk_role_stopped,
history          3697 lib/pengine/unpack.c         } else if (history->exit_status == PCMK_OCF_NOT_RUNNING) {
history          3698 lib/pengine/unpack.c             history->rsc->priv->orig_role = pcmk_role_stopped;
history          3706 lib/pengine/unpack.c             history->rsc->priv->orig_role = pcmk_role_unpromoted;
history          3710 lib/pengine/unpack.c     if (is_probe && (history->exit_status == PCMK_OCF_NOT_INSTALLED)) {
history          3712 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc, "Leaving %s stopped", history->rsc->id);
history          3713 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_stopped;
history          3715 lib/pengine/unpack.c     } else if (history->rsc->priv->orig_role < pcmk_role_started) {
history          3716 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc, "Setting %s active", history->rsc->id);
history          3717 lib/pengine/unpack.c         set_active(history->rsc);
history          3720 lib/pengine/unpack.c     pcmk__rsc_trace(history->rsc,
history          3722 lib/pengine/unpack.c                     history->rsc->id,
history          3723 lib/pengine/unpack.c                     pcmk_role_text(history->rsc->priv->orig_role),
history          3724 lib/pengine/unpack.c                     pcmk__btoa(history->node->details->unclean),
history          3729 lib/pengine/unpack.c         && (history->rsc->priv->next_role < fail_role)) {
history          3730 lib/pengine/unpack.c         pe__set_next_role(history->rsc, fail_role, "failure");
history          3734 lib/pengine/unpack.c         ban_from_all_nodes(history->rsc);
history          3748 lib/pengine/unpack.c block_if_unrecoverable(struct action_history *history)
history          3752 lib/pengine/unpack.c     if (strcmp(history->task, PCMK_ACTION_STOP) != 0) {
history          3755 lib/pengine/unpack.c     if (pe_can_fence(history->node->priv->scheduler, history->node)) {
history          3759 lib/pengine/unpack.c     last_change_s = last_change_str(history->xml);
history          3760 lib/pengine/unpack.c     pcmk__sched_err(history->node->priv->scheduler,
history          3764 lib/pengine/unpack.c                     history->rsc->id, history->task,
history          3765 lib/pengine/unpack.c                     pcmk__node_name(history->node),
history          3766 lib/pengine/unpack.c                     crm_exit_str(history->exit_status),
history          3767 lib/pengine/unpack.c                     (pcmk__str_empty(history->exit_reason)? "" : ": "),
history          3768 lib/pengine/unpack.c                     pcmk__s(history->exit_reason, ""),
history          3769 lib/pengine/unpack.c                     last_change_s, history->exit_status, history->id);
history          3773 lib/pengine/unpack.c     pcmk__clear_rsc_flags(history->rsc, pcmk__rsc_managed);
history          3774 lib/pengine/unpack.c     pcmk__set_rsc_flags(history->rsc, pcmk__rsc_blocked);
history          3787 lib/pengine/unpack.c remap_because(struct action_history *history, const char **why, int value,
history          3790 lib/pengine/unpack.c     if (history->execution_status != value) {
history          3791 lib/pengine/unpack.c         history->execution_status = value;
history          3819 lib/pengine/unpack.c remap_operation(struct action_history *history,
history          3823 lib/pengine/unpack.c     int orig_exit_status = history->exit_status;
history          3824 lib/pengine/unpack.c     int orig_exec_status = history->execution_status;
history          3826 lib/pengine/unpack.c     const char *task = history->task;
history          3829 lib/pengine/unpack.c     history->exit_status = pcmk__effective_rc(history->exit_status);
history          3830 lib/pengine/unpack.c     if (history->exit_status != orig_exit_status) {
history          3832 lib/pengine/unpack.c         if (!expired && (!history->node->details->shutdown
history          3833 lib/pengine/unpack.c                          || history->node->details->online)) {
history          3834 lib/pengine/unpack.c             record_failed_op(history);
history          3838 lib/pengine/unpack.c     if (!pcmk__is_bundled(history->rsc)
history          3839 lib/pengine/unpack.c         && pcmk_xe_mask_probe_failure(history->xml)
history          3840 lib/pengine/unpack.c         && ((history->execution_status != PCMK_EXEC_DONE)
history          3841 lib/pengine/unpack.c             || (history->exit_status != PCMK_OCF_NOT_RUNNING))) {
history          3842 lib/pengine/unpack.c         history->execution_status = PCMK_EXEC_DONE;
history          3843 lib/pengine/unpack.c         history->exit_status = PCMK_OCF_NOT_RUNNING;
history          3852 lib/pengine/unpack.c     switch (history->execution_status) {
history          3860 lib/pengine/unpack.c             remap_because(history, &why, PCMK_EXEC_ERROR_HARD,
history          3868 lib/pengine/unpack.c     is_probe = pcmk_xe_is_probe(history->xml);
history          3873 lib/pengine/unpack.c     if (history->expected_exit_status < 0) {
history          3882 lib/pengine/unpack.c         remap_because(history, &why, PCMK_EXEC_ERROR,
history          3886 lib/pengine/unpack.c                           history->key, pcmk__node_name(history->node));
history          3888 lib/pengine/unpack.c     } else if (history->exit_status == history->expected_exit_status) {
history          3889 lib/pengine/unpack.c         remap_because(history, &why, PCMK_EXEC_DONE, "expected result");
history          3892 lib/pengine/unpack.c         remap_because(history, &why, PCMK_EXEC_ERROR, "unexpected result");
history          3893 lib/pengine/unpack.c         pcmk__rsc_debug(history->rsc,
history          3895 lib/pengine/unpack.c                         history->key, pcmk__node_name(history->node),
history          3896 lib/pengine/unpack.c                         history->expected_exit_status,
history          3897 lib/pengine/unpack.c                         crm_exit_str(history->expected_exit_status),
history          3898 lib/pengine/unpack.c                         history->exit_status,
history          3899 lib/pengine/unpack.c                         crm_exit_str(history->exit_status),
history          3900 lib/pengine/unpack.c                         (pcmk__str_empty(history->exit_reason)? "" : ": "),
history          3901 lib/pengine/unpack.c                         pcmk__s(history->exit_reason, ""));
history          3904 lib/pengine/unpack.c     switch (history->exit_status) {
history          3907 lib/pengine/unpack.c                 && (history->expected_exit_status == PCMK_OCF_NOT_RUNNING)) {
history          3908 lib/pengine/unpack.c                 char *last_change_s = last_change_str(history->xml);
history          3910 lib/pengine/unpack.c                 remap_because(history, &why, PCMK_EXEC_DONE, "probe");
history          3911 lib/pengine/unpack.c                 pcmk__rsc_info(history->rsc,
history          3913 lib/pengine/unpack.c                                history->rsc->id, pcmk__node_name(history->node),
history          3921 lib/pengine/unpack.c                 || (history->expected_exit_status == history->exit_status)
history          3922 lib/pengine/unpack.c                 || !pcmk_is_set(history->rsc->flags, pcmk__rsc_managed)) {
history          3928 lib/pengine/unpack.c                 remap_because(history, &why, PCMK_EXEC_DONE, "exit status");
history          3929 lib/pengine/unpack.c                 history->rsc->priv->orig_role = pcmk_role_stopped;
history          3931 lib/pengine/unpack.c                 pe__set_next_role(history->rsc, pcmk_role_unknown,
history          3938 lib/pengine/unpack.c                 && (history->exit_status != history->expected_exit_status)) {
history          3939 lib/pengine/unpack.c                 char *last_change_s = last_change_str(history->xml);
history          3941 lib/pengine/unpack.c                 remap_because(history, &why, PCMK_EXEC_DONE, "probe");
history          3942 lib/pengine/unpack.c                 pcmk__rsc_info(history->rsc,
history          3944 lib/pengine/unpack.c                                 history->rsc->id,
history          3945 lib/pengine/unpack.c                                 pcmk__node_name(history->node), last_change_s);
history          3949 lib/pengine/unpack.c                 || (history->exit_status == history->expected_exit_status)) {
history          3950 lib/pengine/unpack.c                 history->rsc->priv->orig_role = pcmk_role_promoted;
history          3956 lib/pengine/unpack.c                 history->rsc->priv->orig_role = pcmk_role_promoted;
history          3958 lib/pengine/unpack.c             remap_because(history, &why, PCMK_EXEC_ERROR, "exit status");
history          3962 lib/pengine/unpack.c             remap_because(history, &why, PCMK_EXEC_ERROR_FATAL, "exit status");
history          3968 lib/pengine/unpack.c                 crm_element_value_ms(history->xml, PCMK_META_INTERVAL,
history          3973 lib/pengine/unpack.c                         block_if_unrecoverable(history);
history          3975 lib/pengine/unpack.c                     remap_because(history, &why, PCMK_EXEC_ERROR_HARD,
history          3978 lib/pengine/unpack.c                     remap_because(history, &why, PCMK_EXEC_NOT_SUPPORTED,
history          3988 lib/pengine/unpack.c                 block_if_unrecoverable(history);
history          3990 lib/pengine/unpack.c             remap_because(history, &why, PCMK_EXEC_ERROR_HARD, "exit status");
history          3994 lib/pengine/unpack.c             if (history->execution_status == PCMK_EXEC_DONE) {
history          3995 lib/pengine/unpack.c                 char *last_change_s = last_change_str(history->xml);
history          3999 lib/pengine/unpack.c                          history->exit_status, task, history->rsc->id,
history          4000 lib/pengine/unpack.c                          pcmk__node_name(history->node), last_change_s);
history          4001 lib/pengine/unpack.c                 remap_because(history, &why, PCMK_EXEC_ERROR,
history          4010 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc,
history          4013 lib/pengine/unpack.c                         history->key, pcmk_exec_status_str(orig_exec_status),
history          4015 lib/pengine/unpack.c                         pcmk_exec_status_str(history->execution_status),
history          4016 lib/pengine/unpack.c                         crm_exit_str(history->exit_status), why);
history          4135 lib/pengine/unpack.c check_operation_expiry(struct action_history *history)
history          4138 lib/pengine/unpack.c     bool is_last_failure = pcmk__ends_with(history->id, "_last_failure_0");
history          4143 lib/pengine/unpack.c         pcmk__timeout_ms2s(history->rsc->priv->failure_expiration_ms);
history          4144 lib/pengine/unpack.c     pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
history          4146 lib/pengine/unpack.c     if (history->execution_status == PCMK_EXEC_NOT_INSTALLED) {
history          4147 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc,
history          4150 lib/pengine/unpack.c                         history->id, pcmk__node_name(history->node));
history          4155 lib/pengine/unpack.c         && (crm_element_value_epoch(history->xml, PCMK_XA_LAST_RC_CHANGE,
history          4167 lib/pengine/unpack.c             && !should_ignore_failure_timeout(history->rsc, history->task,
history          4168 lib/pengine/unpack.c                                               history->interval_ms,
history          4174 lib/pengine/unpack.c         unexpired_fail_count = pe_get_failcount(history->node, history->rsc,
history          4177 lib/pengine/unpack.c                                                 history->xml);
history          4182 lib/pengine/unpack.c                   history->id, (long long) last_run, (expired? "" : "not "),
history          4194 lib/pengine/unpack.c         if (pe_get_failcount(history->node, history->rsc, NULL,
history          4195 lib/pengine/unpack.c                              pcmk__fc_default, history->xml)) {
history          4209 lib/pengine/unpack.c                 pcmk__rsc_trace(history->rsc,
history          4212 lib/pengine/unpack.c                                 history->id, pcmk__node_name(history->node));
history          4217 lib/pengine/unpack.c                    && (history->rsc->priv->remote_reconnect_ms > 0U)) {
history          4226 lib/pengine/unpack.c         && should_clear_for_param_change(history->xml, history->task,
history          4227 lib/pengine/unpack.c                                          history->rsc, history->node)) {
history          4235 lib/pengine/unpack.c         clear_op = pe__clear_failcount(history->rsc, history->node,
history          4239 lib/pengine/unpack.c             && (history->rsc->priv->remote_reconnect_ms > 0)) {
history          4250 lib/pengine/unpack.c                      history->task, history->rsc->id);
history          4251 lib/pengine/unpack.c             order_after_remote_fencing(clear_op, history->rsc, scheduler);
history          4255 lib/pengine/unpack.c     if (expired && (history->interval_ms == 0)
history          4256 lib/pengine/unpack.c         && pcmk__str_eq(history->task, PCMK_ACTION_MONITOR, pcmk__str_none)) {
history          4257 lib/pengine/unpack.c         switch (history->exit_status) {
history          4264 lib/pengine/unpack.c                 pcmk__rsc_trace(history->rsc,
history          4267 lib/pengine/unpack.c                              history->id, pcmk__node_name(history->node));
history          4299 lib/pengine/unpack.c update_resource_state(struct action_history *history, int exit_status,
history          4306 lib/pengine/unpack.c         || (!pcmk__is_bundled(history->rsc)
history          4307 lib/pengine/unpack.c             && pcmk_xe_mask_probe_failure(history->xml))) {
history          4308 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_stopped;
history          4313 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_MONITOR,
history          4316 lib/pengine/unpack.c             && pcmk__str_eq(history->key, pcmk__xe_history_key(last_failure),
history          4320 lib/pengine/unpack.c         if (history->rsc->priv->orig_role < pcmk_role_started) {
history          4321 lib/pengine/unpack.c             set_active(history->rsc);
history          4324 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_START, pcmk__str_none)) {
history          4325 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_started;
history          4328 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_STOP, pcmk__str_none)) {
history          4329 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_stopped;
history          4332 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_PROMOTE,
history          4334 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_promoted;
history          4337 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_DEMOTE,
history          4345 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_unpromoted;
history          4347 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_MIGRATE_FROM,
history          4349 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_started;
history          4352 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_MIGRATE_TO,
history          4354 lib/pengine/unpack.c         unpack_migrate_to_success(history);
history          4356 lib/pengine/unpack.c     } else if (history->rsc->priv->orig_role < pcmk_role_started) {
history          4357 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc, "%s active on %s",
history          4358 lib/pengine/unpack.c                         history->rsc->id, pcmk__node_name(history->node));
history          4359 lib/pengine/unpack.c         set_active(history->rsc);
history          4371 lib/pengine/unpack.c             pcmk__rsc_trace(history->rsc,
history          4373 lib/pengine/unpack.c                             history->rsc->id, pcmk__on_fail_text(*on_fail),
history          4374 lib/pengine/unpack.c                             history->task);
history          4383 lib/pengine/unpack.c             pe__set_next_role(history->rsc, pcmk_role_unknown,
history          4388 lib/pengine/unpack.c             if (history->rsc->priv->remote_reconnect_ms == 0U) {
history          4396 lib/pengine/unpack.c                 pe__set_next_role(history->rsc, pcmk_role_unknown,
history          4412 lib/pengine/unpack.c can_affect_state(struct action_history *history)
history          4414 lib/pengine/unpack.c      return pcmk__str_any_of(history->task, PCMK_ACTION_MONITOR,
history          4430 lib/pengine/unpack.c unpack_action_result(struct action_history *history)
history          4432 lib/pengine/unpack.c     if ((crm_element_value_int(history->xml, PCMK__XA_OP_STATUS,
history          4433 lib/pengine/unpack.c                                &(history->execution_status)) < 0)
history          4434 lib/pengine/unpack.c         || (history->execution_status < PCMK_EXEC_PENDING)
history          4435 lib/pengine/unpack.c         || (history->execution_status > PCMK_EXEC_MAX)
history          4436 lib/pengine/unpack.c         || (history->execution_status == PCMK_EXEC_CANCELLED)) {
history          4439 lib/pengine/unpack.c                          history->id, history->rsc->id,
history          4440 lib/pengine/unpack.c                          pcmk__node_name(history->node),
history          4441 lib/pengine/unpack.c                          pcmk__s(crm_element_value(history->xml,
history          4446 lib/pengine/unpack.c     if ((crm_element_value_int(history->xml, PCMK__XA_RC_CODE,
history          4447 lib/pengine/unpack.c                                &(history->exit_status)) < 0)
history          4448 lib/pengine/unpack.c         || (history->exit_status < 0) || (history->exit_status > CRM_EX_MAX)) {
history          4451 lib/pengine/unpack.c                          history->id, history->rsc->id,
history          4452 lib/pengine/unpack.c                          pcmk__node_name(history->node),
history          4453 lib/pengine/unpack.c                          pcmk__s(crm_element_value(history->xml,
history          4458 lib/pengine/unpack.c     history->exit_reason = crm_element_value(history->xml, PCMK_XA_EXIT_REASON);
history          4473 lib/pengine/unpack.c process_expired_result(struct action_history *history, int orig_exit_status)
history          4475 lib/pengine/unpack.c     if (!pcmk__is_bundled(history->rsc)
history          4476 lib/pengine/unpack.c         && pcmk_xe_mask_probe_failure(history->xml)
history          4477 lib/pengine/unpack.c         && (orig_exit_status != history->expected_exit_status)) {
history          4479 lib/pengine/unpack.c         if (history->rsc->priv->orig_role <= pcmk_role_stopped) {
history          4480 lib/pengine/unpack.c             history->rsc->priv->orig_role = pcmk_role_unknown;
history          4484 lib/pengine/unpack.c                   history->id, history->rsc->id,
history          4485 lib/pengine/unpack.c                   pcmk__node_name(history->node));
history          4489 lib/pengine/unpack.c     if (history->exit_status == history->expected_exit_status) {
history          4493 lib/pengine/unpack.c     if (history->interval_ms == 0) {
history          4496 lib/pengine/unpack.c                    history->id, history->task, history->rsc->id,
history          4497 lib/pengine/unpack.c                    pcmk__node_name(history->node));
history          4501 lib/pengine/unpack.c     if (history->node->details->online && !history->node->details->unclean) {
history          4514 lib/pengine/unpack.c                    pcmk__readable_interval(history->interval_ms), history->task,
history          4515 lib/pengine/unpack.c                    history->rsc->id, pcmk__node_name(history->node));
history          4516 lib/pengine/unpack.c         crm_xml_add(history->xml, PCMK__XA_OP_RESTART_DIGEST,
history          4534 lib/pengine/unpack.c mask_probe_failure(struct action_history *history, int orig_exit_status,
history          4538 lib/pengine/unpack.c     pcmk_resource_t *ban_rsc = history->rsc;
history          4540 lib/pengine/unpack.c     if (!pcmk_is_set(history->rsc->flags, pcmk__rsc_unique)) {
history          4541 lib/pengine/unpack.c         ban_rsc = uber_parent(history->rsc);
history          4545 lib/pengine/unpack.c                crm_exit_str(orig_exit_status), history->rsc->id,
history          4546 lib/pengine/unpack.c                pcmk__node_name(history->node));
history          4547 lib/pengine/unpack.c     update_resource_state(history, history->expected_exit_status, last_failure,
history          4549 lib/pengine/unpack.c     crm_xml_add(history->xml, PCMK_XA_UNAME, history->node->priv->name);
history          4551 lib/pengine/unpack.c     record_failed_op(history);
history          4552 lib/pengine/unpack.c     resource_location(ban_rsc, history->node, -PCMK_SCORE_INFINITY,
history          4569 lib/pengine/unpack.c failure_is_newer(const struct action_history *history,
history          4580 lib/pengine/unpack.c     if (!pcmk__str_eq(history->task,
history          4588 lib/pengine/unpack.c         || (history->interval_ms != failure_interval_ms)) {
history          4592 lib/pengine/unpack.c     if ((pcmk__scan_ll(crm_element_value(history->xml, PCMK_XA_LAST_RC_CHANGE),
history          4612 lib/pengine/unpack.c process_pending_action(struct action_history *history,
history          4624 lib/pengine/unpack.c     if (failure_is_newer(history, last_failure)) {
history          4628 lib/pengine/unpack.c     if (strcmp(history->task, PCMK_ACTION_START) == 0) {
history          4629 lib/pengine/unpack.c         pcmk__set_rsc_flags(history->rsc, pcmk__rsc_start_pending);
history          4630 lib/pengine/unpack.c         set_active(history->rsc);
history          4632 lib/pengine/unpack.c     } else if (strcmp(history->task, PCMK_ACTION_PROMOTE) == 0) {
history          4633 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_promoted;
history          4635 lib/pengine/unpack.c     } else if ((strcmp(history->task, PCMK_ACTION_MIGRATE_TO) == 0)
history          4636 lib/pengine/unpack.c                && history->node->details->unclean) {
history          4643 lib/pengine/unpack.c         migrate_target = crm_element_value(history->xml,
history          4645 lib/pengine/unpack.c         target = pcmk_find_node(history->rsc->priv->scheduler,
history          4648 lib/pengine/unpack.c             stop_action(history->rsc, target, FALSE);
history          4652 lib/pengine/unpack.c     if (history->rsc->priv->pending_action != NULL) {
history          4659 lib/pengine/unpack.c     if (pcmk_is_probe(history->task, history->interval_ms)) {
history          4666 lib/pengine/unpack.c         history->rsc->private->pending_action = strdup("probe");
history          4667 lib/pengine/unpack.c         history->rsc->private->pending_node = history->node;
history          4670 lib/pengine/unpack.c         history->rsc->priv->pending_action = strdup(history->task);
history          4671 lib/pengine/unpack.c         history->rsc->priv->pending_node = history->node;
history          4685 lib/pengine/unpack.c     struct action_history history = {
history          4694 lib/pengine/unpack.c     history.id = pcmk__xe_id(xml_op);
history          4695 lib/pengine/unpack.c     if (history.id == NULL) {
history          4702 lib/pengine/unpack.c     history.task = crm_element_value(xml_op, PCMK_XA_OPERATION);
history          4703 lib/pengine/unpack.c     if (history.task == NULL) {
history          4706 lib/pengine/unpack.c                          history.id, rsc->id, pcmk__node_name(node));
history          4709 lib/pengine/unpack.c     crm_element_value_ms(xml_op, PCMK_META_INTERVAL, &(history.interval_ms));
history          4710 lib/pengine/unpack.c     if (!can_affect_state(&history)) {
history          4714 lib/pengine/unpack.c                         history.id, rsc->id, pcmk__node_name(node),
history          4715 lib/pengine/unpack.c                         history.task);
history          4719 lib/pengine/unpack.c     if (unpack_action_result(&history) != pcmk_rc_ok) {
history          4723 lib/pengine/unpack.c     history.expected_exit_status = pe__target_rc_from_xml(xml_op);
history          4724 lib/pengine/unpack.c     history.key = pcmk__xe_history_key(xml_op);
history          4725 lib/pengine/unpack.c     crm_element_value_int(xml_op, PCMK__XA_CALL_ID, &(history.call_id));
history          4728 lib/pengine/unpack.c                     history.id, history.task, history.call_id,
history          4730 lib/pengine/unpack.c                     pcmk_exec_status_str(history.execution_status),
history          4731 lib/pengine/unpack.c                     crm_exit_str(history.exit_status));
history          4740 lib/pengine/unpack.c     expired = check_operation_expiry(&history);
history          4741 lib/pengine/unpack.c     old_rc = history.exit_status;
history          4743 lib/pengine/unpack.c     remap_operation(&history, on_fail, expired);
history          4745 lib/pengine/unpack.c     if (expired && (process_expired_result(&history, old_rc) == pcmk_rc_ok)) {
history          4750 lib/pengine/unpack.c         mask_probe_failure(&history, old_rc, *last_failure, on_fail);
history          4758 lib/pengine/unpack.c     switch (history.execution_status) {
history          4760 lib/pengine/unpack.c             process_pending_action(&history, *last_failure);
history          4764 lib/pengine/unpack.c             update_resource_state(&history, history.exit_status, *last_failure,
history          4769 lib/pengine/unpack.c             unpack_failure_handling(&history, &failure_strategy, &fail_role);
history          4774 lib/pengine/unpack.c                          history.task, rsc->id, pcmk__node_name(node),
history          4775 lib/pengine/unpack.c                          history.execution_status, history.exit_status,
history          4776 lib/pengine/unpack.c                          history.id);
history          4784 lib/pengine/unpack.c             unpack_rsc_op_failure(&history, failure_strategy, fail_role,
history          4815 lib/pengine/unpack.c     unpack_failure_handling(&history, &failure_strategy, &fail_role);
history          4818 lib/pengine/unpack.c             && (strcmp(history.task, PCMK_ACTION_STOP) == 0))) {
history          4824 lib/pengine/unpack.c                  history.task, crm_exit_str(history.exit_status),
history          4825 lib/pengine/unpack.c                  (pcmk__str_empty(history.exit_reason)? "" : ": "),
history          4826 lib/pengine/unpack.c                  pcmk__s(history.exit_reason, ""), rsc->id,
history          4827 lib/pengine/unpack.c                  pcmk__node_name(node), last_change_s, history.id);
history          4830 lib/pengine/unpack.c         update_resource_state(&history, history.expected_exit_status,
history          4835 lib/pengine/unpack.c         record_failed_op(&history);
history          4843 lib/pengine/unpack.c         unpack_rsc_op_failure(&history, failure_strategy, fail_role,
history          4846 lib/pengine/unpack.c         if (history.execution_status == PCMK_EXEC_ERROR_HARD) {
history          4849 lib/pengine/unpack.c             if (history.exit_status == PCMK_OCF_NOT_INSTALLED) {
history          4856 lib/pengine/unpack.c                        crm_exit_str(history.exit_status),
history          4857 lib/pengine/unpack.c                        (pcmk__str_empty(history.exit_reason)? "" : ": "),
history          4858 lib/pengine/unpack.c                        pcmk__s(history.exit_reason, ""), history.id);
history          4862 lib/pengine/unpack.c         } else if (history.execution_status == PCMK_EXEC_ERROR_FATAL) {
history          4866 lib/pengine/unpack.c                             parent->id, crm_exit_str(history.exit_status),
history          4867 lib/pengine/unpack.c                             (pcmk__str_empty(history.exit_reason)? "" : ": "),
history          4868 lib/pengine/unpack.c                             pcmk__s(history.exit_reason, ""), history.id);
history          4876 lib/pengine/unpack.c                     rsc->id, pcmk__node_name(node), history.id,
history            60 tools/stonith_admin.c     char *history;
history           128 tools/stonith_admin.c     { "history", 'H', 0, G_OPTION_ARG_STRING, &options.history,
history           516 tools/stonith_admin.c     if (options.history != NULL) {
history           518 tools/stonith_admin.c         target = options.history;