dependent 23 include/pcmki/pcmki_scheduler.h pcmk_resource_t *dependent; // The resource being colocated dependent 135 lib/pacemaker/libpacemaker_private.h int (*apply_coloc_score)(pcmk_resource_t *dependent, dependent 530 lib/pacemaker/libpacemaker_private.h *dependent, dependent 538 lib/pacemaker/libpacemaker_private.h void pcmk__apply_coloc_to_scores(pcmk_resource_t *dependent, dependent 543 lib/pacemaker/libpacemaker_private.h int pcmk__apply_coloc_to_priority(pcmk_resource_t *dependent, dependent 558 lib/pacemaker/libpacemaker_private.h void pcmk__colocation_intersect_nodes(pcmk_resource_t *dependent, dependent 591 lib/pacemaker/libpacemaker_private.h pcmk_resource_t *dependent, pcmk_resource_t *primary, dependent 684 lib/pacemaker/libpacemaker_private.h pcmk_resource_t *dependent, dependent 690 lib/pacemaker/libpacemaker_private.h pcmk_resource_t *dependent, dependent 736 lib/pacemaker/libpacemaker_private.h int pcmk__primitive_apply_coloc_score(pcmk_resource_t *dependent, dependent 780 lib/pacemaker/libpacemaker_private.h int pcmk__group_apply_coloc_score(pcmk_resource_t *dependent, dependent 849 lib/pacemaker/libpacemaker_private.h int pcmk__clone_apply_coloc_score(pcmk_resource_t *dependent, dependent 902 lib/pacemaker/libpacemaker_private.h int pcmk__bundle_apply_coloc_score(pcmk_resource_t *dependent, dependent 58 lib/pacemaker/pcmk_output.c PCMK_XA_RSC, cons->dependent->id, dependent 473 lib/pacemaker/pcmk_output.c if (pcmk_is_set(cons->dependent->flags, pcmk_rsc_detect_loop)) { dependent 475 lib/pacemaker/pcmk_output.c cons->dependent->id, cons->id); dependent 479 lib/pacemaker/pcmk_output.c hdr = colocations_header(cons->dependent, cons, true); dependent 486 lib/pacemaker/pcmk_output.c out->message(out, "locations-list", cons->dependent); dependent 489 lib/pacemaker/pcmk_output.c cons->dependent, recursive); dependent 519 lib/pacemaker/pcmk_output.c if (pcmk_is_set(cons->dependent->flags, pcmk_rsc_detect_loop)) { dependent 520 lib/pacemaker/pcmk_output.c colocations_xml_node(out, cons->dependent, cons); dependent 524 lib/pacemaker/pcmk_output.c colocations_xml_node(out, cons->dependent, cons); dependent 525 lib/pacemaker/pcmk_output.c do_locations_list_xml(out, cons->dependent, false); dependent 529 lib/pacemaker/pcmk_output.c cons->dependent, recursive); dependent 418 lib/pacemaker/pcmk_sched_bundle.c compatible_container(const pcmk_resource_t *dependent, dependent 425 lib/pacemaker/pcmk_sched_bundle.c match_data.node = dependent->fns->location(dependent, NULL, 0); dependent 434 lib/pacemaker/pcmk_sched_bundle.c scratch = g_hash_table_get_values(dependent->allowed_nodes); dependent 455 lib/pacemaker/pcmk_sched_bundle.c pcmk_resource_t *dependent; dependent 478 lib/pacemaker/pcmk_sched_bundle.c replica->container->cmds->apply_coloc_score(coloc_data->dependent, dependent 525 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_apply_coloc_score(pcmk_resource_t *dependent, dependent 530 lib/pacemaker/pcmk_sched_bundle.c struct coloc_data coloc_data = { colocation, dependent, NULL, 0 }; dependent 536 lib/pacemaker/pcmk_sched_bundle.c pcmk__assert(pcmk__is_bundle(primary) && pcmk__is_primitive(dependent) dependent 547 lib/pacemaker/pcmk_sched_bundle.c colocation->id, dependent->id, primary->id, dependent 553 lib/pacemaker/pcmk_sched_bundle.c if (colocation->dependent->variant > pcmk_rsc_variant_group) { dependent 556 lib/pacemaker/pcmk_sched_bundle.c primary_container = compatible_container(dependent, primary); dependent 559 lib/pacemaker/pcmk_sched_bundle.c dependent->id, primary_container->id); dependent 561 lib/pacemaker/pcmk_sched_bundle.c return dependent->cmds->apply_coloc_score(dependent, dependent 570 lib/pacemaker/pcmk_sched_bundle.c dependent->id, primary->id); dependent 571 lib/pacemaker/pcmk_sched_bundle.c pcmk__assign_resource(dependent, NULL, true, true); dependent 576 lib/pacemaker/pcmk_sched_bundle.c dependent->id, primary->id); dependent 585 lib/pacemaker/pcmk_sched_bundle.c pcmk__colocation_intersect_nodes(dependent, primary, colocation, dependent 204 lib/pacemaker/pcmk_sched_clone.c const pcmk_resource_t *dependent = colocation->dependent; dependent 207 lib/pacemaker/pcmk_sched_clone.c if (dependent->variant <= pcmk_rsc_variant_group) { dependent 212 lib/pacemaker/pcmk_sched_clone.c if (!crm_is_true(g_hash_table_lookup(dependent->meta, dependent 220 lib/pacemaker/pcmk_sched_clone.c if (dependent->fns->max_per_node(dependent) dependent 224 lib/pacemaker/pcmk_sched_clone.c dependent->id, colocation->primary->id); dependent 247 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_apply_coloc_score(pcmk_resource_t *dependent, dependent 260 lib/pacemaker/pcmk_sched_clone.c && pcmk__is_clone(primary) && pcmk__is_primitive(dependent)); dependent 271 lib/pacemaker/pcmk_sched_clone.c colocation->id, dependent->id, primary->id, dependent 278 lib/pacemaker/pcmk_sched_clone.c if (pcmk_is_set(dependent->flags, pcmk_rsc_unassigned)) { dependent 280 lib/pacemaker/pcmk_sched_clone.c pcmk__update_dependent_with_promotable(primary, dependent, dependent 288 lib/pacemaker/pcmk_sched_clone.c dependent, dependent 297 lib/pacemaker/pcmk_sched_clone.c primary_instance = pcmk__find_compatible_instance(dependent, primary, dependent 302 lib/pacemaker/pcmk_sched_clone.c dependent->id, primary_instance->id); dependent 304 lib/pacemaker/pcmk_sched_clone.c return dependent->cmds->apply_coloc_score(dependent, dependent 311 lib/pacemaker/pcmk_sched_clone.c "any instance of %s", dependent->id, primary->id); dependent 312 lib/pacemaker/pcmk_sched_clone.c pcmk__assign_resource(dependent, NULL, true, true); dependent 318 lib/pacemaker/pcmk_sched_clone.c dependent->id, primary->id); dependent 341 lib/pacemaker/pcmk_sched_clone.c pcmk__colocation_intersect_nodes(dependent, primary, colocation, dependent 350 lib/pacemaker/pcmk_sched_clone.c int instance_delta = instance->cmds->apply_coloc_score(dependent, dependent 53 lib/pacemaker/pcmk_sched_colocation.c const pcmk__colocation_t *colocation2, bool dependent) dependent 65 lib/pacemaker/pcmk_sched_colocation.c if (dependent) { dependent 66 lib/pacemaker/pcmk_sched_colocation.c rsc1 = colocation1->dependent; dependent 67 lib/pacemaker/pcmk_sched_colocation.c rsc2 = colocation2->dependent; dependent 72 lib/pacemaker/pcmk_sched_colocation.c pcmk__assert(colocation1->dependent != NULL); dependent 181 lib/pacemaker/pcmk_sched_colocation.c colocation->id, colocation->dependent->id, dependent 241 lib/pacemaker/pcmk_sched_colocation.c colocation->id, colocation->dependent->id, dependent 349 lib/pacemaker/pcmk_sched_colocation.c pcmk_resource_t *dependent, pcmk_resource_t *primary, dependent 357 lib/pacemaker/pcmk_sched_colocation.c if ((dependent == NULL) || (primary == NULL)) { dependent 364 lib/pacemaker/pcmk_sched_colocation.c pcmk__rsc_trace(dependent, dependent 366 lib/pacemaker/pcmk_sched_colocation.c id, dependent->id, primary->id); dependent 383 lib/pacemaker/pcmk_sched_colocation.c new_con->dependent = dependent; dependent 391 lib/pacemaker/pcmk_sched_colocation.c pcmk__add_this_with(&(dependent->rsc_cons), new_con, dependent); dependent 394 lib/pacemaker/pcmk_sched_colocation.c dependent->cluster->colocation_constraints = g_list_prepend( dependent 395 lib/pacemaker/pcmk_sched_colocation.c dependent->cluster->colocation_constraints, new_con); dependent 398 lib/pacemaker/pcmk_sched_colocation.c anti_colocation_order(dependent, new_con->dependent_role, primary, dependent 400 lib/pacemaker/pcmk_sched_colocation.c anti_colocation_order(primary, new_con->primary_role, dependent, dependent 745 lib/pacemaker/pcmk_sched_colocation.c pcmk_resource_t *dependent = NULL; dependent 748 lib/pacemaker/pcmk_sched_colocation.c dependent = pcmk__find_constraint_resource(scheduler->resources, dependent 765 lib/pacemaker/pcmk_sched_colocation.c if (dependent == NULL) { dependent 775 lib/pacemaker/pcmk_sched_colocation.c } else if ((dependent_instance != NULL) && !pcmk__is_clone(dependent)) { dependent 789 lib/pacemaker/pcmk_sched_colocation.c dependent = find_clone_instance(dependent, dependent_instance); dependent 790 lib/pacemaker/pcmk_sched_colocation.c if (dependent == NULL) { dependent 818 lib/pacemaker/pcmk_sched_colocation.c flags = pcmk__coloc_explicit | unpack_influence(id, dependent, influence_s); dependent 819 lib/pacemaker/pcmk_sched_colocation.c pcmk__new_colocation(id, attr, score_i, dependent, primary, dependent 834 lib/pacemaker/pcmk_sched_colocation.c pcmk_resource_t *dependent = NULL; dependent 868 lib/pacemaker/pcmk_sched_colocation.c if (!pcmk__valid_resource_or_tag(scheduler, dependent_id, &dependent, dependent 882 lib/pacemaker/pcmk_sched_colocation.c if ((dependent != NULL) && (primary != NULL)) { dependent 1059 lib/pacemaker/pcmk_sched_colocation.c if (pcmk_is_set(colocation->dependent->flags, dependent 1186 lib/pacemaker/pcmk_sched_colocation.c mark_action_blocked(colocation->dependent, PCMK_ACTION_PROMOTE, dependent 1189 lib/pacemaker/pcmk_sched_colocation.c mark_action_blocked(colocation->dependent, PCMK_ACTION_START, dependent 1246 lib/pacemaker/pcmk_sched_colocation.c pcmk__colocation_affects(const pcmk_resource_t *dependent, dependent 1253 lib/pacemaker/pcmk_sched_colocation.c pcmk__assert((dependent != NULL) && (primary != NULL) dependent 1261 lib/pacemaker/pcmk_sched_colocation.c dependent_role_rsc = get_resource_for_role(dependent); dependent 1276 lib/pacemaker/pcmk_sched_colocation.c if (!preview && !pcmk_is_set(dependent->flags, pcmk_rsc_unassigned)) { dependent 1284 lib/pacemaker/pcmk_sched_colocation.c if (dependent->allocated_to == NULL) { dependent 1286 lib/pacemaker/pcmk_sched_colocation.c colocation->id, dependent->id); dependent 1291 lib/pacemaker/pcmk_sched_colocation.c if (!pcmk__same_node(primary_node, dependent->allocated_to)) { dependent 1294 lib/pacemaker/pcmk_sched_colocation.c dependent->id, primary->id, dependent 1295 lib/pacemaker/pcmk_sched_colocation.c pcmk__node_name(dependent->allocated_to), dependent 1302 lib/pacemaker/pcmk_sched_colocation.c if (pcmk__same_node(dependent->allocated_to, primary_node)) { dependent 1305 lib/pacemaker/pcmk_sched_colocation.c dependent->id, primary->id, dependent 1350 lib/pacemaker/pcmk_sched_colocation.c pcmk__apply_coloc_to_scores(pcmk_resource_t *dependent, dependent 1369 lib/pacemaker/pcmk_sched_colocation.c work = pcmk__copy_node_table(dependent->allowed_nodes); dependent 1375 lib/pacemaker/pcmk_sched_colocation.c pcmk__rsc_trace(dependent, dependent 1378 lib/pacemaker/pcmk_sched_colocation.c colocation->id, dependent->id, dependent 1385 lib/pacemaker/pcmk_sched_colocation.c if (pcmk__str_eq(pcmk__colocation_node_attr(node, attr, dependent), dependent 1397 lib/pacemaker/pcmk_sched_colocation.c pcmk__rsc_trace(dependent, dependent 1400 lib/pacemaker/pcmk_sched_colocation.c colocation->id, dependent->id, dependent 1415 lib/pacemaker/pcmk_sched_colocation.c pcmk__rsc_trace(dependent, dependent 1418 lib/pacemaker/pcmk_sched_colocation.c dependent->id, pcmk__node_name(node), dependent 1427 lib/pacemaker/pcmk_sched_colocation.c g_hash_table_destroy(dependent->allowed_nodes); dependent 1428 lib/pacemaker/pcmk_sched_colocation.c dependent->allowed_nodes = work; dependent 1432 lib/pacemaker/pcmk_sched_colocation.c pcmk__rsc_info(dependent, dependent 1434 lib/pacemaker/pcmk_sched_colocation.c dependent->id, primary->id); dependent 1456 lib/pacemaker/pcmk_sched_colocation.c pcmk__apply_coloc_to_priority(pcmk_resource_t *dependent, dependent 1466 lib/pacemaker/pcmk_sched_colocation.c pcmk__assert((dependent != NULL) && (primary != NULL) dependent 1469 lib/pacemaker/pcmk_sched_colocation.c if (dependent->allocated_to == NULL) { dependent 1490 lib/pacemaker/pcmk_sched_colocation.c dependent_value = pcmk__colocation_node_attr(dependent->allocated_to, attr, dependent 1491 lib/pacemaker/pcmk_sched_colocation.c dependent); dependent 1518 lib/pacemaker/pcmk_sched_colocation.c dependent->priority = pcmk__add_scores(priority_delta, dependent->priority); dependent 1519 lib/pacemaker/pcmk_sched_colocation.c pcmk__rsc_trace(dependent, dependent 1521 lib/pacemaker/pcmk_sched_colocation.c colocation->id, dependent->id, dependent 1522 lib/pacemaker/pcmk_sched_colocation.c pcmk_readable_score(dependent->priority), dependent 1549 lib/pacemaker/pcmk_sched_colocation.c if ((colocation != NULL) && (rsc == colocation->dependent) dependent 1712 lib/pacemaker/pcmk_sched_colocation.c || !allowed_on_one(colocation->dependent)) { dependent 1871 lib/pacemaker/pcmk_sched_colocation.c other = constraint->dependent; dependent 1877 lib/pacemaker/pcmk_sched_colocation.c constraint->id, constraint->dependent->id, dependent 1928 lib/pacemaker/pcmk_sched_colocation.c pcmk_resource_t *source_rsc = colocation->dependent; dependent 1966 lib/pacemaker/pcmk_sched_colocation.c pcmk__colocation_intersect_nodes(pcmk_resource_t *dependent, dependent 1974 lib/pacemaker/pcmk_sched_colocation.c pcmk__assert((dependent != NULL) && (primary != NULL) dependent 1977 lib/pacemaker/pcmk_sched_colocation.c g_hash_table_iter_init(&iter, dependent->allowed_nodes); dependent 1985 lib/pacemaker/pcmk_sched_colocation.c pcmk__rsc_trace(dependent, dependent 1987 lib/pacemaker/pcmk_sched_colocation.c dependent->id, pcmk__node_name(dependent_node), dependent 1993 lib/pacemaker/pcmk_sched_colocation.c pcmk__rsc_trace(dependent, dependent 1997 lib/pacemaker/pcmk_sched_colocation.c dependent->id, pcmk__node_name(dependent_node), dependent 353 lib/pacemaker/pcmk_sched_group.c colocate_group_with(pcmk_resource_t *dependent, const pcmk_resource_t *primary, dependent 358 lib/pacemaker/pcmk_sched_group.c if (dependent->children == NULL) { dependent 363 lib/pacemaker/pcmk_sched_group.c colocation->id, dependent->id, primary->id); dependent 365 lib/pacemaker/pcmk_sched_group.c if (pe__group_flag_is_set(dependent, pcmk__group_colocated)) { dependent 367 lib/pacemaker/pcmk_sched_group.c pcmk_resource_t *member = dependent->children->data; dependent 376 lib/pacemaker/pcmk_sched_group.c dependent->id, primary->id); dependent 381 lib/pacemaker/pcmk_sched_group.c for (GList *iter = dependent->children; iter != NULL; dependent 401 lib/pacemaker/pcmk_sched_group.c dependent->priority = pcmk__add_scores(priority_delta, dependent 402 lib/pacemaker/pcmk_sched_group.c dependent->priority); dependent 404 lib/pacemaker/pcmk_sched_group.c pcmk__rsc_trace(dependent, dependent 407 lib/pacemaker/pcmk_sched_group.c colocation->id, dependent->id, dependent 408 lib/pacemaker/pcmk_sched_group.c pcmk_readable_score(dependent->priority), dependent 430 lib/pacemaker/pcmk_sched_group.c colocate_with_group(pcmk_resource_t *dependent, const pcmk_resource_t *primary, dependent 438 lib/pacemaker/pcmk_sched_group.c colocation->id, dependent->id, primary->id); dependent 463 lib/pacemaker/pcmk_sched_group.c return member->cmds->apply_coloc_score(dependent, member, colocation, dependent 470 lib/pacemaker/pcmk_sched_group.c dependent->id, primary->id); dependent 481 lib/pacemaker/pcmk_sched_group.c instance_delta = member->cmds->apply_coloc_score(dependent, member, dependent 504 lib/pacemaker/pcmk_sched_group.c pcmk__group_apply_coloc_score(pcmk_resource_t *dependent, dependent 509 lib/pacemaker/pcmk_sched_group.c pcmk__assert((dependent != NULL) && (primary != NULL) dependent 513 lib/pacemaker/pcmk_sched_group.c return colocate_group_with(dependent, primary, colocation); dependent 517 lib/pacemaker/pcmk_sched_group.c pcmk__assert(pcmk__is_primitive(dependent)); dependent 519 lib/pacemaker/pcmk_sched_group.c return colocate_with_group(dependent, primary, colocation); dependent 163 lib/pacemaker/pcmk_sched_instances.c pcmk_resource_t *other = colocation->dependent; dependent 1098 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_apply_coloc_score(pcmk_resource_t *dependent, dependent 1105 lib/pacemaker/pcmk_sched_primitive.c pcmk__assert((dependent != NULL) && (primary != NULL) dependent 1110 lib/pacemaker/pcmk_sched_primitive.c return primary->cmds->apply_coloc_score(dependent, primary, colocation, dependent 1114 lib/pacemaker/pcmk_sched_primitive.c filter_results = pcmk__colocation_affects(dependent, primary, colocation, dependent 1116 lib/pacemaker/pcmk_sched_primitive.c pcmk__rsc_trace(dependent, "%s %s with %s (%s, score=%d, filter=%d)", dependent 1118 lib/pacemaker/pcmk_sched_primitive.c dependent->id, primary->id, colocation->id, dependent 1124 lib/pacemaker/pcmk_sched_primitive.c return pcmk__apply_coloc_to_priority(dependent, primary, dependent 1128 lib/pacemaker/pcmk_sched_primitive.c pcmk__apply_coloc_to_scores(dependent, primary, colocation); dependent 355 lib/pacemaker/pcmk_sched_promotable.c pcmk_resource_t *dependent = colocation->dependent; dependent 366 lib/pacemaker/pcmk_sched_promotable.c colocation->id, colocation->dependent->id, dependent 369 lib/pacemaker/pcmk_sched_promotable.c dependent->cmds->add_colocated_node_scores(dependent, clone, clone->id, dependent 1165 lib/pacemaker/pcmk_sched_promotable.c update_dependent_allowed_nodes(pcmk_resource_t *dependent, dependent 1183 lib/pacemaker/pcmk_sched_promotable.c colocation->id, colocation->dependent->id, dependent 1185 lib/pacemaker/pcmk_sched_promotable.c attr, colocation->score, dependent->id); dependent 1187 lib/pacemaker/pcmk_sched_promotable.c g_hash_table_iter_init(&iter, dependent->allowed_nodes); dependent 1190 lib/pacemaker/pcmk_sched_promotable.c dependent); dependent 1213 lib/pacemaker/pcmk_sched_promotable.c pcmk_resource_t *dependent, dependent 1230 lib/pacemaker/pcmk_sched_promotable.c update_dependent_allowed_nodes(dependent, primary, node, dependent 1249 lib/pacemaker/pcmk_sched_promotable.c colocation->id, colocation->dependent->id, dependent 1250 lib/pacemaker/pcmk_sched_promotable.c colocation->primary->id, dependent->id); dependent 1251 lib/pacemaker/pcmk_sched_promotable.c pcmk__colocation_intersect_nodes(dependent, primary, colocation, dependent 1269 lib/pacemaker/pcmk_sched_promotable.c pcmk_resource_t *dependent, dependent 1275 lib/pacemaker/pcmk_sched_promotable.c primary_instance = pcmk__find_compatible_instance(dependent, primary, dependent 1281 lib/pacemaker/pcmk_sched_promotable.c int new_priority = pcmk__add_scores(dependent->priority, dependent 1287 lib/pacemaker/pcmk_sched_promotable.c colocation->id, colocation->dependent->id, dependent 1288 lib/pacemaker/pcmk_sched_promotable.c colocation->primary->id, dependent->id, dependent 1289 lib/pacemaker/pcmk_sched_promotable.c pcmk_readable_score(dependent->priority), dependent 1292 lib/pacemaker/pcmk_sched_promotable.c dependent->priority = new_priority; dependent 1300 lib/pacemaker/pcmk_sched_promotable.c colocation->id, colocation->dependent->id, dependent 1301 lib/pacemaker/pcmk_sched_promotable.c colocation->primary->id, dependent->id); dependent 1302 lib/pacemaker/pcmk_sched_promotable.c dependent->priority = -PCMK_SCORE_INFINITY; dependent 283 lib/pacemaker/pcmk_sched_resource.c const pcmk_resource_t *dependent = constraint->dependent; dependent 285 lib/pacemaker/pcmk_sched_resource.c if (dependent == orig_rsc) { dependent 289 lib/pacemaker/pcmk_sched_resource.c if (pcmk__is_clone(rsc) && !pcmk__is_clone(dependent)) { dependent 294 lib/pacemaker/pcmk_sched_resource.c (pcmk__colocation_affects(dependent, rsc, constraint, dependent 296 lib/pacemaker/pcmk_sched_resource.c add_colocated_resources(dependent, orig_rsc, &colocated_rscs); dependent 479 tools/crm_resource_runtime.c if (pcmk_is_set(cons->dependent->flags, pcmk_rsc_detect_loop) dependent 485 tools/crm_resource_runtime.c attr_name, attr_value, cons->dependent->id); dependent 486 tools/crm_resource_runtime.c update_attribute(cons->dependent, cons->dependent->id, NULL,