TALLOC_CTX *mem_ctx;
DLIST_REMOVE(ctdb->vnn, vnn);
- if (vnn->iface != NULL) {
- ctdb_vnn_unassign_iface(ctdb, vnn);
- }
if (vnn->pnn != ctdb->pnn) {
+ if (vnn->iface != NULL) {
+ ctdb_vnn_unassign_iface(ctdb, vnn);
+ }
talloc_free(vnn);
return 0;
}
+ vnn->pnn = -1;
mem_ctx = talloc_new(ctdb);
talloc_steal(mem_ctx, vnn);
ctdb_vnn_iface_string(vnn),
ctdb_addr_to_str(&vnn->public_address),
vnn->public_netmask_bits);
+ if (vnn->iface != NULL) {
+ ctdb_vnn_unassign_iface(ctdb, vnn);
+ }
if (ret != 0) {
return -1;
}