ctdb-ipalloc: Move merged IP list creation to ipalloc()
authorMartin Schwenke <martin@meltin.net>
Mon, 12 Sep 2016 05:59:09 +0000 (15:59 +1000)
committerMartin Schwenke <martins@samba.org>
Wed, 14 Sep 2016 06:39:29 +0000 (08:39 +0200)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12254

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
ctdb/server/ipalloc.c

index e416c743c2df3d5de9ad4395eeb0877bff5dd966..7fd422a765a1bc0f76326ee65c58c89d56f860fd 100644 (file)
@@ -231,9 +231,7 @@ bool ipalloc_set_public_ips(struct ipalloc_state *ipalloc_state,
        ipalloc_state->available_public_ips = available_ips;
        ipalloc_state->known_public_ips = known_ips;
 
-       ipalloc_state->all_ips = create_merged_ip_list(ipalloc_state);
-
-       return (ipalloc_state->all_ips != NULL);
+       return true;
 }
 
 /* This can only return false if there are no available IPs *and*
@@ -282,6 +280,11 @@ struct public_ip_list *ipalloc(struct ipalloc_state *ipalloc_state)
 {
        bool ret = false;
 
+       ipalloc_state->all_ips = create_merged_ip_list(ipalloc_state);
+       if (ipalloc_state->all_ips == NULL) {
+               return NULL;
+       }
+
        switch (ipalloc_state->algorithm) {
        case IPALLOC_LCP2:
                ret = ipalloc_lcp2(ipalloc_state);