a 56 attrd/commands.c void write_attribute(attribute_t *a); a 57 attrd/commands.c void write_or_elect_attribute(attribute_t *a); a 76 attrd/commands.c attribute_t *a = data; a 77 attrd/commands.c crm_trace("Dampen interval expired for %s in state %d", a->id, election_state(writer)); a 78 attrd/commands.c write_or_elect_attribute(a); a 96 attrd/commands.c attribute_t *a = data; a 97 attrd/commands.c if(a) { a 98 attrd/commands.c free(a->id); a 99 attrd/commands.c free(a->set); a 100 attrd/commands.c free(a->uuid); a 101 attrd/commands.c free(a->user); a 103 attrd/commands.c mainloop_timer_del(a->timer); a 104 attrd/commands.c g_hash_table_destroy(a->values); a 106 attrd/commands.c free(a); a 135 attrd/commands.c attribute_t *a = calloc(1, sizeof(attribute_t)); a 137 attrd/commands.c a->id = crm_element_value_copy(xml, F_ATTRD_ATTRIBUTE); a 138 attrd/commands.c a->set = crm_element_value_copy(xml, F_ATTRD_SET); a 139 attrd/commands.c a->uuid = crm_element_value_copy(xml, F_ATTRD_KEY); a 140 attrd/commands.c a->values = g_hash_table_new_full(crm_strcase_hash, crm_strcase_equal, NULL, free_attribute_value); a 142 attrd/commands.c crm_element_value_int(xml, F_ATTRD_IS_PRIVATE, &a->is_private); a 145 attrd/commands.c crm_trace("Performing all %s operations as user '%s'", a->id, a->user); a 146 attrd/commands.c a->user = crm_element_value_copy(xml, F_ATTRD_USER); a 151 attrd/commands.c crm_trace("Created attribute %s with delay %dms (%s)", a->id, dampen, value); a 153 attrd/commands.c crm_trace("Created attribute %s with no delay", a->id); a 157 attrd/commands.c a->timeout_ms = dampen; a 158 attrd/commands.c a->timer = mainloop_timer_add(a->id, a->timeout_ms, FALSE, attribute_timer_cb, a); a 160 attrd/commands.c crm_warn("Ignoring invalid delay %s for attribute %s", value, a->id); a 163 attrd/commands.c g_hash_table_replace(attributes, a->id, a); a 164 attrd/commands.c return a; a 202 attrd/commands.c attribute_t *a = NULL; a 248 attrd/commands.c a = g_hash_table_lookup(attributes, attr); a 256 attrd/commands.c if (a) { a 257 attrd/commands.c v = g_hash_table_lookup(a->values, host); a 355 attrd/commands.c attribute_t *a = NULL; a 361 attrd/commands.c while (g_hash_table_iter_next(&iter, NULL, (gpointer *) & a)) { a 362 attrd/commands.c mainloop_timer_stop(a->timer); a 382 attrd/commands.c attribute_t *a; a 391 attrd/commands.c a = g_hash_table_lookup(attributes, attr); a 392 attrd/commands.c if (a) { a 406 attrd/commands.c v = g_hash_table_lookup(a->values, host); a 419 attrd/commands.c g_hash_table_iter_init(&iter, a->values); a 566 attrd/commands.c attribute_t *a = g_hash_table_lookup(attributes, name); a 568 attrd/commands.c if(a) { a 569 attrd/commands.c crm_trace("Compatibility write-out of %s for %s from %s", a->id, op, peer->uname); a 570 attrd/commands.c write_or_elect_attribute(a); a 575 attrd/commands.c attribute_t *a = NULL; a 578 attrd/commands.c while (g_hash_table_iter_next(&aIter, NULL, (gpointer *) & a)) { a 579 attrd/commands.c crm_trace("Compatibility write-out of %s for %s from %s", a->id, op, peer->uname); a 580 attrd/commands.c write_or_elect_attribute(a); a 637 attrd/commands.c attribute_t *a = NULL; a 644 attrd/commands.c while (g_hash_table_iter_next(&aIter, NULL, (gpointer *) & a)) { a 645 attrd/commands.c g_hash_table_iter_init(&vIter, a->values); a 647 attrd/commands.c crm_debug("Syncing %s[%s] = %s to %s", a->id, v->nodename, v->current, peer?peer->uname:"everyone"); a 648 attrd/commands.c build_attribute_xml(sync, a->id, a->set, a->uuid, a->timeout_ms, a->user, a->is_private, a 669 attrd/commands.c attribute_t *a = NULL; a 676 attrd/commands.c while (g_hash_table_iter_next(&aIter, NULL, (gpointer *) & a)) { a 677 attrd/commands.c if(g_hash_table_remove(a->values, host)) { a 678 attrd/commands.c crm_debug("Removed %s[%s] for peer %s", a->id, host, source); a 736 attrd/commands.c attribute_t *a; a 752 attrd/commands.c a = g_hash_table_lookup(attributes, attr); a 753 attrd/commands.c if (a == NULL) { a 755 attrd/commands.c a = create_attribute(xml); a 780 attrd/commands.c if (a->timeout_ms != dampen) { a 781 attrd/commands.c mainloop_timer_stop(a->timer); a 782 attrd/commands.c mainloop_timer_del(a->timer); a 783 attrd/commands.c a->timeout_ms = dampen; a 785 attrd/commands.c a->timer = mainloop_timer_add(attr, a->timeout_ms, FALSE, a 786 attrd/commands.c attribute_timer_cb, a); a 790 attrd/commands.c a->timer = NULL; a 797 attrd/commands.c write_or_elect_attribute(a); a 811 attrd/commands.c g_hash_table_iter_init(&vIter, a->values); a 820 attrd/commands.c v = attrd_lookup_or_create_value(a->values, host, xml); a 831 attrd/commands.c v = g_hash_table_lookup(a->values, host); a 832 attrd/commands.c build_attribute_xml(sync, attr, a->set, a->uuid, a->timeout_ms, a->user, a 833 attrd/commands.c a->is_private, v->nodename, v->nodeid, v->current); a 846 attrd/commands.c a->changed = TRUE; a 849 attrd/commands.c if (a->timer) { a 850 attrd/commands.c crm_trace("Delayed write out (%dms) for %s", a->timeout_ms, attr); a 851 attrd/commands.c mainloop_timer_start(a->timer); a 853 attrd/commands.c write_or_elect_attribute(a); a 875 attrd/commands.c write_or_elect_attribute(attribute_t *a) a 879 attrd/commands.c write_attribute(a); a 882 attrd/commands.c crm_trace("Election in progress to determine who will write out %s", a->id); a 885 attrd/commands.c crm_info("Starting an election to determine who will write out %s", a->id); a 889 attrd/commands.c crm_trace("%s will write out %s, we are in state %d", peer_writer, a->id, rc); a 941 attrd/commands.c attribute_t *a = g_hash_table_lookup(attributes, name); a 943 attrd/commands.c if(a == NULL) { a 948 attrd/commands.c a->update = 0; a 969 attrd/commands.c g_hash_table_iter_init(&iter, a->values); a 971 attrd/commands.c do_crm_log(level, "Update %d for %s[%s]=%s: %s (%d)", call_id, a->id, peer, v->requested, pcmk_strerror(rc), rc); a 975 attrd/commands.c a->changed = TRUE; /* Attempt write out again */ a 979 attrd/commands.c if(a && a->changed && election_state(writer) == election_won) { a 980 attrd/commands.c write_attribute(a); a 988 attrd/commands.c attribute_t *a = NULL; a 992 attrd/commands.c while (g_hash_table_iter_next(&iter, NULL, (gpointer *) & a)) { a 993 attrd/commands.c if (!all && a->unknown_peer_uuids) { a 995 attrd/commands.c a->changed = TRUE; a 998 attrd/commands.c if(all || a->changed) { a 999 attrd/commands.c write_attribute(a); a 1001 attrd/commands.c crm_debug("Skipping unchanged attribute %s", a->id); a 1007 attrd/commands.c build_update_element(xmlNode *parent, attribute_t *a, const char *nodeid, const char *value) a 1019 attrd/commands.c if (a->set) { a 1020 attrd/commands.c crm_xml_set_id(xml_obj, "%s", a->set); a 1027 attrd/commands.c if (a->uuid) { a 1028 attrd/commands.c crm_xml_set_id(xml_obj, "%s", a->uuid); a 1030 attrd/commands.c crm_xml_set_id(xml_obj, "%s-%s", set, a->id); a 1032 attrd/commands.c crm_xml_add(xml_obj, XML_NVPAIR_ATTR_NAME, a->id); a 1061 attrd/commands.c send_alert_attributes_value(attribute_t *a, GHashTable *t) a 1071 attrd/commands.c a->id, at->current); a 1073 attrd/commands.c a->id, at->nodename, at->current, at->nodeid, rc); a 1078 attrd/commands.c write_attribute(attribute_t *a) a 1087 attrd/commands.c if (a == NULL) { a 1092 attrd/commands.c if (!a->is_private) { a 1096 attrd/commands.c crm_info("Write out of '%s' delayed: cib not connected", a->id); a 1099 attrd/commands.c } else if (a->update && (a->update < last_cib_op_done)) { a 1100 attrd/commands.c crm_info("Write out of '%s' continuing: update %d considered lost", a->id, a->update); a 1102 attrd/commands.c } else if (a->update) { a 1103 attrd/commands.c crm_info("Write out of '%s' delayed: update %d in progress", a->id, a->update); a 1106 attrd/commands.c } else if (mainloop_timer_running(a->timer)) { a 1107 attrd/commands.c crm_info("Write out of '%s' delayed: timer is running", a->id); a 1116 attrd/commands.c a->changed = FALSE; a 1119 attrd/commands.c a->unknown_peer_uuids = FALSE; a 1127 attrd/commands.c g_hash_table_iter_init(&iter, a->values); a 1134 attrd/commands.c a->id, v->nodename, v->current, peer); a 1145 attrd/commands.c if (a->is_private) { a 1152 attrd/commands.c a->unknown_peer_uuids = TRUE; a 1154 attrd/commands.c a->id, v->nodename, v->current, peer); a 1159 attrd/commands.c crm_debug("Update: %s[%s]=%s (%s %u %u %s)", a->id, v->nodename, a 1161 attrd/commands.c build_update_element(xml_top, a, peer->uuid, v->current); a 1182 attrd/commands.c a->id, (a->uuid? a->uuid : "<n/a>"), a->set); a 1187 attrd/commands.c a->update = cib_internal_op(the_cib, CIB_OP_MODIFY, NULL, XML_CIB_TAG_STATUS, xml_top, NULL, a 1188 attrd/commands.c flags, a->user); a 1191 attrd/commands.c a->update, cib_updates, a->id, (a->uuid? a->uuid : "<n/a>"), a->set); a 1193 attrd/commands.c the_cib->cmds->register_callback_full(the_cib, a->update, 120, FALSE, a 1194 attrd/commands.c strdup(a->id), a 1198 attrd/commands.c send_alert_attributes_value(a, alert_attribute_value); a 64 cib/callbacks.c gint cib_GCompareFunc(gconstpointer a, gconstpointer b); a 1406 cib/callbacks.c cib_GCompareFunc(gconstpointer a, gconstpointer b) a 1408 cib/callbacks.c const xmlNode *a_msg = a; a 113 cib/io.c static int cib_archive_filter(const struct dirent * a) a 118 cib/io.c char *a_path = crm_strdup_printf("%s/%s", cib_root, a->d_name); a 122 cib/io.c crm_trace("%s - stat failed: %s (%d)", a->d_name, pcmk_strerror(rc), rc); a 128 cib/io.c dtype = a->d_type; a 141 cib/io.c crm_trace("%s - wrong type (%d)", a->d_name, dtype); a 143 cib/io.c } else if(strstr(a->d_name, "cib-") != a->d_name) { a 144 cib/io.c crm_trace("%s - wrong prefix", a->d_name); a 146 cib/io.c } else if (crm_ends_with_ext(a->d_name, ".sig")) { a 147 cib/io.c crm_trace("%s - wrong suffix", a->d_name); a 150 cib/io.c crm_debug("%s - candidate", a->d_name); a 158 cib/io.c static int cib_archive_sort(const struct dirent ** a, const struct dirent **b) a 167 cib/io.c char *a_path = crm_strdup_printf("%s/%s", cib_root, a[0]->d_name); a 187 cib/io.c a[0]->d_name, (unsigned long)a_age, a 2221 fencing/commands.c sort_device_priority(gconstpointer a, gconstpointer b) a 2223 fencing/commands.c const stonith_device_t *dev_a = a; a 96 fencing/remote.c sort_strings(gconstpointer a, gconstpointer b) a 98 fencing/remote.c return strcmp(a, b); a 1598 fencing/remote.c sort_peers(gconstpointer a, gconstpointer b) a 1600 fencing/remote.c const st_query_result_t *peer_a = a; a 72 include/crm/common/internal.h gint crm_alpha_sort(gconstpointer a, gconstpointer b); a 67 include/crm/common/util.h gboolean crm_str_eq(const char *a, const char *b, gboolean use_case); a 68 include/crm/common/util.h gboolean safe_str_neq(const char *a, const char *b); a 72 include/crm/common/util.h # define safe_str_eq(a, b) crm_str_eq(a, b, FALSE) a 77 include/crm/common/util.h crm_strcase_equal(gconstpointer a, gconstpointer b) a 79 include/crm/common/util.h return crm_str_eq((const char *) a, (const char *) b, FALSE); a 251 include/crm/compatibility.h # define slist_destroy(child_type, child, parent, a) do { \ a 257 include/crm/compatibility.h { a; } \ a 39 include/crm/crm.h # define DIMOF(a) ((int) (sizeof(a)/sizeof(a[0])) ) a 172 include/crm/pengine/internal.h extern gint sort_rsc_priority(gconstpointer a, gconstpointer b); a 173 include/crm/pengine/internal.h extern gint sort_rsc_index(gconstpointer a, gconstpointer b); a 243 include/crm/pengine/internal.h extern gint sort_op_by_callid(gconstpointer a, gconstpointer b); a 271 include/crm/pengine/internal.h gint sort_node_uname(gconstpointer a, gconstpointer b); a 25 include/portability.h # define DIMOF(a) ((int) (sizeof(a)/sizeof(a[0])) ) a 65 lib/ais/utils.h # define SIZEOF(a) (sizeof(a) / sizeof(a[0])) a 208 lib/ais/utils.h ais_str_eq(const char *a, const char *b) a 210 lib/ais/utils.h if (a == NULL || b == NULL) { a 213 lib/ais/utils.h } else if (a == b) { a 216 lib/ais/utils.h } else if (strcasecmp(a, b) == 0) { a 48 lib/cib/cib_client.c gint ciblib_GCompareFunc(gconstpointer a, gconstpointer b); a 556 lib/cib/cib_client.c ciblib_GCompareFunc(gconstpointer a, gconstpointer b) a 559 lib/cib/cib_client.c const cib_notify_client_t *a_client = a; a 1150 lib/common/iso8601.c crm_time_compare(crm_time_t * a, crm_time_t * b) a 1156 lib/common/iso8601.c if (a == NULL && b == NULL) { a 1158 lib/common/iso8601.c } else if (a == NULL) { a 1164 lib/common/iso8601.c t1 = crm_get_utc_time(a); a 161 lib/common/schemas.c schema_filter(const struct dirent *a) a 166 lib/common/schemas.c if (strstr(a->d_name, "pacemaker-") != a->d_name) { a 169 lib/common/schemas.c } else if (!crm_ends_with_ext(a->d_name, ".rng")) { a 172 lib/common/schemas.c } else if (!version_from_filename(a->d_name, &version)) { a 175 lib/common/schemas.c } else if (strcmp(a->d_name, "pacemaker-1.1.rng") == 0) { a 188 lib/common/schemas.c schema_sort(const struct dirent **a, const struct dirent **b) a 193 lib/common/schemas.c if (!version_from_filename(a[0]->d_name, &a_version) a 150 lib/common/strings.c safe_str_neq(const char *a, const char *b) a 152 lib/common/strings.c if (a == b) { a 155 lib/common/strings.c } else if (a == NULL || b == NULL) { a 158 lib/common/strings.c } else if (strcasecmp(a, b) == 0) { a 213 lib/common/strings.c crm_str_eq(const char *a, const char *b, gboolean use_case) a 216 lib/common/strings.c return g_strcmp0(a, b) == 0; a 219 lib/common/strings.c } else if (a == b) { a 222 lib/common/strings.c } else if (a == NULL || b == NULL) { a 226 lib/common/strings.c } else if (strcasecmp(a, b) == 0) { a 472 lib/common/strings.c crm_alpha_sort(gconstpointer a, gconstpointer b) a 474 lib/common/strings.c if (!a && !b) { a 476 lib/common/strings.c } else if (!a) { a 481 lib/common/strings.c return strcasecmp(a, b); a 230 lib/common/xml.c crm_attr_dirty(xmlAttr *a) a 232 lib/common/xml.c xmlNode *parent = a->parent; a 235 lib/common/xml.c p = a->_private; a 4978 lib/common/xml.c sort_pairs(gconstpointer a, gconstpointer b) a 4981 lib/common/xml.c const name_value_t *pair_a = a; a 4984 lib/common/xml.c CRM_ASSERT(a != NULL); a 1642 lib/fencing/st_client.c stonithlib_GCompareFunc(gconstpointer a, gconstpointer b) a 1645 lib/fencing/st_client.c const stonith_notify_client_t *a_client = a; a 340 lib/gnu/md5.c #define OP(a, b, c, d, s, T) \ a 343 lib/gnu/md5.c a += FF (b, c, d) + (*cwp++ = SWAP (*words)) + T; \ a 345 lib/gnu/md5.c CYCLIC (a, s); \ a 346 lib/gnu/md5.c a += b; \ a 386 lib/gnu/md5.c #define OP(f, a, b, c, d, k, s, T) \ a 389 lib/gnu/md5.c a += f (b, c, d) + correct_words[k] + T; \ a 390 lib/gnu/md5.c CYCLIC (a, s); \ a 391 lib/gnu/md5.c a += b; \ a 81 lib/gnu/stdalign.in.h # define _Alignas(a) __attribute__ ((__aligned__ (a))) a 83 lib/gnu/stdalign.in.h # define _Alignas(a) __declspec (align (a)) a 683 lib/pengine/rules.c sort_pairs(gconstpointer a, gconstpointer b) a 685 lib/pengine/rules.c const sorted_set_t *pair_a = a; a 688 lib/pengine/rules.c if (a == NULL && b == NULL) { a 690 lib/pengine/rules.c } else if (a == NULL) { a 35 lib/pengine/unpack.h extern gint sort_op_by_callid(gconstpointer a, gconstpointer b); a 225 lib/pengine/utils.c sort_node_uname(gconstpointer a, gconstpointer b) a 227 lib/pengine/utils.c const node_t *node_a = a; a 365 lib/pengine/utils.c sort_rsc_index(gconstpointer a, gconstpointer b) a 367 lib/pengine/utils.c const resource_t *resource1 = (const resource_t *)a; a 370 lib/pengine/utils.c if (a == NULL && b == NULL) { a 373 lib/pengine/utils.c if (a == NULL) { a 392 lib/pengine/utils.c sort_rsc_priority(gconstpointer a, gconstpointer b) a 394 lib/pengine/utils.c const resource_t *resource1 = (const resource_t *)a; a 397 lib/pengine/utils.c if (a == NULL && b == NULL) { a 400 lib/pengine/utils.c if (a == NULL) { a 1560 lib/pengine/utils.c sort_op_by_callid(gconstpointer a, gconstpointer b) a 1568 lib/pengine/utils.c const xmlNode *xml_a = a; a 157 lib/transition/graph.c crm_action_t *a = (crm_action_t *) lpc->data; a 159 lib/transition/graph.c if (a->type == action_type_pseudo) { a 167 lib/transition/graph.c } else if(graph_fns->allowed && graph_fns->allowed(graph, a) == FALSE) { a 158 libltdl/libltdl/lt_system.h # define LT__CONC(a, b) a##b a 159 libltdl/libltdl/lt_system.h # define LT_CONC(a, b) LT__CONC(a, b) a 162 libltdl/libltdl/lt_system.h # define LT__CONC3(a, b, c) a##b##c a 163 libltdl/libltdl/lt_system.h # define LT_CONC3(a, b, c) LT__CONC3(a, b, c) a 31 mcp/pacemaker.h #define SIZEOF(a) (sizeof(a) / sizeof(a[0])) a 1034 pengine/allocate.c sort_rsc_process_order(gconstpointer a, gconstpointer b, gpointer data) a 1043 pengine/allocate.c resource_t *resource1 = (resource_t *) convert_const_pointer(a); a 1052 pengine/allocate.c if (a == NULL && b == NULL) { a 1055 pengine/allocate.c if (a == NULL) { a 30 pengine/clone.c gint sort_clone_instance(gconstpointer a, gconstpointer b, gpointer data_set); a 34 pengine/clone.c sort_rsc_id(gconstpointer a, gconstpointer b) a 36 pengine/clone.c const resource_t *resource1 = (const resource_t *)a; a 78 pengine/clone.c sort_clone_instance(gconstpointer a, gconstpointer b, gpointer data_set) a 87 pengine/clone.c const resource_t *resource1 = (const resource_t *)a; a 1123 pengine/constraints.c sort_cons_priority_lh(gconstpointer a, gconstpointer b) a 1125 pengine/constraints.c const rsc_colocation_t *rsc_constraint1 = (const rsc_colocation_t *)a; a 1128 pengine/constraints.c if (a == NULL) { a 1157 pengine/constraints.c sort_cons_priority_rh(gconstpointer a, gconstpointer b) a 1159 pengine/constraints.c const rsc_colocation_t *rsc_constraint1 = (const rsc_colocation_t *)a; a 1162 pengine/constraints.c if (a == NULL) { a 41 pengine/container.c gint sort_clone_instance(gconstpointer a, gconstpointer b, gpointer data_set); a 1390 pengine/graph.c sort_action_id(gconstpointer a, gconstpointer b) a 1392 pengine/graph.c const action_wrapper_t *action_wrapper2 = (const action_wrapper_t *)a; a 1395 pengine/graph.c if (a == NULL) { a 29 pengine/master.c extern gint sort_clone_instance(gconstpointer a, gconstpointer b, gpointer data_set); a 232 pengine/master.c sort_master_instance(gconstpointer a, gconstpointer b, gpointer data_set) a 238 pengine/master.c const resource_t *resource1 = (const resource_t *)a; a 247 pengine/master.c rc = sort_rsc_index(a, b); a 262 pengine/master.c return sort_clone_instance(a, b, data_set); a 2159 pengine/native.c #define log_change(a, fmt, args...) do { \ a 2160 pengine/native.c if(a && a->reason && terminal) { \ a 2161 pengine/native.c printf(" * "fmt" \tdue to %s\n", ##args, a->reason); \ a 2162 pengine/native.c } else if(a && a->reason) { \ a 2163 pengine/native.c crm_notice(fmt" \tdue to %s", ##args, a->reason); \ a 31 pengine/notif.c sort_notify_entries(gconstpointer a, gconstpointer b) a 34 pengine/notif.c const notify_entry_t *entry_a = a; a 138 pengine/utils.c sort_node_weight(gconstpointer a, gconstpointer b, gpointer data) a 140 pengine/utils.c const node_t *node1 = (const node_t *)a; a 149 pengine/utils.c if (a == NULL) { a 42 pengine/utils.h extern gint sort_node_weight(gconstpointer a, gconstpointer b, gpointer data_set); a 356 replace/uuid_parse.c unsigned char *a; a 366 replace/uuid_parse.c # define max(a,b) ((a) > (b) ? (a) : (b)) a 392 replace/uuid_parse.c a = (unsigned char *)&ifr.ifr_hwaddr.sa_data; a 397 replace/uuid_parse.c a = (unsigned char *)ifr.ifr_enaddr; a 407 replace/uuid_parse.c if (!a[0] && !a[1] && !a[2] && !a[3] && !a[4] && !a[5]) a 410 replace/uuid_parse.c memcpy(node_id, a, 6); a 1693 tools/crm_mon.c compare_attribute(gconstpointer a, gconstpointer b) a 1697 tools/crm_mon.c rc = strcmp((const char *)a, (const char *)b); a 221 tools/crm_node.c compare_node_uname(gconstpointer a, gconstpointer b) a 223 tools/crm_node.c const crm_node_t *a_node = a; a 671 tools/crm_node.c member_sort(gconstpointer a, gconstpointer b) a 673 tools/crm_node.c const crm_node_t *node_a = a; a 1387 tools/crm_resource_runtime.c action_t *a = (action_t *) action->data; a 1389 tools/crm_resource_runtime.c if (action_is_pending(a)) { a 1390 tools/crm_resource_runtime.c fprintf(stderr, "\tAction %d: %s", a->id, a->uuid); a 1391 tools/crm_resource_runtime.c if (a->node) { a 1392 tools/crm_resource_runtime.c fprintf(stderr, "\ton %s", a->node->details->uname);