diff options
author | Martin Schwenke <martin@meltin.net> | 2015-05-08 15:20:04 +1000 |
---|---|---|
committer | Amitay Isaacs <amitay@samba.org> | 2015-05-13 06:42:13 +0200 |
commit | 7d0a4ab6229b19ee55f79cdcf6de811b429e4657 (patch) | |
tree | 45de68480e139301b4d040383c6b886dd664bb5f /ctdb | |
parent | 0d0512cb65c9a27ea60a88c9b2a2d3804dad32c0 (diff) | |
download | samba-7d0a4ab6229b19ee55f79cdcf6de811b429e4657.tar.gz |
ctdb-daemon: Never release all IPs when DisableIPFailover is set
If DisableIPFailover is set then something else may be managing public
IP addresses so CTDB should leave them alone.
Pair-programmed-with: Amitay Isaacs <amitay@gmail.com>
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Diffstat (limited to 'ctdb')
-rw-r--r-- | ctdb/server/ctdb_daemon.c | 4 | ||||
-rw-r--r-- | ctdb/server/ctdb_takeover.c | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/ctdb/server/ctdb_daemon.c b/ctdb/server/ctdb_daemon.c index 1dd0a6d804e..fa54d3da5bc 100644 --- a/ctdb/server/ctdb_daemon.c +++ b/ctdb/server/ctdb_daemon.c @@ -1335,9 +1335,7 @@ int ctdb_start_daemon(struct ctdb_context *ctdb, bool do_fork) tevent_fd_set_auto_close(fde); /* release any IPs we hold from previous runs of the daemon */ - if (ctdb->tunable.disable_ip_failover == 0) { - ctdb_release_all_ips(ctdb); - } + ctdb_release_all_ips(ctdb); /* Start the transport */ if (ctdb->methods->start(ctdb) != 0) { diff --git a/ctdb/server/ctdb_takeover.c b/ctdb/server/ctdb_takeover.c index e37f193b7fb..510c8835aaa 100644 --- a/ctdb/server/ctdb_takeover.c +++ b/ctdb/server/ctdb_takeover.c @@ -3136,6 +3136,10 @@ void ctdb_release_all_ips(struct ctdb_context *ctdb) struct ctdb_vnn *vnn; int count = 0; + if (ctdb->tunable.disable_ip_failover == 1) { + return; + } + for (vnn=ctdb->vnn;vnn;vnn=vnn->next) { if (!ctdb_sys_have_ip(&vnn->public_address)) { ctdb_vnn_unassign_iface(ctdb, vnn); |