history            93 daemons/controld/controld_execd.c history_remove_recurring_op(rsc_history_t *history, const lrmd_event_data_t *op)
history            97 daemons/controld/controld_execd.c     for (iter = history->recurring_op_list; iter != NULL; iter = iter->next) {
history           104 daemons/controld/controld_execd.c             history->recurring_op_list = g_list_delete_link(history->recurring_op_list, iter);
history           119 daemons/controld/controld_execd.c history_free_recurring_ops(rsc_history_t *history)
history           123 daemons/controld/controld_execd.c     for (iter = history->recurring_op_list; iter != NULL; iter = iter->next) {
history           126 daemons/controld/controld_execd.c     g_list_free(history->recurring_op_list);
history           127 daemons/controld/controld_execd.c     history->recurring_op_list = NULL;
history           139 daemons/controld/controld_execd.c     rsc_history_t *history = (rsc_history_t*)data;
history           141 daemons/controld/controld_execd.c     if (history->stop_params) {
history           142 daemons/controld/controld_execd.c         g_hash_table_destroy(history->stop_params);
history           146 daemons/controld/controld_execd.c     free(history->rsc.type);
history           147 daemons/controld/controld_execd.c     free(history->rsc.standard);
history           148 daemons/controld/controld_execd.c     free(history->rsc.provider);
history           150 daemons/controld/controld_execd.c     lrmd_free_event(history->failed);
history           151 daemons/controld/controld_execd.c     lrmd_free_event(history->last);
history           152 daemons/controld/controld_execd.c     free(history->id);
history           153 daemons/controld/controld_execd.c     history_free_recurring_ops(history);
history           154 daemons/controld/controld_execd.c     free(history);
history           764 daemons/controld/controld_fencing.c         stonith_history_t *history = NULL;
history           767 daemons/controld/controld_fencing.c         stonith_api->cmds->history(stonith_api,
history           769 daemons/controld/controld_fencing.c                                    NULL, &history, 5);
history           770 daemons/controld/controld_fencing.c         stonith_history_free(history);
history            41 daemons/fenced/fenced_history.c stonith_send_broadcast_history(xmlNode *history,
history            55 daemons/fenced/fenced_history.c     if (history) {
history            56 daemons/fenced/fenced_history.c         add_node_copy(data, history);
history           222 daemons/fenced/fenced_history.c stonith_xml_history_to_list(const xmlNode *history)
history           231 daemons/fenced/fenced_history.c     for (xml_op = pcmk__xml_first_child(history); xml_op != NULL;
history           303 daemons/fenced/fenced_history.c     xmlNode *history = NULL;
history           312 daemons/fenced/fenced_history.c             history = create_xml_node(NULL, F_STONITH_HISTORY_LIST);
history           364 daemons/fenced/fenced_history.c                 entry = create_xml_node(history, STONITH_OP_EXEC);
history           425 daemons/fenced/fenced_history.c         free_xml(history);
history           428 daemons/fenced/fenced_history.c         return history;
history           505 daemons/fenced/fenced_history.c             xmlNode *history = get_xpath_object("//" F_STONITH_HISTORY_LIST,
history           517 daemons/fenced/fenced_history.c             if (!history || !pcmk__xe_attr_is_true(history, F_STONITH_DIFFERENTIAL)) {
history           520 daemons/fenced/fenced_history.c                 if (history != NULL) {
history           521 daemons/fenced/fenced_history.c                     received_history = stonith_xml_history_to_list(history);
history            97 include/crm/fencing/internal.h stonith_history_t *stonith__sort_history(stonith_history_t *history);
history           183 include/crm/fencing/internal.h stonith_history_t *stonith__first_matching_event(stonith_history_t *history,
history           186 include/crm/fencing/internal.h bool stonith__event_state_pending(stonith_history_t *history, void *user_data);
history           187 include/crm/fencing/internal.h bool stonith__event_state_eq(stonith_history_t *history, void *user_data);
history           188 include/crm/fencing/internal.h bool stonith__event_state_neq(stonith_history_t *history, void *user_data);
history           385 include/crm/stonith-ng.h     int (*history)(stonith_t *stonith, int call_options, const char *node,
history           386 include/crm/stonith-ng.h                    stonith_history_t **history, int timeout);
history           572 include/crm/stonith-ng.h void stonith_history_free(stonith_history_t *history);
history           701 lib/fencing/st_client.c                     stonith_history_t ** history, int timeout)
history           708 lib/fencing/st_client.c     *history = NULL;
history           748 lib/fencing/st_client.c                 *history = kvp;
history           759 lib/fencing/st_client.c void stonith_history_free(stonith_history_t *history)
history           763 lib/fencing/st_client.c     for (hp = history; hp; hp_old = hp, hp = hp->next, free(hp_old)) {
history          1871 lib/fencing/st_client.c     new_stonith->cmds->history    = stonith_api_history;
history          2018 lib/fencing/st_client.c     stonith_history_t *history = NULL, *hp = NULL;
history          2040 lib/fencing/st_client.c         rc = st->cmds->history(st, opts, name, &history, 120);
history          2043 lib/fencing/st_client.c         for (hp = history; hp; hp = hp->next) {
history          2059 lib/fencing/st_client.c         stonith_history_free(history);
history          2301 lib/fencing/st_client.c stonith__sort_history(stonith_history_t *history)
history          2305 lib/fencing/st_client.c     for (hp = history; hp; ) {
history          2368 lib/fencing/st_client.c stonith__first_matching_event(stonith_history_t *history,
history          2372 lib/fencing/st_client.c     for (stonith_history_t *hp = history; hp; hp = hp->next) {
history          2382 lib/fencing/st_client.c stonith__event_state_pending(stonith_history_t *history, void *user_data)
history          2384 lib/fencing/st_client.c     return history->state != st_failed && history->state != st_done;
history          2388 lib/fencing/st_client.c stonith__event_state_eq(stonith_history_t *history, void *user_data)
history          2390 lib/fencing/st_client.c     return history->state == GPOINTER_TO_INT(user_data);
history          2394 lib/fencing/st_client.c stonith__event_state_neq(stonith_history_t *history, void *user_data)
history          2396 lib/fencing/st_client.c     return history->state != GPOINTER_TO_INT(user_data);
history            63 lib/fencing/st_output.c state_str(const stonith_history_t *history)
history            65 lib/fencing/st_output.c     switch (history->state) {
history            90 lib/fencing/st_output.c stonith__history_description(const stonith_history_t *history,
history            97 lib/fencing/st_output.c     if ((history->state == st_failed) || (history->state == st_done)) {
history            98 lib/fencing/st_output.c         completed_time_s = timespec_string(history->completed,
history            99 lib/fencing/st_output.c                                            history->completed_nsec, true);
history           103 lib/fencing/st_output.c                    stonith_action_str(history->action), " of ", history->target,
history           108 lib/fencing/st_output.c         if (((history->state == st_failed) || (history->state == st_done))
history           109 lib/fencing/st_output.c             && (history->delegate != NULL)) {
history           111 lib/fencing/st_output.c             pcmk__g_strcat(str, " by ", history->delegate, NULL);
history           113 lib/fencing/st_output.c         pcmk__g_strcat(str, " for ", history->client, "@", history->origin,
history           120 lib/fencing/st_output.c     pcmk__add_word(&str, 0, state_str(history));
history           123 lib/fencing/st_output.c     if ((history->state == st_failed) && (history->exit_reason != NULL)) {
history           124 lib/fencing/st_output.c         pcmk__g_strcat(str, " (", history->exit_reason, ")", NULL);
history           132 lib/fencing/st_output.c         if (((history->state == st_failed) || (history->state == st_done))
history           133 lib/fencing/st_output.c             && (history->delegate != NULL)) {
history           135 lib/fencing/st_output.c             pcmk__g_strcat(str, "delegate=", history->delegate, ", ", NULL);
history           140 lib/fencing/st_output.c                        "client=", history->client, ", origin=", history->origin,
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            78 lib/pacemaker/pcmk_fence.c reduce_fence_history(stonith_history_t *history)
history            82 lib/pacemaker/pcmk_fence.c     if (!history) {
history            83 lib/pacemaker/pcmk_fence.c         return history;
history            86 lib/pacemaker/pcmk_fence.c     new = history;
history           238 lib/pacemaker/pcmk_fence.c     stonith_history_t *history = NULL, *hp, *latest = NULL;
history           260 lib/pacemaker/pcmk_fence.c     rc = st->cmds->history(st, opts, target, &history, (timeout / 1000));
history           264 lib/pacemaker/pcmk_fence.c         stonith_history_free(history);
history           270 lib/pacemaker/pcmk_fence.c     history = stonith__sort_history(history);
history           271 lib/pacemaker/pcmk_fence.c     for (hp = history; hp; hp = hp->next) {
history           281 lib/pacemaker/pcmk_fence.c                      stonith__later_succeeded(hp, history),
history           299 lib/pacemaker/pcmk_fence.c     stonith_history_free(history);
history           620 lib/pacemaker/pcmk_fence.c         rc = st->cmds->history(st, st_opt_sync_call, NULL, stonith_history,
history            34 lib/pacemaker/pcmk_resource.c     xmlNode *history = NULL;
history            43 lib/pacemaker/pcmk_resource.c     history = get_xpath_object(xpath, rsc->cluster->input, LOG_NEVER);
history            47 lib/pacemaker/pcmk_resource.c     for (xmlNode *lrm_rsc_op = first_named_child(history, XML_LRM_TAG_RSC_OP);
history          1912 lib/pacemaker/pcmk_sched_actions.c             xmlNode *history = NULL;
history          1915 lib/pacemaker/pcmk_sched_actions.c             history = get_xpath_object(xpath, scheduler->input, LOG_NEVER);
history          1918 lib/pacemaker/pcmk_sched_actions.c             process_node_history(node, history);
history          3140 lib/pengine/unpack.c unpack_migrate_to_success(struct action_history *history)
history          3184 lib/pengine/unpack.c     if (get_migration_node_names(history->xml, history->node, NULL, &source,
history          3190 lib/pengine/unpack.c     source_newer_op = non_monitor_after(history->rsc->id, source, history->xml,
history          3191 lib/pengine/unpack.c                                         true, history->rsc->cluster);
history          3194 lib/pengine/unpack.c     migrate_from = find_lrm_op(history->rsc->id, PCMK_ACTION_MIGRATE_FROM,
history          3195 lib/pengine/unpack.c                                target, source, -1, history->rsc->cluster);
history          3212 lib/pengine/unpack.c     target_newer_state = newer_state_after_migrate(history->rsc->id, target,
history          3213 lib/pengine/unpack.c                                                    history->xml, migrate_from,
history          3214 lib/pengine/unpack.c                                                    history->rsc->cluster);
history          3224 lib/pengine/unpack.c         add_dangling_migration(history->rsc, history->node);
history          3231 lib/pengine/unpack.c     history->rsc->role = pcmk_role_started;
history          3233 lib/pengine/unpack.c     target_node = pe_find_node(history->rsc->cluster->nodes, target);
history          3239 lib/pengine/unpack.c             native_add_running(history->rsc, target_node, history->rsc->cluster,
history          3243 lib/pengine/unpack.c             pe__set_resource_flags(history->rsc,
history          3245 lib/pengine/unpack.c             pe__clear_resource_flags(history->rsc, pcmk_rsc_migratable);
history          3257 lib/pengine/unpack.c         && unknown_on_node(history->rsc, target)) {
history          3262 lib/pengine/unpack.c         pcmk_node_t *source_node = pe_find_node(history->rsc->cluster->nodes,
history          3265 lib/pengine/unpack.c         native_add_running(history->rsc, target_node, history->rsc->cluster,
history          3274 lib/pengine/unpack.c             history->rsc->partial_migration_target = target_node;
history          3275 lib/pengine/unpack.c             history->rsc->partial_migration_source = source_node;
history          3280 lib/pengine/unpack.c         pe__set_resource_flags(history->rsc,
history          3282 lib/pengine/unpack.c         pe__clear_resource_flags(history->rsc, pcmk_rsc_migratable);
history          3293 lib/pengine/unpack.c unpack_migrate_to_failure(struct action_history *history)
history          3300 lib/pengine/unpack.c     if (get_migration_node_names(history->xml, history->node, NULL, &source,
history          3308 lib/pengine/unpack.c     history->rsc->role = pcmk_role_started;
history          3311 lib/pengine/unpack.c     target_migrate_from = find_lrm_op(history->rsc->id,
history          3313 lib/pengine/unpack.c                                       PCMK_OCF_OK, history->rsc->cluster);
history          3320 lib/pengine/unpack.c         !unknown_on_node(history->rsc, target)
history          3324 lib/pengine/unpack.c         && !newer_state_after_migrate(history->rsc->id, target, history->xml,
history          3326 lib/pengine/unpack.c                                       history->rsc->cluster)) {
history          3331 lib/pengine/unpack.c         pcmk_node_t *target_node = pe_find_node(history->rsc->cluster->nodes,
history          3335 lib/pengine/unpack.c             native_add_running(history->rsc, target_node, history->rsc->cluster,
history          3339 lib/pengine/unpack.c     } else if (!non_monitor_after(history->rsc->id, source, history->xml, true,
history          3340 lib/pengine/unpack.c                                   history->rsc->cluster)) {
history          3347 lib/pengine/unpack.c         history->rsc->dangling_migrations =
history          3348 lib/pengine/unpack.c             g_list_prepend(history->rsc->dangling_migrations,
history          3349 lib/pengine/unpack.c                            (gpointer) history->node);
history          3360 lib/pengine/unpack.c unpack_migrate_from_failure(struct action_history *history)
history          3367 lib/pengine/unpack.c     if (get_migration_node_names(history->xml, NULL, history->node, &source,
history          3375 lib/pengine/unpack.c     history->rsc->role = pcmk_role_started;
history          3378 lib/pengine/unpack.c     source_migrate_to = find_lrm_op(history->rsc->id, PCMK_ACTION_MIGRATE_TO,
history          3380 lib/pengine/unpack.c                                     history->rsc->cluster);
history          3387 lib/pengine/unpack.c         !unknown_on_node(history->rsc, source)
history          3391 lib/pengine/unpack.c         && !newer_state_after_migrate(history->rsc->id, source,
history          3392 lib/pengine/unpack.c                                       source_migrate_to, history->xml,
history          3393 lib/pengine/unpack.c                                       history->rsc->cluster)) {
history          3397 lib/pengine/unpack.c         pcmk_node_t *source_node = pe_find_node(history->rsc->cluster->nodes,
history          3401 lib/pengine/unpack.c             native_add_running(history->rsc, source_node, history->rsc->cluster,
history          3414 lib/pengine/unpack.c record_failed_op(struct action_history *history)
history          3416 lib/pengine/unpack.c     if (!(history->node->details->online)) {
history          3420 lib/pengine/unpack.c     for (const xmlNode *xIter = history->rsc->cluster->failed->children;
history          3426 lib/pengine/unpack.c         if (pcmk__str_eq(history->key, key, pcmk__str_none)
history          3427 lib/pengine/unpack.c             && pcmk__str_eq(uname, history->node->details->uname,
history          3430 lib/pengine/unpack.c                       history->key, pe__node_name(history->node));
history          3436 lib/pengine/unpack.c               history->key, pe__node_name(history->node));
history          3437 lib/pengine/unpack.c     crm_xml_add(history->xml, XML_ATTR_UNAME, history->node->details->uname);
history          3438 lib/pengine/unpack.c     crm_xml_add(history->xml, XML_LRM_ATTR_RSCID, history->rsc->id);
history          3439 lib/pengine/unpack.c     add_node_copy(history->rsc->cluster->failed, history->xml);
history          3600 lib/pengine/unpack.c unpack_failure_handling(struct action_history *history,
history          3604 lib/pengine/unpack.c     xmlNode *config = pcmk__find_action_config(history->rsc, history->task,
history          3605 lib/pengine/unpack.c                                                history->interval_ms, true);
history          3607 lib/pengine/unpack.c     GHashTable *meta = pcmk__unpack_action_meta(history->rsc, history->node,
history          3608 lib/pengine/unpack.c                                                 history->task,
history          3609 lib/pengine/unpack.c                                                 history->interval_ms, config);
history          3613 lib/pengine/unpack.c     *on_fail = pcmk__parse_on_fail(history->rsc, history->task,
history          3614 lib/pengine/unpack.c                                    history->interval_ms, on_fail_str);
history          3615 lib/pengine/unpack.c     *fail_role = pcmk__role_after_failure(history->rsc, history->task, *on_fail,
history          3631 lib/pengine/unpack.c unpack_rsc_op_failure(struct action_history *history,
history          3639 lib/pengine/unpack.c     *last_failure = history->xml;
history          3641 lib/pengine/unpack.c     is_probe = pcmk_xe_is_probe(history->xml);
history          3642 lib/pengine/unpack.c     last_change_s = last_change_str(history->xml);
history          3644 lib/pengine/unpack.c     if (!pcmk_is_set(history->rsc->cluster->flags, pcmk_sched_symmetric_cluster)
history          3645 lib/pengine/unpack.c         && (history->exit_status == PCMK_OCF_NOT_INSTALLED)) {
history          3648 lib/pengine/unpack.c                   services_ocf_exitcode_str(history->exit_status),
history          3649 lib/pengine/unpack.c                   (pcmk__str_empty(history->exit_reason)? "" : ": "),
history          3650 lib/pengine/unpack.c                   pcmk__s(history->exit_reason, ""),
history          3651 lib/pengine/unpack.c                   (is_probe? "probe" : history->task), history->rsc->id,
history          3652 lib/pengine/unpack.c                   pe__node_name(history->node), last_change_s,
history          3653 lib/pengine/unpack.c                   history->exit_status, history->id);
history          3657 lib/pengine/unpack.c                  services_ocf_exitcode_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                  pe__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          3673 lib/pengine/unpack.c                        history->rsc->id, pe__node_name(history->node));
history          3676 lib/pengine/unpack.c         record_failed_op(history);
history          3682 lib/pengine/unpack.c         pe_rsc_trace(history->rsc, "on-fail %s -> %s for %s",
history          3684 lib/pengine/unpack.c                      history->key);
history          3688 lib/pengine/unpack.c     if (strcmp(history->task, PCMK_ACTION_STOP) == 0) {
history          3689 lib/pengine/unpack.c         resource_location(history->rsc, history->node, -INFINITY,
history          3690 lib/pengine/unpack.c                           "__stop_fail__", history->rsc->cluster);
history          3692 lib/pengine/unpack.c     } else if (strcmp(history->task, PCMK_ACTION_MIGRATE_TO) == 0) {
history          3693 lib/pengine/unpack.c         unpack_migrate_to_failure(history);
history          3695 lib/pengine/unpack.c     } else if (strcmp(history->task, PCMK_ACTION_MIGRATE_FROM) == 0) {
history          3696 lib/pengine/unpack.c         unpack_migrate_from_failure(history);
history          3698 lib/pengine/unpack.c     } else if (strcmp(history->task, PCMK_ACTION_PROMOTE) == 0) {
history          3699 lib/pengine/unpack.c         history->rsc->role = pcmk_role_promoted;
history          3701 lib/pengine/unpack.c     } else if (strcmp(history->task, PCMK_ACTION_DEMOTE) == 0) {
history          3703 lib/pengine/unpack.c             history->rsc->role = pcmk_role_promoted;
history          3704 lib/pengine/unpack.c             pe__set_next_role(history->rsc, pcmk_role_stopped,
history          3707 lib/pengine/unpack.c         } else if (history->exit_status == PCMK_OCF_NOT_RUNNING) {
history          3708 lib/pengine/unpack.c             history->rsc->role = pcmk_role_stopped;
history          3716 lib/pengine/unpack.c             history->rsc->role = pcmk_role_unpromoted;
history          3720 lib/pengine/unpack.c     if (is_probe && (history->exit_status == PCMK_OCF_NOT_INSTALLED)) {
history          3722 lib/pengine/unpack.c         pe_rsc_trace(history->rsc, "Leaving %s stopped", history->rsc->id);
history          3723 lib/pengine/unpack.c         history->rsc->role = pcmk_role_stopped;
history          3725 lib/pengine/unpack.c     } else if (history->rsc->role < pcmk_role_started) {
history          3726 lib/pengine/unpack.c         pe_rsc_trace(history->rsc, "Setting %s active", history->rsc->id);
history          3727 lib/pengine/unpack.c         set_active(history->rsc);
history          3730 lib/pengine/unpack.c     pe_rsc_trace(history->rsc,
history          3732 lib/pengine/unpack.c                  history->rsc->id, role2text(history->rsc->role),
history          3733 lib/pengine/unpack.c                  pcmk__btoa(history->node->details->unclean),
history          3737 lib/pengine/unpack.c         && (history->rsc->next_role < fail_role)) {
history          3738 lib/pengine/unpack.c         pe__set_next_role(history->rsc, fail_role, "failure");
history          3742 lib/pengine/unpack.c         ban_from_all_nodes(history->rsc);
history          3756 lib/pengine/unpack.c block_if_unrecoverable(struct action_history *history)
history          3760 lib/pengine/unpack.c     if (strcmp(history->task, PCMK_ACTION_STOP) != 0) {
history          3763 lib/pengine/unpack.c     if (pe_can_fence(history->node->details->data_set, history->node)) {
history          3767 lib/pengine/unpack.c     last_change_s = last_change_str(history->xml);
history          3771 lib/pengine/unpack.c                 history->rsc->id, history->task, pe__node_name(history->node),
history          3772 lib/pengine/unpack.c                 services_ocf_exitcode_str(history->exit_status),
history          3773 lib/pengine/unpack.c                 (pcmk__str_empty(history->exit_reason)? "" : ": "),
history          3774 lib/pengine/unpack.c                 pcmk__s(history->exit_reason, ""),
history          3775 lib/pengine/unpack.c                 last_change_s, history->exit_status, history->id);
history          3779 lib/pengine/unpack.c     pe__clear_resource_flags(history->rsc, pcmk_rsc_managed);
history          3780 lib/pengine/unpack.c     pe__set_resource_flags(history->rsc, pcmk_rsc_blocked);
history          3793 lib/pengine/unpack.c remap_because(struct action_history *history, const char **why, int value,
history          3796 lib/pengine/unpack.c     if (history->execution_status != value) {
history          3797 lib/pengine/unpack.c         history->execution_status = value;
history          3825 lib/pengine/unpack.c remap_operation(struct action_history *history,
history          3829 lib/pengine/unpack.c     int orig_exit_status = history->exit_status;
history          3830 lib/pengine/unpack.c     int orig_exec_status = history->execution_status;
history          3832 lib/pengine/unpack.c     const char *task = history->task;
history          3835 lib/pengine/unpack.c     history->exit_status = pcmk__effective_rc(history->exit_status);
history          3836 lib/pengine/unpack.c     if (history->exit_status != orig_exit_status) {
history          3838 lib/pengine/unpack.c         if (!expired && (!history->node->details->shutdown
history          3839 lib/pengine/unpack.c                          || history->node->details->online)) {
history          3840 lib/pengine/unpack.c             record_failed_op(history);
history          3844 lib/pengine/unpack.c     if (!pe_rsc_is_bundled(history->rsc)
history          3845 lib/pengine/unpack.c         && pcmk_xe_mask_probe_failure(history->xml)
history          3846 lib/pengine/unpack.c         && ((history->execution_status != PCMK_EXEC_DONE)
history          3847 lib/pengine/unpack.c             || (history->exit_status != PCMK_OCF_NOT_RUNNING))) {
history          3848 lib/pengine/unpack.c         history->execution_status = PCMK_EXEC_DONE;
history          3849 lib/pengine/unpack.c         history->exit_status = PCMK_OCF_NOT_RUNNING;
history          3858 lib/pengine/unpack.c     switch (history->execution_status) {
history          3866 lib/pengine/unpack.c             remap_because(history, &why, PCMK_EXEC_ERROR_HARD,
history          3874 lib/pengine/unpack.c     is_probe = pcmk_xe_is_probe(history->xml);
history          3879 lib/pengine/unpack.c     if (history->expected_exit_status < 0) {
history          3888 lib/pengine/unpack.c         remap_because(history, &why, PCMK_EXEC_ERROR,
history          3892 lib/pengine/unpack.c                  history->key, pe__node_name(history->node));
history          3894 lib/pengine/unpack.c     } else if (history->exit_status == history->expected_exit_status) {
history          3895 lib/pengine/unpack.c         remap_because(history, &why, PCMK_EXEC_DONE, "expected result");
history          3898 lib/pengine/unpack.c         remap_because(history, &why, PCMK_EXEC_ERROR, "unexpected result");
history          3899 lib/pengine/unpack.c         pe_rsc_debug(history->rsc,
history          3901 lib/pengine/unpack.c                      history->key, pe__node_name(history->node),
history          3902 lib/pengine/unpack.c                      history->expected_exit_status,
history          3903 lib/pengine/unpack.c                      services_ocf_exitcode_str(history->expected_exit_status),
history          3904 lib/pengine/unpack.c                      history->exit_status,
history          3905 lib/pengine/unpack.c                      services_ocf_exitcode_str(history->exit_status),
history          3906 lib/pengine/unpack.c                      (pcmk__str_empty(history->exit_reason)? "" : ": "),
history          3907 lib/pengine/unpack.c                      pcmk__s(history->exit_reason, ""));
history          3910 lib/pengine/unpack.c     switch (history->exit_status) {
history          3913 lib/pengine/unpack.c                 && (history->expected_exit_status == PCMK_OCF_NOT_RUNNING)) {
history          3914 lib/pengine/unpack.c                 char *last_change_s = last_change_str(history->xml);
history          3916 lib/pengine/unpack.c                 remap_because(history, &why, PCMK_EXEC_DONE, "probe");
history          3917 lib/pengine/unpack.c                 pe_rsc_info(history->rsc, "Probe found %s active on %s at %s",
history          3918 lib/pengine/unpack.c                             history->rsc->id, pe__node_name(history->node),
history          3926 lib/pengine/unpack.c                 || (history->expected_exit_status == history->exit_status)
history          3927 lib/pengine/unpack.c                 || !pcmk_is_set(history->rsc->flags, pcmk_rsc_managed)) {
history          3933 lib/pengine/unpack.c                 remap_because(history, &why, PCMK_EXEC_DONE, "exit status");
history          3934 lib/pengine/unpack.c                 history->rsc->role = pcmk_role_stopped;
history          3936 lib/pengine/unpack.c                 pe__set_next_role(history->rsc, pcmk_role_unknown,
history          3943 lib/pengine/unpack.c                 && (history->exit_status != history->expected_exit_status)) {
history          3944 lib/pengine/unpack.c                 char *last_change_s = last_change_str(history->xml);
history          3946 lib/pengine/unpack.c                 remap_because(history, &why, PCMK_EXEC_DONE, "probe");
history          3947 lib/pengine/unpack.c                 pe_rsc_info(history->rsc,
history          3949 lib/pengine/unpack.c                             history->rsc->id, pe__node_name(history->node),
history          3954 lib/pengine/unpack.c                 || (history->exit_status == history->expected_exit_status)) {
history          3955 lib/pengine/unpack.c                 history->rsc->role = pcmk_role_promoted;
history          3961 lib/pengine/unpack.c                 history->rsc->role = pcmk_role_promoted;
history          3963 lib/pengine/unpack.c             remap_because(history, &why, PCMK_EXEC_ERROR, "exit status");
history          3967 lib/pengine/unpack.c             remap_because(history, &why, PCMK_EXEC_ERROR_FATAL, "exit status");
history          3973 lib/pengine/unpack.c                 crm_element_value_ms(history->xml, XML_LRM_ATTR_INTERVAL_MS,
history          3978 lib/pengine/unpack.c                         block_if_unrecoverable(history);
history          3980 lib/pengine/unpack.c                     remap_because(history, &why, PCMK_EXEC_ERROR_HARD,
history          3983 lib/pengine/unpack.c                     remap_because(history, &why, PCMK_EXEC_NOT_SUPPORTED,
history          3993 lib/pengine/unpack.c                 block_if_unrecoverable(history);
history          3995 lib/pengine/unpack.c             remap_because(history, &why, PCMK_EXEC_ERROR_HARD, "exit status");
history          3999 lib/pengine/unpack.c             if (history->execution_status == PCMK_EXEC_DONE) {
history          4000 lib/pengine/unpack.c                 char *last_change_s = last_change_str(history->xml);
history          4004 lib/pengine/unpack.c                          history->exit_status, task, history->rsc->id,
history          4005 lib/pengine/unpack.c                          pe__node_name(history->node), last_change_s);
history          4006 lib/pengine/unpack.c                 remap_because(history, &why, PCMK_EXEC_ERROR,
history          4015 lib/pengine/unpack.c         pe_rsc_trace(history->rsc,
history          4018 lib/pengine/unpack.c                      history->key, pcmk_exec_status_str(orig_exec_status),
history          4020 lib/pengine/unpack.c                      pcmk_exec_status_str(history->execution_status),
history          4021 lib/pengine/unpack.c                      crm_exit_str(history->exit_status), why);
history          4137 lib/pengine/unpack.c check_operation_expiry(struct action_history *history)
history          4140 lib/pengine/unpack.c     bool is_last_failure = pcmk__ends_with(history->id, "_last_failure_0");
history          4145 lib/pengine/unpack.c     if (history->execution_status == PCMK_EXEC_NOT_INSTALLED) {
history          4146 lib/pengine/unpack.c         pe_rsc_trace(history->rsc,
history          4149 lib/pengine/unpack.c                      history->id, pe__node_name(history->node));
history          4153 lib/pengine/unpack.c     if ((history->rsc->failure_timeout > 0)
history          4154 lib/pengine/unpack.c         && (crm_element_value_epoch(history->xml, XML_RSC_OP_LAST_CHANGE,
history          4159 lib/pengine/unpack.c         time_t now = get_effective_time(history->rsc->cluster);
history          4163 lib/pengine/unpack.c         if ((now >= (last_run + history->rsc->failure_timeout))
history          4164 lib/pengine/unpack.c             && !should_ignore_failure_timeout(history->rsc, history->task,
history          4165 lib/pengine/unpack.c                                               history->interval_ms,
history          4171 lib/pengine/unpack.c         unexpired_fail_count = pe_get_failcount(history->node, history->rsc,
history          4174 lib/pengine/unpack.c                                                 history->xml);
history          4179 lib/pengine/unpack.c                   history->id, (long long) last_run, (expired? "" : "not "),
history          4181 lib/pengine/unpack.c                   history->rsc->failure_timeout, (long long) last_failure);
history          4182 lib/pengine/unpack.c         last_failure += history->rsc->failure_timeout + 1;
history          4184 lib/pengine/unpack.c             pe__update_recheck_time(last_failure, history->rsc->cluster,
history          4190 lib/pengine/unpack.c         if (pe_get_failcount(history->node, history->rsc, NULL,
history          4191 lib/pengine/unpack.c                              pcmk__fc_default, history->xml)) {
history          4205 lib/pengine/unpack.c                 pe_rsc_trace(history->rsc,
history          4208 lib/pengine/unpack.c                              history->id, pe__node_name(history->node));
history          4213 lib/pengine/unpack.c                    && (history->rsc->remote_reconnect_ms != 0)) {
history          4222 lib/pengine/unpack.c         && should_clear_for_param_change(history->xml, history->task,
history          4223 lib/pengine/unpack.c                                          history->rsc, history->node)) {
history          4231 lib/pengine/unpack.c         clear_op = pe__clear_failcount(history->rsc, history->node,
history          4232 lib/pengine/unpack.c                                        clear_reason, history->rsc->cluster);
history          4234 lib/pengine/unpack.c         if (pcmk_is_set(history->rsc->cluster->flags,
history          4236 lib/pengine/unpack.c             && (history->rsc->remote_reconnect_ms != 0)) {
history          4247 lib/pengine/unpack.c                      history->task, history->rsc->id);
history          4248 lib/pengine/unpack.c             order_after_remote_fencing(clear_op, history->rsc,
history          4249 lib/pengine/unpack.c                                        history->rsc->cluster);
history          4253 lib/pengine/unpack.c     if (expired && (history->interval_ms == 0)
history          4254 lib/pengine/unpack.c         && pcmk__str_eq(history->task, PCMK_ACTION_MONITOR, pcmk__str_none)) {
history          4255 lib/pengine/unpack.c         switch (history->exit_status) {
history          4262 lib/pengine/unpack.c                 pe_rsc_trace(history->rsc,
history          4265 lib/pengine/unpack.c                              history->id, pe__node_name(history->node));
history          4297 lib/pengine/unpack.c update_resource_state(struct action_history *history, int exit_status,
history          4304 lib/pengine/unpack.c         || (!pe_rsc_is_bundled(history->rsc)
history          4305 lib/pengine/unpack.c             && pcmk_xe_mask_probe_failure(history->xml))) {
history          4306 lib/pengine/unpack.c         history->rsc->role = pcmk_role_stopped;
history          4311 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_MONITOR,
history          4314 lib/pengine/unpack.c             && pcmk__str_eq(history->key, pe__xe_history_key(last_failure),
history          4318 lib/pengine/unpack.c         if (history->rsc->role < pcmk_role_started) {
history          4319 lib/pengine/unpack.c             set_active(history->rsc);
history          4322 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_START, pcmk__str_none)) {
history          4323 lib/pengine/unpack.c         history->rsc->role = pcmk_role_started;
history          4326 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_STOP, pcmk__str_none)) {
history          4327 lib/pengine/unpack.c         history->rsc->role = pcmk_role_stopped;
history          4330 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_PROMOTE,
history          4332 lib/pengine/unpack.c         history->rsc->role = pcmk_role_promoted;
history          4335 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_DEMOTE,
history          4341 lib/pengine/unpack.c         history->rsc->role = pcmk_role_unpromoted;
history          4343 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_MIGRATE_FROM,
history          4345 lib/pengine/unpack.c         history->rsc->role = pcmk_role_started;
history          4348 lib/pengine/unpack.c     } else if (pcmk__str_eq(history->task, PCMK_ACTION_MIGRATE_TO,
history          4350 lib/pengine/unpack.c         unpack_migrate_to_success(history);
history          4352 lib/pengine/unpack.c     } else if (history->rsc->role < pcmk_role_started) {
history          4353 lib/pengine/unpack.c         pe_rsc_trace(history->rsc, "%s active on %s",
history          4354 lib/pengine/unpack.c                      history->rsc->id, pe__node_name(history->node));
history          4355 lib/pengine/unpack.c         set_active(history->rsc);
history          4367 lib/pengine/unpack.c             pe_rsc_trace(history->rsc,
history          4369 lib/pengine/unpack.c                          history->rsc->id, fail2text(*on_fail), history->task);
history          4378 lib/pengine/unpack.c             pe__set_next_role(history->rsc, pcmk_role_unknown,
history          4383 lib/pengine/unpack.c             if (history->rsc->remote_reconnect_ms == 0) {
history          4391 lib/pengine/unpack.c                 pe__set_next_role(history->rsc, pcmk_role_unknown,
history          4407 lib/pengine/unpack.c can_affect_state(struct action_history *history)
history          4416 lib/pengine/unpack.c      return pcmk__str_any_of(history->task, PCMK_ACTION_MONITOR,
history          4422 lib/pengine/unpack.c      return !pcmk__str_any_of(history->task, PCMK_ACTION_NOTIFY,
history          4436 lib/pengine/unpack.c unpack_action_result(struct action_history *history)
history          4438 lib/pengine/unpack.c     if ((crm_element_value_int(history->xml, XML_LRM_ATTR_OPSTATUS,
history          4439 lib/pengine/unpack.c                                &(history->execution_status)) < 0)
history          4440 lib/pengine/unpack.c         || (history->execution_status < PCMK_EXEC_PENDING)
history          4441 lib/pengine/unpack.c         || (history->execution_status > PCMK_EXEC_MAX)
history          4442 lib/pengine/unpack.c         || (history->execution_status == PCMK_EXEC_CANCELLED)) {
history          4445 lib/pengine/unpack.c                 history->id, history->rsc->id, pe__node_name(history->node),
history          4446 lib/pengine/unpack.c                 pcmk__s(crm_element_value(history->xml, XML_LRM_ATTR_OPSTATUS),
history          4450 lib/pengine/unpack.c     if ((crm_element_value_int(history->xml, XML_LRM_ATTR_RC,
history          4451 lib/pengine/unpack.c                                &(history->exit_status)) < 0)
history          4452 lib/pengine/unpack.c         || (history->exit_status < 0) || (history->exit_status > CRM_EX_MAX)) {
history          4460 lib/pengine/unpack.c                 history->id, history->rsc->id, pe__node_name(history->node),
history          4461 lib/pengine/unpack.c                 pcmk__s(crm_element_value(history->xml, XML_LRM_ATTR_RC),
history          4465 lib/pengine/unpack.c         history->exit_status = CRM_EX_ERROR;
history          4468 lib/pengine/unpack.c     history->exit_reason = crm_element_value(history->xml,
history          4484 lib/pengine/unpack.c process_expired_result(struct action_history *history, int orig_exit_status)
history          4486 lib/pengine/unpack.c     if (!pe_rsc_is_bundled(history->rsc)
history          4487 lib/pengine/unpack.c         && pcmk_xe_mask_probe_failure(history->xml)
history          4488 lib/pengine/unpack.c         && (orig_exit_status != history->expected_exit_status)) {
history          4490 lib/pengine/unpack.c         if (history->rsc->role <= pcmk_role_stopped) {
history          4491 lib/pengine/unpack.c             history->rsc->role = pcmk_role_unknown;
history          4495 lib/pengine/unpack.c                   history->id, history->rsc->id,
history          4496 lib/pengine/unpack.c                   pe__node_name(history->node));
history          4500 lib/pengine/unpack.c     if (history->exit_status == history->expected_exit_status) {
history          4504 lib/pengine/unpack.c     if (history->interval_ms == 0) {
history          4507 lib/pengine/unpack.c                    history->id, history->task, history->rsc->id,
history          4508 lib/pengine/unpack.c                    pe__node_name(history->node));
history          4512 lib/pengine/unpack.c     if (history->node->details->online && !history->node->details->unclean) {
history          4525 lib/pengine/unpack.c                    pcmk__readable_interval(history->interval_ms), history->task,
history          4526 lib/pengine/unpack.c                    history->rsc->id, pe__node_name(history->node));
history          4527 lib/pengine/unpack.c         crm_xml_add(history->xml, XML_LRM_ATTR_RESTART_DIGEST,
history          4545 lib/pengine/unpack.c mask_probe_failure(struct action_history *history, int orig_exit_status,
history          4549 lib/pengine/unpack.c     pcmk_resource_t *ban_rsc = history->rsc;
history          4551 lib/pengine/unpack.c     if (!pcmk_is_set(history->rsc->flags, pcmk_rsc_unique)) {
history          4552 lib/pengine/unpack.c         ban_rsc = uber_parent(history->rsc);
history          4556 lib/pengine/unpack.c                services_ocf_exitcode_str(orig_exit_status), history->rsc->id,
history          4557 lib/pengine/unpack.c                pe__node_name(history->node));
history          4558 lib/pengine/unpack.c     update_resource_state(history, history->expected_exit_status, last_failure,
history          4560 lib/pengine/unpack.c     crm_xml_add(history->xml, XML_ATTR_UNAME, history->node->details->uname);
history          4562 lib/pengine/unpack.c     record_failed_op(history);
history          4563 lib/pengine/unpack.c     resource_location(ban_rsc, history->node, -INFINITY, "masked-probe-failure",
history          4564 lib/pengine/unpack.c                       history->rsc->cluster);
history          4579 lib/pengine/unpack.c failure_is_newer(const struct action_history *history,
history          4590 lib/pengine/unpack.c     if (!pcmk__str_eq(history->task,
history          4598 lib/pengine/unpack.c         || (history->interval_ms != failure_interval_ms)) {
history          4602 lib/pengine/unpack.c     if ((pcmk__scan_ll(crm_element_value(history->xml, XML_RSC_OP_LAST_CHANGE),
history          4622 lib/pengine/unpack.c process_pending_action(struct action_history *history,
history          4634 lib/pengine/unpack.c     if (failure_is_newer(history, last_failure)) {
history          4638 lib/pengine/unpack.c     if (strcmp(history->task, PCMK_ACTION_START) == 0) {
history          4639 lib/pengine/unpack.c         pe__set_resource_flags(history->rsc, pcmk_rsc_start_pending);
history          4640 lib/pengine/unpack.c         set_active(history->rsc);
history          4642 lib/pengine/unpack.c     } else if (strcmp(history->task, PCMK_ACTION_PROMOTE) == 0) {
history          4643 lib/pengine/unpack.c         history->rsc->role = pcmk_role_promoted;
history          4645 lib/pengine/unpack.c     } else if ((strcmp(history->task, PCMK_ACTION_MIGRATE_TO) == 0)
history          4646 lib/pengine/unpack.c                && history->node->details->unclean) {
history          4653 lib/pengine/unpack.c         migrate_target = crm_element_value(history->xml,
history          4655 lib/pengine/unpack.c         target = pe_find_node(history->rsc->cluster->nodes, migrate_target);
history          4657 lib/pengine/unpack.c             stop_action(history->rsc, target, FALSE);
history          4661 lib/pengine/unpack.c     if (history->rsc->pending_task != NULL) {
history          4668 lib/pengine/unpack.c     if (pcmk_is_probe(history->task, history->interval_ms)) {
history          4675 lib/pengine/unpack.c         history->rsc->pending_task = strdup("probe");
history          4676 lib/pengine/unpack.c         history->rsc->pending_node = history->node;
history          4679 lib/pengine/unpack.c         history->rsc->pending_task = strdup(history->task);
history          4680 lib/pengine/unpack.c         history->rsc->pending_node = history->node;
history          4694 lib/pengine/unpack.c     struct action_history history = {
history          4703 lib/pengine/unpack.c     history.id = ID(xml_op);
history          4704 lib/pengine/unpack.c     if (history.id == NULL) {
history          4711 lib/pengine/unpack.c     history.task = crm_element_value(xml_op, XML_LRM_ATTR_TASK);
history          4712 lib/pengine/unpack.c     if (history.task == NULL) {
history          4714 lib/pengine/unpack.c                 XML_LRM_ATTR_TASK, history.id, rsc->id, pe__node_name(node));
history          4718 lib/pengine/unpack.c                          &(history.interval_ms));
history          4719 lib/pengine/unpack.c     if (!can_affect_state(&history)) {
history          4723 lib/pengine/unpack.c                      history.id, rsc->id, pe__node_name(node), history.task);
history          4727 lib/pengine/unpack.c     if (unpack_action_result(&history) != pcmk_rc_ok) {
history          4731 lib/pengine/unpack.c     history.expected_exit_status = pe__target_rc_from_xml(xml_op);
history          4732 lib/pengine/unpack.c     history.key = pe__xe_history_key(xml_op);
history          4733 lib/pengine/unpack.c     crm_element_value_int(xml_op, XML_LRM_ATTR_CALLID, &(history.call_id));
history          4736 lib/pengine/unpack.c                  history.id, history.task, history.call_id, pe__node_name(node),
history          4737 lib/pengine/unpack.c                  pcmk_exec_status_str(history.execution_status),
history          4738 lib/pengine/unpack.c                  crm_exit_str(history.exit_status));
history          4747 lib/pengine/unpack.c     expired = check_operation_expiry(&history);
history          4748 lib/pengine/unpack.c     old_rc = history.exit_status;
history          4750 lib/pengine/unpack.c     remap_operation(&history, on_fail, expired);
history          4752 lib/pengine/unpack.c     if (expired && (process_expired_result(&history, old_rc) == pcmk_rc_ok)) {
history          4757 lib/pengine/unpack.c         mask_probe_failure(&history, old_rc, *last_failure, on_fail);
history          4765 lib/pengine/unpack.c     switch (history.execution_status) {
history          4767 lib/pengine/unpack.c             process_pending_action(&history, *last_failure);
history          4771 lib/pengine/unpack.c             update_resource_state(&history, history.exit_status, *last_failure,
history          4776 lib/pengine/unpack.c             unpack_failure_handling(&history, &failure_strategy, &fail_role);
history          4781 lib/pengine/unpack.c                          history.task, rsc->id, pe__node_name(node),
history          4782 lib/pengine/unpack.c                          history.execution_status, history.exit_status,
history          4783 lib/pengine/unpack.c                          history.id);
history          4791 lib/pengine/unpack.c             unpack_rsc_op_failure(&history, failure_strategy, fail_role,
history          4822 lib/pengine/unpack.c     unpack_failure_handling(&history, &failure_strategy, &fail_role);
history          4825 lib/pengine/unpack.c             && (strcmp(history.task, PCMK_ACTION_STOP) == 0))) {
history          4831 lib/pengine/unpack.c                  history.task, services_ocf_exitcode_str(history.exit_status),
history          4832 lib/pengine/unpack.c                  (pcmk__str_empty(history.exit_reason)? "" : ": "),
history          4833 lib/pengine/unpack.c                  pcmk__s(history.exit_reason, ""), rsc->id, pe__node_name(node),
history          4834 lib/pengine/unpack.c                  last_change_s, history.id);
history          4837 lib/pengine/unpack.c         update_resource_state(&history, history.expected_exit_status,
history          4842 lib/pengine/unpack.c         record_failed_op(&history);
history          4850 lib/pengine/unpack.c         unpack_rsc_op_failure(&history, failure_strategy, fail_role,
history          4853 lib/pengine/unpack.c         if (history.execution_status == PCMK_EXEC_ERROR_HARD) {
history          4856 lib/pengine/unpack.c             if (history.exit_status == PCMK_OCF_NOT_INSTALLED) {
history          4863 lib/pengine/unpack.c                        services_ocf_exitcode_str(history.exit_status),
history          4864 lib/pengine/unpack.c                        (pcmk__str_empty(history.exit_reason)? "" : ": "),
history          4865 lib/pengine/unpack.c                        pcmk__s(history.exit_reason, ""), history.id);
history          4869 lib/pengine/unpack.c         } else if (history.execution_status == PCMK_EXEC_ERROR_FATAL) {
history          4872 lib/pengine/unpack.c                     parent->id, services_ocf_exitcode_str(history.exit_status),
history          4873 lib/pengine/unpack.c                     (pcmk__str_empty(history.exit_reason)? "" : ": "),
history          4874 lib/pengine/unpack.c                     pcmk__s(history.exit_reason, ""), history.id);
history          4882 lib/pengine/unpack.c                  rsc->id, pe__node_name(node), history.id,
history            61 tools/stonith_admin.c     char *history;
history           129 tools/stonith_admin.c     { "history", 'H', 0, G_OPTION_ARG_STRING, &options.history,
history           497 tools/stonith_admin.c     if (options.history != NULL) {
history           499 tools/stonith_admin.c         target = options.history;