summaryrefslogtreecommitdiff
path: root/ctdb
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2015-05-08 15:20:04 +1000
committerAmitay Isaacs <amitay@samba.org>2015-05-13 06:42:13 +0200
commit7d0a4ab6229b19ee55f79cdcf6de811b429e4657 (patch)
tree45de68480e139301b4d040383c6b886dd664bb5f /ctdb
parent0d0512cb65c9a27ea60a88c9b2a2d3804dad32c0 (diff)
downloadsamba-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.c4
-rw-r--r--ctdb/server/ctdb_takeover.c4
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);