graph 363 daemons/controld/controld_fencing.c fail_incompletable_stonith(crm_graph_t *graph) graph 369 daemons/controld/controld_fencing.c if (graph == NULL) { graph 373 daemons/controld/controld_fencing.c for (lpc = graph->synapses; lpc != NULL; lpc = lpc->next) { graph 392 daemons/controld/controld_fencing.c update_graph(graph, action); graph 826 daemons/controld/controld_fencing.c te_fence_node(crm_graph_t *graph, crm_action_t *action) graph 26 daemons/controld/controld_fencing.h gboolean te_fence_node(crm_graph_t *graph, crm_action_t *action); graph 29 daemons/controld/controld_te_actions.c te_start_action_timer(crm_graph_t * graph, crm_action_t * action) graph 34 daemons/controld/controld_te_actions.c action->timer->source_id = g_timeout_add(action->timer->timeout + graph->network_delay, graph 41 daemons/controld/controld_te_actions.c te_pseudo_action(crm_graph_t * graph, crm_action_t * pseudo) graph 72 daemons/controld/controld_te_actions.c te_action_confirmed(pseudo, graph); graph 88 daemons/controld/controld_te_actions.c te_crm_command(crm_graph_t * graph, crm_action_t * action) graph 139 daemons/controld/controld_te_actions.c graph->completion_action = tg_shutdown; graph 140 daemons/controld/controld_te_actions.c graph->abort_reason = "local shutdown"; graph 141 daemons/controld/controld_te_actions.c te_action_confirmed(action, graph); graph 164 daemons/controld/controld_te_actions.c te_action_confirmed(action, graph); graph 169 daemons/controld/controld_te_actions.c action->id, task, on_node, action->timeout, graph->network_delay); graph 170 daemons/controld/controld_te_actions.c action->timeout = (int) graph->network_delay; graph 172 daemons/controld/controld_te_actions.c te_start_action_timer(graph, action); graph 266 daemons/controld/controld_te_actions.c te_rsc_command(crm_graph_t * graph, crm_action_t * action) graph 373 daemons/controld/controld_te_actions.c action->id, task, task_uuid, on_node, action->timeout, graph->network_delay); graph 374 daemons/controld/controld_te_actions.c action->timeout = (int) graph->network_delay; graph 377 daemons/controld/controld_te_actions.c te_start_action_timer(graph, action); graph 471 daemons/controld/controld_te_actions.c te_should_perform_action_on(crm_graph_t * graph, crm_action_t * action, const char *target) graph 500 daemons/controld/controld_te_actions.c } else if(graph->migration_limit > 0 && r->migrate_jobs >= graph->migration_limit) { graph 503 daemons/controld/controld_te_actions.c target, graph->migration_limit, r->migrate_jobs, id); graph 514 daemons/controld/controld_te_actions.c te_should_perform_action(crm_graph_t * graph, crm_action_t * action) graph 533 daemons/controld/controld_te_actions.c if(te_should_perform_action_on(graph, action, target) == FALSE) { graph 543 daemons/controld/controld_te_actions.c return te_should_perform_action_on(graph, action, target); graph 553 daemons/controld/controld_te_actions.c te_action_confirmed(crm_action_t *action, crm_graph_t *graph) graph 562 daemons/controld/controld_te_actions.c if (graph) { graph 563 daemons/controld/controld_te_actions.c update_graph(graph, action); graph 578 daemons/controld/controld_te_actions.c notify_crmd(crm_graph_t * graph) graph 585 daemons/controld/controld_te_actions.c if (graph->complete == FALSE) { graph 586 daemons/controld/controld_te_actions.c CRM_CHECK(graph->complete,); graph 587 daemons/controld/controld_te_actions.c graph->complete = TRUE; graph 590 daemons/controld/controld_te_actions.c switch (graph->completion_action) { graph 631 daemons/controld/controld_te_actions.c crm_debug("Transition %d status: %s - %s", graph->id, type, crm_str(graph->abort_reason)); graph 633 daemons/controld/controld_te_actions.c graph->abort_reason = NULL; graph 634 daemons/controld/controld_te_actions.c graph->completion_action = tg_done; graph 24 daemons/controld/controld_te_events.c fail_incompletable_actions(crm_graph_t * graph, const char *down_node) graph 34 daemons/controld/controld_te_events.c if (graph == NULL || graph->complete) { graph 38 daemons/controld/controld_te_events.c gIter = graph->synapses; graph 75 daemons/controld/controld_te_events.c update_graph(graph, action); graph 22 daemons/controld/controld_transition.h extern gboolean fail_incompletable_actions(crm_graph_t * graph, const char *down_node); graph 38 daemons/controld/controld_transition.h extern void notify_crmd(crm_graph_t * graph); graph 62 daemons/controld/controld_transition.h void te_action_confirmed(crm_action_t *action, crm_graph_t *graph); graph 107 daemons/schedulerd/pacemaker-schedulerd.c sched_data_set->graph = create_xml_node(NULL, XML_TAG_GRAPH); graph 108 daemons/schedulerd/pacemaker-schedulerd.c crm_xml_add_int(sched_data_set->graph, "transition_id", 0); graph 109 daemons/schedulerd/pacemaker-schedulerd.c crm_xml_add_int(sched_data_set->graph, "cluster-delay", 0); graph 151 daemons/schedulerd/pacemaker-schedulerd.c reply = create_reply(msg, sched_data_set->graph); graph 180 daemons/schedulerd/pacemaker-schedulerd.c write_xml_fd(sched_data_set->graph, graph_file, graph_file_fd, FALSE); graph 167 include/crm/pengine/pe_types.h xmlNode *graph; graph 107 include/pcmki/pcmki_transition.h gboolean(*pseudo) (crm_graph_t * graph, crm_action_t * action); graph 108 include/pcmki/pcmki_transition.h gboolean(*rsc) (crm_graph_t * graph, crm_action_t * action); graph 109 include/pcmki/pcmki_transition.h gboolean(*crmd) (crm_graph_t * graph, crm_action_t * action); graph 110 include/pcmki/pcmki_transition.h gboolean(*stonith) (crm_graph_t * graph, crm_action_t * action); graph 111 include/pcmki/pcmki_transition.h gboolean(*allowed) (crm_graph_t * graph, crm_action_t * action); graph 127 include/pcmki/pcmki_transition.h int run_graph(crm_graph_t * graph); graph 128 include/pcmki/pcmki_transition.h gboolean update_graph(crm_graph_t * graph, crm_action_t * action); graph 129 include/pcmki/pcmki_transition.h void destroy_graph(crm_graph_t * graph); graph 131 include/pcmki/pcmki_transition.h void print_graph(unsigned int log_level, crm_graph_t * graph); graph 133 include/pcmki/pcmki_transition.h bool update_abort_priority(crm_graph_t * graph, int priority, graph 2917 lib/pacemaker/pcmk_sched_allocate.c data_set->graph = create_xml_node(NULL, XML_TAG_GRAPH); graph 2920 lib/pacemaker/pcmk_sched_allocate.c crm_xml_add(data_set->graph, "cluster-delay", value); graph 2923 lib/pacemaker/pcmk_sched_allocate.c crm_xml_add(data_set->graph, "stonith-timeout", value); graph 2925 lib/pacemaker/pcmk_sched_allocate.c crm_xml_add(data_set->graph, "failed-stop-offset", "INFINITY"); graph 2928 lib/pacemaker/pcmk_sched_allocate.c crm_xml_add(data_set->graph, "failed-start-offset", "INFINITY"); graph 2930 lib/pacemaker/pcmk_sched_allocate.c crm_xml_add(data_set->graph, "failed-start-offset", "1"); graph 2934 lib/pacemaker/pcmk_sched_allocate.c crm_xml_add(data_set->graph, "batch-limit", value); graph 2936 lib/pacemaker/pcmk_sched_allocate.c crm_xml_add_int(data_set->graph, "transition_id", transition_id); graph 2940 lib/pacemaker/pcmk_sched_allocate.c crm_xml_add(data_set->graph, "migration-limit", value); graph 2948 lib/pacemaker/pcmk_sched_allocate.c crm_xml_add(data_set->graph, "recheck-by", recheck_epoch); graph 2973 lib/pacemaker/pcmk_sched_allocate.c crm_log_xml_trace(data_set->graph, "created resource-driven action list"); graph 3011 lib/pacemaker/pcmk_sched_allocate.c crm_log_xml_trace(data_set->graph, "created generic action list"); graph 1828 lib/pacemaker/pcmk_sched_graph.c syn = create_xml_node(data_set->graph, "synapse"); graph 148 lib/pacemaker/pcmk_sched_messages.c return data_set->graph; graph 597 lib/pacemaker/pcmk_sched_transition.c exec_pseudo_action(crm_graph_t * graph, crm_action_t * action) graph 605 lib/pacemaker/pcmk_sched_transition.c update_graph(graph, action); graph 610 lib/pacemaker/pcmk_sched_transition.c exec_rsc_action(crm_graph_t * graph, crm_action_t * action) graph 729 lib/pacemaker/pcmk_sched_transition.c graph->abort_priority = INFINITY; graph 748 lib/pacemaker/pcmk_sched_transition.c update_graph(graph, action); graph 753 lib/pacemaker/pcmk_sched_transition.c exec_crmd_action(crm_graph_t * graph, crm_action_t * action) graph 766 lib/pacemaker/pcmk_sched_transition.c update_graph(graph, action); graph 771 lib/pacemaker/pcmk_sched_transition.c exec_stonith_action(crm_graph_t * graph, crm_action_t * action) graph 802 lib/pacemaker/pcmk_sched_transition.c update_graph(graph, action); graph 827 lib/pacemaker/pcmk_sched_transition.c transition = unpack_graph(data_set->graph, crm_system_name); graph 91 lib/pacemaker/pcmk_trans_graph.c update_graph(crm_graph_t * graph, crm_action_t * action) graph 97 lib/pacemaker/pcmk_trans_graph.c for (lpc = graph->synapses; lpc != NULL; lpc = lpc->next) { graph 120 lib/pacemaker/pcmk_trans_graph.c should_fire_synapse(crm_graph_t * graph, synapse_t * synapse) graph 151 lib/pacemaker/pcmk_trans_graph.c } else if (synapse->priority < graph->abort_priority) { graph 152 lib/pacemaker/pcmk_trans_graph.c crm_trace("Skipping synapse %d: abort level %d", synapse->id, graph->abort_priority); graph 153 lib/pacemaker/pcmk_trans_graph.c graph->skipped++; graph 156 lib/pacemaker/pcmk_trans_graph.c } else if(graph_fns->allowed && graph_fns->allowed(graph, a) == FALSE) { graph 166 lib/pacemaker/pcmk_trans_graph.c initiate_action(crm_graph_t * graph, crm_action_t * action) graph 178 lib/pacemaker/pcmk_trans_graph.c return graph_fns->pseudo(graph, action); graph 182 lib/pacemaker/pcmk_trans_graph.c return graph_fns->rsc(graph, action); graph 192 lib/pacemaker/pcmk_trans_graph.c return graph_fns->stonith(graph, action); graph 196 lib/pacemaker/pcmk_trans_graph.c return graph_fns->crmd(graph, action); graph 204 lib/pacemaker/pcmk_trans_graph.c fire_synapse(crm_graph_t * graph, synapse_t * synapse) graph 221 lib/pacemaker/pcmk_trans_graph.c passed = initiate_action(graph, action); graph 236 lib/pacemaker/pcmk_trans_graph.c run_graph(crm_graph_t * graph) graph 247 lib/pacemaker/pcmk_trans_graph.c if (graph == NULL) { graph 251 lib/pacemaker/pcmk_trans_graph.c graph->fired = 0; graph 252 lib/pacemaker/pcmk_trans_graph.c graph->pending = 0; graph 253 lib/pacemaker/pcmk_trans_graph.c graph->skipped = 0; graph 254 lib/pacemaker/pcmk_trans_graph.c graph->completed = 0; graph 255 lib/pacemaker/pcmk_trans_graph.c graph->incomplete = 0; graph 256 lib/pacemaker/pcmk_trans_graph.c crm_trace("Entering graph %d callback", graph->id); graph 259 lib/pacemaker/pcmk_trans_graph.c for (lpc = graph->synapses; lpc != NULL; lpc = lpc->next) { graph 264 lib/pacemaker/pcmk_trans_graph.c graph->completed++; graph 268 lib/pacemaker/pcmk_trans_graph.c graph->pending++; graph 273 lib/pacemaker/pcmk_trans_graph.c for (lpc = graph->synapses; lpc != NULL; lpc = lpc->next) { graph 276 lib/pacemaker/pcmk_trans_graph.c if (graph->batch_limit > 0 && graph->pending >= graph->batch_limit) { graph 277 lib/pacemaker/pcmk_trans_graph.c crm_debug("Throttling output: batch limit (%d) reached", graph->batch_limit); graph 280 lib/pacemaker/pcmk_trans_graph.c graph->skipped++; graph 288 lib/pacemaker/pcmk_trans_graph.c if (should_fire_synapse(graph, synapse)) { graph 290 lib/pacemaker/pcmk_trans_graph.c graph->fired++; graph 291 lib/pacemaker/pcmk_trans_graph.c if(fire_synapse(graph, synapse) == FALSE) { graph 294 lib/pacemaker/pcmk_trans_graph.c graph->abort_priority = INFINITY; graph 295 lib/pacemaker/pcmk_trans_graph.c graph->incomplete++; graph 296 lib/pacemaker/pcmk_trans_graph.c graph->fired--; graph 300 lib/pacemaker/pcmk_trans_graph.c graph->pending++; graph 305 lib/pacemaker/pcmk_trans_graph.c graph->incomplete++; graph 309 lib/pacemaker/pcmk_trans_graph.c if (graph->pending == 0 && graph->fired == 0) { graph 310 lib/pacemaker/pcmk_trans_graph.c graph->complete = TRUE; graph 315 lib/pacemaker/pcmk_trans_graph.c if (graph->incomplete != 0 && graph->abort_priority <= 0) { graph 320 lib/pacemaker/pcmk_trans_graph.c } else if (graph->skipped != 0) { graph 324 lib/pacemaker/pcmk_trans_graph.c } else if (graph->fired == 0) { graph 331 lib/pacemaker/pcmk_trans_graph.c graph->id, graph->completed, graph->pending, graph->fired, graph 332 lib/pacemaker/pcmk_trans_graph.c graph->skipped, graph->incomplete, graph->source, status); graph 277 lib/pacemaker/pcmk_trans_unpack.c destroy_graph(crm_graph_t * graph) graph 279 lib/pacemaker/pcmk_trans_unpack.c if (graph == NULL) { graph 282 lib/pacemaker/pcmk_trans_unpack.c while (graph->synapses != NULL) { graph 283 lib/pacemaker/pcmk_trans_unpack.c synapse_t *synapse = g_list_nth_data(graph->synapses, 0); graph 285 lib/pacemaker/pcmk_trans_unpack.c graph->synapses = g_list_remove(graph->synapses, synapse); graph 289 lib/pacemaker/pcmk_trans_unpack.c free(graph->source); graph 290 lib/pacemaker/pcmk_trans_unpack.c free(graph); graph 20 lib/pacemaker/pcmk_trans_utils.c pseudo_action_dummy(crm_graph_t * graph, crm_action_t * action) graph 38 lib/pacemaker/pcmk_trans_utils.c graph->abort_priority = INFINITY; graph 41 lib/pacemaker/pcmk_trans_utils.c update_graph(graph, action); graph 108 lib/pacemaker/pcmk_trans_utils.c find_action(crm_graph_t * graph, int id) graph 112 lib/pacemaker/pcmk_trans_utils.c if (graph == NULL) { graph 116 lib/pacemaker/pcmk_trans_utils.c for (sIter = graph->synapses; sIter != NULL; sIter = sIter->next) { graph 151 lib/pacemaker/pcmk_trans_utils.c synapse_pending_inputs(crm_graph_t *graph, synapse_t *synapse) graph 165 lib/pacemaker/pcmk_trans_utils.c } else if (find_action(graph, input->id) != NULL) { graph 178 lib/pacemaker/pcmk_trans_utils.c log_unresolved_inputs(unsigned int log_level, crm_graph_t *graph, graph 186 lib/pacemaker/pcmk_trans_utils.c if (find_action(graph, input->id) == NULL) { graph 213 lib/pacemaker/pcmk_trans_utils.c print_synapse(unsigned int log_level, crm_graph_t * graph, synapse_t * synapse) graph 218 lib/pacemaker/pcmk_trans_utils.c pending = synapse_pending_inputs(graph, synapse); graph 226 lib/pacemaker/pcmk_trans_utils.c log_unresolved_inputs(log_level, graph, synapse); graph 237 lib/pacemaker/pcmk_trans_utils.c print_graph(unsigned int log_level, crm_graph_t * graph) graph 241 lib/pacemaker/pcmk_trans_utils.c if (graph == NULL || graph->num_actions == 0) { graph 250 lib/pacemaker/pcmk_trans_utils.c graph->id, graph->num_actions, graph 251 lib/pacemaker/pcmk_trans_utils.c graph->batch_limit, graph->network_delay); graph 253 lib/pacemaker/pcmk_trans_utils.c for (lpc = graph->synapses; lpc != NULL; lpc = lpc->next) { graph 256 lib/pacemaker/pcmk_trans_utils.c print_synapse(log_level, graph, synapse); graph 277 lib/pacemaker/pcmk_trans_utils.c update_abort_priority(crm_graph_t * graph, int priority, graph 282 lib/pacemaker/pcmk_trans_utils.c if (graph == NULL) { graph 286 lib/pacemaker/pcmk_trans_utils.c if (graph->abort_priority < priority) { graph 287 lib/pacemaker/pcmk_trans_utils.c crm_debug("Abort priority upgraded from %d to %d", graph->abort_priority, priority); graph 288 lib/pacemaker/pcmk_trans_utils.c graph->abort_priority = priority; graph 289 lib/pacemaker/pcmk_trans_utils.c if (graph->abort_reason != NULL) { graph 290 lib/pacemaker/pcmk_trans_utils.c crm_debug("'%s' abort superseded by %s", graph->abort_reason, abort_reason); graph 292 lib/pacemaker/pcmk_trans_utils.c graph->abort_reason = abort_reason; graph 296 lib/pacemaker/pcmk_trans_utils.c if (graph->completion_action < action) { graph 298 lib/pacemaker/pcmk_trans_utils.c abort2text(graph->completion_action), abort2text(action), abort_reason); graph 299 lib/pacemaker/pcmk_trans_utils.c graph->completion_action = action; graph 309 lib/pengine/status.c free_xml(data_set->graph); graph 1064 tools/crm_simulate.c write_xml_file(data_set->graph, options.graph_file, FALSE);