Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.3:Update
pacemaker.8750
pacemaker-core-line-number-of-callers-crm_set_c...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pacemaker-core-line-number-of-callers-crm_set_clear_bit.patch of Package pacemaker.8750
commit 0fbfe00e4764abc5d1bec4e6de7c116c95c8464c Author: Andrew Beekhof <andrew@beekhof.net> Date: Fri Feb 24 10:30:16 2017 +1100 Core: Track the line number of callers of crm_(set|clear)_bit Index: pacemaker-1.1.16+20170320.77ea74d/include/crm/pengine/internal.h =================================================================== --- pacemaker-1.1.16+20170320.77ea74d.orig/include/crm/pengine/internal.h +++ pacemaker-1.1.16+20170320.77ea74d/include/crm/pengine/internal.h @@ -28,8 +28,8 @@ # define pe_warn(fmt...) { was_processing_warning = TRUE; crm_config_warning = TRUE; crm_warn(fmt); } # define pe_proc_err(fmt...) { was_processing_error = TRUE; crm_err(fmt); } # define pe_proc_warn(fmt...) { was_processing_warning = TRUE; crm_warn(fmt); } -# define pe_set_action_bit(action, bit) action->flags = crm_set_bit(__FUNCTION__, action->uuid, action->flags, bit) -# define pe_clear_action_bit(action, bit) action->flags = crm_clear_bit(__FUNCTION__, action->uuid, action->flags, bit) +# define pe_set_action_bit(action, bit) action->flags = crm_set_bit(__FUNCTION__, __LINE__, action->uuid, action->flags, bit) +# define pe_clear_action_bit(action, bit) action->flags = crm_clear_bit(__FUNCTION__, __LINE__, action->uuid, action->flags, bit) typedef struct notify_data_s { GHashTable *keys; Index: pacemaker-1.1.16+20170320.77ea74d/include/crm_internal.h =================================================================== --- pacemaker-1.1.16+20170320.77ea74d.orig/include/crm_internal.h +++ pacemaker-1.1.16+20170320.77ea74d/include/crm_internal.h @@ -158,39 +158,47 @@ char *generate_transition_magic(const ch char *generate_transition_key(int action, int transition_id, int target_rc, const char *node); static inline long long -crm_clear_bit(const char *function, const char *target, long long word, long long bit) +crm_clear_bit(const char *function, int line, const char *target, long long word, long long bit) { long long rc = (word & ~bit); + /* if(bit == 0x00002) { */ + /* crm_err("Bit 0x%.8llx for %s cleared by %s:%d", bit, target, function, line); */ + /* } */ + if (rc == word) { /* Unchanged */ } else if (target) { - crm_trace("Bit 0x%.8llx for %s cleared by %s", bit, target, function); + crm_trace("Bit 0x%.8llx for %s cleared by %s:%d", bit, target, function, line); } else { - crm_trace("Bit 0x%.8llx cleared by %s", bit, function); + crm_trace("Bit 0x%.8llx cleared by %s:%d", bit, function, line); } return rc; } static inline long long -crm_set_bit(const char *function, const char *target, long long word, long long bit) +crm_set_bit(const char *function, int line, const char *target, long long word, long long bit) { long long rc = (word | bit); + /* if(bit == 0x00002) { */ + /* crm_err("Bit 0x%.8llx for %s set by %s:%d", bit, target, function, line); */ + /* } */ + if (rc == word) { /* Unchanged */ } else if (target) { - crm_trace("Bit 0x%.8llx for %s set by %s", bit, target, function); + crm_trace("Bit 0x%.8llx for %s set by %s:%d", bit, target, function, line); } else { - crm_trace("Bit 0x%.8llx set by %s", bit, function); + crm_trace("Bit 0x%.8llx set by %s:%d", bit, function, line); } return rc; } -# define set_bit(word, bit) word = crm_set_bit(__FUNCTION__, NULL, word, bit) -# define clear_bit(word, bit) word = crm_clear_bit(__FUNCTION__, NULL, word, bit) +# define set_bit(word, bit) word = crm_set_bit(__FUNCTION__, __LINE__, NULL, word, bit) +# define clear_bit(word, bit) word = crm_clear_bit(__FUNCTION__, __LINE__, NULL, word, bit) char *generate_hash_key(const char *crm_msg_reference, const char *sys); Index: pacemaker-1.1.16+20170320.77ea74d/pengine/allocate.c =================================================================== --- pacemaker-1.1.16+20170320.77ea74d.orig/pengine/allocate.c +++ pacemaker-1.1.16+20170320.77ea74d/pengine/allocate.c @@ -99,7 +99,7 @@ resource_alloc_functions_t resource_clas }; gboolean -update_action_flags(action_t * action, enum pe_action_flags flags, const char *source) +update_action_flags(action_t * action, enum pe_action_flags flags, const char *source, int line) { static unsigned long calls = 0; gboolean changed = FALSE; @@ -107,9 +107,9 @@ update_action_flags(action_t * action, e enum pe_action_flags last = action->flags; if (clear) { - action->flags = crm_clear_bit(source, action->uuid, action->flags, flags); + action->flags = crm_clear_bit(source, line, action->uuid, action->flags, flags); } else { - action->flags = crm_set_bit(source, action->uuid, action->flags, flags); + action->flags = crm_set_bit(source, line, action->uuid, action->flags, flags); } if (last != action->flags) { @@ -1385,7 +1385,7 @@ fence_guest(pe_node_t *node, pe_action_t */ stonith_op = pe_fence_op(node, fence_action, FALSE, data_set); update_action_flags(stonith_op, pe_action_pseudo | pe_action_runnable, - __FUNCTION__); + __FUNCTION__, __LINE__); /* We want to imply stops/demotes after the guest is stopped, not wait until * it is restarted, so we always order pseudo-fencing after stop, not start @@ -1651,7 +1651,7 @@ rsc_order_then(action_t * lh_action, res order_actions(lh_action, rh_action_iter, type); } else if (type & pe_order_implies_then) { - update_action_flags(rh_action_iter, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(rh_action_iter, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); crm_warn("Unrunnable %s 0x%.6x", rh_action_iter->uuid, type); } else { crm_warn("neither %s 0x%.6x", rh_action_iter->uuid, type); Index: pacemaker-1.1.16+20170320.77ea74d/pengine/allocate.h =================================================================== --- pacemaker-1.1.16+20170320.77ea74d.orig/pengine/allocate.h +++ pacemaker-1.1.16+20170320.77ea74d/pengine/allocate.h @@ -152,7 +152,7 @@ extern enum pe_graph_flags clone_update_ enum pe_action_flags flags, enum pe_action_flags filter, enum pe_ordering type); -gboolean update_action_flags(action_t * action, enum pe_action_flags flags, const char *source); +gboolean update_action_flags(action_t * action, enum pe_action_flags flags, const char *source, int line); gboolean update_action(action_t * action); #endif Index: pacemaker-1.1.16+20170320.77ea74d/pengine/clone.c =================================================================== --- pacemaker-1.1.16+20170320.77ea74d.orig/pengine/clone.c +++ pacemaker-1.1.16+20170320.77ea74d/pengine/clone.c @@ -846,12 +846,12 @@ clone_create_actions(resource_t * rsc, p started = custom_action(rsc, started_key(rsc), RSC_STARTED, NULL, !child_starting, TRUE, data_set); - update_action_flags(start, pe_action_pseudo | pe_action_runnable, __FUNCTION__); - update_action_flags(started, pe_action_pseudo, __FUNCTION__); + update_action_flags(start, pe_action_pseudo | pe_action_runnable, __FUNCTION__, __LINE__); + update_action_flags(started, pe_action_pseudo, __FUNCTION__, __LINE__); started->priority = INFINITY; if (child_active || child_starting) { - update_action_flags(started, pe_action_runnable, __FUNCTION__); + update_action_flags(started, pe_action_runnable, __FUNCTION__, __LINE__); } child_ordering_constraints(rsc, data_set); @@ -866,11 +866,11 @@ clone_create_actions(resource_t * rsc, p RSC_STOPPED, NULL, !child_stopping, TRUE, data_set); stopped->priority = INFINITY; - update_action_flags(stop, pe_action_pseudo | pe_action_runnable, __FUNCTION__); + update_action_flags(stop, pe_action_pseudo | pe_action_runnable, __FUNCTION__, __LINE__); if (allow_dependent_migrations) { - update_action_flags(stop, pe_action_migrate_runnable, __FUNCTION__); + update_action_flags(stop, pe_action_migrate_runnable, __FUNCTION__, __LINE__); } - update_action_flags(stopped, pe_action_pseudo | pe_action_runnable, __FUNCTION__); + update_action_flags(stopped, pe_action_pseudo | pe_action_runnable, __FUNCTION__, __LINE__); if (clone_data->stop_notify == NULL) { clone_data->stop_notify = create_notification_boundaries(rsc, RSC_STOP, stop, stopped, data_set); @@ -1204,7 +1204,7 @@ clone_action_flags(action_t * action, no && is_set(child_flags, pe_action_optional) == FALSE) { pe_rsc_trace(child, "%s is mandatory because of %s", action->uuid, child_action->uuid); - flags = crm_clear_bit(__FUNCTION__, action->rsc->id, flags, pe_action_optional); + flags = crm_clear_bit(__FUNCTION__, __LINE__, action->rsc->id, flags, pe_action_optional); pe_clear_action_bit(action, pe_action_optional); } if (is_set(child_flags, pe_action_runnable)) { @@ -1226,7 +1226,7 @@ clone_action_flags(action_t * action, no if (check_runnable && any_runnable == FALSE) { pe_rsc_trace(action->rsc, "%s is not runnable because no children are", action->uuid); - flags = crm_clear_bit(__FUNCTION__, action->rsc->id, flags, pe_action_runnable); + flags = crm_clear_bit(__FUNCTION__, __LINE__, action->rsc->id, flags, pe_action_runnable); if (node == NULL) { pe_clear_action_bit(action, pe_action_runnable); } Index: pacemaker-1.1.16+20170320.77ea74d/pengine/constraints.c =================================================================== --- pacemaker-1.1.16+20170320.77ea74d.orig/pengine/constraints.c +++ pacemaker-1.1.16+20170320.77ea74d/pengine/constraints.c @@ -390,7 +390,7 @@ unpack_simple_rsc_order(xmlNode * xml_ob * actions to be considered runnable before allowing the pseudo action * to be runnable. */ unordered_action->required_runnable_before = min_required_before; - update_action_flags(unordered_action, pe_action_requires_any, __FUNCTION__); + update_action_flags(unordered_action, pe_action_requires_any, __FUNCTION__, __LINE__); for (rIter = rsc_first->children; id && rIter; rIter = rIter->next) { resource_t *child = rIter->data; @@ -1788,7 +1788,7 @@ order_rsc_sets(const char *id, xmlNode * action_t *unordered_action = get_pseudo_op(task, data_set); free(task); - update_action_flags(unordered_action, pe_action_requires_any, __FUNCTION__); + update_action_flags(unordered_action, pe_action_requires_any, __FUNCTION__, __LINE__); for (xml_rsc = __xml_first_child(set1); xml_rsc != NULL; xml_rsc = __xml_next_element(xml_rsc)) { if (!crm_str_eq((const char *)xml_rsc->name, XML_TAG_RESOURCE_REF, TRUE)) { Index: pacemaker-1.1.16+20170320.77ea74d/pengine/graph.c =================================================================== --- pacemaker-1.1.16+20170320.77ea74d.orig/pengine/graph.c +++ pacemaker-1.1.16+20170320.77ea74d/pengine/graph.c @@ -190,7 +190,7 @@ graph_update_action(action_t * first, ac pe_action_optional, pe_order_implies_then); } else if (is_set(flags, pe_action_optional) == FALSE) { - if (update_action_flags(then, pe_action_optional | pe_action_clear, __FUNCTION__)) { + if (update_action_flags(then, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__)) { changed |= pe_graph_updated_then; } } @@ -223,7 +223,7 @@ graph_update_action(action_t * first, ac } else if (is_set(flags, pe_action_optional) == FALSE) { pe_rsc_trace(first->rsc, "first unrunnable: %s then %s", first->uuid, then->uuid); - if (update_action_flags(first, pe_action_runnable | pe_action_clear, __FUNCTION__)) { + if (update_action_flags(first, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__)) { changed |= pe_graph_updated_first; } } @@ -268,7 +268,7 @@ graph_update_action(action_t * first, ac /* if the runnable before count for then exceeds the required number * of "before" runnable actions... mark then as runnable */ if (then->runnable_before >= then->required_runnable_before) { - if (update_action_flags(then, pe_action_runnable, __FUNCTION__)) { + if (update_action_flags(then, pe_action_runnable, __FUNCTION__, __LINE__)) { changed |= pe_graph_updated_then; } } @@ -290,7 +290,7 @@ graph_update_action(action_t * first, ac } else if (is_set(flags, pe_action_runnable) == FALSE) { pe_rsc_trace(then->rsc, "then unrunnable: %s then %s", first->uuid, then->uuid); - if (update_action_flags(then, pe_action_runnable | pe_action_clear, __FUNCTION__)) { + if (update_action_flags(then, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__)) { changed |= pe_graph_updated_then; } } @@ -363,13 +363,13 @@ graph_update_action(action_t * first, ac && (flags & pe_action_optional) == 0) { processed = TRUE; crm_trace("%s implies %s printed", first->uuid, then->uuid); - update_action_flags(then, pe_action_print_always, __FUNCTION__); /* don't care about changed */ + update_action_flags(then, pe_action_print_always, __FUNCTION__, __LINE__); /* don't care about changed */ } if ((type & pe_order_implies_first_printed) && (flags & pe_action_optional) == 0) { processed = TRUE; crm_trace("%s implies %s printed", then->uuid, first->uuid); - update_action_flags(first, pe_action_print_always, __FUNCTION__); /* don't care about changed */ + update_action_flags(first, pe_action_print_always, __FUNCTION__, __LINE__); /* don't care about changed */ } if ((type & pe_order_implies_then @@ -381,7 +381,7 @@ graph_update_action(action_t * first, ac && is_set(first->rsc->flags, pe_rsc_block) && is_not_set(first->flags, pe_action_runnable)) { - if (update_action_flags(then, pe_action_runnable | pe_action_clear, __FUNCTION__)) { + if (update_action_flags(then, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__)) { changed |= pe_graph_updated_then; } Index: pacemaker-1.1.16+20170320.77ea74d/pengine/master.c =================================================================== --- pacemaker-1.1.16+20170320.77ea74d.orig/pengine/master.c +++ pacemaker-1.1.16+20170320.77ea74d/pengine/master.c @@ -845,14 +845,14 @@ master_create_actions(resource_t * rsc, RSC_PROMOTED, NULL, !any_promoting, TRUE, data_set); action_complete->priority = INFINITY; - update_action_flags(action, pe_action_pseudo, __FUNCTION__); - update_action_flags(action, pe_action_runnable, __FUNCTION__); - update_action_flags(action_complete, pe_action_pseudo, __FUNCTION__); - update_action_flags(action_complete, pe_action_runnable, __FUNCTION__); + update_action_flags(action, pe_action_pseudo, __FUNCTION__, __LINE__); + update_action_flags(action, pe_action_runnable, __FUNCTION__, __LINE__); + update_action_flags(action_complete, pe_action_pseudo, __FUNCTION__, __LINE__); + update_action_flags(action_complete, pe_action_runnable, __FUNCTION__, __LINE__); if (clone_data->masters_allocated > 0) { - update_action_flags(action, pe_action_runnable, __FUNCTION__); - update_action_flags(action_complete, pe_action_runnable, __FUNCTION__); + update_action_flags(action, pe_action_runnable, __FUNCTION__, __LINE__); + update_action_flags(action_complete, pe_action_runnable, __FUNCTION__, __LINE__); } child_promoting_constraints(clone_data, pe_order_optional, @@ -869,10 +869,10 @@ master_create_actions(resource_t * rsc, RSC_DEMOTED, NULL, !any_demoting, TRUE, data_set); action_complete->priority = INFINITY; - update_action_flags(action, pe_action_pseudo, __FUNCTION__); - update_action_flags(action, pe_action_runnable, __FUNCTION__); - update_action_flags(action_complete, pe_action_pseudo, __FUNCTION__); - update_action_flags(action_complete, pe_action_runnable, __FUNCTION__); + update_action_flags(action, pe_action_pseudo, __FUNCTION__, __LINE__); + update_action_flags(action, pe_action_runnable, __FUNCTION__, __LINE__); + update_action_flags(action_complete, pe_action_pseudo, __FUNCTION__, __LINE__); + update_action_flags(action_complete, pe_action_runnable, __FUNCTION__, __LINE__); child_demoting_constraints(clone_data, pe_order_optional, rsc, NULL, last_demote_rsc, data_set); Index: pacemaker-1.1.16+20170320.77ea74d/pengine/native.c =================================================================== --- pacemaker-1.1.16+20170320.77ea74d.orig/pengine/native.c +++ pacemaker-1.1.16+20170320.77ea74d/pengine/native.c @@ -749,12 +749,12 @@ RecurringOp(resource_t * rsc, action_t * if (start == NULL || is_set(start->flags, pe_action_runnable) == FALSE) { pe_rsc_debug(rsc, "%s\t %s (cancelled : start un-runnable)", crm_str(node_uname), mon->uuid); - update_action_flags(mon, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(mon, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } else if (node == NULL || node->details->online == FALSE || node->details->unclean) { pe_rsc_debug(rsc, "%s\t %s (cancelled : no node available)", crm_str(node_uname), mon->uuid); - update_action_flags(mon, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(mon, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } else if (is_set(mon->flags, pe_action_optional) == FALSE) { pe_rsc_info(rsc, " Start recurring %s (%llus) for %s on %s", mon->task, interval_ms / 1000, @@ -971,7 +971,7 @@ RecurringOp_Stopped(resource_t * rsc, ac if (is_set(stop->flags, pe_action_runnable) == FALSE) { crm_debug("%s\t %s (cancelled : stop un-runnable)", crm_str(stop_node_uname), stopped_mon->uuid); - update_action_flags(stopped_mon, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(stopped_mon, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } if (is_set(rsc->flags, pe_rsc_managed)) { @@ -991,7 +991,7 @@ RecurringOp_Stopped(resource_t * rsc, ac && is_set(rsc->flags, pe_rsc_managed) == FALSE) { pe_rsc_trace(rsc, "Marking %s optional on %s due to unmanaged", key, crm_str(stop_node_uname)); - update_action_flags(stopped_mon, pe_action_optional, __FUNCTION__); + update_action_flags(stopped_mon, pe_action_optional, __FUNCTION__, __LINE__); } if (is_set(stopped_mon->flags, pe_action_optional)) { @@ -1001,7 +1001,7 @@ RecurringOp_Stopped(resource_t * rsc, ac if (stop_node->details->online == FALSE || stop_node->details->unclean) { pe_rsc_debug(rsc, "%s\t %s (cancelled : no node available)", crm_str(stop_node_uname), stopped_mon->uuid); - update_action_flags(stopped_mon, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(stopped_mon, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } if (is_set(stopped_mon->flags, pe_action_runnable) @@ -1055,7 +1055,7 @@ handle_migration_actions(resource_t * rs set_bit(start->flags, pe_action_migrate_runnable); set_bit(stop->flags, pe_action_migrate_runnable); - update_action_flags(start, pe_action_pseudo, __FUNCTION__); /* easier than trying to delete it from the graph */ + update_action_flags(start, pe_action_pseudo, __FUNCTION__, __LINE__); /* easier than trying to delete it from the graph */ /* order probes before migrations */ if (partial) { @@ -1263,7 +1263,7 @@ native_create_actions(resource_t * rsc, /* Required steps from this role to the next */ while (role != rsc->next_role) { next_role = rsc_state_matrix[role][rsc->next_role]; - pe_rsc_trace(rsc, "Role: Executing: %s->%s = (%s)", role2text(role), role2text(next_role), rsc->id); + pe_rsc_trace(rsc, "Role: Executing: %s->%s = (%s on %s)", role2text(role), role2text(next_role), rsc->id, chosen?chosen->details->uname:"NA"); if (rsc_action_matrix[role][next_role] (rsc, chosen, FALSE, data_set) == FALSE) { break; } @@ -1410,7 +1410,7 @@ native_internal_constraints(resource_t * if (load_stopped->node == NULL) { load_stopped->node = node_copy(current); - update_action_flags(load_stopped, pe_action_optional | pe_action_clear, __FUNCTION__); + update_action_flags(load_stopped, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); } custom_action_order(rsc, stop_key(rsc), NULL, @@ -1424,7 +1424,7 @@ native_internal_constraints(resource_t * if (load_stopped->node == NULL) { load_stopped->node = node_copy(next); - update_action_flags(load_stopped, pe_action_optional | pe_action_clear, __FUNCTION__); + update_action_flags(load_stopped, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); } custom_action_order(NULL, strdup(load_stopped_task), load_stopped, @@ -2417,7 +2417,7 @@ StopRsc(resource_t * rsc, node_t * next, stop = stop_action(rsc, current, optional); if (is_not_set(rsc->flags, pe_rsc_managed)) { - update_action_flags(stop, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(stop, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } if (is_set(data_set->flags, pe_flag_remove_after_stop)) { @@ -2437,7 +2437,7 @@ StartRsc(resource_t * rsc, node_t * next pe_rsc_trace(rsc, "%s on %s %d", rsc->id, next ? next->details->uname : "N/A", optional); start = start_action(rsc, next, TRUE); if (is_set(start->flags, pe_action_runnable) && optional == FALSE) { - update_action_flags(start, pe_action_optional | pe_action_clear, __FUNCTION__); + update_action_flags(start, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); } return TRUE; } @@ -2481,7 +2481,7 @@ PromoteRsc(resource_t * rsc, node_t * ne for (gIter = action_list; gIter != NULL; gIter = gIter->next) { action_t *promote = (action_t *) gIter->data; - update_action_flags(promote, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(promote, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } g_list_free(action_list); @@ -2773,7 +2773,7 @@ native_create_probe(resource_t * rsc, no key = generate_op_key(rsc->id, RSC_STATUS, 0); probe = custom_action(rsc, key, RSC_STATUS, node, FALSE, TRUE, data_set); - update_action_flags(probe, pe_action_optional | pe_action_clear, __FUNCTION__); + update_action_flags(probe, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); /* If enabled, require unfencing before probing any fence devices * but ensure it happens after any resources that require @@ -2940,9 +2940,9 @@ native_stop_constraints(resource_t * rsc /* The stop would never complete and is now implied by the fencing, * so convert it into a pseudo-action. */ - update_action_flags(action, pe_action_pseudo, __FUNCTION__); - update_action_flags(action, pe_action_runnable, __FUNCTION__); - update_action_flags(action, pe_action_implied_by_stonith, __FUNCTION__); + update_action_flags(action, pe_action_pseudo, __FUNCTION__, __LINE__); + update_action_flags(action, pe_action_runnable, __FUNCTION__, __LINE__); + update_action_flags(action, pe_action_implied_by_stonith, __FUNCTION__, __LINE__); if(start == NULL || start->needs > rsc_req_quorum) { enum pe_ordering flags = pe_order_optional; @@ -3041,8 +3041,8 @@ native_stop_constraints(resource_t * rsc /* The demote would never complete and is now implied by the * fencing, so convert it into a pseudo-action. */ - update_action_flags(action, pe_action_pseudo, __FUNCTION__); - update_action_flags(action, pe_action_runnable, __FUNCTION__); + update_action_flags(action, pe_action_pseudo, __FUNCTION__, __LINE__); + update_action_flags(action, pe_action_runnable, __FUNCTION__, __LINE__); if (start == NULL || start->needs > rsc_req_quorum) { order_actions(stonith_op, action, pe_order_preserve|pe_order_optional); Index: pacemaker-1.1.16+20170320.77ea74d/pengine/notif.c =================================================================== --- pacemaker-1.1.16+20170320.77ea74d.orig/pengine/notif.c +++ pacemaker-1.1.16+20170320.77ea74d/pengine/notif.c @@ -315,8 +315,8 @@ create_notification_boundaries(resource_ custom_action(rsc, key, RSC_NOTIFY, NULL, is_set(start->flags, pe_action_optional), TRUE, data_set); - update_action_flags(n_data->pre, pe_action_pseudo, __FUNCTION__); - update_action_flags(n_data->pre, pe_action_runnable, __FUNCTION__); + update_action_flags(n_data->pre, pe_action_pseudo, __FUNCTION__, __LINE__); + update_action_flags(n_data->pre, pe_action_runnable, __FUNCTION__, __LINE__); add_hash_param(n_data->pre->meta, "notify_type", "pre"); add_hash_param(n_data->pre->meta, "notify_operation", n_data->action); @@ -330,8 +330,8 @@ create_notification_boundaries(resource_ custom_action(rsc, key, RSC_NOTIFIED, NULL, is_set(start->flags, pe_action_optional), TRUE, data_set); - update_action_flags(n_data->pre_done, pe_action_pseudo, __FUNCTION__); - update_action_flags(n_data->pre_done, pe_action_runnable, __FUNCTION__); + update_action_flags(n_data->pre_done, pe_action_pseudo, __FUNCTION__, __LINE__); + update_action_flags(n_data->pre_done, pe_action_runnable, __FUNCTION__, __LINE__); add_hash_param(n_data->pre_done->meta, "notify_type", "pre"); add_hash_param(n_data->pre_done->meta, "notify_operation", n_data->action); @@ -351,11 +351,11 @@ create_notification_boundaries(resource_ data_set); n_data->post->priority = INFINITY; - update_action_flags(n_data->post, pe_action_pseudo, __FUNCTION__); + update_action_flags(n_data->post, pe_action_pseudo, __FUNCTION__, __LINE__); if (is_set(end->flags, pe_action_runnable)) { - update_action_flags(n_data->post, pe_action_runnable, __FUNCTION__); + update_action_flags(n_data->post, pe_action_runnable, __FUNCTION__, __LINE__); } else { - update_action_flags(n_data->post, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(n_data->post, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } add_hash_param(n_data->post->meta, "notify_type", "post"); @@ -371,11 +371,11 @@ create_notification_boundaries(resource_ TRUE, data_set); n_data->post_done->priority = INFINITY; - update_action_flags(n_data->post_done, pe_action_pseudo, __FUNCTION__); + update_action_flags(n_data->post_done, pe_action_pseudo, __FUNCTION__, __LINE__); if (is_set(end->flags, pe_action_runnable)) { - update_action_flags(n_data->post_done, pe_action_runnable, __FUNCTION__); + update_action_flags(n_data->post_done, pe_action_runnable, __FUNCTION__, __LINE__); } else { - update_action_flags(n_data->post_done, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(n_data->post_done, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } add_hash_param(n_data->post_done->meta, "notify_type", "post"); @@ -585,13 +585,13 @@ expand_notification_data(notify_data_t * g_hash_table_insert(n_data->keys, strdup("notify_all_uname"), node_list); if (required && n_data->pre) { - update_action_flags(n_data->pre, pe_action_optional | pe_action_clear, __FUNCTION__); - update_action_flags(n_data->pre_done, pe_action_optional | pe_action_clear, __FUNCTION__); + update_action_flags(n_data->pre, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); + update_action_flags(n_data->pre_done, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); } if (required && n_data->post) { - update_action_flags(n_data->post, pe_action_optional | pe_action_clear, __FUNCTION__); - update_action_flags(n_data->post_done, pe_action_optional | pe_action_clear, __FUNCTION__); + update_action_flags(n_data->post, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); + update_action_flags(n_data->post_done, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); } return required; } Index: pacemaker-1.1.16+20170320.77ea74d/pengine/utils.c =================================================================== --- pacemaker-1.1.16+20170320.77ea74d.orig/pengine/utils.c +++ pacemaker-1.1.16+20170320.77ea74d/pengine/utils.c @@ -271,10 +271,10 @@ native_assign_node(resource_t * rsc, GLi crm_debug("Processing %s", op->uuid); if(safe_str_eq(RSC_STOP, op->task)) { - update_action_flags(op, pe_action_optional | pe_action_clear, __FUNCTION__); + update_action_flags(op, pe_action_optional | pe_action_clear, __FUNCTION__, __LINE__); } else if(safe_str_eq(RSC_START, op->task)) { - update_action_flags(op, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(op, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); /* set_bit(rsc->flags, pe_rsc_block); */ } else if(interval && safe_str_neq(interval, "0")) { @@ -283,7 +283,7 @@ native_assign_node(resource_t * rsc, GLi } else { /* Normal monitor operation, cancel it */ - update_action_flags(op, pe_action_runnable | pe_action_clear, __FUNCTION__); + update_action_flags(op, pe_action_runnable | pe_action_clear, __FUNCTION__, __LINE__); } } }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor