graph 410 daemons/controld/controld_fencing.c fail_incompletable_stonith(pcmk__graph_t *graph) graph 416 daemons/controld/controld_fencing.c if (graph == NULL) { graph 420 daemons/controld/controld_fencing.c for (lpc = graph->synapses; lpc != NULL; lpc = lpc->next) { graph 440 daemons/controld/controld_fencing.c pcmk__update_graph(graph, action); graph 964 daemons/controld/controld_fencing.c controld_execute_fence_action(pcmk__graph_t *graph, graph 24 daemons/controld/controld_fencing.h int controld_execute_fence_action(pcmk__graph_t *graph, graph 125 daemons/controld/controld_schedulerd.c msg_ref = reply->data.graph.reference; graph 148 daemons/controld/controld_schedulerd.c reply->data.graph.input); graph 151 daemons/controld/controld_schedulerd.c pcmk__xml_copy(crm_data_node, reply->data.graph.tgraph); graph 27 daemons/controld/controld_te_actions.c te_start_action_timer(const pcmk__graph_t *graph, pcmk__graph_action_t *action) graph 29 daemons/controld/controld_te_actions.c action->timer = pcmk__create_timer(action->timeout + graph->network_delay, graph 44 daemons/controld/controld_te_actions.c execute_pseudo_action(pcmk__graph_t *graph, pcmk__graph_action_t *pseudo) graph 76 daemons/controld/controld_te_actions.c te_action_confirmed(pseudo, graph); graph 100 daemons/controld/controld_te_actions.c execute_cluster_action(pcmk__graph_t *graph, pcmk__graph_action_t *action) graph 155 daemons/controld/controld_te_actions.c graph->completion_action = pcmk__graph_shutdown; graph 156 daemons/controld/controld_te_actions.c graph->abort_reason = "local shutdown"; graph 157 daemons/controld/controld_te_actions.c te_action_confirmed(action, graph); graph 187 daemons/controld/controld_te_actions.c te_action_confirmed(action, graph); graph 192 daemons/controld/controld_te_actions.c action->id, task, on_node, action->timeout, graph->network_delay); graph 193 daemons/controld/controld_te_actions.c action->timeout = (int) graph->network_delay; graph 195 daemons/controld/controld_te_actions.c te_start_action_timer(graph, action); graph 348 daemons/controld/controld_te_actions.c execute_rsc_action(pcmk__graph_t *graph, pcmk__graph_action_t *action) graph 462 daemons/controld/controld_te_actions.c action->id, task, task_uuid, on_node, action->timeout, graph->network_delay); graph 463 daemons/controld/controld_te_actions.c action->timeout = (int) graph->network_delay; graph 466 daemons/controld/controld_te_actions.c te_start_action_timer(graph, action); graph 573 daemons/controld/controld_te_actions.c allowed_on_node(const pcmk__graph_t *graph, const pcmk__graph_action_t *action, graph 603 daemons/controld/controld_te_actions.c } else if(graph->migration_limit > 0 && r->migrate_jobs >= graph->migration_limit) { graph 607 daemons/controld/controld_te_actions.c target, graph->migration_limit, r->migrate_jobs, id); graph 627 daemons/controld/controld_te_actions.c graph_action_allowed(pcmk__graph_t *graph, pcmk__graph_action_t *action) graph 647 daemons/controld/controld_te_actions.c if (!allowed_on_node(graph, action, target)) { graph 657 daemons/controld/controld_te_actions.c return allowed_on_node(graph, action, target); graph 667 daemons/controld/controld_te_actions.c te_action_confirmed(pcmk__graph_action_t *action, pcmk__graph_t *graph) graph 676 daemons/controld/controld_te_actions.c if (graph) { graph 677 daemons/controld/controld_te_actions.c pcmk__update_graph(graph, action); graph 701 daemons/controld/controld_te_actions.c notify_crmd(pcmk__graph_t *graph) graph 709 daemons/controld/controld_te_actions.c CRM_CHECK(graph->complete, graph->complete = true); graph 711 daemons/controld/controld_te_actions.c switch (graph->completion_action) { graph 752 daemons/controld/controld_te_actions.c crm_debug("Transition %d status: %s - %s", graph->id, type, graph 753 daemons/controld/controld_te_actions.c pcmk__s(graph->abort_reason, "unspecified reason")); graph 755 daemons/controld/controld_te_actions.c graph->abort_reason = NULL; graph 756 daemons/controld/controld_te_actions.c graph->completion_action = pcmk__graph_done; graph 80 daemons/controld/controld_te_events.c fail_incompletable_actions(pcmk__graph_t *graph, const char *down_node) graph 90 daemons/controld/controld_te_events.c if (graph == NULL || graph->complete) { graph 94 daemons/controld/controld_te_events.c gIter = graph->synapses; graph 137 daemons/controld/controld_te_events.c pcmk__update_graph(graph, action); graph 314 daemons/controld/controld_te_utils.c update_abort_priority(pcmk__graph_t *graph, int priority, graph 319 daemons/controld/controld_te_utils.c if (graph == NULL) { graph 323 daemons/controld/controld_te_utils.c if (graph->abort_priority < priority) { graph 324 daemons/controld/controld_te_utils.c crm_debug("Abort priority upgraded from %d to %d", graph->abort_priority, priority); graph 325 daemons/controld/controld_te_utils.c graph->abort_priority = priority; graph 326 daemons/controld/controld_te_utils.c if (graph->abort_reason != NULL) { graph 327 daemons/controld/controld_te_utils.c crm_debug("'%s' abort superseded by %s", graph->abort_reason, abort_reason); graph 329 daemons/controld/controld_te_utils.c graph->abort_reason = abort_reason; graph 333 daemons/controld/controld_te_utils.c if (graph->completion_action < action) { graph 335 daemons/controld/controld_te_utils.c abort2text(graph->completion_action), abort2text(action), abort_reason); graph 336 daemons/controld/controld_te_utils.c graph->completion_action = action; graph 30 daemons/controld/controld_transition.h gboolean fail_incompletable_actions(pcmk__graph_t *graph, const char *down_node); graph 42 daemons/controld/controld_transition.h void notify_crmd(pcmk__graph_t * graph); graph 66 daemons/controld/controld_transition.h void te_action_confirmed(pcmk__graph_action_t *action, pcmk__graph_t *graph); graph 77 daemons/schedulerd/schedulerd_messages.c scheduler->priv->graph = pcmk__xe_create(NULL, graph 79 daemons/schedulerd/schedulerd_messages.c crm_xml_add_int(scheduler->priv->graph, "transition_id", 0); graph 80 daemons/schedulerd/schedulerd_messages.c crm_xml_add_int(scheduler->priv->graph, PCMK_OPT_CLUSTER_DELAY, 0); graph 126 daemons/schedulerd/schedulerd_messages.c reply = pcmk__new_reply(msg, scheduler->priv->graph); graph 45 include/crm/common/ipc_schedulerd.h } graph; graph 193 include/crm/common/scheduler_internal.h xmlNode *graph; // Transition graph graph 146 include/pcmki/pcmki_transition.h int (*pseudo) (pcmk__graph_t *graph, pcmk__graph_action_t *action); graph 147 include/pcmki/pcmki_transition.h int (*rsc) (pcmk__graph_t *graph, pcmk__graph_action_t *action); graph 148 include/pcmki/pcmki_transition.h int (*cluster) (pcmk__graph_t *graph, pcmk__graph_action_t *action); graph 149 include/pcmki/pcmki_transition.h int (*fence) (pcmk__graph_t *graph, pcmk__graph_action_t *action); graph 150 include/pcmki/pcmki_transition.h bool (*allowed) (pcmk__graph_t *graph, pcmk__graph_action_t *action); graph 163 include/pcmki/pcmki_transition.h enum pcmk__graph_status pcmk__execute_graph(pcmk__graph_t *graph); graph 164 include/pcmki/pcmki_transition.h void pcmk__update_graph(pcmk__graph_t *graph, graph 166 include/pcmki/pcmki_transition.h void pcmk__free_graph(pcmk__graph_t *graph); graph 168 include/pcmki/pcmki_transition.h void pcmk__log_graph(unsigned int log_level, pcmk__graph_t *graph); graph 123 lib/common/ipc_schedulerd.c reply_data.data.graph.reference = crm_element_value(reply, graph 125 lib/common/ipc_schedulerd.c reply_data.data.graph.input = crm_element_value(reply, graph 127 lib/common/ipc_schedulerd.c reply_data.data.graph.tgraph = msg_data; graph 71 lib/pacemaker/pcmk_graph_consumer.c pcmk__free_graph(pcmk__graph_t *graph) graph 73 lib/pacemaker/pcmk_graph_consumer.c if (graph != NULL) { graph 74 lib/pacemaker/pcmk_graph_consumer.c g_list_free_full(graph->synapses, free_graph_synapse); graph 75 lib/pacemaker/pcmk_graph_consumer.c free(graph->source); graph 76 lib/pacemaker/pcmk_graph_consumer.c free(graph->failed_stop_offset); graph 77 lib/pacemaker/pcmk_graph_consumer.c free(graph->failed_start_offset); graph 78 lib/pacemaker/pcmk_graph_consumer.c free(graph); graph 176 lib/pacemaker/pcmk_graph_consumer.c pcmk__update_graph(pcmk__graph_t *graph, const pcmk__graph_action_t *action) graph 178 lib/pacemaker/pcmk_graph_consumer.c for (GList *lpc = graph->synapses; lpc != NULL; lpc = lpc->next) { graph 232 lib/pacemaker/pcmk_graph_consumer.c should_fire_synapse(pcmk__graph_t *graph, pcmk__graph_synapse_t *synapse) graph 265 lib/pacemaker/pcmk_graph_consumer.c } else if (synapse->priority < graph->abort_priority) { graph 268 lib/pacemaker/pcmk_graph_consumer.c synapse->id, synapse->priority, graph->abort_priority); graph 269 lib/pacemaker/pcmk_graph_consumer.c graph->skipped++; graph 272 lib/pacemaker/pcmk_graph_consumer.c } else if (graph_fns->allowed && !(graph_fns->allowed(graph, a))) { graph 291 lib/pacemaker/pcmk_graph_consumer.c initiate_action(pcmk__graph_t *graph, pcmk__graph_action_t *action) graph 303 lib/pacemaker/pcmk_graph_consumer.c return graph_fns->pseudo(graph, action); graph 307 lib/pacemaker/pcmk_graph_consumer.c return graph_fns->rsc(graph, action); graph 314 lib/pacemaker/pcmk_graph_consumer.c return graph_fns->fence(graph, action); graph 317 lib/pacemaker/pcmk_graph_consumer.c return graph_fns->cluster(graph, action); graph 337 lib/pacemaker/pcmk_graph_consumer.c fire_synapse(pcmk__graph_t *graph, pcmk__graph_synapse_t *synapse) graph 342 lib/pacemaker/pcmk_graph_consumer.c int rc = initiate_action(graph, action); graph 371 lib/pacemaker/pcmk_graph_consumer.c pseudo_action_dummy(pcmk__graph_t *graph, pcmk__graph_action_t *action) graph 389 lib/pacemaker/pcmk_graph_consumer.c graph->abort_priority = PCMK_SCORE_INFINITY; graph 394 lib/pacemaker/pcmk_graph_consumer.c pcmk__update_graph(graph, action); graph 414 lib/pacemaker/pcmk_graph_consumer.c pcmk__execute_graph(pcmk__graph_t *graph) graph 424 lib/pacemaker/pcmk_graph_consumer.c if (graph == NULL) { graph 428 lib/pacemaker/pcmk_graph_consumer.c graph->fired = 0; graph 429 lib/pacemaker/pcmk_graph_consumer.c graph->pending = 0; graph 430 lib/pacemaker/pcmk_graph_consumer.c graph->skipped = 0; graph 431 lib/pacemaker/pcmk_graph_consumer.c graph->completed = 0; graph 432 lib/pacemaker/pcmk_graph_consumer.c graph->incomplete = 0; graph 435 lib/pacemaker/pcmk_graph_consumer.c for (lpc = graph->synapses; lpc != NULL; lpc = lpc->next) { graph 439 lib/pacemaker/pcmk_graph_consumer.c graph->completed++; graph 443 lib/pacemaker/pcmk_graph_consumer.c graph->pending++; graph 447 lib/pacemaker/pcmk_graph_consumer.c graph->id, graph->completed, graph->pending); graph 450 lib/pacemaker/pcmk_graph_consumer.c for (lpc = graph->synapses; lpc != NULL; lpc = lpc->next) { graph 453 lib/pacemaker/pcmk_graph_consumer.c if ((graph->batch_limit > 0) graph 454 lib/pacemaker/pcmk_graph_consumer.c && (graph->pending >= graph->batch_limit)) { graph 457 lib/pacemaker/pcmk_graph_consumer.c graph->batch_limit); graph 461 lib/pacemaker/pcmk_graph_consumer.c graph->skipped++; graph 469 lib/pacemaker/pcmk_graph_consumer.c } else if (should_fire_synapse(graph, synapse)) { graph 470 lib/pacemaker/pcmk_graph_consumer.c graph->fired++; graph 471 lib/pacemaker/pcmk_graph_consumer.c if (fire_synapse(graph, synapse) != pcmk_rc_ok) { graph 474 lib/pacemaker/pcmk_graph_consumer.c graph->abort_priority = PCMK_SCORE_INFINITY; graph 475 lib/pacemaker/pcmk_graph_consumer.c graph->incomplete++; graph 476 lib/pacemaker/pcmk_graph_consumer.c graph->fired--; graph 480 lib/pacemaker/pcmk_graph_consumer.c graph->pending++; graph 485 lib/pacemaker/pcmk_graph_consumer.c graph->incomplete++; graph 489 lib/pacemaker/pcmk_graph_consumer.c if ((graph->pending == 0) && (graph->fired == 0)) { graph 490 lib/pacemaker/pcmk_graph_consumer.c graph->complete = true; graph 492 lib/pacemaker/pcmk_graph_consumer.c if ((graph->incomplete != 0) && (graph->abort_priority <= 0)) { graph 497 lib/pacemaker/pcmk_graph_consumer.c } else if (graph->skipped != 0) { graph 508 lib/pacemaker/pcmk_graph_consumer.c } else if (graph->fired == 0) { graph 515 lib/pacemaker/pcmk_graph_consumer.c graph->id, graph->completed, graph->pending, graph->fired, graph 516 lib/pacemaker/pcmk_graph_consumer.c graph->skipped, graph->incomplete, graph->source, status); graph 64 lib/pacemaker/pcmk_graph_logging.c find_graph_action_by_id(const pcmk__graph_t *graph, int id) graph 66 lib/pacemaker/pcmk_graph_logging.c if (graph == NULL) { graph 70 lib/pacemaker/pcmk_graph_logging.c for (const GList *synapse_iter = graph->synapses; graph 119 lib/pacemaker/pcmk_graph_logging.c synapse_pending_inputs(const pcmk__graph_t *graph, graph 133 lib/pacemaker/pcmk_graph_logging.c } else if (find_graph_action_by_id(graph, input->id) != NULL) { graph 143 lib/pacemaker/pcmk_graph_logging.c log_unresolved_inputs(unsigned int log_level, pcmk__graph_t *graph, graph 151 lib/pacemaker/pcmk_graph_logging.c if (find_graph_action_by_id(graph, input->id) == NULL) { graph 178 lib/pacemaker/pcmk_graph_logging.c log_synapse(unsigned int log_level, pcmk__graph_t *graph, graph 185 lib/pacemaker/pcmk_graph_logging.c g_pending = synapse_pending_inputs(graph, synapse); graph 202 lib/pacemaker/pcmk_graph_logging.c log_unresolved_inputs(log_level, graph, synapse); graph 213 lib/pacemaker/pcmk_graph_logging.c pcmk__log_graph(unsigned int log_level, pcmk__graph_t *graph) graph 215 lib/pacemaker/pcmk_graph_logging.c if ((graph == NULL) || (graph->num_actions == 0)) { graph 225 lib/pacemaker/pcmk_graph_logging.c graph->id, graph->num_actions, graph 226 lib/pacemaker/pcmk_graph_logging.c graph->batch_limit, graph->network_delay); graph 228 lib/pacemaker/pcmk_graph_logging.c for (GList *lpc = graph->synapses; lpc != NULL; lpc = lpc->next) { graph 229 lib/pacemaker/pcmk_graph_logging.c log_synapse(log_level, graph, (pcmk__graph_synapse_t *) lpc->data); graph 852 lib/pacemaker/pcmk_graph_producer.c xmlNode *syn = pcmk__xe_create(scheduler->priv->graph, PCMK__XE_SYNAPSE); graph 1016 lib/pacemaker/pcmk_graph_producer.c scheduler->priv->graph = pcmk__xe_create(NULL, PCMK__XE_TRANSITION_GRAPH); graph 1019 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->priv->graph, PCMK_OPT_CLUSTER_DELAY, value); graph 1022 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->priv->graph, PCMK_OPT_STONITH_TIMEOUT, value); graph 1024 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->priv->graph, PCMK__XA_FAILED_STOP_OFFSET, graph 1028 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->priv->graph, PCMK__XA_FAILED_START_OFFSET, graph 1031 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->priv->graph, PCMK__XA_FAILED_START_OFFSET, "1"); graph 1035 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->priv->graph, PCMK_OPT_BATCH_LIMIT, value); graph 1037 lib/pacemaker/pcmk_graph_producer.c crm_xml_add_int(scheduler->priv->graph, "transition_id", transition_id); graph 1045 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->priv->graph, PCMK_OPT_MIGRATION_LIMIT, value); graph 1053 lib/pacemaker/pcmk_graph_producer.c crm_xml_add(scheduler->priv->graph, "recheck-by", recheck_epoch); graph 1106 lib/pacemaker/pcmk_graph_producer.c crm_log_xml_trace(scheduler->priv->graph, "graph"); graph 475 lib/pacemaker/pcmk_simulate.c simulate_pseudo_action(pcmk__graph_t *graph, pcmk__graph_action_t *action) graph 483 lib/pacemaker/pcmk_simulate.c pcmk__update_graph(graph, action); graph 497 lib/pacemaker/pcmk_simulate.c simulate_resource_action(pcmk__graph_t *graph, pcmk__graph_action_t *action) graph 640 lib/pacemaker/pcmk_simulate.c graph->abort_priority = PCMK_SCORE_INFINITY; graph 643 lib/pacemaker/pcmk_simulate.c offset = pcmk__s(graph->failed_start_offset, PCMK_VALUE_INFINITY); graph 647 lib/pacemaker/pcmk_simulate.c offset = pcmk__s(graph->failed_stop_offset, PCMK_VALUE_INFINITY); graph 666 lib/pacemaker/pcmk_simulate.c pcmk__update_graph(graph, action); graph 680 lib/pacemaker/pcmk_simulate.c simulate_cluster_action(pcmk__graph_t *graph, pcmk__graph_action_t *action) graph 689 lib/pacemaker/pcmk_simulate.c pcmk__update_graph(graph, action); graph 703 lib/pacemaker/pcmk_simulate.c simulate_fencing_action(pcmk__graph_t *graph, pcmk__graph_action_t *action) graph 745 lib/pacemaker/pcmk_simulate.c pcmk__update_graph(graph, action); graph 774 lib/pacemaker/pcmk_simulate.c transition = pcmk__unpack_graph(scheduler->priv->graph, crm_system_name); graph 938 lib/pacemaker/pcmk_simulate.c rc = pcmk__xml_write_file(scheduler->priv->graph, graph_file, graph 379 lib/pengine/status.c pcmk__xml_free(scheduler->priv->graph);