struct ctdb_public_ip_list_old **available_public_ips;
enum ipalloc_algorithm algorithm;
+ uint32_t no_ip_failback;
};
struct ctdb_interface {
* IPs, since the modulo step above implicitly fails
* back IPs to their "home" node.
*/
- if (1 == ctdb->tunable.no_ip_failback) {
+ if (1 == ctdb->ipalloc_state->no_ip_failback) {
DEBUG(DEBUG_WARNING, ("WARNING: 'NoIPFailback' set but ignored - incompatible with 'DeterministicIPs\n"));
}
basic_allocate_unassigned(ctdb, ipflags, all_ips);
/* If we don't want IPs to fail back then don't rebalance IPs. */
- if (1 == ctdb->tunable.no_ip_failback) {
+ if (1 == ctdb->ipalloc_state->no_ip_failback) {
return;
}
lcp2_allocate_unassigned(ctdb, ipflags, all_ips, lcp2_imbalances);
/* If we don't want IPs to fail back then don't rebalance IPs. */
- if (1 == ctdb->tunable.no_ip_failback) {
+ if (1 == ctdb->ipalloc_state->no_ip_failback) {
goto finished;
}
ipalloc_state->algorithm = IPALLOC_NONDETERMINISTIC;
}
+ ipalloc_state->no_ip_failback = ctdb->tunable.no_ip_failback;
+
return ipalloc_state;
}