dependent 27 include/pcmki/pcmki_scheduler.h pcmk_resource_t *dependent; // The resource being colocated dependent 149 lib/pacemaker/libpacemaker_private.h int (*apply_coloc_score)(pcmk_resource_t *dependent, dependent 522 lib/pacemaker/libpacemaker_private.h *dependent, dependent 530 lib/pacemaker/libpacemaker_private.h void pcmk__apply_coloc_to_scores(pcmk_resource_t *dependent, dependent 535 lib/pacemaker/libpacemaker_private.h int pcmk__apply_coloc_to_priority(pcmk_resource_t *dependent, dependent 550 lib/pacemaker/libpacemaker_private.h void pcmk__colocation_intersect_nodes(pcmk_resource_t *dependent, dependent 583 lib/pacemaker/libpacemaker_private.h pcmk_resource_t *dependent, pcmk_resource_t *primary, dependent 676 lib/pacemaker/libpacemaker_private.h pcmk_resource_t *dependent, dependent 682 lib/pacemaker/libpacemaker_private.h pcmk_resource_t *dependent, dependent 728 lib/pacemaker/libpacemaker_private.h int pcmk__primitive_apply_coloc_score(pcmk_resource_t *dependent, dependent 772 lib/pacemaker/libpacemaker_private.h int pcmk__group_apply_coloc_score(pcmk_resource_t *dependent, dependent 841 lib/pacemaker/libpacemaker_private.h int pcmk__clone_apply_coloc_score(pcmk_resource_t *dependent, dependent 894 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 491 lib/pacemaker/pcmk_output.c if (pcmk_is_set(cons->dependent->flags, pcmk__rsc_detect_loop)) { dependent 493 lib/pacemaker/pcmk_output.c cons->dependent->id, cons->id); dependent 497 lib/pacemaker/pcmk_output.c hdr = colocations_header(cons->dependent, cons, true); dependent 504 lib/pacemaker/pcmk_output.c out->message(out, "locations-list", cons->dependent); dependent 507 lib/pacemaker/pcmk_output.c cons->dependent, recursive); dependent 538 lib/pacemaker/pcmk_output.c if (pcmk_is_set(cons->dependent->flags, pcmk__rsc_detect_loop)) { dependent 539 lib/pacemaker/pcmk_output.c colocations_xml_node(out, cons->dependent, cons); dependent 543 lib/pacemaker/pcmk_output.c colocations_xml_node(out, cons->dependent, cons); dependent 544 lib/pacemaker/pcmk_output.c do_locations_list_xml(out, cons->dependent, false); dependent 548 lib/pacemaker/pcmk_output.c cons->dependent, recursive); dependent 425 lib/pacemaker/pcmk_sched_bundle.c compatible_container(const pcmk_resource_t *dependent, dependent 432 lib/pacemaker/pcmk_sched_bundle.c match_data.node = dependent->priv->fns->location(dependent, NULL, dependent 442 lib/pacemaker/pcmk_sched_bundle.c scratch = g_hash_table_get_values(dependent->priv->allowed_nodes); dependent 463 lib/pacemaker/pcmk_sched_bundle.c pcmk_resource_t *dependent; dependent 487 lib/pacemaker/pcmk_sched_bundle.c container->priv->cmds->apply_coloc_score(coloc_data->dependent, dependent 535 lib/pacemaker/pcmk_sched_bundle.c pcmk__bundle_apply_coloc_score(pcmk_resource_t *dependent, dependent 540 lib/pacemaker/pcmk_sched_bundle.c struct coloc_data coloc_data = { colocation, dependent, NULL, 0 }; dependent 546 lib/pacemaker/pcmk_sched_bundle.c pcmk__assert(pcmk__is_bundle(primary) && pcmk__is_primitive(dependent) dependent 557 lib/pacemaker/pcmk_sched_bundle.c colocation->id, dependent->id, primary->id, dependent 563 lib/pacemaker/pcmk_sched_bundle.c if (colocation->dependent->priv->variant > pcmk__rsc_variant_group) { dependent 566 lib/pacemaker/pcmk_sched_bundle.c primary_container = compatible_container(dependent, primary); dependent 569 lib/pacemaker/pcmk_sched_bundle.c dependent->id, primary_container->id); dependent 571 lib/pacemaker/pcmk_sched_bundle.c return dependent->priv->cmds->apply_coloc_score(dependent, dependent 580 lib/pacemaker/pcmk_sched_bundle.c dependent->id, primary->id); dependent 581 lib/pacemaker/pcmk_sched_bundle.c pcmk__assign_resource(dependent, NULL, true, true); dependent 586 lib/pacemaker/pcmk_sched_bundle.c dependent->id, primary->id); dependent 595 lib/pacemaker/pcmk_sched_bundle.c pcmk__colocation_intersect_nodes(dependent, primary, colocation, dependent 209 lib/pacemaker/pcmk_sched_clone.c const pcmk_resource_t *dependent = colocation->dependent; dependent 212 lib/pacemaker/pcmk_sched_clone.c if (dependent->priv->variant <= pcmk__rsc_variant_group) { dependent 217 lib/pacemaker/pcmk_sched_clone.c if (!crm_is_true(g_hash_table_lookup(dependent->priv->meta, dependent 225 lib/pacemaker/pcmk_sched_clone.c if (dependent->priv->fns->max_per_node(dependent) dependent 229 lib/pacemaker/pcmk_sched_clone.c dependent->id, primary->id); dependent 252 lib/pacemaker/pcmk_sched_clone.c pcmk__clone_apply_coloc_score(pcmk_resource_t *dependent, dependent 265 lib/pacemaker/pcmk_sched_clone.c && pcmk__is_clone(primary) && pcmk__is_primitive(dependent)); dependent 276 lib/pacemaker/pcmk_sched_clone.c colocation->id, dependent->id, primary->id, dependent 283 lib/pacemaker/pcmk_sched_clone.c if (pcmk_is_set(dependent->flags, pcmk__rsc_unassigned)) { dependent 285 lib/pacemaker/pcmk_sched_clone.c pcmk__update_dependent_with_promotable(primary, dependent, dependent 293 lib/pacemaker/pcmk_sched_clone.c dependent, dependent 302 lib/pacemaker/pcmk_sched_clone.c primary_instance = pcmk__find_compatible_instance(dependent, primary, dependent 307 lib/pacemaker/pcmk_sched_clone.c dependent->id, primary_instance->id); dependent 309 lib/pacemaker/pcmk_sched_clone.c return dependent->priv->cmds->apply_coloc_score(dependent, dependent 316 lib/pacemaker/pcmk_sched_clone.c "any instance of %s", dependent->id, primary->id); dependent 317 lib/pacemaker/pcmk_sched_clone.c pcmk__assign_resource(dependent, NULL, true, true); dependent 323 lib/pacemaker/pcmk_sched_clone.c dependent->id, primary->id); dependent 350 lib/pacemaker/pcmk_sched_clone.c pcmk__colocation_intersect_nodes(dependent, primary, colocation, dependent 359 lib/pacemaker/pcmk_sched_clone.c int instance_delta = instance->priv->cmds->apply_coloc_score(dependent, dependent 87 lib/pacemaker/pcmk_sched_colocation.c const pcmk__colocation_t *colocation2, bool dependent) dependent 99 lib/pacemaker/pcmk_sched_colocation.c if (dependent) { dependent 100 lib/pacemaker/pcmk_sched_colocation.c rsc1 = colocation1->dependent; dependent 101 lib/pacemaker/pcmk_sched_colocation.c rsc2 = colocation2->dependent; dependent 106 lib/pacemaker/pcmk_sched_colocation.c pcmk__assert(colocation1->dependent != NULL); dependent 215 lib/pacemaker/pcmk_sched_colocation.c colocation->id, colocation->dependent->id, dependent 275 lib/pacemaker/pcmk_sched_colocation.c colocation->id, colocation->dependent->id, dependent 385 lib/pacemaker/pcmk_sched_colocation.c pcmk_resource_t *dependent, pcmk_resource_t *primary, dependent 395 lib/pacemaker/pcmk_sched_colocation.c if ((dependent == NULL) || (primary == NULL)) { dependent 409 lib/pacemaker/pcmk_sched_colocation.c pcmk__rsc_trace(dependent, dependent 411 lib/pacemaker/pcmk_sched_colocation.c id, dependent->id, primary->id); dependent 417 lib/pacemaker/pcmk_sched_colocation.c new_con->dependent = dependent; dependent 426 lib/pacemaker/pcmk_sched_colocation.c pcmk__add_this_with(&(dependent->priv->this_with_colocations), new_con, dependent 427 lib/pacemaker/pcmk_sched_colocation.c dependent); dependent 431 lib/pacemaker/pcmk_sched_colocation.c dependent->priv->scheduler->priv->colocation_constraints = dependent 432 lib/pacemaker/pcmk_sched_colocation.c g_list_prepend(dependent->priv->scheduler->priv->colocation_constraints, dependent 436 lib/pacemaker/pcmk_sched_colocation.c anti_colocation_order(dependent, new_con->dependent_role, primary, dependent 438 lib/pacemaker/pcmk_sched_colocation.c anti_colocation_order(primary, new_con->primary_role, dependent, dependent 808 lib/pacemaker/pcmk_sched_colocation.c pcmk_resource_t *dependent = NULL; dependent 812 lib/pacemaker/pcmk_sched_colocation.c dependent = pcmk__find_constraint_resource(scheduler->priv->resources, dependent 815 lib/pacemaker/pcmk_sched_colocation.c if (dependent == NULL) { dependent 832 lib/pacemaker/pcmk_sched_colocation.c flags = pcmk__coloc_explicit | unpack_influence(id, dependent, influence_s); dependent 833 lib/pacemaker/pcmk_sched_colocation.c pcmk__new_colocation(id, attr, score, dependent, primary, dependent 848 lib/pacemaker/pcmk_sched_colocation.c pcmk_resource_t *dependent = NULL; dependent 882 lib/pacemaker/pcmk_sched_colocation.c if (!pcmk__valid_resource_or_tag(scheduler, dependent_id, &dependent, dependent 896 lib/pacemaker/pcmk_sched_colocation.c if ((dependent != NULL) && (primary != NULL)) { dependent 1079 lib/pacemaker/pcmk_sched_colocation.c if (pcmk_is_set(colocation->dependent->flags, dependent 1207 lib/pacemaker/pcmk_sched_colocation.c mark_action_blocked(colocation->dependent, PCMK_ACTION_PROMOTE, dependent 1210 lib/pacemaker/pcmk_sched_colocation.c mark_action_blocked(colocation->dependent, PCMK_ACTION_START, dependent 1267 lib/pacemaker/pcmk_sched_colocation.c pcmk__colocation_affects(const pcmk_resource_t *dependent, dependent 1274 lib/pacemaker/pcmk_sched_colocation.c pcmk__assert((dependent != NULL) && (primary != NULL) dependent 1282 lib/pacemaker/pcmk_sched_colocation.c dependent_role_rsc = get_resource_for_role(dependent); dependent 1299 lib/pacemaker/pcmk_sched_colocation.c if (!preview && !pcmk_is_set(dependent->flags, pcmk__rsc_unassigned)) { dependent 1344 lib/pacemaker/pcmk_sched_colocation.c pcmk__apply_coloc_to_scores(pcmk_resource_t *dependent, dependent 1363 lib/pacemaker/pcmk_sched_colocation.c work = pcmk__copy_node_table(dependent->priv->allowed_nodes); dependent 1370 lib/pacemaker/pcmk_sched_colocation.c pcmk__rsc_trace(dependent, dependent 1373 lib/pacemaker/pcmk_sched_colocation.c colocation->id, dependent->id, dependent 1380 lib/pacemaker/pcmk_sched_colocation.c if (pcmk__str_eq(pcmk__colocation_node_attr(node, attr, dependent), dependent 1392 lib/pacemaker/pcmk_sched_colocation.c pcmk__rsc_trace(dependent, dependent 1395 lib/pacemaker/pcmk_sched_colocation.c colocation->id, dependent->id, dependent 1410 lib/pacemaker/pcmk_sched_colocation.c pcmk__rsc_trace(dependent, dependent 1413 lib/pacemaker/pcmk_sched_colocation.c dependent->id, pcmk__node_name(node), dependent 1422 lib/pacemaker/pcmk_sched_colocation.c g_hash_table_destroy(dependent->priv->allowed_nodes); dependent 1423 lib/pacemaker/pcmk_sched_colocation.c dependent->priv->allowed_nodes = work; dependent 1427 lib/pacemaker/pcmk_sched_colocation.c pcmk__rsc_info(dependent, dependent 1429 lib/pacemaker/pcmk_sched_colocation.c dependent->id, primary->id); dependent 1451 lib/pacemaker/pcmk_sched_colocation.c pcmk__apply_coloc_to_priority(pcmk_resource_t *dependent, dependent 1463 lib/pacemaker/pcmk_sched_colocation.c pcmk__assert((dependent != NULL) && (primary != NULL) dependent 1467 lib/pacemaker/pcmk_sched_colocation.c dependent_node = dependent->priv->assigned_node; dependent 1491 lib/pacemaker/pcmk_sched_colocation.c dependent); dependent 1516 lib/pacemaker/pcmk_sched_colocation.c dependent->priv->priority = pcmk__add_scores(priority_delta, dependent 1517 lib/pacemaker/pcmk_sched_colocation.c dependent->priv->priority); dependent 1518 lib/pacemaker/pcmk_sched_colocation.c pcmk__rsc_trace(dependent, dependent 1520 lib/pacemaker/pcmk_sched_colocation.c colocation->id, dependent->id, dependent 1521 lib/pacemaker/pcmk_sched_colocation.c pcmk_readable_score(dependent->priv->priority), dependent 1548 lib/pacemaker/pcmk_sched_colocation.c if ((colocation != NULL) && (rsc == colocation->dependent) dependent 1711 lib/pacemaker/pcmk_sched_colocation.c || !allowed_on_one(colocation->dependent)) { dependent 1872 lib/pacemaker/pcmk_sched_colocation.c other = constraint->dependent; dependent 1878 lib/pacemaker/pcmk_sched_colocation.c constraint->id, constraint->dependent->id, dependent 1931 lib/pacemaker/pcmk_sched_colocation.c pcmk_resource_t *dependent = colocation->dependent; dependent 1944 lib/pacemaker/pcmk_sched_colocation.c primary->id, dependent->id, colocation->id); dependent 1945 lib/pacemaker/pcmk_sched_colocation.c dependent->priv->cmds->add_colocated_node_scores(dependent, primary, dependent 1946 lib/pacemaker/pcmk_sched_colocation.c dependent->id, dependent 1969 lib/pacemaker/pcmk_sched_colocation.c pcmk__colocation_intersect_nodes(pcmk_resource_t *dependent, dependent 1977 lib/pacemaker/pcmk_sched_colocation.c pcmk__assert((dependent != NULL) && (primary != NULL) dependent 1980 lib/pacemaker/pcmk_sched_colocation.c g_hash_table_iter_init(&iter, dependent->priv->allowed_nodes); dependent 1988 lib/pacemaker/pcmk_sched_colocation.c pcmk__rsc_trace(dependent, dependent 1990 lib/pacemaker/pcmk_sched_colocation.c dependent->id, pcmk__node_name(dependent_node), dependent 1997 lib/pacemaker/pcmk_sched_colocation.c pcmk__rsc_trace(dependent, dependent 2002 lib/pacemaker/pcmk_sched_colocation.c dependent->id, pcmk__node_name(dependent_node), dependent 367 lib/pacemaker/pcmk_sched_group.c colocate_group_with(pcmk_resource_t *dependent, const pcmk_resource_t *primary, dependent 372 lib/pacemaker/pcmk_sched_group.c if (dependent->priv->children == NULL) { dependent 377 lib/pacemaker/pcmk_sched_group.c colocation->id, dependent->id, primary->id); dependent 379 lib/pacemaker/pcmk_sched_group.c if (pe__group_flag_is_set(dependent, pcmk__group_colocated)) { dependent 381 lib/pacemaker/pcmk_sched_group.c pcmk_resource_t *member = dependent->priv->children->data; dependent 390 lib/pacemaker/pcmk_sched_group.c dependent->id, primary->id); dependent 395 lib/pacemaker/pcmk_sched_group.c for (GList *iter = dependent->priv->children; iter != NULL; dependent 416 lib/pacemaker/pcmk_sched_group.c dependent->priv->priority = dependent 417 lib/pacemaker/pcmk_sched_group.c pcmk__add_scores(priority_delta, dependent->priv->priority); dependent 419 lib/pacemaker/pcmk_sched_group.c pcmk__rsc_trace(dependent, dependent 422 lib/pacemaker/pcmk_sched_group.c colocation->id, dependent->id, dependent 423 lib/pacemaker/pcmk_sched_group.c pcmk_readable_score(dependent->priv->priority), dependent 445 lib/pacemaker/pcmk_sched_group.c colocate_with_group(pcmk_resource_t *dependent, const pcmk_resource_t *primary, dependent 453 lib/pacemaker/pcmk_sched_group.c colocation->id, dependent->id, primary->id); dependent 478 lib/pacemaker/pcmk_sched_group.c return member->priv->cmds->apply_coloc_score(dependent, member, dependent 485 lib/pacemaker/pcmk_sched_group.c dependent->id, primary->id); dependent 496 lib/pacemaker/pcmk_sched_group.c instance_delta = member->priv->cmds->apply_coloc_score(dependent, dependent 521 lib/pacemaker/pcmk_sched_group.c pcmk__group_apply_coloc_score(pcmk_resource_t *dependent, dependent 526 lib/pacemaker/pcmk_sched_group.c pcmk__assert((dependent != NULL) && (primary != NULL) dependent 530 lib/pacemaker/pcmk_sched_group.c return colocate_group_with(dependent, primary, colocation); dependent 534 lib/pacemaker/pcmk_sched_group.c pcmk__assert(pcmk__is_primitive(dependent)); dependent 536 lib/pacemaker/pcmk_sched_group.c return colocate_with_group(dependent, primary, colocation); dependent 167 lib/pacemaker/pcmk_sched_instances.c pcmk_resource_t *other = colocation->dependent; dependent 1117 lib/pacemaker/pcmk_sched_primitive.c pcmk__primitive_apply_coloc_score(pcmk_resource_t *dependent, dependent 1124 lib/pacemaker/pcmk_sched_primitive.c pcmk__assert((dependent != NULL) && (primary != NULL) dependent 1129 lib/pacemaker/pcmk_sched_primitive.c return primary->priv->cmds->apply_coloc_score(dependent, primary, dependent 1133 lib/pacemaker/pcmk_sched_primitive.c filter_results = pcmk__colocation_affects(dependent, primary, colocation, dependent 1135 lib/pacemaker/pcmk_sched_primitive.c pcmk__rsc_trace(dependent, "%s %s with %s (%s, score=%d, filter=%d)", dependent 1137 lib/pacemaker/pcmk_sched_primitive.c dependent->id, primary->id, colocation->id, dependent 1143 lib/pacemaker/pcmk_sched_primitive.c return pcmk__apply_coloc_to_priority(dependent, primary, dependent 1147 lib/pacemaker/pcmk_sched_primitive.c pcmk__apply_coloc_to_scores(dependent, primary, colocation); dependent 367 lib/pacemaker/pcmk_sched_promotable.c pcmk_resource_t *dependent = colocation->dependent; dependent 378 lib/pacemaker/pcmk_sched_promotable.c colocation->id, colocation->dependent->id, dependent 381 lib/pacemaker/pcmk_sched_promotable.c dependent->priv->cmds->add_colocated_node_scores(dependent, clone, dependent 1216 lib/pacemaker/pcmk_sched_promotable.c update_dependent_allowed_nodes(pcmk_resource_t *dependent, dependent 1234 lib/pacemaker/pcmk_sched_promotable.c colocation->id, colocation->dependent->id, dependent 1236 lib/pacemaker/pcmk_sched_promotable.c attr, colocation->score, dependent->id); dependent 1238 lib/pacemaker/pcmk_sched_promotable.c g_hash_table_iter_init(&iter, dependent->priv->allowed_nodes); dependent 1241 lib/pacemaker/pcmk_sched_promotable.c dependent); dependent 1265 lib/pacemaker/pcmk_sched_promotable.c pcmk_resource_t *dependent, dependent 1287 lib/pacemaker/pcmk_sched_promotable.c update_dependent_allowed_nodes(dependent, primary, node, dependent 1306 lib/pacemaker/pcmk_sched_promotable.c colocation->id, colocation->dependent->id, dependent 1307 lib/pacemaker/pcmk_sched_promotable.c colocation->primary->id, dependent->id); dependent 1308 lib/pacemaker/pcmk_sched_promotable.c pcmk__colocation_intersect_nodes(dependent, primary, colocation, dependent 1326 lib/pacemaker/pcmk_sched_promotable.c pcmk_resource_t *dependent, dependent 1332 lib/pacemaker/pcmk_sched_promotable.c primary_instance = pcmk__find_compatible_instance(dependent, primary, dependent 1338 lib/pacemaker/pcmk_sched_promotable.c int new_priority = pcmk__add_scores(dependent->priv->priority, dependent 1344 lib/pacemaker/pcmk_sched_promotable.c colocation->id, colocation->dependent->id, dependent 1345 lib/pacemaker/pcmk_sched_promotable.c colocation->primary->id, dependent->id, dependent 1346 lib/pacemaker/pcmk_sched_promotable.c pcmk_readable_score(dependent->priv->priority), dependent 1349 lib/pacemaker/pcmk_sched_promotable.c dependent->priv->priority = new_priority; dependent 1357 lib/pacemaker/pcmk_sched_promotable.c colocation->id, colocation->dependent->id, dependent 1358 lib/pacemaker/pcmk_sched_promotable.c colocation->primary->id, dependent->id); dependent 1359 lib/pacemaker/pcmk_sched_promotable.c dependent->priv->priority = -PCMK_SCORE_INFINITY; dependent 291 lib/pacemaker/pcmk_sched_resource.c const pcmk_resource_t *dependent = constraint->dependent; dependent 293 lib/pacemaker/pcmk_sched_resource.c if (dependent == orig_rsc) { dependent 297 lib/pacemaker/pcmk_sched_resource.c if (pcmk__is_clone(rsc) && !pcmk__is_clone(dependent)) { dependent 302 lib/pacemaker/pcmk_sched_resource.c (pcmk__colocation_affects(dependent, rsc, constraint, dependent 304 lib/pacemaker/pcmk_sched_resource.c add_colocated_resources(dependent, orig_rsc, &colocated_rscs); dependent 534 tools/crm_resource_runtime.c if (pcmk_is_set(cons->dependent->flags, pcmk__rsc_detect_loop) dependent 540 tools/crm_resource_runtime.c attr_name, attr_value, cons->dependent->id); dependent 541 tools/crm_resource_runtime.c update_attribute(cons->dependent, cons->dependent->id, NULL,