19 GList *colocated_rscs)
23 if (orig_rsc == NULL) {
27 if ((rsc == NULL) || (g_list_find(colocated_rscs, rsc) != NULL)) {
28 return colocated_rscs;
31 pe_rsc_trace(orig_rsc,
"%s is in colocation chain with %s",
32 rsc->
id, orig_rsc->
id);
33 colocated_rscs = g_list_append(colocated_rscs, rsc);
36 for (gIter = rsc->
rsc_cons; gIter != NULL; gIter = gIter->next) {
40 if (primary == orig_rsc) {
55 for (gIter = rsc->
rsc_cons_lhs; gIter != NULL; gIter = gIter->next) {
59 if (dependent == orig_rsc) {
63 if (pe_rsc_is_clone(rsc) && !pe_rsc_is_clone(dependent)) {
77 return colocated_rscs;
GList * pcmk__colocated_resources(pe_resource_t *rsc, pe_resource_t *orig_rsc, GList *colocated_rscs)
resource_alloc_functions_t * cmds
pe_resource_t * dependent
GList *(* colocated_resources)(pe_resource_t *rsc, pe_resource_t *orig_rsc, GList *colocated_rscs)
G_GNUC_INTERNAL enum pcmk__coloc_affects pcmk__colocation_affects(pe_resource_t *dependent, pe_resource_t *primary, pcmk__colocation_t *constraint, bool preview)
#define pe_rsc_trace(rsc, fmt, args...)