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);