n_data            261 lib/pengine/pe_notif.c add_notify_data_to_action_meta(const notify_data_t *n_data,
n_data            264 lib/pengine/pe_notif.c     for (const GSList *item = n_data->keys; item; item = item->next) {
n_data            314 lib/pengine/pe_notif.c                   const notify_data_t *n_data)
n_data            354 lib/pengine/pe_notif.c     add_notify_data_to_action_meta(n_data, notify_action);
n_data            372 lib/pengine/pe_notif.c                        notify_data_t *n_data)
n_data            376 lib/pengine/pe_notif.c     CRM_ASSERT(n_data != NULL);
n_data            379 lib/pengine/pe_notif.c     notify = new_notify_action(rsc, node, n_data->post, n_data->post_done,
n_data            380 lib/pengine/pe_notif.c                                n_data);
n_data            386 lib/pengine/pe_notif.c     if (n_data->post_done == NULL) {
n_data            399 lib/pengine/pe_notif.c         order_actions(n_data->post_done, mon, pcmk__ar_ordered);
n_data            438 lib/pengine/pe_notif.c     notify_data_t *n_data = NULL;
n_data            444 lib/pengine/pe_notif.c     n_data = calloc(1, sizeof(notify_data_t));
n_data            445 lib/pengine/pe_notif.c     CRM_ASSERT(n_data != NULL);
n_data            447 lib/pengine/pe_notif.c     n_data->action = task;
n_data            452 lib/pengine/pe_notif.c         n_data->pre = new_notify_pseudo_action(rsc, action, PCMK_ACTION_NOTIFY,
n_data            454 lib/pengine/pe_notif.c         pe__set_action_flags(n_data->pre, pcmk_action_runnable);
n_data            455 lib/pengine/pe_notif.c         add_hash_param(n_data->pre->meta, "notify_type", "pre");
n_data            456 lib/pengine/pe_notif.c         add_hash_param(n_data->pre->meta, "notify_operation", n_data->action);
n_data            459 lib/pengine/pe_notif.c         n_data->pre_done = new_notify_pseudo_action(rsc, action,
n_data            462 lib/pengine/pe_notif.c         pe__set_action_flags(n_data->pre_done, pcmk_action_runnable);
n_data            463 lib/pengine/pe_notif.c         add_hash_param(n_data->pre_done->meta, "notify_type", "pre");
n_data            464 lib/pengine/pe_notif.c         add_hash_param(n_data->pre_done->meta,
n_data            465 lib/pengine/pe_notif.c                        "notify_operation", n_data->action);
n_data            468 lib/pengine/pe_notif.c         order_actions(n_data->pre, n_data->pre_done, pcmk__ar_ordered);
n_data            469 lib/pengine/pe_notif.c         order_actions(n_data->pre_done, action, pcmk__ar_ordered);
n_data            475 lib/pengine/pe_notif.c         n_data->post = new_notify_pseudo_action(rsc, complete,
n_data            477 lib/pengine/pe_notif.c         n_data->post->priority = INFINITY;
n_data            479 lib/pengine/pe_notif.c             pe__set_action_flags(n_data->post, pcmk_action_runnable);
n_data            481 lib/pengine/pe_notif.c             pe__clear_action_flags(n_data->post, pcmk_action_runnable);
n_data            483 lib/pengine/pe_notif.c         add_hash_param(n_data->post->meta, "notify_type", "post");
n_data            484 lib/pengine/pe_notif.c         add_hash_param(n_data->post->meta, "notify_operation", n_data->action);
n_data            487 lib/pengine/pe_notif.c         n_data->post_done = new_notify_pseudo_action(rsc, complete,
n_data            490 lib/pengine/pe_notif.c         n_data->post_done->priority = INFINITY;
n_data            492 lib/pengine/pe_notif.c             pe__set_action_flags(n_data->post_done, pcmk_action_runnable);
n_data            494 lib/pengine/pe_notif.c             pe__clear_action_flags(n_data->post_done, pcmk_action_runnable);
n_data            496 lib/pengine/pe_notif.c         add_hash_param(n_data->post_done->meta, "notify_type", "post");
n_data            497 lib/pengine/pe_notif.c         add_hash_param(n_data->post_done->meta,
n_data            498 lib/pengine/pe_notif.c                        "notify_operation", n_data->action);
n_data            501 lib/pengine/pe_notif.c         order_actions(complete, n_data->post, pcmk__ar_first_implies_then);
n_data            502 lib/pengine/pe_notif.c         order_actions(n_data->post, n_data->post_done,
n_data            508 lib/pengine/pe_notif.c         order_actions(n_data->pre_done, n_data->post, pcmk__ar_ordered);
n_data            510 lib/pengine/pe_notif.c     return n_data;
n_data            544 lib/pengine/pe_notif.c                       notify_data_t *n_data)
n_data            550 lib/pengine/pe_notif.c     if (n_data == NULL) {
n_data            554 lib/pengine/pe_notif.c     if (n_data->allowed_nodes == NULL) {
n_data            555 lib/pengine/pe_notif.c         n_data->allowed_nodes = rsc->allowed_nodes;
n_data            563 lib/pengine/pe_notif.c             collect_resource_data(child, activity, n_data);
n_data            578 lib/pengine/pe_notif.c             n_data->inactive = g_list_prepend(n_data->inactive, entry);
n_data            582 lib/pengine/pe_notif.c             n_data->active = g_list_prepend(n_data->active, entry);
n_data            586 lib/pengine/pe_notif.c             n_data->unpromoted = g_list_prepend(n_data->unpromoted, entry);
n_data            587 lib/pengine/pe_notif.c             n_data->active = g_list_prepend(n_data->active,
n_data            592 lib/pengine/pe_notif.c             n_data->promoted = g_list_prepend(n_data->promoted, entry);
n_data            593 lib/pengine/pe_notif.c             n_data->active = g_list_prepend(n_data->active,
n_data            627 lib/pengine/pe_notif.c                     n_data->start = g_list_prepend(n_data->start, entry);
n_data            630 lib/pengine/pe_notif.c                     n_data->stop = g_list_prepend(n_data->stop, entry);
n_data            633 lib/pengine/pe_notif.c                     n_data->promote = g_list_prepend(n_data->promote, entry);
n_data            636 lib/pengine/pe_notif.c                     n_data->demote = g_list_prepend(n_data->demote, entry);
n_data            647 lib/pengine/pe_notif.c #define add_notify_env(n_data, key, value) do {                         \
n_data            648 lib/pengine/pe_notif.c          n_data->keys = pcmk_prepend_nvpair(n_data->keys, key, value);  \
n_data            652 lib/pengine/pe_notif.c #define add_notify_env_gs(n_data, key, value) do {                      \
n_data            653 lib/pengine/pe_notif.c          n_data->keys = pcmk_prepend_nvpair(n_data->keys, key,          \
n_data            658 lib/pengine/pe_notif.c #define add_notify_env_free_gs(n_data, key, value) do {                 \
n_data            659 lib/pengine/pe_notif.c          n_data->keys = pcmk_prepend_nvpair(n_data->keys, key,          \
n_data            672 lib/pengine/pe_notif.c add_notif_keys(const pcmk_resource_t *rsc, notify_data_t *n_data)
n_data            681 lib/pengine/pe_notif.c     n_data->stop = notify_entries_to_strings(n_data->stop,
n_data            684 lib/pengine/pe_notif.c         && pcmk__str_eq(n_data->action, PCMK_ACTION_STOP, pcmk__str_none)) {
n_data            687 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_stop_resource", rsc_list);
n_data            688 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_stop_uname", node_list);
n_data            690 lib/pengine/pe_notif.c     if ((n_data->start != NULL)
n_data            691 lib/pengine/pe_notif.c         && pcmk__str_eq(n_data->action, PCMK_ACTION_START, pcmk__str_none)) {
n_data            694 lib/pengine/pe_notif.c     n_data->start = notify_entries_to_strings(n_data->start,
n_data            696 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_start_resource", rsc_list);
n_data            697 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_start_uname", node_list);
n_data            699 lib/pengine/pe_notif.c     if ((n_data->demote != NULL)
n_data            700 lib/pengine/pe_notif.c         && pcmk__str_eq(n_data->action, PCMK_ACTION_DEMOTE, pcmk__str_none)) {
n_data            703 lib/pengine/pe_notif.c     n_data->demote = notify_entries_to_strings(n_data->demote,
n_data            705 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_demote_resource", rsc_list);
n_data            706 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_demote_uname", node_list);
n_data            708 lib/pengine/pe_notif.c     if ((n_data->promote != NULL)
n_data            709 lib/pengine/pe_notif.c         && pcmk__str_eq(n_data->action, PCMK_ACTION_PROMOTE, pcmk__str_none)) {
n_data            712 lib/pengine/pe_notif.c     n_data->promote = notify_entries_to_strings(n_data->promote,
n_data            714 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_promote_resource", rsc_list);
n_data            715 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_promote_uname", node_list);
n_data            717 lib/pengine/pe_notif.c     n_data->active = notify_entries_to_strings(n_data->active,
n_data            719 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_active_resource", rsc_list);
n_data            720 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_active_uname", node_list);
n_data            722 lib/pengine/pe_notif.c     n_data->unpromoted = notify_entries_to_strings(n_data->unpromoted,
n_data            724 lib/pengine/pe_notif.c     add_notify_env_gs(n_data, "notify_unpromoted_resource", rsc_list);
n_data            725 lib/pengine/pe_notif.c     add_notify_env_gs(n_data, "notify_unpromoted_uname", node_list);
n_data            728 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_slave_resource", rsc_list);
n_data            729 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_slave_uname", node_list);
n_data            731 lib/pengine/pe_notif.c     n_data->promoted = notify_entries_to_strings(n_data->promoted,
n_data            733 lib/pengine/pe_notif.c     add_notify_env_gs(n_data, "notify_promoted_resource", rsc_list);
n_data            734 lib/pengine/pe_notif.c     add_notify_env_gs(n_data, "notify_promoted_uname", node_list);
n_data            737 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_master_resource", rsc_list);
n_data            738 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_master_uname", node_list);
n_data            740 lib/pengine/pe_notif.c     n_data->inactive = notify_entries_to_strings(n_data->inactive,
n_data            742 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_inactive_resource", rsc_list);
n_data            744 lib/pengine/pe_notif.c     nodes = g_hash_table_get_values(n_data->allowed_nodes);
n_data            753 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_available_uname", node_list);
n_data            759 lib/pengine/pe_notif.c         add_notify_env_free_gs(n_data, "notify_all_hosts", metal_list);
n_data            763 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_all_uname", node_list);
n_data            765 lib/pengine/pe_notif.c     if (required && (n_data->pre != NULL)) {
n_data            766 lib/pengine/pe_notif.c         pe__clear_action_flags(n_data->pre, pcmk_action_optional);
n_data            767 lib/pengine/pe_notif.c         pe__clear_action_flags(n_data->pre_done, pcmk_action_optional);
n_data            770 lib/pengine/pe_notif.c     if (required && (n_data->post != NULL)) {
n_data            771 lib/pengine/pe_notif.c         pe__clear_action_flags(n_data->post, pcmk_action_optional);
n_data            772 lib/pengine/pe_notif.c         pe__clear_action_flags(n_data->post_done, pcmk_action_optional);
n_data            807 lib/pengine/pe_notif.c create_notify_actions(pcmk_resource_t *rsc, notify_data_t *n_data)
n_data            812 lib/pengine/pe_notif.c     enum action_tasks task = text2task(n_data->action);
n_data            816 lib/pengine/pe_notif.c         g_list_foreach(rsc->children, (GFunc) create_notify_actions, n_data);
n_data            831 lib/pengine/pe_notif.c                     add_notify_data_to_action_meta(n_data, op);
n_data            842 lib/pengine/pe_notif.c             if (n_data->start == NULL) {
n_data            844 lib/pengine/pe_notif.c                              rsc->id, n_data->action);
n_data            850 lib/pengine/pe_notif.c             if (n_data->promote == NULL) {
n_data            852 lib/pengine/pe_notif.c                              rsc->id, n_data->action);
n_data            858 lib/pengine/pe_notif.c             if (n_data->demote == NULL) {
n_data            860 lib/pengine/pe_notif.c                              rsc->id, n_data->action);
n_data            871 lib/pengine/pe_notif.c                  rsc->id, n_data->action);
n_data            892 lib/pengine/pe_notif.c             new_notify_action(rsc, current_node, n_data->pre,
n_data            893 lib/pengine/pe_notif.c                               n_data->pre_done, n_data);
n_data            897 lib/pengine/pe_notif.c                 new_post_notify_action(rsc, current_node, n_data);
n_data            928 lib/pengine/pe_notif.c             new_notify_action(rsc, rsc->allocated_to, n_data->pre,
n_data            929 lib/pengine/pe_notif.c                               n_data->pre_done, n_data);
n_data            931 lib/pengine/pe_notif.c         new_post_notify_action(rsc, rsc->allocated_to, n_data);
n_data            943 lib/pengine/pe_notif.c pe__create_action_notifications(pcmk_resource_t *rsc, notify_data_t *n_data)
n_data            945 lib/pengine/pe_notif.c     if ((rsc == NULL) || (n_data == NULL)) {
n_data            948 lib/pengine/pe_notif.c     collect_resource_data(rsc, true, n_data);
n_data            949 lib/pengine/pe_notif.c     add_notif_keys(rsc, n_data);
n_data            950 lib/pengine/pe_notif.c     create_notify_actions(rsc, n_data);
n_data            960 lib/pengine/pe_notif.c pe__free_action_notification_data(notify_data_t *n_data)
n_data            962 lib/pengine/pe_notif.c     if (n_data == NULL) {
n_data            965 lib/pengine/pe_notif.c     g_list_free_full(n_data->stop, free);
n_data            966 lib/pengine/pe_notif.c     g_list_free_full(n_data->start, free);
n_data            967 lib/pengine/pe_notif.c     g_list_free_full(n_data->demote, free);
n_data            968 lib/pengine/pe_notif.c     g_list_free_full(n_data->promote, free);
n_data            969 lib/pengine/pe_notif.c     g_list_free_full(n_data->promoted, free);
n_data            970 lib/pengine/pe_notif.c     g_list_free_full(n_data->unpromoted, free);
n_data            971 lib/pengine/pe_notif.c     g_list_free_full(n_data->active, free);
n_data            972 lib/pengine/pe_notif.c     g_list_free_full(n_data->inactive, free);
n_data            973 lib/pengine/pe_notif.c     pcmk_free_nvpairs(n_data->keys);
n_data            974 lib/pengine/pe_notif.c     free(n_data);
n_data            995 lib/pengine/pe_notif.c     notify_data_t *n_data;
n_data            998 lib/pengine/pe_notif.c     n_data = pe__action_notif_pseudo_ops(rsc, PCMK_ACTION_STOP, NULL,
n_data           1001 lib/pengine/pe_notif.c     if (n_data != NULL) {
n_data           1002 lib/pengine/pe_notif.c         collect_resource_data(rsc, false, n_data);
n_data           1003 lib/pengine/pe_notif.c         add_notify_env(n_data, "notify_stop_resource", rsc->id);
n_data           1004 lib/pengine/pe_notif.c         add_notify_env(n_data, "notify_stop_uname", stop->node->details->uname);
n_data           1005 lib/pengine/pe_notif.c         create_notify_actions(uber_parent(rsc), n_data);
n_data           1006 lib/pengine/pe_notif.c         pe__free_action_notification_data(n_data);
n_data             73 lib/pengine/pe_status_private.h                                      notify_data_t *n_data);
n_data             76 lib/pengine/pe_status_private.h void pe__free_action_notification_data(notify_data_t *n_data);