device 188 daemons/fenced/fenced_cib.c fenced_device_t *device = value; device 190 daemons/fenced/fenced_cib.c if (pcmk_is_set(device->flags, fenced_df_cib_registered)) { device 191 daemons/fenced/fenced_cib.c fenced_device_set_flags(device, fenced_df_dirty); device 211 daemons/fenced/fenced_cib.c fenced_device_t *device = value; device 213 daemons/fenced/fenced_cib.c return pcmk_is_set(device->flags, fenced_df_dirty); device 77 daemons/fenced/fenced_commands.c static void search_devices_record_result(struct device_search_s *search, const char *device, device 81 daemons/fenced/fenced_commands.c static void read_action_metadata(fenced_device_t *device); device 101 daemons/fenced/fenced_commands.c char *device; device 178 daemons/fenced/fenced_commands.c is_action_required(const char *action, const fenced_device_t *device) device 180 daemons/fenced/fenced_commands.c return (device != NULL) device 181 daemons/fenced/fenced_commands.c && pcmk_is_set(device->flags, fenced_df_auto_unfence) device 186 daemons/fenced/fenced_commands.c get_action_delay_max(const fenced_device_t *device, const char *action) device 195 daemons/fenced/fenced_commands.c value = g_hash_table_lookup(device->params, PCMK_STONITH_DELAY_MAX); device 205 daemons/fenced/fenced_commands.c get_action_delay_base(const fenced_device_t *device, const char *action, device 215 daemons/fenced/fenced_commands.c hash_value = g_hash_table_lookup(device->params, PCMK_STONITH_DELAY_BASE); device 271 daemons/fenced/fenced_commands.c get_action_timeout(const fenced_device_t *device, const char *action, device 274 daemons/fenced/fenced_commands.c if (action && device && device->params) { device 282 daemons/fenced/fenced_commands.c && !pcmk_is_set(device->flags, fenced_df_supports_reboot)) { device 284 daemons/fenced/fenced_commands.c device->id); device 290 daemons/fenced/fenced_commands.c value = g_hash_table_lookup(device->params, buffer); device 310 daemons/fenced/fenced_commands.c if ((cmd == NULL) || (cmd->device == NULL) || (device_table == NULL)) { device 313 daemons/fenced/fenced_commands.c return g_hash_table_lookup(device_table, cmd->device); device 330 daemons/fenced/fenced_commands.c fenced_device_t *device = g_hash_table_lookup(device_table, device_id); device 332 daemons/fenced/fenced_commands.c if ((device != NULL) && (device->params != NULL)) { device 333 daemons/fenced/fenced_commands.c action = g_hash_table_lookup(device->params, "pcmk_reboot_action"); device 351 daemons/fenced/fenced_commands.c fenced_device_t *device = g_hash_table_lookup(device_table, device_id); device 353 daemons/fenced/fenced_commands.c if (device != NULL) { device 354 daemons/fenced/fenced_commands.c return pcmk_is_set(device->flags, fenced_df_supports_on); device 374 daemons/fenced/fenced_commands.c free(cmd->device); device 439 daemons/fenced/fenced_commands.c cmd->device = crm_element_value_copy(op, PCMK__XA_ST_DEVICE_ID); device 450 daemons/fenced/fenced_commands.c get_action_limit(fenced_device_t *device) device 455 daemons/fenced/fenced_commands.c value = g_hash_table_lookup(device->params, PCMK_STONITH_ACTION_LIMIT); device 465 daemons/fenced/fenced_commands.c get_active_cmds(fenced_device_t *device) device 471 daemons/fenced/fenced_commands.c CRM_CHECK(device != NULL, return 0); device 478 daemons/fenced/fenced_commands.c if (cmd->active_on == device) { device 490 daemons/fenced/fenced_commands.c fenced_device_t *device = cmd->activating_on; device 492 daemons/fenced/fenced_commands.c if (device == NULL) { device 496 daemons/fenced/fenced_commands.c device = cmd->active_on; device 499 daemons/fenced/fenced_commands.c pcmk__assert(device != NULL); device 503 daemons/fenced/fenced_commands.c pcmk__s(cmd->target, ""), device->id, cmd->timeout); device 504 daemons/fenced/fenced_commands.c cmd->active_on = device; device 510 daemons/fenced/fenced_commands.c fenced_device_t *device = data; device 513 daemons/fenced/fenced_commands.c switch (get_agent_metadata(device->agent, &device->agent_metadata)) { device 515 daemons/fenced/fenced_commands.c if (device->agent_metadata) { device 516 daemons/fenced/fenced_commands.c read_action_metadata(device); device 517 daemons/fenced/fenced_commands.c device->default_host_arg = device 518 daemons/fenced/fenced_commands.c stonith__default_host_arg(device->agent_metadata); device 523 daemons/fenced/fenced_commands.c period_ms = pcmk__mainloop_timer_get_period(device->timer); device 525 daemons/fenced/fenced_commands.c mainloop_timer_set_period(device->timer, 2 * period_ms); device 555 daemons/fenced/fenced_commands.c stonith_device_execute(fenced_device_t *device) device 566 daemons/fenced/fenced_commands.c CRM_CHECK(device != NULL, return FALSE); device 568 daemons/fenced/fenced_commands.c active_cmds = get_active_cmds(device); device 569 daemons/fenced/fenced_commands.c action_limit = get_action_limit(device); device 572 daemons/fenced/fenced_commands.c device->id, action_limit, active_cmds, device 577 daemons/fenced/fenced_commands.c for (gIter = device->pending_ops; gIter != NULL; gIter = gIterNext) { device 588 daemons/fenced/fenced_commands.c device->id, pending_op->start_delay); device 592 daemons/fenced/fenced_commands.c device->pending_ops = g_list_remove_link(device->pending_ops, gIter); device 600 daemons/fenced/fenced_commands.c crm_trace("No actions using %s are needed", device->id); device 604 daemons/fenced/fenced_commands.c if (pcmk__str_any_of(device->agent, STONITH_WATCHDOG_AGENT, device 619 daemons/fenced/fenced_commands.c exec_rc = pcmk__substitute_secrets(device->id, device->params); device 624 daemons/fenced/fenced_commands.c device->id, pcmk_rc_str(exec_rc)); device 628 daemons/fenced/fenced_commands.c device->id, pcmk_rc_str(exec_rc)); device 638 daemons/fenced/fenced_commands.c && !pcmk_is_set(device->flags, fenced_df_supports_reboot)) { device 643 daemons/fenced/fenced_commands.c pcmk__s(cmd->target, ""), device->id, device->agent); device 647 daemons/fenced/fenced_commands.c action = stonith__action_create(device->agent, action_str, cmd->target, device 648 daemons/fenced/fenced_commands.c cmd->timeout, device->params, device 649 daemons/fenced/fenced_commands.c device->aliases, device->default_host_arg); device 653 daemons/fenced/fenced_commands.c cmd->activating_on = device; device 666 daemons/fenced/fenced_commands.c if (device->pending_ops) { device 667 daemons/fenced/fenced_commands.c mainloop_set_trigger(device->work); device 682 daemons/fenced/fenced_commands.c fenced_device_t *device = cmd_device(cmd); device 685 daemons/fenced/fenced_commands.c if (device) { device 686 daemons/fenced/fenced_commands.c mainloop_set_trigger(device->work); device 693 daemons/fenced/fenced_commands.c schedule_stonith_command(async_command_t *cmd, fenced_device_t *device) device 700 daemons/fenced/fenced_commands.c CRM_CHECK(device != NULL, return); device 702 daemons/fenced/fenced_commands.c if (cmd->device) { device 703 daemons/fenced/fenced_commands.c free(cmd->device); device 706 daemons/fenced/fenced_commands.c cmd->device = pcmk__str_copy(device->id); device 707 daemons/fenced/fenced_commands.c cmd->timeout = get_action_timeout(device, cmd->action, cmd->default_timeout); device 715 daemons/fenced/fenced_commands.c device->id, cmd->origin, cmd->remote_op_id, cmd->timeout); device 721 daemons/fenced/fenced_commands.c device->id, cmd->client, cmd->timeout); device 724 daemons/fenced/fenced_commands.c device->pending_ops = g_list_append(device->pending_ops, cmd); device 725 daemons/fenced/fenced_commands.c mainloop_set_trigger(device->work); device 732 daemons/fenced/fenced_commands.c delay_max = get_action_delay_max(device, cmd->action); device 733 daemons/fenced/fenced_commands.c delay_base = get_action_delay_base(device, cmd->action, cmd->target); device 741 daemons/fenced/fenced_commands.c delay_base, delay_max, cmd->action, device->id); device 757 daemons/fenced/fenced_commands.c device->id, cmd->start_delay, cmd->timeout, device 768 daemons/fenced/fenced_commands.c fenced_device_t *device = data; device 770 daemons/fenced/fenced_commands.c g_hash_table_destroy(device->params); device 771 daemons/fenced/fenced_commands.c g_hash_table_destroy(device->aliases); device 773 daemons/fenced/fenced_commands.c for (gIter = device->pending_ops; gIter != NULL; gIter = gIter->next) { device 776 daemons/fenced/fenced_commands.c crm_warn("Removal of device '%s' purged operation '%s'", device->id, cmd->action); device 780 daemons/fenced/fenced_commands.c g_list_free(device->pending_ops); device 782 daemons/fenced/fenced_commands.c g_list_free_full(device->targets, free); device 784 daemons/fenced/fenced_commands.c if (device->timer) { device 785 daemons/fenced/fenced_commands.c mainloop_timer_stop(device->timer); device 786 daemons/fenced/fenced_commands.c mainloop_timer_del(device->timer); device 789 daemons/fenced/fenced_commands.c mainloop_destroy_trigger(device->work); device 791 daemons/fenced/fenced_commands.c pcmk__xml_free(device->agent_metadata); device 792 daemons/fenced/fenced_commands.c free(device->namespace); device 793 daemons/fenced/fenced_commands.c if (device->on_target_actions != NULL) { device 794 daemons/fenced/fenced_commands.c g_string_free(device->on_target_actions, TRUE); device 796 daemons/fenced/fenced_commands.c free(device->agent); device 797 daemons/fenced/fenced_commands.c free(device->id); device 798 daemons/fenced/fenced_commands.c free(device); device 961 daemons/fenced/fenced_commands.c read_action_metadata(fenced_device_t *device) device 967 daemons/fenced/fenced_commands.c if (device->agent_metadata == NULL) { device 971 daemons/fenced/fenced_commands.c xpath = pcmk__xpath_search(device->agent_metadata->doc, device 990 daemons/fenced/fenced_commands.c fenced_device_set_flags(device, fenced_df_supports_list); device 993 daemons/fenced/fenced_commands.c fenced_device_set_flags(device, fenced_df_supports_status); device 996 daemons/fenced/fenced_commands.c fenced_device_set_flags(device, fenced_df_supports_reboot); device 1008 daemons/fenced/fenced_commands.c fenced_device_set_flags(device, fenced_df_auto_unfence); device 1010 daemons/fenced/fenced_commands.c fenced_device_set_flags(device, fenced_df_supports_on); device 1016 daemons/fenced/fenced_commands.c pcmk__add_word(&(device->on_target_actions), 64, action); device 1052 daemons/fenced/fenced_commands.c fenced_device_t *device = NULL; device 1055 daemons/fenced/fenced_commands.c CRM_CHECK(agent != NULL, return device); device 1057 daemons/fenced/fenced_commands.c device = pcmk__assert_alloc(1, sizeof(fenced_device_t)); device 1059 daemons/fenced/fenced_commands.c device->id = crm_element_value_copy(dev, PCMK_XA_ID); device 1060 daemons/fenced/fenced_commands.c device->agent = agent; device 1061 daemons/fenced/fenced_commands.c device->namespace = crm_element_value_copy(dev, PCMK__XA_NAMESPACE); device 1062 daemons/fenced/fenced_commands.c device->params = xml2list(dev); device 1064 daemons/fenced/fenced_commands.c value = g_hash_table_lookup(device->params, PCMK_STONITH_HOST_LIST); device 1066 daemons/fenced/fenced_commands.c device->targets = stonith__parse_targets(value); device 1069 daemons/fenced/fenced_commands.c value = g_hash_table_lookup(device->params, PCMK_STONITH_HOST_MAP); device 1070 daemons/fenced/fenced_commands.c device->aliases = build_port_aliases(value, &(device->targets)); device 1072 daemons/fenced/fenced_commands.c value = target_list_type(device); device 1074 daemons/fenced/fenced_commands.c && (device->targets != NULL)) { device 1077 daemons/fenced/fenced_commands.c g_list_free_full(device->targets, free); device 1078 daemons/fenced/fenced_commands.c device->targets = NULL; device 1080 daemons/fenced/fenced_commands.c switch (get_agent_metadata(device->agent, &device->agent_metadata)) { device 1082 daemons/fenced/fenced_commands.c if (device->agent_metadata) { device 1083 daemons/fenced/fenced_commands.c read_action_metadata(device); device 1084 daemons/fenced/fenced_commands.c device->default_host_arg = device 1085 daemons/fenced/fenced_commands.c stonith__default_host_arg(device->agent_metadata); device 1090 daemons/fenced/fenced_commands.c if (device->timer == NULL) { device 1091 daemons/fenced/fenced_commands.c device->timer = mainloop_timer_add("get_agent_metadata", 10 * 1000, device 1092 daemons/fenced/fenced_commands.c TRUE, get_agent_metadata_cb, device); device 1094 daemons/fenced/fenced_commands.c if (!mainloop_timer_running(device->timer)) { device 1095 daemons/fenced/fenced_commands.c mainloop_timer_start(device->timer); device 1105 daemons/fenced/fenced_commands.c fenced_device_set_flags(device, fenced_df_auto_unfence); device 1108 daemons/fenced/fenced_commands.c if (is_action_required(PCMK_ACTION_ON, device)) { device 1109 daemons/fenced/fenced_commands.c crm_info("Fencing device '%s' requires unfencing", device->id); device 1112 daemons/fenced/fenced_commands.c if (device->on_target_actions != NULL) { device 1114 daemons/fenced/fenced_commands.c "on target", device->id, device 1115 daemons/fenced/fenced_commands.c (const char *) device->on_target_actions->str); device 1118 daemons/fenced/fenced_commands.c device->work = mainloop_add_trigger(G_PRIORITY_HIGH, stonith_device_dispatch, device); device 1120 daemons/fenced/fenced_commands.c return device; device 1124 daemons/fenced/fenced_commands.c schedule_internal_command(const char *origin, fenced_device_t *device, device 1140 daemons/fenced/fenced_commands.c cmd->device = pcmk__str_copy(device->id); device 1148 daemons/fenced/fenced_commands.c schedule_stonith_command(cmd, device); device 1324 daemons/fenced/fenced_commands.c device_has_duplicate(const fenced_device_t *device) device 1326 daemons/fenced/fenced_commands.c fenced_device_t *dup = g_hash_table_lookup(device_table, device->id); device 1329 daemons/fenced/fenced_commands.c crm_trace("No match for %s", device->id); device 1332 daemons/fenced/fenced_commands.c } else if (!pcmk__str_eq(dup->agent, device->agent, pcmk__str_casei)) { device 1333 daemons/fenced/fenced_commands.c crm_trace("Different agent: %s != %s", dup->agent, device->agent); device 1338 daemons/fenced/fenced_commands.c if (device_params_diff(device->params, dup->params) || device 1339 daemons/fenced/fenced_commands.c device_params_diff(dup->params, device->params)) { device 1352 daemons/fenced/fenced_commands.c fenced_device_t *device = build_device_from_xml(dev); device 1355 daemons/fenced/fenced_commands.c CRM_CHECK(device != NULL, return ENOMEM); device 1358 daemons/fenced/fenced_commands.c if (pcmk__str_eq(device->id, STONITH_WATCHDOG_ID, pcmk__str_none) device 1359 daemons/fenced/fenced_commands.c || pcmk__str_any_of(device->agent, STONITH_WATCHDOG_AGENT, device 1368 daemons/fenced/fenced_commands.c if (!pcmk__str_any_of(device->agent, STONITH_WATCHDOG_AGENT, device 1372 daemons/fenced/fenced_commands.c pcmk__s(device->agent, "")); device 1376 daemons/fenced/fenced_commands.c if (!pcmk__str_eq(device->id, STONITH_WATCHDOG_ID, pcmk__str_none)) { device 1379 daemons/fenced/fenced_commands.c pcmk__s(device->id, "")); device 1384 daemons/fenced/fenced_commands.c if (pcmk__str_eq(device->agent, STONITH_WATCHDOG_AGENT, device 1390 daemons/fenced/fenced_commands.c stonith_watchdog_targets = device->targets; device 1391 daemons/fenced/fenced_commands.c device->targets = NULL; device 1397 daemons/fenced/fenced_commands.c device->targets = NULL; device 1398 daemons/fenced/fenced_commands.c stonith_device_remove(device->id, from_cib); device 1403 daemons/fenced/fenced_commands.c g_list_free_full(device->targets, free); device 1404 daemons/fenced/fenced_commands.c device->targets = stonith__parse_targets(local_node_name); device 1405 daemons/fenced/fenced_commands.c pcmk__insert_dup(device->params, PCMK_STONITH_HOST_LIST, device 1409 daemons/fenced/fenced_commands.c dup = device_has_duplicate(device); device 1414 daemons/fenced/fenced_commands.c device->id, ndevices, pcmk__plural_s(ndevices)); device 1415 daemons/fenced/fenced_commands.c free_device(device); device 1416 daemons/fenced/fenced_commands.c device = dup; device 1417 daemons/fenced/fenced_commands.c fenced_device_clear_flags(device, fenced_df_dirty); device 1421 daemons/fenced/fenced_commands.c fenced_device_t *old = g_hash_table_lookup(device_table, device->id); device 1430 daemons/fenced/fenced_commands.c crm_info("Overwriting existing entry for %s from CIB", device->id); device 1431 daemons/fenced/fenced_commands.c device->pending_ops = old->pending_ops; device 1432 daemons/fenced/fenced_commands.c fenced_device_set_flags(device, fenced_df_api_registered); device 1434 daemons/fenced/fenced_commands.c if (device->pending_ops != NULL) { device 1435 daemons/fenced/fenced_commands.c mainloop_set_trigger(device->work); device 1438 daemons/fenced/fenced_commands.c g_hash_table_replace(device_table, device->id, device); device 1442 daemons/fenced/fenced_commands.c device->id, ndevices, pcmk__plural_s(ndevices)); device 1446 daemons/fenced/fenced_commands.c fenced_device_set_flags(device, fenced_df_cib_registered); device 1448 daemons/fenced/fenced_commands.c fenced_device_set_flags(device, fenced_df_api_registered); device 1453 daemons/fenced/fenced_commands.c free_device(device); device 1461 daemons/fenced/fenced_commands.c fenced_device_t *device = g_hash_table_lookup(device_table, id); device 1464 daemons/fenced/fenced_commands.c if (device == NULL) { device 1472 daemons/fenced/fenced_commands.c fenced_device_clear_flags(device, fenced_df_cib_registered); device 1474 daemons/fenced/fenced_commands.c fenced_device_clear_flags(device, device 1478 daemons/fenced/fenced_commands.c if (!pcmk_any_flags_set(device->flags, device 1487 daemons/fenced/fenced_commands.c const bool cib_registered = pcmk_is_set(device->flags, device 1904 daemons/fenced/fenced_commands.c fenced_device_t *device = NULL; device 1935 daemons/fenced/fenced_commands.c device = g_hash_table_lookup(device_table, id); device 1936 daemons/fenced/fenced_commands.c if (device == NULL) { device 1943 daemons/fenced/fenced_commands.c } else if (!pcmk_is_set(device->flags, fenced_df_api_registered) device 1960 daemons/fenced/fenced_commands.c schedule_stonith_command(cmd, device); device 1965 daemons/fenced/fenced_commands.c search_devices_record_result(struct device_search_s *search, const char *device, gboolean can_fence) device 1968 daemons/fenced/fenced_commands.c if (can_fence && device) { device 1970 daemons/fenced/fenced_commands.c fenced_device_t *dev = g_hash_table_lookup(device_table, device); device 1976 daemons/fenced/fenced_commands.c pcmk__str_copy(device)); device 2007 daemons/fenced/fenced_commands.c localhost_is_eligible(const fenced_device_t *device, const char *action, device 2013 daemons/fenced/fenced_commands.c if ((device != NULL) && (action != NULL) device 2014 daemons/fenced/fenced_commands.c && (device->on_target_actions != NULL) device 2015 daemons/fenced/fenced_commands.c && (strstr((const char*) device->on_target_actions->str, device 2020 daemons/fenced/fenced_commands.c "host, not %s", action, device->id, target); device 2044 daemons/fenced/fenced_commands.c localhost_is_eligible_with_remap(const fenced_device_t *device, device 2049 daemons/fenced/fenced_commands.c if (localhost_is_eligible(device, action, target, allow_self)) { device 2061 daemons/fenced/fenced_commands.c if (localhost_is_eligible(device, PCMK_ACTION_OFF, target, allow_self) device 2062 daemons/fenced/fenced_commands.c || localhost_is_eligible(device, PCMK_ACTION_ON, target, FALSE)) { device 2263 daemons/fenced/fenced_commands.c const fenced_device_t *device, device 2270 daemons/fenced/fenced_commands.c CRM_CHECK(xml && action && device, return); device 2273 daemons/fenced/fenced_commands.c if (is_action_required(action, device)) { device 2274 daemons/fenced/fenced_commands.c crm_trace("Action '%s' is required using %s", action, device->id); device 2279 daemons/fenced/fenced_commands.c action_specific_timeout = get_action_timeout(device, action, 0); device 2282 daemons/fenced/fenced_commands.c action, action_specific_timeout, device->id); device 2287 daemons/fenced/fenced_commands.c delay_max = get_action_delay_max(device, action); device 2290 daemons/fenced/fenced_commands.c action, delay_max, device->id); device 2294 daemons/fenced/fenced_commands.c delay_base = get_action_delay_base(device, action, target); device 2301 daemons/fenced/fenced_commands.c action, delay_max, device->id); device 2304 daemons/fenced/fenced_commands.c action, delay_base, device->id); device 2308 daemons/fenced/fenced_commands.c action, delay_base, delay_max, device->id); device 2323 daemons/fenced/fenced_commands.c add_disallowed(xmlNode *xml, const char *action, const fenced_device_t *device, device 2326 daemons/fenced/fenced_commands.c if (!localhost_is_eligible(device, action, target, allow_self)) { device 2328 daemons/fenced/fenced_commands.c action, device->id); device 2345 daemons/fenced/fenced_commands.c const fenced_device_t *device, const char *target, device 2351 daemons/fenced/fenced_commands.c add_action_specific_attributes(child, action, device, target); device 2352 daemons/fenced/fenced_commands.c add_disallowed(child, action, device, target, allow_self); device 2407 daemons/fenced/fenced_commands.c fenced_device_t *device = g_hash_table_lookup(device_table, lpc->data); device 2411 daemons/fenced/fenced_commands.c if (!device) { device 2420 daemons/fenced/fenced_commands.c crm_xml_add(dev, PCMK_XA_ID, device->id); device 2421 daemons/fenced/fenced_commands.c crm_xml_add(dev, PCMK__XA_NAMESPACE, device->namespace); device 2422 daemons/fenced/fenced_commands.c crm_xml_add(dev, PCMK_XA_AGENT, device->agent); device 2426 daemons/fenced/fenced_commands.c pcmk_is_set(device->flags, fenced_df_verified)); device 2428 daemons/fenced/fenced_commands.c crm_xml_add_int(dev, PCMK__XA_ST_DEVICE_SUPPORT_FLAGS, device->flags); device 2433 daemons/fenced/fenced_commands.c if (!pcmk_is_set(device->flags, fenced_df_supports_reboot) device 2437 daemons/fenced/fenced_commands.c device->id); device 2442 daemons/fenced/fenced_commands.c add_action_specific_attributes(dev, action, device, query->target); device 2455 daemons/fenced/fenced_commands.c add_disallowed(dev, action, device, query->target, device 2458 daemons/fenced/fenced_commands.c add_action_reply(dev, PCMK_ACTION_OFF, device, query->target, device 2461 daemons/fenced/fenced_commands.c add_action_reply(dev, PCMK_ACTION_ON, device, query->target, FALSE); device 2468 daemons/fenced/fenced_commands.c g_hash_table_foreach(device->params, hash2field, attrs); device 2544 daemons/fenced/fenced_commands.c if (cmd->device != NULL) { device 2545 daemons/fenced/fenced_commands.c pcmk__g_strcat(msg, "using ", cmd->device, " ", NULL); device 2578 daemons/fenced/fenced_commands.c char *prefix = crm_strdup_printf("%s[%d]", cmd->device, pid); device 2640 daemons/fenced/fenced_commands.c fenced_device_t *device = cmd_device(cmd); device 2642 daemons/fenced/fenced_commands.c if (device) { device 2644 daemons/fenced/fenced_commands.c cmd->action, device->id); device 2645 daemons/fenced/fenced_commands.c device->pending_ops = g_list_remove(device->pending_ops, cmd); device 2692 daemons/fenced/fenced_commands.c !pcmk__str_eq(cmd->device, cmd_other->device, pcmk__str_casei)) { device 2745 daemons/fenced/fenced_commands.c fenced_device_t *device = NULL; device 2750 daemons/fenced/fenced_commands.c device = cmd_device(cmd); device 2754 daemons/fenced/fenced_commands.c if (device) { device 2755 daemons/fenced/fenced_commands.c if (!pcmk_is_set(device->flags, fenced_df_verified) device 2761 daemons/fenced/fenced_commands.c fenced_device_set_flags(device, fenced_df_verified); device 2764 daemons/fenced/fenced_commands.c mainloop_set_trigger(device->work); device 2771 daemons/fenced/fenced_commands.c && !is_action_required(cmd->action, device)) { device 2796 daemons/fenced/fenced_commands.c fenced_device_t *device = NULL; device 2803 daemons/fenced/fenced_commands.c device = g_hash_table_lookup(device_table, devices->data); device 2806 daemons/fenced/fenced_commands.c if (device == NULL) { // No device found device 2824 daemons/fenced/fenced_commands.c schedule_stonith_command(cmd, device); device 2839 daemons/fenced/fenced_commands.c fenced_device_t *device = NULL; device 2857 daemons/fenced/fenced_commands.c device = g_hash_table_lookup(device_table, device_id); device 2858 daemons/fenced/fenced_commands.c if (device == NULL) { device 2864 daemons/fenced/fenced_commands.c schedule_stonith_command(cmd, device); device 2972 daemons/fenced/fenced_commands.c crm_xml_add(reply, PCMK__XA_ST_DEVICE_ID, cmd->device); device 3182 daemons/fenced/fenced_commands.c const char *device = crm_element_value(dev, PCMK__XA_ST_DEVICE_ID); device 3184 daemons/fenced/fenced_commands.c if (pcmk__str_eq(device, "manual_ack", pcmk__str_casei)) { device 3294 daemons/fenced/fenced_commands.c const char *device = crm_element_value(dev, PCMK__XA_ST_DEVICE_ID); device 3301 daemons/fenced/fenced_commands.c target, (device? device : "any device")); device 3314 daemons/fenced/fenced_commands.c (device == NULL)? "(any)" : device); device 188 daemons/fenced/fenced_remote.c const char *device, uint32_t support_action_only) device 190 daemons/fenced/fenced_remote.c device_properties_t *props = g_hash_table_lookup(peer->devices, device); device 218 daemons/fenced/fenced_remote.c const char *device, gboolean verified_devices_only) device 220 daemons/fenced/fenced_remote.c device_properties_t *props = find_peer_device(op, peer, device, device 228 daemons/fenced/fenced_remote.c device, peer->host, device 813 daemons/fenced/fenced_remote.c add_required_device(remote_fencing_op_t *op, const char *device) device 815 daemons/fenced/fenced_remote.c GList *match = g_list_find_custom(op->automatic_list, device, device 820 daemons/fenced/fenced_remote.c pcmk__str_copy(device)); device 832 daemons/fenced/fenced_remote.c remove_required_device(remote_fencing_op_t *op, const char *device) device 834 daemons/fenced/fenced_remote.c GList *match = g_list_find_custom(op->automatic_list, device, device 853 daemons/fenced/fenced_remote.c const char *device = lpc->data; device 856 daemons/fenced/fenced_remote.c pcmk__str_copy(device)); device 1393 daemons/fenced/fenced_remote.c is_watchdog_fencing(const remote_fencing_op_t *op, const char *device) device 1397 daemons/fenced/fenced_remote.c && pcmk__str_eq(device, STONITH_WATCHDOG_ID, pcmk__str_null_matches) device 1403 daemons/fenced/fenced_remote.c find_best_peer(const char *device, remote_fencing_op_t * op, enum find_best_peer_options options) device 1408 daemons/fenced/fenced_remote.c if (!device && pcmk_is_set(op->call_options, st_opt_topology)) { device 1427 daemons/fenced/fenced_remote.c if (grab_peer_device(op, peer, device, verified_devices_only)) { device 1446 daemons/fenced/fenced_remote.c const char *device = NULL; device 1452 daemons/fenced/fenced_remote.c device = op->devices->data; device 1454 daemons/fenced/fenced_remote.c op->action, op->target, device); device 1461 daemons/fenced/fenced_remote.c peer = find_best_peer(device, op, FIND_PEER_SKIP_TARGET|FIND_PEER_VERIFIED_ONLY); device 1463 daemons/fenced/fenced_remote.c crm_trace("Found verified peer %s for %s", peer->host, device?device:"<any>"); device 1473 daemons/fenced/fenced_remote.c peer = find_best_peer(device, op, FIND_PEER_SKIP_TARGET); device 1483 daemons/fenced/fenced_remote.c peer = find_best_peer(device, op, FIND_PEER_TARGET_ONLY); device 1500 daemons/fenced/fenced_remote.c if (is_watchdog_fencing(op, device)) { device 1506 daemons/fenced/fenced_remote.c op->action, op->target, (device? device : "any device")); device 1513 daemons/fenced/fenced_remote.c const remote_fencing_op_t *op, const char *device) device 1517 daemons/fenced/fenced_remote.c if (!is_watchdog_fencing(op, device)) { device 1530 daemons/fenced/fenced_remote.c op->action, specified_timeout, device? device : "watchdog", device 1546 daemons/fenced/fenced_remote.c const peer_device_info_t *peer, const char *device, device 1549 daemons/fenced/fenced_remote.c int timeout = valid_fencing_timeout(op->base_timeout, false, op, device); device 1552 daemons/fenced/fenced_remote.c if (!peer || !device) { device 1556 daemons/fenced/fenced_remote.c props = g_hash_table_lookup(peer->devices, device); device 1563 daemons/fenced/fenced_remote.c true, op, device); device 1784 daemons/fenced/fenced_remote.c advance_topology_device_in_level(remote_fencing_op_t *op, const char *device, device 1796 daemons/fenced/fenced_remote.c remove_required_device(op, device); device 1872 daemons/fenced/fenced_remote.c const char *device = NULL; device 1893 daemons/fenced/fenced_remote.c device = op->devices->data; device 1894 daemons/fenced/fenced_remote.c if (pcmk__str_eq(fenced_device_reboot_action(device), PCMK_ACTION_OFF, device 1898 daemons/fenced/fenced_remote.c op->target, device); device 1899 daemons/fenced/fenced_remote.c advance_topology_device_in_level(op, device, NULL); device 1902 daemons/fenced/fenced_remote.c if (!fenced_device_supports_on(device)) { device 1904 daemons/fenced/fenced_remote.c "doesn't support 'on'", op->target, device); device 1905 daemons/fenced/fenced_remote.c advance_topology_device_in_level(op, device, NULL); device 1935 daemons/fenced/fenced_remote.c device = op->devices->data; device 1940 daemons/fenced/fenced_remote.c timeout = get_device_timeout(op, peer, device, false); device 1967 daemons/fenced/fenced_remote.c if (device) { device 1969 daemons/fenced/fenced_remote.c get_device_timeout(op, peer, device, true); device 1972 daemons/fenced/fenced_remote.c peer->host, op->action, op->target, device, device 1974 daemons/fenced/fenced_remote.c crm_xml_add(remote_op, PCMK__XA_ST_DEVICE_ID, device); device 1991 daemons/fenced/fenced_remote.c if (!is_watchdog_fencing(op, device) device 2027 daemons/fenced/fenced_remote.c "after successful 'off'", device, op->target); device 2028 daemons/fenced/fenced_remote.c advance_topology_device_in_level(op, device, NULL); device 2049 daemons/fenced/fenced_remote.c if (is_watchdog_fencing(op, device) device 2094 daemons/fenced/fenced_remote.c op->action, op->target, (device? " using " : ""), device 2095 daemons/fenced/fenced_remote.c (device? device : ""), op->client_name, op->id); device 2128 daemons/fenced/fenced_remote.c GList *device = NULL; device 2146 daemons/fenced/fenced_remote.c for (device = tp->levels[i]; device; device = device->next) { device 2154 daemons/fenced/fenced_remote.c match = find_peer_device(op, peer, device->data, device 2179 daemons/fenced/fenced_remote.c parse_action_specific(const xmlNode *xml, const char *peer, const char *device, device 2188 daemons/fenced/fenced_remote.c peer, device, action, props->custom_action_timeout[phase]); device 2195 daemons/fenced/fenced_remote.c peer, device, props->delay_max[phase], action); device 2203 daemons/fenced/fenced_remote.c peer, device, props->delay_base[phase], action); device 2213 daemons/fenced/fenced_remote.c peer, device, action); device 2214 daemons/fenced/fenced_remote.c add_required_device(op, device); device 2224 daemons/fenced/fenced_remote.c peer, action, device); device 2239 daemons/fenced/fenced_remote.c peer_device_info_t *peer, const char *device) device 2248 daemons/fenced/fenced_remote.c g_hash_table_insert(peer->devices, pcmk__str_copy(device), props); device 2254 daemons/fenced/fenced_remote.c peer->host, device); device 2264 daemons/fenced/fenced_remote.c "(assuming unfencing): %s", device, pcmk_rc_str(rc)); device 2268 daemons/fenced/fenced_remote.c parse_action_specific(xml, peer->host, device, op_requested_action(op), device 2277 daemons/fenced/fenced_remote.c parse_action_specific(child, peer->host, device, PCMK_ACTION_OFF, device 2282 daemons/fenced/fenced_remote.c parse_action_specific(child, peer->host, device, PCMK_ACTION_ON, device 2313 daemons/fenced/fenced_remote.c const char *device = pcmk__xe_id(child); device 2315 daemons/fenced/fenced_remote.c if (device) { device 2316 daemons/fenced/fenced_remote.c add_device_properties(child, op, peer, device); device 2454 daemons/fenced/fenced_remote.c const char *device = NULL; device 2471 daemons/fenced/fenced_remote.c device = crm_element_value(dev, PCMK__XA_ST_DEVICE_ID); device 2495 daemons/fenced/fenced_remote.c if (op->devices && device && !pcmk__str_eq(op->devices->data, device, pcmk__str_casei)) { device 2498 daemons/fenced/fenced_remote.c device, (const char *) op->devices->data, op->action, op->target); device 2519 daemons/fenced/fenced_remote.c op->id, device, op->target); device 2524 daemons/fenced/fenced_remote.c const char *device = NULL; device 2534 daemons/fenced/fenced_remote.c device = crm_element_value(msg, PCMK__XA_ST_DEVICE_ID); device 2542 daemons/fenced/fenced_remote.c device, pcmk_exec_status_str(op->result.execution_status), device 2551 daemons/fenced/fenced_remote.c ((device == NULL)? "" : " using "), device 2552 daemons/fenced/fenced_remote.c ((device == NULL)? "" : device), device 2564 daemons/fenced/fenced_remote.c advance_topology_device_in_level(op, device, msg); device 72 daemons/fenced/pacemaker-fenced.h #define fenced_device_set_flags(device, set_flags) do { \ device 73 daemons/fenced/pacemaker-fenced.h pcmk__assert((device) != NULL); \ device 74 daemons/fenced/pacemaker-fenced.h (device)->flags = pcmk__set_flags_as(__func__, __LINE__, LOG_TRACE, \ device 75 daemons/fenced/pacemaker-fenced.h "Fence device", (device)->id, \ device 76 daemons/fenced/pacemaker-fenced.h (device)->flags, set_flags, \ device 88 daemons/fenced/pacemaker-fenced.h #define fenced_device_clear_flags(device, clear_flags) do { \ device 89 daemons/fenced/pacemaker-fenced.h pcmk__assert((device) != NULL); \ device 90 daemons/fenced/pacemaker-fenced.h (device)->flags = pcmk__clear_flags_as(__func__, __LINE__, \ device 92 daemons/fenced/pacemaker-fenced.h (device)->id, \ device 93 daemons/fenced/pacemaker-fenced.h (device)->flags, \ device 203 include/crm/stonith-ng.h char *device; device 1452 lib/fencing/st_client.c event->device = crm_element_value_copy(data, PCMK__XA_ST_DEVICE_ID); device 1465 lib/fencing/st_client.c event->device = crm_element_value_copy(data, PCMK__XA_ST_DEVICE_ID); device 1483 lib/fencing/st_client.c free(event->device); device 2752 lib/fencing/st_client.c const char *device = pcmk__s(event->device, "unknown"); device 2776 lib/fencing/st_client.c return crm_strdup_printf("A fencing device (%s) was added", device); device 2780 lib/fencing/st_client.c return crm_strdup_printf("A fencing device (%s) was removed", device); device 2785 lib/fencing/st_client.c device); device 2790 lib/fencing/st_client.c device); device 530 lib/fencing/st_output.c const char *device = va_arg(args, const char *); device 535 lib/fencing/st_output.c if (device) { device 536 lib/fencing/st_output.c char *buf = crm_strdup_printf("Validation of %s on %s %s", agent, device, device 556 lib/fencing/st_output.c const char *device = va_arg(args, const char *); device 561 lib/fencing/st_output.c if (device) { device 562 lib/fencing/st_output.c pcmk__indented_printf(out, "Validation of %s on %s %s\n", agent, device, device 578 lib/fencing/st_output.c const char *device = va_arg(args, const char *); device 589 lib/fencing/st_output.c if (device != NULL) { device 590 lib/fencing/st_output.c crm_xml_add(node, PCMK_XA_DEVICE, device); device 397 tools/stonith_admin.c const char *device = NULL; device 456 tools/stonith_admin.c device = options.register_dev; device 461 tools/stonith_admin.c device = options.query; device 466 tools/stonith_admin.c device = options.unregister_dev; device 471 tools/stonith_admin.c device = options.targets; device 589 tools/stonith_admin.c rc = st->cmds->monitor(st, st_opts, device, options.timeout); device 591 tools/stonith_admin.c rc = st->cmds->list(st, st_opts, device, NULL, options.timeout); device 597 tools/stonith_admin.c rc = pcmk__fence_list_targets(out, st, device, options.timeout*1000); device 616 tools/stonith_admin.c rc = st->cmds->register_device(st, st_opts, device, NULL, options.agent, device 623 tools/stonith_admin.c device, options.agent, pcmk_rc_str(rc)); device 629 tools/stonith_admin.c rc = st->cmds->remove_device(st, st_opts, device); device 633 tools/stonith_admin.c device, pcmk_rc_str(rc)); device 689 tools/stonith_admin.c device = NULL; device 691 tools/stonith_admin.c device = g_list_nth_data(options.devices, 0); device 694 tools/stonith_admin.c rc = pcmk__fence_validate(out, st, options.agent, device, options.params,