for (ip = ipalloc_state->all_ips; ip != NULL; ip = ip->next) {
- ip->available_on = talloc_zero_array(ip, bool,
- ipalloc_state->num);
+ ip->available_on = bitmap_talloc(ip, ipalloc_state->num);
if (ip->available_on == NULL) {
return false;
}
for (j = 0; j < avail->num; j++) {
if (ctdb_sock_addr_same_ip(
&ip->addr, &avail->ip[j].addr)) {
- ip->available_on[i] = true;
+ bitmap_set(ip->available_on, i);
break;
}
}
#include "replace.h"
#include "system/network.h"
+#include "lib/util/bitmap.h"
+
struct public_ip_list {
struct public_ip_list *next;
uint32_t pnn;
ctdb_sock_addr addr;
- bool *available_on;
+ struct bitmap *available_on;
};
#define IP_KEYLEN 4
return false;
}
- return ip->available_on[pnn];
+ return bitmap_query(ip->available_on, pnn);
}
bool can_node_takeover_ip(struct ipalloc_state *ipalloc_state,