history            91 daemons/controld/controld_execd.c history_remove_recurring_op(rsc_history_t *history, const lrmd_event_data_t *op)
history            95 daemons/controld/controld_execd.c     for (iter = history->recurring_op_list; iter != NULL; iter = iter->next) {
history           102 daemons/controld/controld_execd.c             history->recurring_op_list = g_list_delete_link(history->recurring_op_list, iter);
history           117 daemons/controld/controld_execd.c history_free_recurring_ops(rsc_history_t *history)
history           121 daemons/controld/controld_execd.c     for (iter = history->recurring_op_list; iter != NULL; iter = iter->next) {
history           124 daemons/controld/controld_execd.c     g_list_free(history->recurring_op_list);
history           125 daemons/controld/controld_execd.c     history->recurring_op_list = NULL;
history           137 daemons/controld/controld_execd.c     rsc_history_t *history = (rsc_history_t*)data;
history           139 daemons/controld/controld_execd.c     if (history->stop_params) {
history           140 daemons/controld/controld_execd.c         g_hash_table_destroy(history->stop_params);
history           144 daemons/controld/controld_execd.c     free(history->rsc.type);
history           145 daemons/controld/controld_execd.c     free(history->rsc.standard);
history           146 daemons/controld/controld_execd.c     free(history->rsc.provider);
history           148 daemons/controld/controld_execd.c     lrmd_free_event(history->failed);
history           149 daemons/controld/controld_execd.c     lrmd_free_event(history->last);
history           150 daemons/controld/controld_execd.c     free(history->id);
history           151 daemons/controld/controld_execd.c     history_free_recurring_ops(history);
history           152 daemons/controld/controld_execd.c     free(history);
history           763 daemons/controld/controld_fencing.c         stonith_history_t *history = NULL;
history           766 daemons/controld/controld_fencing.c         stonith_api->cmds->history(stonith_api,
history           768 daemons/controld/controld_fencing.c                                    NULL, &history, 5);
history           769 daemons/controld/controld_fencing.c         stonith__history_free(history);
history            42 daemons/fenced/fenced_history.c stonith_send_broadcast_history(xmlNode *history,
history            55 daemons/fenced/fenced_history.c     pcmk__xml_copy(call_data, history);
history           237 daemons/fenced/fenced_history.c stonith_xml_history_to_list(const xmlNode *history)
history           246 daemons/fenced/fenced_history.c     for (xml_op = pcmk__xe_first_child(history, NULL, NULL, NULL);
history           321 daemons/fenced/fenced_history.c     xmlNode *history = NULL;
history           330 daemons/fenced/fenced_history.c             history = pcmk__xe_create(NULL, PCMK__XE_ST_HISTORY);
history           382 daemons/fenced/fenced_history.c                 entry = pcmk__xe_create(history, STONITH_OP_EXEC);
history           445 daemons/fenced/fenced_history.c         pcmk__xml_free(history);
history           448 daemons/fenced/fenced_history.c         return history;
history           532 daemons/fenced/fenced_history.c             xmlNode *history = pcmk__xpath_find_one(msg->doc,
history           545 daemons/fenced/fenced_history.c             if (!history
history           546 daemons/fenced/fenced_history.c                 || !pcmk__xe_attr_is_true(history, PCMK__XA_ST_DIFFERENTIAL)) {
history           550 daemons/fenced/fenced_history.c                 if (history != NULL) {
history           551 daemons/fenced/fenced_history.c                     received_history = stonith_xml_history_to_list(history);
history           101 include/crm/fencing/internal.h stonith_history_t *stonith__sort_history(stonith_history_t *history);
history           132 include/crm/fencing/internal.h stonith_history_t *stonith__first_matching_event(stonith_history_t *history,
history           135 include/crm/fencing/internal.h bool stonith__event_state_pending(stonith_history_t *history, void *user_data);
history           136 include/crm/fencing/internal.h bool stonith__event_state_eq(stonith_history_t *history, void *user_data);
history           137 include/crm/fencing/internal.h bool stonith__event_state_neq(stonith_history_t *history, void *user_data);
history           482 include/crm/stonith-ng.h     int (*history)(stonith_t *stonith, int call_options, const char *node,
history           483 include/crm/stonith-ng.h                    stonith_history_t **history, int timeout);
history           711 lib/fencing/st_client.c                     stonith_history_t ** history, int timeout)
history           718 lib/fencing/st_client.c     *history = NULL;
history           758 lib/fencing/st_client.c                 *history = kvp;
history          1908 lib/fencing/st_client.c     new_stonith->cmds->history    = stonith_api_history;
history          2100 lib/fencing/st_client.c     stonith_history_t *history = NULL, *hp = NULL;
history          2122 lib/fencing/st_client.c         rc = st->cmds->history(st, opts, name, &history, 120);
history          2125 lib/fencing/st_client.c         for (hp = history; hp; hp = hp->next) {
history          2141 lib/fencing/st_client.c         stonith__history_free(history);
history          2387 lib/fencing/st_client.c stonith__sort_history(stonith_history_t *history)
history          2391 lib/fencing/st_client.c     for (hp = history; hp; ) {
history          2462 lib/fencing/st_client.c stonith__first_matching_event(stonith_history_t *history,
history          2466 lib/fencing/st_client.c     for (stonith_history_t *hp = history; hp; hp = hp->next) {
history          2476 lib/fencing/st_client.c stonith__event_state_pending(stonith_history_t *history, void *user_data)
history          2478 lib/fencing/st_client.c     return history->state != st_failed && history->state != st_done;
history          2482 lib/fencing/st_client.c stonith__event_state_eq(stonith_history_t *history, void *user_data)
history          2484 lib/fencing/st_client.c     return history->state == GPOINTER_TO_INT(user_data);
history          2488 lib/fencing/st_client.c stonith__event_state_neq(stonith_history_t *history, void *user_data)
history          2490 lib/fencing/st_client.c     return history->state != GPOINTER_TO_INT(user_data);
history            60 lib/fencing/st_output.c history_action_text(const stonith_history_t *history)
history            62 lib/fencing/st_output.c     if (pcmk__str_eq(history->action, PCMK_ACTION_ON, pcmk__str_none)) {
history            65 lib/fencing/st_output.c     if (pcmk__str_eq(history->action, PCMK_ACTION_OFF, pcmk__str_none)) {
history            68 lib/fencing/st_output.c     return pcmk__s(history->action, "fencing");
history            82 lib/fencing/st_output.c state_str(const stonith_history_t *history)
history            84 lib/fencing/st_output.c     switch (history->state) {
history           109 lib/fencing/st_output.c stonith__history_description(const stonith_history_t *history,
history           116 lib/fencing/st_output.c     if ((history->state == st_failed) || (history->state == st_done)) {
history           117 lib/fencing/st_output.c         completed_time_s = timespec_string(history->completed,
history           118 lib/fencing/st_output.c                                            history->completed_nsec, true);
history           121 lib/fencing/st_output.c     pcmk__g_strcat(str, history_action_text(history), " of ", history->target,
history           126 lib/fencing/st_output.c         if (((history->state == st_failed) || (history->state == st_done))
history           127 lib/fencing/st_output.c             && (history->delegate != NULL)) {
history           129 lib/fencing/st_output.c             pcmk__g_strcat(str, " by ", history->delegate, NULL);
history           131 lib/fencing/st_output.c         pcmk__g_strcat(str, " for ", history->client, "@", history->origin,
history           138 lib/fencing/st_output.c     pcmk__add_word(&str, 0, state_str(history));
history           141 lib/fencing/st_output.c     if ((history->state == st_failed) && (history->exit_reason != NULL)) {
history           142 lib/fencing/st_output.c         pcmk__g_strcat(str, " (", history->exit_reason, ")", NULL);
history           150 lib/fencing/st_output.c         if (((history->state == st_failed) || (history->state == st_done))
history           151 lib/fencing/st_output.c             && (history->delegate != NULL)) {
history           153 lib/fencing/st_output.c             pcmk__g_strcat(str, PCMK_XA_DELEGATE "=", history->delegate, ", ",
history           159 lib/fencing/st_output.c                        PCMK_XA_CLIENT "=", history->client, ", "
history           160 lib/fencing/st_output.c                        PCMK_XA_ORIGIN "=", history->origin, NULL);
history           166 lib/fencing/st_output.c             } else if (history->state == st_failed) {
history           178 lib/fencing/st_output.c     if ((history->state == st_failed) && (later_succeeded != NULL)) {
history           193 lib/fencing/st_output.c     stonith_history_t *history = va_arg(args, stonith_history_t *);
history           201 lib/fencing/st_output.c     for (stonith_history_t *hp = history; hp; hp = hp->next) {
history           213 lib/fencing/st_output.c                      false, stonith__later_succeeded(hp, history), show_opts);
history           226 lib/fencing/st_output.c     stonith_history_t *history = va_arg(args, stonith_history_t *);
history           234 lib/fencing/st_output.c     for (stonith_history_t *hp = history; hp; hp = hp->next) {
history           244 lib/fencing/st_output.c                          false, stonith__later_succeeded(hp, history), show_opts);
history           259 lib/fencing/st_output.c     stonith_history_t *history = va_arg(args, stonith_history_t *);
history           267 lib/fencing/st_output.c     for (stonith_history_t *hp = history; hp; hp = hp->next) {
history           275 lib/fencing/st_output.c                      false, stonith__later_succeeded(hp, history), show_opts);
history           289 lib/fencing/st_output.c     stonith_history_t *history = va_arg(args, stonith_history_t *);
history           298 lib/fencing/st_output.c         for (stonith_history_t *hp = history; hp; hp = hp->next) {
history           307 lib/fencing/st_output.c                          false, stonith__later_succeeded(hp, history), show_opts);
history           383 lib/fencing/st_output.c     stonith_history_t *history = va_arg(args, stonith_history_t *);
history           391 lib/fencing/st_output.c     for (stonith_history_t *hp = history; hp; hp = hp->next) {
history           404 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           661 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 = pcmk__xpath_find_one(rsc->priv->scheduler->input->doc, xpath,
history            50 lib/pacemaker/pcmk_resource.c     for (xmlNode *lrm_rsc_op = pcmk__xe_first_child(history,
history          1949 lib/pacemaker/pcmk_sched_actions.c             xmlNode *history = NULL;
history          1952 lib/pacemaker/pcmk_sched_actions.c             history = pcmk__xpath_find_one(scheduler->input->doc, xpath,
history          1956 lib/pacemaker/pcmk_sched_actions.c             process_node_history(node, history);
history          3234 lib/pengine/unpack.c unpack_migrate_to_success(struct action_history *history)
history          3276 lib/pengine/unpack.c     pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
history          3279 lib/pengine/unpack.c     if (get_migration_node_names(history->xml, history->node, NULL, &source,
history          3285 lib/pengine/unpack.c     source_newer_op = non_monitor_after(history->rsc->id, source, history->xml,
history          3289 lib/pengine/unpack.c     migrate_from = find_lrm_op(history->rsc->id, PCMK_ACTION_MIGRATE_FROM,
history          3306 lib/pengine/unpack.c     target_newer_state = newer_state_after_migrate(history->rsc->id, target,
history          3307 lib/pengine/unpack.c                                                    history->xml, migrate_from,
history          3318 lib/pengine/unpack.c         add_dangling_migration(history->rsc, history->node);
history          3325 lib/pengine/unpack.c     history->rsc->priv->orig_role = pcmk_role_started;
history          3333 lib/pengine/unpack.c             native_add_running(history->rsc, target_node, scheduler, TRUE);
history          3336 lib/pengine/unpack.c             pcmk__set_rsc_flags(history->rsc,
history          3338 lib/pengine/unpack.c             pcmk__clear_rsc_flags(history->rsc, pcmk__rsc_migratable);
history          3350 lib/pengine/unpack.c         && unknown_on_node(history->rsc, target)) {
history          3357 lib/pengine/unpack.c         native_add_running(history->rsc, target_node, scheduler, FALSE);
history          3365 lib/pengine/unpack.c             history->rsc->priv->partial_migration_target = target_node;
history          3366 lib/pengine/unpack.c             history->rsc->priv->partial_migration_source = source_node;
history          3371 lib/pengine/unpack.c         pcmk__set_rsc_flags(history->rsc,
history          3373 lib/pengine/unpack.c         pcmk__clear_rsc_flags(history->rsc, pcmk__rsc_migratable);
history          3384 lib/pengine/unpack.c unpack_migrate_to_failure(struct action_history *history)
history          3389 lib/pengine/unpack.c     pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
history          3392 lib/pengine/unpack.c     if (get_migration_node_names(history->xml, history->node, NULL, &source,
history          3400 lib/pengine/unpack.c     history->rsc->priv->orig_role = pcmk_role_started;
history          3403 lib/pengine/unpack.c     target_migrate_from = find_lrm_op(history->rsc->id,
history          3412 lib/pengine/unpack.c         !unknown_on_node(history->rsc, target)
history          3416 lib/pengine/unpack.c         && !newer_state_after_migrate(history->rsc->id, target, history->xml,
history          3425 lib/pengine/unpack.c             native_add_running(history->rsc, target_node, scheduler, FALSE);
history          3428 lib/pengine/unpack.c     } else if (!non_monitor_after(history->rsc->id, source, history->xml,
history          3436 lib/pengine/unpack.c         history->rsc->priv->dangling_migration_sources =
history          3437 lib/pengine/unpack.c             g_list_prepend(history->rsc->priv->dangling_migration_sources,
history          3438 lib/pengine/unpack.c                            (gpointer) history->node);
history          3449 lib/pengine/unpack.c unpack_migrate_from_failure(struct action_history *history)
history          3454 lib/pengine/unpack.c     pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
history          3457 lib/pengine/unpack.c     if (get_migration_node_names(history->xml, NULL, history->node, &source,
history          3465 lib/pengine/unpack.c     history->rsc->priv->orig_role = pcmk_role_started;
history          3468 lib/pengine/unpack.c     source_migrate_to = find_lrm_op(history->rsc->id, PCMK_ACTION_MIGRATE_TO,
history          3476 lib/pengine/unpack.c         !unknown_on_node(history->rsc, source)
history          3480 lib/pengine/unpack.c         && !newer_state_after_migrate(history->rsc->id, source,
history          3481 lib/pengine/unpack.c                                       source_migrate_to, history->xml,
history          3489 lib/pengine/unpack.c             native_add_running(history->rsc, source_node, scheduler, TRUE);
history          3501 lib/pengine/unpack.c record_failed_op(struct action_history *history)
history          3503 lib/pengine/unpack.c     const pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
history          3505 lib/pengine/unpack.c     if (!(history->node->details->online)) {
history          3515 lib/pengine/unpack.c         if (pcmk__str_eq(history->key, key, pcmk__str_none)
history          3516 lib/pengine/unpack.c             && pcmk__str_eq(uname, history->node->priv->name,
history          3519 lib/pengine/unpack.c                       history->key, pcmk__node_name(history->node));
history          3525 lib/pengine/unpack.c               history->key, pcmk__node_name(history->node));
history          3526 lib/pengine/unpack.c     crm_xml_add(history->xml, PCMK_XA_UNAME, history->node->priv->name);
history          3527 lib/pengine/unpack.c     crm_xml_add(history->xml, PCMK__XA_RSC_ID, history->rsc->id);
history          3528 lib/pengine/unpack.c     pcmk__xml_copy(scheduler->priv->failed, history->xml);
history          3598 lib/pengine/unpack.c unpack_failure_handling(struct action_history *history,
history          3602 lib/pengine/unpack.c     xmlNode *config = pcmk__find_action_config(history->rsc, history->task,
history          3603 lib/pengine/unpack.c                                                history->interval_ms, true);
history          3605 lib/pengine/unpack.c     GHashTable *meta = pcmk__unpack_action_meta(history->rsc, history->node,
history          3606 lib/pengine/unpack.c                                                 history->task,
history          3607 lib/pengine/unpack.c                                                 history->interval_ms, config);
history          3611 lib/pengine/unpack.c     *on_fail = pcmk__parse_on_fail(history->rsc, history->task,
history          3612 lib/pengine/unpack.c                                    history->interval_ms, on_fail_str);
history          3613 lib/pengine/unpack.c     *fail_role = pcmk__role_after_failure(history->rsc, history->task, *on_fail,
history          3629 lib/pengine/unpack.c unpack_rsc_op_failure(struct action_history *history,
history          3636 lib/pengine/unpack.c     pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
history          3638 lib/pengine/unpack.c     *last_failure = history->xml;
history          3640 lib/pengine/unpack.c     is_probe = pcmk_xe_is_probe(history->xml);
history          3641 lib/pengine/unpack.c     last_change_s = last_change_str(history->xml);
history          3644 lib/pengine/unpack.c         && (history->exit_status == PCMK_OCF_NOT_INSTALLED)) {
history          3647 lib/pengine/unpack.c                   crm_exit_str(history->exit_status),
history          3648 lib/pengine/unpack.c                   (pcmk__str_empty(history->exit_reason)? "" : ": "),
history          3649 lib/pengine/unpack.c                   pcmk__s(history->exit_reason, ""),
history          3650 lib/pengine/unpack.c                   (is_probe? "probe" : history->task), history->rsc->id,
history          3651 lib/pengine/unpack.c                   pcmk__node_name(history->node), last_change_s,
history          3652 lib/pengine/unpack.c                   history->exit_status, history->id);
history          3657 lib/pengine/unpack.c                          crm_exit_str(history->exit_status),
history          3658 lib/pengine/unpack.c                          (pcmk__str_empty(history->exit_reason)? "" : ": "),
history          3659 lib/pengine/unpack.c                          pcmk__s(history->exit_reason, ""),
history          3660 lib/pengine/unpack.c                          (is_probe? "probe" : history->task), history->rsc->id,
history          3661 lib/pengine/unpack.c                          pcmk__node_name(history->node), last_change_s,
history          3662 lib/pengine/unpack.c                          history->exit_status, history->id);
history          3664 lib/pengine/unpack.c         if (is_probe && (history->exit_status != PCMK_OCF_OK)
history          3665 lib/pengine/unpack.c             && (history->exit_status != PCMK_OCF_NOT_RUNNING)
history          3666 lib/pengine/unpack.c             && (history->exit_status != PCMK_OCF_RUNNING_PROMOTED)) {
history          3674 lib/pengine/unpack.c                        history->rsc->id, pcmk__node_name(history->node));
history          3677 lib/pengine/unpack.c         record_failed_op(history);
history          3683 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc, "on-fail %s -> %s for %s",
history          3685 lib/pengine/unpack.c                         pcmk__on_fail_text(config_on_fail), history->key);
history          3689 lib/pengine/unpack.c     if (strcmp(history->task, PCMK_ACTION_STOP) == 0) {
history          3690 lib/pengine/unpack.c         resource_location(history->rsc, history->node, -PCMK_SCORE_INFINITY,
history          3693 lib/pengine/unpack.c     } else if (strcmp(history->task, PCMK_ACTION_MIGRATE_TO) == 0) {
history          3694 lib/pengine/unpack.c         unpack_migrate_to_failure(history);
history          3696 lib/pengine/unpack.c     } else if (strcmp(history->task, PCMK_ACTION_MIGRATE_FROM) == 0) {
history          3697 lib/pengine/unpack.c         unpack_migrate_from_failure(history);
history          3699 lib/pengine/unpack.c     } else if (strcmp(history->task, PCMK_ACTION_PROMOTE) == 0) {
history          3700 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_promoted;
history          3702 lib/pengine/unpack.c     } else if (strcmp(history->task, PCMK_ACTION_DEMOTE) == 0) {
history          3704 lib/pengine/unpack.c             history->rsc->priv->orig_role = pcmk_role_promoted;
history          3705 lib/pengine/unpack.c             pe__set_next_role(history->rsc, pcmk_role_stopped,
history          3708 lib/pengine/unpack.c         } else if (history->exit_status == PCMK_OCF_NOT_RUNNING) {
history          3709 lib/pengine/unpack.c             history->rsc->priv->orig_role = pcmk_role_stopped;
history          3717 lib/pengine/unpack.c             history->rsc->priv->orig_role = pcmk_role_unpromoted;
history          3721 lib/pengine/unpack.c     if (is_probe && (history->exit_status == PCMK_OCF_NOT_INSTALLED)) {
history          3723 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc, "Leaving %s stopped", history->rsc->id);
history          3724 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_stopped;
history          3726 lib/pengine/unpack.c     } else if (history->rsc->priv->orig_role < pcmk_role_started) {
history          3727 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc, "Setting %s active", history->rsc->id);
history          3728 lib/pengine/unpack.c         set_active(history->rsc);
history          3731 lib/pengine/unpack.c     pcmk__rsc_trace(history->rsc,
history          3733 lib/pengine/unpack.c                     history->rsc->id,
history          3734 lib/pengine/unpack.c                     pcmk_role_text(history->rsc->priv->orig_role),
history          3735 lib/pengine/unpack.c                     pcmk__btoa(history->node->details->unclean),
history          3740 lib/pengine/unpack.c         && (history->rsc->priv->next_role < fail_role)) {
history          3741 lib/pengine/unpack.c         pe__set_next_role(history->rsc, fail_role, "failure");
history          3745 lib/pengine/unpack.c         ban_from_all_nodes(history->rsc);
history          3759 lib/pengine/unpack.c block_if_unrecoverable(struct action_history *history)
history          3763 lib/pengine/unpack.c     if (strcmp(history->task, PCMK_ACTION_STOP) != 0) {
history          3766 lib/pengine/unpack.c     if (pe_can_fence(history->node->priv->scheduler, history->node)) {
history          3770 lib/pengine/unpack.c     last_change_s = last_change_str(history->xml);
history          3771 lib/pengine/unpack.c     pcmk__sched_err(history->node->priv->scheduler,
history          3775 lib/pengine/unpack.c                     history->rsc->id, history->task,
history          3776 lib/pengine/unpack.c                     pcmk__node_name(history->node),
history          3777 lib/pengine/unpack.c                     crm_exit_str(history->exit_status),
history          3778 lib/pengine/unpack.c                     (pcmk__str_empty(history->exit_reason)? "" : ": "),
history          3779 lib/pengine/unpack.c                     pcmk__s(history->exit_reason, ""),
history          3780 lib/pengine/unpack.c                     last_change_s, history->exit_status, history->id);
history          3784 lib/pengine/unpack.c     pcmk__clear_rsc_flags(history->rsc, pcmk__rsc_managed);
history          3785 lib/pengine/unpack.c     pcmk__set_rsc_flags(history->rsc, pcmk__rsc_blocked);
history          3798 lib/pengine/unpack.c remap_because(struct action_history *history, const char **why, int value,
history          3801 lib/pengine/unpack.c     if (history->execution_status != value) {
history          3802 lib/pengine/unpack.c         history->execution_status = value;
history          3830 lib/pengine/unpack.c remap_operation(struct action_history *history,
history          3839 lib/pengine/unpack.c     int orig_exit_status = history->exit_status;
history          3840 lib/pengine/unpack.c     int orig_exec_status = history->execution_status;
history          3842 lib/pengine/unpack.c     const char *task = history->task;
history          3845 lib/pengine/unpack.c     history->exit_status = pcmk__effective_rc(history->exit_status);
history          3846 lib/pengine/unpack.c     if (history->exit_status != orig_exit_status) {
history          3848 lib/pengine/unpack.c         if (!expired && (!history->node->details->shutdown
history          3849 lib/pengine/unpack.c                          || history->node->details->online)) {
history          3850 lib/pengine/unpack.c             record_failed_op(history);
history          3854 lib/pengine/unpack.c     if (!pcmk__is_bundled(history->rsc)
history          3855 lib/pengine/unpack.c         && pcmk_xe_mask_probe_failure(history->xml)
history          3856 lib/pengine/unpack.c         && ((history->execution_status != PCMK_EXEC_DONE)
history          3857 lib/pengine/unpack.c             || (history->exit_status != PCMK_OCF_NOT_RUNNING))) {
history          3858 lib/pengine/unpack.c         history->execution_status = PCMK_EXEC_DONE;
history          3859 lib/pengine/unpack.c         history->exit_status = PCMK_OCF_NOT_RUNNING;
history          3868 lib/pengine/unpack.c     switch (history->execution_status) {
history          3876 lib/pengine/unpack.c             remap_because(history, &why, PCMK_EXEC_ERROR_HARD,
history          3884 lib/pengine/unpack.c     is_probe = pcmk_xe_is_probe(history->xml);
history          3889 lib/pengine/unpack.c     if (history->expected_exit_status < 0) {
history          3898 lib/pengine/unpack.c         remap_because(history, &why, PCMK_EXEC_ERROR,
history          3902 lib/pengine/unpack.c                           history->key, pcmk__node_name(history->node));
history          3904 lib/pengine/unpack.c     } else if (history->exit_status == history->expected_exit_status) {
history          3905 lib/pengine/unpack.c         remap_because(history, &why, PCMK_EXEC_DONE, "expected result");
history          3908 lib/pengine/unpack.c         remap_because(history, &why, PCMK_EXEC_ERROR, "unexpected result");
history          3909 lib/pengine/unpack.c         pcmk__rsc_debug(history->rsc,
history          3911 lib/pengine/unpack.c                         history->key, pcmk__node_name(history->node),
history          3912 lib/pengine/unpack.c                         history->expected_exit_status,
history          3913 lib/pengine/unpack.c                         crm_exit_str(history->expected_exit_status),
history          3914 lib/pengine/unpack.c                         history->exit_status,
history          3915 lib/pengine/unpack.c                         crm_exit_str(history->exit_status),
history          3916 lib/pengine/unpack.c                         (pcmk__str_empty(history->exit_reason)? "" : ": "),
history          3917 lib/pengine/unpack.c                         pcmk__s(history->exit_reason, ""));
history          3920 lib/pengine/unpack.c     switch (history->exit_status) {
history          3923 lib/pengine/unpack.c                 && (history->expected_exit_status == PCMK_OCF_NOT_RUNNING)) {
history          3924 lib/pengine/unpack.c                 char *last_change_s = last_change_str(history->xml);
history          3926 lib/pengine/unpack.c                 remap_because(history, &why, PCMK_EXEC_DONE, "probe");
history          3927 lib/pengine/unpack.c                 pcmk__rsc_info(history->rsc,
history          3929 lib/pengine/unpack.c                                history->rsc->id, pcmk__node_name(history->node),
history          3937 lib/pengine/unpack.c                 || (history->expected_exit_status == history->exit_status)
history          3938 lib/pengine/unpack.c                 || !pcmk_is_set(history->rsc->flags, pcmk__rsc_managed)) {
history          3944 lib/pengine/unpack.c                 remap_because(history, &why, PCMK_EXEC_DONE, "exit status");
history          3945 lib/pengine/unpack.c                 history->rsc->priv->orig_role = pcmk_role_stopped;
history          3947 lib/pengine/unpack.c                 pe__set_next_role(history->rsc, pcmk_role_unknown,
history          3954 lib/pengine/unpack.c                 && (history->exit_status != history->expected_exit_status)) {
history          3955 lib/pengine/unpack.c                 char *last_change_s = last_change_str(history->xml);
history          3957 lib/pengine/unpack.c                 remap_because(history, &why, PCMK_EXEC_DONE, "probe");
history          3958 lib/pengine/unpack.c                 pcmk__rsc_info(history->rsc,
history          3960 lib/pengine/unpack.c                                 history->rsc->id,
history          3961 lib/pengine/unpack.c                                 pcmk__node_name(history->node), last_change_s);
history          3965 lib/pengine/unpack.c                 || (history->exit_status == history->expected_exit_status)) {
history          3966 lib/pengine/unpack.c                 history->rsc->priv->orig_role = pcmk_role_promoted;
history          3972 lib/pengine/unpack.c                 history->rsc->priv->orig_role = pcmk_role_promoted;
history          3974 lib/pengine/unpack.c             remap_because(history, &why, PCMK_EXEC_ERROR, "exit status");
history          3978 lib/pengine/unpack.c             remap_because(history, &why, PCMK_EXEC_ERROR_FATAL, "exit status");
history          3984 lib/pengine/unpack.c                 crm_element_value_ms(history->xml, PCMK_META_INTERVAL,
history          3989 lib/pengine/unpack.c                         block_if_unrecoverable(history);
history          3991 lib/pengine/unpack.c                     remap_because(history, &why, PCMK_EXEC_ERROR_HARD,
history          3994 lib/pengine/unpack.c                     remap_because(history, &why, PCMK_EXEC_NOT_SUPPORTED,
history          4004 lib/pengine/unpack.c                 block_if_unrecoverable(history);
history          4006 lib/pengine/unpack.c             remap_because(history, &why, PCMK_EXEC_ERROR_HARD, "exit status");
history          4010 lib/pengine/unpack.c             if (history->execution_status == PCMK_EXEC_DONE) {
history          4011 lib/pengine/unpack.c                 char *last_change_s = last_change_str(history->xml);
history          4015 lib/pengine/unpack.c                          history->exit_status, task, history->rsc->id,
history          4016 lib/pengine/unpack.c                          pcmk__node_name(history->node), last_change_s);
history          4017 lib/pengine/unpack.c                 remap_because(history, &why, PCMK_EXEC_ERROR,
history          4026 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc,
history          4029 lib/pengine/unpack.c                         history->key, pcmk_exec_status_str(orig_exec_status),
history          4031 lib/pengine/unpack.c                         pcmk_exec_status_str(history->execution_status),
history          4032 lib/pengine/unpack.c                         crm_exit_str(history->exit_status), why);
history          4150 lib/pengine/unpack.c check_operation_expiry(struct action_history *history)
history          4153 lib/pengine/unpack.c     bool is_last_failure = pcmk__ends_with(history->id, "_last_failure_0");
history          4158 lib/pengine/unpack.c         pcmk__timeout_ms2s(history->rsc->priv->failure_expiration_ms);
history          4159 lib/pengine/unpack.c     pcmk_scheduler_t *scheduler = history->rsc->priv->scheduler;
history          4161 lib/pengine/unpack.c     if (history->execution_status == PCMK_EXEC_NOT_INSTALLED) {
history          4162 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc,
history          4165 lib/pengine/unpack.c                         history->id, pcmk__node_name(history->node));
history          4170 lib/pengine/unpack.c         && (crm_element_value_epoch(history->xml, PCMK_XA_LAST_RC_CHANGE,
history          4182 lib/pengine/unpack.c             && !should_ignore_failure_timeout(history->rsc, history->task,
history          4183 lib/pengine/unpack.c                                               history->interval_ms,
history          4189 lib/pengine/unpack.c         unexpired_fail_count = pe_get_failcount(history->node, history->rsc,
history          4192 lib/pengine/unpack.c                                                 history->xml);
history          4197 lib/pengine/unpack.c                   history->id, (long long) last_run, (expired? "" : "not "),
history          4209 lib/pengine/unpack.c         if (pe_get_failcount(history->node, history->rsc, NULL,
history          4210 lib/pengine/unpack.c                              pcmk__fc_default, history->xml)) {
history          4224 lib/pengine/unpack.c                 pcmk__rsc_trace(history->rsc,
history          4227 lib/pengine/unpack.c                                 history->id, pcmk__node_name(history->node));
history          4232 lib/pengine/unpack.c                    && (history->rsc->priv->remote_reconnect_ms > 0U)) {
history          4241 lib/pengine/unpack.c         && should_clear_for_param_change(history->xml, history->task,
history          4242 lib/pengine/unpack.c                                          history->rsc, history->node)) {
history          4250 lib/pengine/unpack.c         clear_op = pe__clear_failcount(history->rsc, history->node,
history          4254 lib/pengine/unpack.c             && (history->rsc->priv->remote_reconnect_ms > 0)) {
history          4265 lib/pengine/unpack.c                      history->task, history->rsc->id);
history          4266 lib/pengine/unpack.c             order_after_remote_fencing(clear_op, history->rsc, scheduler);
history          4270 lib/pengine/unpack.c     if (expired && (history->interval_ms == 0)
history          4271 lib/pengine/unpack.c         && pcmk__str_eq(history->task, PCMK_ACTION_MONITOR, pcmk__str_none)) {
history          4272 lib/pengine/unpack.c         switch (history->exit_status) {
history          4279 lib/pengine/unpack.c                 pcmk__rsc_trace(history->rsc,
history          4282 lib/pengine/unpack.c                              history->id, pcmk__node_name(history->node));
history          4314 lib/pengine/unpack.c update_resource_state(struct action_history *history, int exit_status,
history          4321 lib/pengine/unpack.c         || (!pcmk__is_bundled(history->rsc)
history          4322 lib/pengine/unpack.c             && pcmk_xe_mask_probe_failure(history->xml))) {
history          4323 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_stopped;
history          4328 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_MONITOR,
history          4331 lib/pengine/unpack.c             && pcmk__str_eq(history->key, pcmk__xe_history_key(last_failure),
history          4335 lib/pengine/unpack.c         if (history->rsc->priv->orig_role < pcmk_role_started) {
history          4336 lib/pengine/unpack.c             set_active(history->rsc);
history          4339 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_START, pcmk__str_none)) {
history          4340 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_started;
history          4343 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_STOP, pcmk__str_none)) {
history          4344 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_stopped;
history          4347 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_PROMOTE,
history          4349 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_promoted;
history          4352 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_DEMOTE,
history          4360 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_unpromoted;
history          4362 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_MIGRATE_FROM,
history          4364 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_started;
history          4367 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_MIGRATE_TO,
history          4369 lib/pengine/unpack.c         unpack_migrate_to_success(history);
history          4371 lib/pengine/unpack.c     } else if (history->rsc->priv->orig_role < pcmk_role_started) {
history          4372 lib/pengine/unpack.c         pcmk__rsc_trace(history->rsc, "%s active on %s",
history          4373 lib/pengine/unpack.c                         history->rsc->id, pcmk__node_name(history->node));
history          4374 lib/pengine/unpack.c         set_active(history->rsc);
history          4386 lib/pengine/unpack.c             pcmk__rsc_trace(history->rsc,
history          4388 lib/pengine/unpack.c                             history->rsc->id, pcmk__on_fail_text(*on_fail),
history          4389 lib/pengine/unpack.c                             history->task);
history          4398 lib/pengine/unpack.c             pe__set_next_role(history->rsc, pcmk_role_unknown,
history          4403 lib/pengine/unpack.c             if (history->rsc->priv->remote_reconnect_ms == 0U) {
history          4411 lib/pengine/unpack.c                 pe__set_next_role(history->rsc, pcmk_role_unknown,
history          4427 lib/pengine/unpack.c can_affect_state(struct action_history *history)
history          4429 lib/pengine/unpack.c      return pcmk__str_any_of(history->task, PCMK_ACTION_MONITOR,
history          4445 lib/pengine/unpack.c unpack_action_result(struct action_history *history)
history          4447 lib/pengine/unpack.c     if ((crm_element_value_int(history->xml, PCMK__XA_OP_STATUS,
history          4448 lib/pengine/unpack.c                                &(history->execution_status)) < 0)
history          4449 lib/pengine/unpack.c         || (history->execution_status < PCMK_EXEC_PENDING)
history          4450 lib/pengine/unpack.c         || (history->execution_status > PCMK_EXEC_MAX)
history          4451 lib/pengine/unpack.c         || (history->execution_status == PCMK_EXEC_CANCELLED)) {
history          4454 lib/pengine/unpack.c                          history->id, history->rsc->id,
history          4455 lib/pengine/unpack.c                          pcmk__node_name(history->node),
history          4456 lib/pengine/unpack.c                          pcmk__s(crm_element_value(history->xml,
history          4461 lib/pengine/unpack.c     if ((crm_element_value_int(history->xml, PCMK__XA_RC_CODE,
history          4462 lib/pengine/unpack.c                                &(history->exit_status)) < 0)
history          4463 lib/pengine/unpack.c         || (history->exit_status < 0) || (history->exit_status > CRM_EX_MAX)) {
history          4466 lib/pengine/unpack.c                          history->id, history->rsc->id,
history          4467 lib/pengine/unpack.c                          pcmk__node_name(history->node),
history          4468 lib/pengine/unpack.c                          pcmk__s(crm_element_value(history->xml,
history          4473 lib/pengine/unpack.c     history->exit_reason = crm_element_value(history->xml, PCMK_XA_EXIT_REASON);
history          4488 lib/pengine/unpack.c process_expired_result(struct action_history *history, int orig_exit_status)
history          4490 lib/pengine/unpack.c     if (!pcmk__is_bundled(history->rsc)
history          4491 lib/pengine/unpack.c         && pcmk_xe_mask_probe_failure(history->xml)
history          4492 lib/pengine/unpack.c         && (orig_exit_status != history->expected_exit_status)) {
history          4494 lib/pengine/unpack.c         if (history->rsc->priv->orig_role <= pcmk_role_stopped) {
history          4495 lib/pengine/unpack.c             history->rsc->priv->orig_role = pcmk_role_unknown;
history          4499 lib/pengine/unpack.c                   history->id, history->rsc->id,
history          4500 lib/pengine/unpack.c                   pcmk__node_name(history->node));
history          4504 lib/pengine/unpack.c     if (history->exit_status == history->expected_exit_status) {
history          4508 lib/pengine/unpack.c     if (history->interval_ms == 0) {
history          4511 lib/pengine/unpack.c                    history->id, history->task, history->rsc->id,
history          4512 lib/pengine/unpack.c                    pcmk__node_name(history->node));
history          4516 lib/pengine/unpack.c     if (history->node->details->online && !history->node->details->unclean) {
history          4529 lib/pengine/unpack.c                    pcmk__readable_interval(history->interval_ms), history->task,
history          4530 lib/pengine/unpack.c                    history->rsc->id, pcmk__node_name(history->node));
history          4531 lib/pengine/unpack.c         crm_xml_add(history->xml, PCMK__XA_OP_RESTART_DIGEST,
history          4549 lib/pengine/unpack.c mask_probe_failure(struct action_history *history, int orig_exit_status,
history          4553 lib/pengine/unpack.c     pcmk_resource_t *ban_rsc = history->rsc;
history          4555 lib/pengine/unpack.c     if (!pcmk_is_set(history->rsc->flags, pcmk__rsc_unique)) {
history          4556 lib/pengine/unpack.c         ban_rsc = uber_parent(history->rsc);
history          4560 lib/pengine/unpack.c                crm_exit_str(orig_exit_status), history->rsc->id,
history          4561 lib/pengine/unpack.c                pcmk__node_name(history->node));
history          4562 lib/pengine/unpack.c     update_resource_state(history, history->expected_exit_status, last_failure,
history          4564 lib/pengine/unpack.c     crm_xml_add(history->xml, PCMK_XA_UNAME, history->node->priv->name);
history          4566 lib/pengine/unpack.c     record_failed_op(history);
history          4567 lib/pengine/unpack.c     resource_location(ban_rsc, history->node, -PCMK_SCORE_INFINITY,
history          4584 lib/pengine/unpack.c failure_is_newer(const struct action_history *history,
history          4595 lib/pengine/unpack.c     if (!pcmk__str_eq(history->task,
history          4603 lib/pengine/unpack.c         || (history->interval_ms != failure_interval_ms)) {
history          4607 lib/pengine/unpack.c     if ((pcmk__scan_ll(crm_element_value(history->xml, PCMK_XA_LAST_RC_CHANGE),
history          4627 lib/pengine/unpack.c process_pending_action(struct action_history *history,
history          4639 lib/pengine/unpack.c     if (failure_is_newer(history, last_failure)) {
history          4643 lib/pengine/unpack.c     if (strcmp(history->task, PCMK_ACTION_START) == 0) {
history          4644 lib/pengine/unpack.c         pcmk__set_rsc_flags(history->rsc, pcmk__rsc_start_pending);
history          4645 lib/pengine/unpack.c         set_active(history->rsc);
history          4647 lib/pengine/unpack.c     } else if (strcmp(history->task, PCMK_ACTION_PROMOTE) == 0) {
history          4648 lib/pengine/unpack.c         history->rsc->priv->orig_role = pcmk_role_promoted;
history          4650 lib/pengine/unpack.c     } else if ((strcmp(history->task, PCMK_ACTION_MIGRATE_TO) == 0)
history          4651 lib/pengine/unpack.c                && history->node->details->unclean) {
history          4658 lib/pengine/unpack.c         migrate_target = crm_element_value(history->xml,
history          4660 lib/pengine/unpack.c         target = pcmk_find_node(history->rsc->priv->scheduler,
history          4663 lib/pengine/unpack.c             stop_action(history->rsc, target, FALSE);
history          4667 lib/pengine/unpack.c     if (history->rsc->priv->pending_action != NULL) {
history          4674 lib/pengine/unpack.c     if (pcmk_is_probe(history->task, history->interval_ms)) {
history          4681 lib/pengine/unpack.c         history->rsc->private->pending_action = strdup("probe");
history          4682 lib/pengine/unpack.c         history->rsc->private->pending_node = history->node;
history          4685 lib/pengine/unpack.c         history->rsc->priv->pending_action = strdup(history->task);
history          4686 lib/pengine/unpack.c         history->rsc->priv->pending_node = history->node;
history          4700 lib/pengine/unpack.c     struct action_history history = {
history          4709 lib/pengine/unpack.c     history.id = pcmk__xe_id(xml_op);
history          4710 lib/pengine/unpack.c     if (history.id == NULL) {
history          4717 lib/pengine/unpack.c     history.task = crm_element_value(xml_op, PCMK_XA_OPERATION);
history          4718 lib/pengine/unpack.c     if (history.task == NULL) {
history          4721 lib/pengine/unpack.c                          history.id, rsc->id, pcmk__node_name(node));
history          4724 lib/pengine/unpack.c     crm_element_value_ms(xml_op, PCMK_META_INTERVAL, &(history.interval_ms));
history          4725 lib/pengine/unpack.c     if (!can_affect_state(&history)) {
history          4729 lib/pengine/unpack.c                         history.id, rsc->id, pcmk__node_name(node),
history          4730 lib/pengine/unpack.c                         history.task);
history          4734 lib/pengine/unpack.c     if (unpack_action_result(&history) != pcmk_rc_ok) {
history          4738 lib/pengine/unpack.c     history.expected_exit_status = pe__target_rc_from_xml(xml_op);
history          4739 lib/pengine/unpack.c     history.key = pcmk__xe_history_key(xml_op);
history          4740 lib/pengine/unpack.c     crm_element_value_int(xml_op, PCMK__XA_CALL_ID, &(history.call_id));
history          4743 lib/pengine/unpack.c                     history.id, history.task, history.call_id,
history          4745 lib/pengine/unpack.c                     pcmk_exec_status_str(history.execution_status),
history          4746 lib/pengine/unpack.c                     crm_exit_str(history.exit_status));
history          4755 lib/pengine/unpack.c     expired = check_operation_expiry(&history);
history          4756 lib/pengine/unpack.c     old_rc = history.exit_status;
history          4758 lib/pengine/unpack.c     remap_operation(&history, on_fail, expired);
history          4760 lib/pengine/unpack.c     if (expired && (process_expired_result(&history, old_rc) == pcmk_rc_ok)) {
history          4765 lib/pengine/unpack.c         mask_probe_failure(&history, old_rc, *last_failure, on_fail);
history          4773 lib/pengine/unpack.c     switch (history.execution_status) {
history          4775 lib/pengine/unpack.c             process_pending_action(&history, *last_failure);
history          4779 lib/pengine/unpack.c             update_resource_state(&history, history.exit_status, *last_failure,
history          4784 lib/pengine/unpack.c             unpack_failure_handling(&history, &failure_strategy, &fail_role);
history          4789 lib/pengine/unpack.c                          history.task, rsc->id, pcmk__node_name(node),
history          4790 lib/pengine/unpack.c                          history.execution_status, history.exit_status,
history          4791 lib/pengine/unpack.c                          history.id);
history          4799 lib/pengine/unpack.c             unpack_rsc_op_failure(&history, failure_strategy, fail_role,
history          4830 lib/pengine/unpack.c     unpack_failure_handling(&history, &failure_strategy, &fail_role);
history          4833 lib/pengine/unpack.c             && (strcmp(history.task, PCMK_ACTION_STOP) == 0))) {
history          4839 lib/pengine/unpack.c                  history.task, crm_exit_str(history.exit_status),
history          4840 lib/pengine/unpack.c                  (pcmk__str_empty(history.exit_reason)? "" : ": "),
history          4841 lib/pengine/unpack.c                  pcmk__s(history.exit_reason, ""), rsc->id,
history          4842 lib/pengine/unpack.c                  pcmk__node_name(node), last_change_s, history.id);
history          4845 lib/pengine/unpack.c         update_resource_state(&history, history.expected_exit_status,
history          4850 lib/pengine/unpack.c         record_failed_op(&history);
history          4858 lib/pengine/unpack.c         unpack_rsc_op_failure(&history, failure_strategy, fail_role,
history          4861 lib/pengine/unpack.c         if (history.execution_status == PCMK_EXEC_ERROR_HARD) {
history          4864 lib/pengine/unpack.c             if (history.exit_status == PCMK_OCF_NOT_INSTALLED) {
history          4871 lib/pengine/unpack.c                        crm_exit_str(history.exit_status),
history          4872 lib/pengine/unpack.c                        (pcmk__str_empty(history.exit_reason)? "" : ": "),
history          4873 lib/pengine/unpack.c                        pcmk__s(history.exit_reason, ""), history.id);
history          4877 lib/pengine/unpack.c         } else if (history.execution_status == PCMK_EXEC_ERROR_FATAL) {
history          4881 lib/pengine/unpack.c                             parent->id, crm_exit_str(history.exit_status),
history          4882 lib/pengine/unpack.c                             (pcmk__str_empty(history.exit_reason)? "" : ": "),
history          4883 lib/pengine/unpack.c                             pcmk__s(history.exit_reason, ""), history.id);
history          4891 lib/pengine/unpack.c                     rsc->id, pcmk__node_name(node), history.id,
history            62 tools/stonith_admin.c     char *history;
history           130 tools/stonith_admin.c     { "history", 'H', 0, G_OPTION_ARG_STRING, &options.history,
history           517 tools/stonith_admin.c     if (options.history != NULL) {
history           519 tools/stonith_admin.c         target = options.history;