colocation 110 lib/pacemaker/libpacemaker_private.h const pcmk__colocation_t *colocation, colocation 379 lib/pacemaker/libpacemaker_private.h const pcmk__colocation_t *colocation, colocation 385 lib/pacemaker/libpacemaker_private.h const pcmk__colocation_t *colocation); colocation 390 lib/pacemaker/libpacemaker_private.h const pcmk__colocation_t *colocation); colocation 401 lib/pacemaker/libpacemaker_private.h void pcmk__add_this_with(pe_resource_t *rsc, pcmk__colocation_t *colocation); colocation 404 lib/pacemaker/libpacemaker_private.h void pcmk__add_with_this(pe_resource_t *rsc, pcmk__colocation_t *colocation); colocation 429 lib/pacemaker/libpacemaker_private.h pcmk__colocation_has_influence(const pcmk__colocation_t *colocation, colocation 433 lib/pacemaker/libpacemaker_private.h rsc = colocation->primary; colocation 448 lib/pacemaker/libpacemaker_private.h if (pcmk_is_set(colocation->dependent->flags, pe_rsc_allow_remote_remotes) colocation 457 lib/pacemaker/libpacemaker_private.h return colocation->influence || (rsc->running_on == NULL); colocation 544 lib/pacemaker/libpacemaker_private.h const pcmk__colocation_t *colocation); colocation 549 lib/pacemaker/libpacemaker_private.h const pcmk__colocation_t *colocation); colocation 591 lib/pacemaker/libpacemaker_private.h const pcmk__colocation_t *colocation, colocation 624 lib/pacemaker/libpacemaker_private.h const pcmk__colocation_t *colocation, colocation 661 lib/pacemaker/libpacemaker_private.h const pcmk__colocation_t *colocation, colocation 669 lib/pacemaker/libpacemaker_private.h const pcmk__colocation_t *colocation, colocation 457 lib/pacemaker/pcmk_sched_bundle.c const pcmk__colocation_t *colocation, colocation 469 lib/pacemaker/pcmk_sched_bundle.c CRM_CHECK((colocation != NULL) && (dependent != NULL) && (primary != NULL), colocation 477 lib/pacemaker/pcmk_sched_bundle.c } else if (colocation->dependent->variant > pe_group) { colocation 487 lib/pacemaker/pcmk_sched_bundle.c colocation, true); colocation 489 lib/pacemaker/pcmk_sched_bundle.c } else if (colocation->score >= INFINITY) { colocation 504 lib/pacemaker/pcmk_sched_bundle.c colocation->id, dependent->id, primary->id, colocation->score); colocation 510 lib/pacemaker/pcmk_sched_bundle.c if (colocation->score < INFINITY) { colocation 513 lib/pacemaker/pcmk_sched_bundle.c colocation, false); colocation 523 lib/pacemaker/pcmk_sched_bundle.c if ((colocation->primary_role >= RSC_ROLE_PROMOTED) colocation 527 lib/pacemaker/pcmk_sched_bundle.c if ((colocation->primary_role >= RSC_ROLE_PROMOTED) colocation 533 lib/pacemaker/pcmk_sched_bundle.c colocation->id, pe__node_name(chosen), chosen->weight); colocation 538 lib/pacemaker/pcmk_sched_bundle.c if (colocation->score >= INFINITY) { colocation 701 lib/pacemaker/pcmk_sched_clone.c const pcmk__colocation_t *colocation, colocation 714 lib/pacemaker/pcmk_sched_clone.c CRM_CHECK((colocation != NULL) && (dependent != NULL) && (primary != NULL), colocation 719 lib/pacemaker/pcmk_sched_clone.c colocation->id, dependent->id, primary->id, colocation->score); colocation 727 lib/pacemaker/pcmk_sched_clone.c } else if (colocation->primary_role == RSC_ROLE_UNKNOWN) { colocation 730 lib/pacemaker/pcmk_sched_clone.c colocation->id); colocation 735 lib/pacemaker/pcmk_sched_clone.c colocation); colocation 738 lib/pacemaker/pcmk_sched_clone.c } else if (colocation->dependent_role == RSC_ROLE_PROMOTED) { colocation 741 lib/pacemaker/pcmk_sched_clone.c colocation); colocation 747 lib/pacemaker/pcmk_sched_clone.c interleave_s = g_hash_table_lookup(colocation->dependent->meta, colocation 750 lib/pacemaker/pcmk_sched_clone.c && (colocation->dependent->variant > pe_group)) { colocation 754 lib/pacemaker/pcmk_sched_clone.c if (copies_per_node(colocation->dependent) != copies_per_node(colocation->primary)) { colocation 757 lib/pacemaker/pcmk_sched_clone.c colocation->dependent->id, colocation 758 lib/pacemaker/pcmk_sched_clone.c colocation->primary->id); colocation 778 lib/pacemaker/pcmk_sched_clone.c colocation, true); colocation 780 lib/pacemaker/pcmk_sched_clone.c } else if (colocation->score >= INFINITY) { colocation 792 lib/pacemaker/pcmk_sched_clone.c } else if (colocation->score >= INFINITY) { colocation 802 lib/pacemaker/pcmk_sched_clone.c colocation->id, pe__node_name(chosen), colocation 817 lib/pacemaker/pcmk_sched_clone.c child_rsc->cmds->apply_coloc_score(dependent, child_rsc, colocation, colocation 141 lib/pacemaker/pcmk_sched_colocation.c pcmk__add_this_with(pe_resource_t *rsc, pcmk__colocation_t *colocation) colocation 143 lib/pacemaker/pcmk_sched_colocation.c rsc->rsc_cons = g_list_insert_sorted(rsc->rsc_cons, colocation, colocation 155 lib/pacemaker/pcmk_sched_colocation.c pcmk__add_with_this(pe_resource_t *rsc, pcmk__colocation_t *colocation) colocation 157 lib/pacemaker/pcmk_sched_colocation.c rsc->rsc_cons_lhs = g_list_insert_sorted(rsc->rsc_cons_lhs, colocation, colocation 887 lib/pacemaker/pcmk_sched_colocation.c pcmk__colocation_t *colocation = (pcmk__colocation_t *) gIter->data; colocation 889 lib/pacemaker/pcmk_sched_colocation.c if (colocation->score < INFINITY) { colocation 899 lib/pacemaker/pcmk_sched_colocation.c if (!is_start && (colocation->primary_role != RSC_ROLE_PROMOTED)) { colocation 904 lib/pacemaker/pcmk_sched_colocation.c if (colocation->dependent_role == RSC_ROLE_PROMOTED) { colocation 905 lib/pacemaker/pcmk_sched_colocation.c mark_action_blocked(colocation->dependent, RSC_PROMOTE, colocation 908 lib/pacemaker/pcmk_sched_colocation.c mark_action_blocked(colocation->dependent, RSC_START, action->rsc); colocation 934 lib/pacemaker/pcmk_sched_colocation.c const pcmk__colocation_t *colocation, bool preview) colocation 941 lib/pacemaker/pcmk_sched_colocation.c if ((colocation->dependent_role >= RSC_ROLE_UNPROMOTED) colocation 963 lib/pacemaker/pcmk_sched_colocation.c colocation->id, dependent->id); colocation 965 lib/pacemaker/pcmk_sched_colocation.c } else if (colocation->score >= INFINITY) { colocation 976 lib/pacemaker/pcmk_sched_colocation.c } else if (colocation->score <= -CRM_SCORE_INFINITY) { colocation 989 lib/pacemaker/pcmk_sched_colocation.c if ((colocation->score > 0) colocation 990 lib/pacemaker/pcmk_sched_colocation.c && (colocation->dependent_role != RSC_ROLE_UNKNOWN) colocation 991 lib/pacemaker/pcmk_sched_colocation.c && (colocation->dependent_role != dependent->next_role)) { colocation 995 lib/pacemaker/pcmk_sched_colocation.c colocation->id, role2text(colocation->dependent_role), colocation 1000 lib/pacemaker/pcmk_sched_colocation.c if ((colocation->score > 0) colocation 1001 lib/pacemaker/pcmk_sched_colocation.c && (colocation->primary_role != RSC_ROLE_UNKNOWN) colocation 1002 lib/pacemaker/pcmk_sched_colocation.c && (colocation->primary_role != primary->next_role)) { colocation 1006 lib/pacemaker/pcmk_sched_colocation.c colocation->id, role2text(colocation->primary_role), colocation 1011 lib/pacemaker/pcmk_sched_colocation.c if ((colocation->score < 0) colocation 1012 lib/pacemaker/pcmk_sched_colocation.c && (colocation->dependent_role != RSC_ROLE_UNKNOWN) colocation 1013 lib/pacemaker/pcmk_sched_colocation.c && (colocation->dependent_role == dependent->next_role)) { colocation 1015 lib/pacemaker/pcmk_sched_colocation.c colocation->id, role2text(colocation->dependent_role)); colocation 1019 lib/pacemaker/pcmk_sched_colocation.c if ((colocation->score < 0) colocation 1020 lib/pacemaker/pcmk_sched_colocation.c && (colocation->primary_role != RSC_ROLE_UNKNOWN) colocation 1021 lib/pacemaker/pcmk_sched_colocation.c && (colocation->primary_role == primary->next_role)) { colocation 1023 lib/pacemaker/pcmk_sched_colocation.c colocation->id, role2text(colocation->primary_role)); colocation 1044 lib/pacemaker/pcmk_sched_colocation.c const pcmk__colocation_t *colocation) colocation 1052 lib/pacemaker/pcmk_sched_colocation.c if (colocation->node_attribute != NULL) { colocation 1053 lib/pacemaker/pcmk_sched_colocation.c attribute = colocation->node_attribute; colocation 1059 lib/pacemaker/pcmk_sched_colocation.c } else if (colocation->score < 0) { colocation 1070 lib/pacemaker/pcmk_sched_colocation.c colocation->id, dependent->id, pe__node_name(node), colocation 1071 lib/pacemaker/pcmk_sched_colocation.c colocation->score, primary->id); colocation 1072 lib/pacemaker/pcmk_sched_colocation.c node->weight = pcmk__add_scores(-colocation->score, node->weight); colocation 1076 lib/pacemaker/pcmk_sched_colocation.c if (colocation->score < CRM_SCORE_INFINITY) { colocation 1078 lib/pacemaker/pcmk_sched_colocation.c colocation->id, dependent->id, colocation 1079 lib/pacemaker/pcmk_sched_colocation.c pe__node_name(node), colocation->score); colocation 1080 lib/pacemaker/pcmk_sched_colocation.c node->weight = pcmk__add_scores(colocation->score, colocation 1084 lib/pacemaker/pcmk_sched_colocation.c } else if (colocation->score >= CRM_SCORE_INFINITY) { colocation 1086 lib/pacemaker/pcmk_sched_colocation.c colocation->id, dependent->id, pe__node_name(node), colocation 1087 lib/pacemaker/pcmk_sched_colocation.c colocation->score, attribute); colocation 1088 lib/pacemaker/pcmk_sched_colocation.c node->weight = pcmk__add_scores(-colocation->score, node->weight); colocation 1092 lib/pacemaker/pcmk_sched_colocation.c if ((colocation->score <= -INFINITY) || (colocation->score >= INFINITY) colocation 1124 lib/pacemaker/pcmk_sched_colocation.c const pcmk__colocation_t *colocation) colocation 1135 lib/pacemaker/pcmk_sched_colocation.c if (colocation->node_attribute != NULL) { colocation 1136 lib/pacemaker/pcmk_sched_colocation.c attribute = colocation->node_attribute; colocation 1143 lib/pacemaker/pcmk_sched_colocation.c if ((colocation->score == INFINITY) colocation 1144 lib/pacemaker/pcmk_sched_colocation.c && (colocation->dependent_role == RSC_ROLE_PROMOTED)) { colocation 1150 lib/pacemaker/pcmk_sched_colocation.c if ((colocation->primary_role != RSC_ROLE_UNKNOWN) colocation 1151 lib/pacemaker/pcmk_sched_colocation.c && (colocation->primary_role != primary->next_role)) { colocation 1155 lib/pacemaker/pcmk_sched_colocation.c if (colocation->dependent_role == RSC_ROLE_UNPROMOTED) { colocation 1159 lib/pacemaker/pcmk_sched_colocation.c dependent->priority = pcmk__add_scores(score_multiplier * colocation->score, colocation 373 lib/pacemaker/pcmk_sched_group.c const pcmk__colocation_t *colocation) colocation 382 lib/pacemaker/pcmk_sched_group.c colocation->id, dependent->id, primary->id); colocation 387 lib/pacemaker/pcmk_sched_group.c member->cmds->apply_coloc_score(member, primary, colocation, true); colocation 391 lib/pacemaker/pcmk_sched_group.c if (colocation->score >= INFINITY) { colocation 401 lib/pacemaker/pcmk_sched_group.c member->cmds->apply_coloc_score(member, primary, colocation, true); colocation 419 lib/pacemaker/pcmk_sched_group.c const pcmk__colocation_t *colocation) colocation 425 lib/pacemaker/pcmk_sched_group.c colocation->id, dependent->id, primary->id); colocation 433 lib/pacemaker/pcmk_sched_group.c if (colocation->score >= INFINITY) { colocation 450 lib/pacemaker/pcmk_sched_group.c member->cmds->apply_coloc_score(dependent, member, colocation, false); colocation 454 lib/pacemaker/pcmk_sched_group.c if (colocation->score >= INFINITY) { colocation 464 lib/pacemaker/pcmk_sched_group.c member->cmds->apply_coloc_score(dependent, member, colocation, false); colocation 484 lib/pacemaker/pcmk_sched_group.c const pcmk__colocation_t *colocation, colocation 488 lib/pacemaker/pcmk_sched_group.c && (colocation != NULL)); colocation 491 lib/pacemaker/pcmk_sched_group.c colocate_group_with(dependent, primary, colocation); colocation 497 lib/pacemaker/pcmk_sched_group.c colocate_with_group(dependent, primary, colocation); colocation 278 lib/pacemaker/pcmk_sched_primitive.c pcmk__colocation_t *colocation = (pcmk__colocation_t *) data; colocation 282 lib/pacemaker/pcmk_sched_primitive.c pe_resource_t *other = colocation->primary; colocation 285 lib/pacemaker/pcmk_sched_primitive.c if ((colocation->dependent_role >= RSC_ROLE_PROMOTED) colocation 286 lib/pacemaker/pcmk_sched_primitive.c || ((colocation->score < 0) && (colocation->score > -INFINITY))) { colocation 293 lib/pacemaker/pcmk_sched_primitive.c rsc->id, colocation->id, other->id, colocation 294 lib/pacemaker/pcmk_sched_primitive.c colocation->score, role2text(colocation->dependent_role)); colocation 298 lib/pacemaker/pcmk_sched_primitive.c rsc->cmds->apply_coloc_score(rsc, other, colocation, true); colocation 324 lib/pacemaker/pcmk_sched_primitive.c pcmk__colocation_t *colocation = (pcmk__colocation_t *) data; colocation 327 lib/pacemaker/pcmk_sched_primitive.c pe_resource_t *other = colocation->dependent; colocation 328 lib/pacemaker/pcmk_sched_primitive.c const float factor = colocation->score / (float) INFINITY; colocation 330 lib/pacemaker/pcmk_sched_primitive.c if (!pcmk__colocation_has_influence(colocation, NULL)) { colocation 335 lib/pacemaker/pcmk_sched_primitive.c "to colocation %s", rsc->id, other->id, colocation->id); colocation 337 lib/pacemaker/pcmk_sched_primitive.c colocation->node_attribute, factor, colocation 1017 lib/pacemaker/pcmk_sched_primitive.c const pcmk__colocation_t *colocation, colocation 1022 lib/pacemaker/pcmk_sched_primitive.c CRM_CHECK((colocation != NULL) && (dependent != NULL) && (primary != NULL), colocation 1027 lib/pacemaker/pcmk_sched_primitive.c primary->cmds->apply_coloc_score(dependent, primary, colocation, false); colocation 1031 lib/pacemaker/pcmk_sched_primitive.c filter_results = pcmk__colocation_affects(dependent, primary, colocation, colocation 1034 lib/pacemaker/pcmk_sched_primitive.c ((colocation->score > 0)? "Colocating" : "Anti-colocating"), colocation 1035 lib/pacemaker/pcmk_sched_primitive.c dependent->id, primary->id, colocation->id, colocation->score, colocation 1040 lib/pacemaker/pcmk_sched_primitive.c pcmk__apply_coloc_to_priority(dependent, primary, colocation); colocation 1043 lib/pacemaker/pcmk_sched_primitive.c pcmk__apply_coloc_to_weights(dependent, primary, colocation); colocation 1135 lib/pacemaker/pcmk_sched_promotable.c const pcmk__colocation_t *colocation) colocation 1142 lib/pacemaker/pcmk_sched_promotable.c if (colocation->score >= INFINITY) { colocation 1147 lib/pacemaker/pcmk_sched_promotable.c attr = colocation->node_attribute; colocation 1153 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(colocation->primary, colocation 1155 lib/pacemaker/pcmk_sched_promotable.c colocation->id, colocation->dependent->id, colocation 1156 lib/pacemaker/pcmk_sched_promotable.c colocation->primary->id, pe__node_name(primary_node), attr, colocation 1157 lib/pacemaker/pcmk_sched_promotable.c colocation->score, dependent->id); colocation 1164 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(colocation->primary, "%s: %d + %d", colocation 1165 lib/pacemaker/pcmk_sched_promotable.c pe__node_name(node), node->weight, colocation->score); colocation 1166 lib/pacemaker/pcmk_sched_promotable.c node->weight = pcmk__add_scores(node->weight, colocation->score); colocation 1181 lib/pacemaker/pcmk_sched_promotable.c const pcmk__colocation_t *colocation) colocation 1196 lib/pacemaker/pcmk_sched_promotable.c if (instance->fns->state(instance, FALSE) == colocation->primary_role) { colocation 1197 lib/pacemaker/pcmk_sched_promotable.c update_dependent_allowed_nodes(dependent, node, colocation); colocation 1209 lib/pacemaker/pcmk_sched_promotable.c if ((colocation->score >= INFINITY) colocation 1210 lib/pacemaker/pcmk_sched_promotable.c && ((colocation->dependent_role != RSC_ROLE_PROMOTED) colocation 1211 lib/pacemaker/pcmk_sched_promotable.c || (colocation->primary_role != RSC_ROLE_PROMOTED))) { colocation 1213 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(colocation->primary, colocation 1215 lib/pacemaker/pcmk_sched_promotable.c colocation->id, colocation->dependent->id, colocation 1216 lib/pacemaker/pcmk_sched_promotable.c colocation->primary->id, dependent->id); colocation 1234 lib/pacemaker/pcmk_sched_promotable.c const pcmk__colocation_t *colocation) colocation 1240 lib/pacemaker/pcmk_sched_promotable.c colocation->primary_role, FALSE); colocation 1245 lib/pacemaker/pcmk_sched_promotable.c colocation->score); colocation 1247 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(colocation->primary, colocation 1249 lib/pacemaker/pcmk_sched_promotable.c colocation->id, colocation->dependent->id, colocation 1250 lib/pacemaker/pcmk_sched_promotable.c colocation->primary->id, dependent->id, colocation 1252 lib/pacemaker/pcmk_sched_promotable.c pcmk_readable_score(colocation->score), colocation 1256 lib/pacemaker/pcmk_sched_promotable.c } else if (colocation->score >= INFINITY) { colocation 1258 lib/pacemaker/pcmk_sched_promotable.c pe_rsc_trace(colocation->primary, colocation 1260 lib/pacemaker/pcmk_sched_promotable.c colocation->id, colocation->dependent->id, colocation 1261 lib/pacemaker/pcmk_sched_promotable.c colocation->primary->id, dependent->id); colocation 739 lib/pacemaker/pcmk_sched_resource.c pcmk__colocation_t *colocation = NULL; colocation 742 lib/pacemaker/pcmk_sched_resource.c colocation = (pcmk__colocation_t *) iter->data; colocation 743 lib/pacemaker/pcmk_sched_resource.c pcmk__add_colocated_node_scores(colocation->primary, rsc->id, nodes, colocation 744 lib/pacemaker/pcmk_sched_resource.c colocation->node_attribute, colocation 745 lib/pacemaker/pcmk_sched_resource.c colocation->score / (float) INFINITY, colocation 749 lib/pacemaker/pcmk_sched_resource.c colocation = (pcmk__colocation_t *) iter->data; colocation 750 lib/pacemaker/pcmk_sched_resource.c if (!pcmk__colocation_has_influence(colocation, rsc)) { colocation 753 lib/pacemaker/pcmk_sched_resource.c pcmk__add_colocated_node_scores(colocation->dependent, rsc->id, nodes, colocation 754 lib/pacemaker/pcmk_sched_resource.c colocation->node_attribute, colocation 755 lib/pacemaker/pcmk_sched_resource.c colocation->score / (float) INFINITY,