| 1989 | } |
| 1990 | |
| 1991 | gboolean |
| 1992 | StopRsc(resource_t * rsc, node_t * next, gboolean optional, pe_working_set_t * data_set) |
| 1993 | { |
| 1994 | GListPtr gIter = NULL; |
| 1995 | |
| 1996 | pe_rsc_trace(rsc, "%s", rsc->id); |
| 1997 | |
| 1998 | for (gIter = rsc->running_on; gIter != NULL; gIter = gIter->next) { |
| 1999 | node_t *current = (node_t *) gIter->data; |
| 2000 | action_t *stop; |
| 2001 | |
| 2002 | if (rsc->partial_migration_target) { |
| 2003 | if(rsc->partial_migration_target->details == current->details) { |
| 2004 | pe_rsc_trace(rsc, "Filtered %s -> %s %s", current->details->uname, next->details->uname, rsc->id); |
| 2005 | continue; |
| 2006 | } else { |
| 2007 | pe_rsc_trace(rsc, "Forced on %s %s", current->details->uname, rsc->id); |
| 2008 | optional = FALSE; |
| 2009 | } |
| 2010 | } |
| 2011 | |
| 2012 | pe_rsc_trace(rsc, "%s on %s", rsc->id, current->details->uname); |
| 2013 | stop = stop_action(rsc, current, optional); |
| 2014 | |
| 2015 | if(is_not_set(rsc->flags, pe_rsc_managed)) { |
| 2016 | update_action_flags(stop, pe_action_runnable|pe_action_clear); |
| 2017 | } |
| 2018 | |
| 2019 | if (is_set(data_set->flags, pe_flag_remove_after_stop)) { |
| 2020 | DeleteRsc(rsc, current, optional, data_set); |
| 2021 | } |
| 2022 | } |
| 2023 | |
| 2024 | return TRUE; |
| 2025 | } |
| 2026 | |
| 2027 | gboolean |
| 2028 | StartRsc(resource_t * rsc, node_t * next, gboolean optional, pe_working_set_t * data_set) |
nothing calls this directly
no test coverage detected