Rev 642: merge from ronnie in http://samba.org/~tridge/ctdb
tridge at samba.org
tridge at samba.org
Mon Sep 24 03:52:36 GMT 2007
------------------------------------------------------------
revno: 642
revision-id: tridge at samba.org-20070924035235-mr0gb1jooya1u8om
parent: tridge at samba.org-20070924001907-jv6dux525q0b412a
parent: sahlberg at ronnie-20070924005226-iu9m6tfxfvtgzy32
committer: Andrew Tridgell <tridge at samba.org>
branch nick: tridge
timestamp: Mon 2007-09-24 13:52:35 +1000
message:
merge from ronnie
modified:
server/ctdb_recoverd.c recoverd.c-20070503213540-bvxuyd9jm1f7ig90-1
------------------------------------------------------------
revno: 432.1.297
revision-id: sahlberg at ronnie-20070924005226-iu9m6tfxfvtgzy32
parent: sahlberg at ronnie-20070924002748-5g1t5f04luqpqtj4
committer: Ronnie Sahlberg <sahlberg at ronnie>
branch nick: ctdb
timestamp: Mon 2007-09-24 10:52:26 +1000
message:
when we have a public ip address mismatch (i.e. we hold addresses we
shouldnt or we are not holding addresses wqe should)
we must first freeze the local node before we set the recovery mode
modified:
server/ctdb_recoverd.c recoverd.c-20070503213540-bvxuyd9jm1f7ig90-1
------------------------------------------------------------
revno: 432.1.296
revision-id: sahlberg at ronnie-20070924002748-5g1t5f04luqpqtj4
parent: sahlberg at ronnie-20070921054548-y2bbei3hkt35sm1x
parent: tridge at samba.org-20070924001907-jv6dux525q0b412a
committer: Ronnie Sahlberg <sahlberg at ronnie>
branch nick: ctdb
timestamp: Mon 2007-09-24 10:27:48 +1000
message:
merge from tridge
modified:
config/ctdb.init ctdb.init-20070527204758-biuh7znabuwan3zn-6
config/ctdb.sysconfig ctdb.sysconfig-20070527204758-biuh7znabuwan3zn-7
config/events.d/50.samba samba-20070601105340-vlcvnp6euoj3zdwy-3
config/events.d/60.nfs nfs-20070601141008-hy3h4qgbk1jd2jci-1
include/ctdb_private.h ctdb_private.h-20061117234101-o3qt14umlg9en8z0-13
server/ctdb_daemon.c ctdb_daemon.c-20070409200331-3el1kqgdb9m4ib0g-1
server/ctdb_monitor.c ctdb_monitor.c-20070518100625-8jf4ft1mjzmb22ck-1
server/ctdb_persistent.c ctdb_persistent.c-20070920053845-u2ggm5relkdor3xg-1
server/ctdb_recover.c ctdb_recover.c-20070503002147-admmfgt1oj6gexfo-1
server/ctdb_server.c ctdb.c-20061127094323-t50f58d65iaao5of-2
server/ctdb_tunables.c ctdb_tunables.c-20070604095258-4m34d7cm1qa7yos9-1
tests/ctdb_persistent.c ctdb_persistent.c-20070921022331-6ubn98ak9nwbzjzv-1
------------------------------------------------------------
revno: 432.1.295
revision-id: sahlberg at ronnie-20070921054548-y2bbei3hkt35sm1x
parent: sahlberg at ronnie-20070921051933-v5kj9o6x1hfi65i5
parent: tridge at samba.org-20070921054413-vqg3zm4yrdhcttwx
committer: Ronnie Sahlberg <sahlberg at ronnie>
branch nick: ctdb
timestamp: Fri 2007-09-21 15:45:48 +1000
message:
merge from tridge
modified:
server/ctdb_persistent.c ctdb_persistent.c-20070920053845-u2ggm5relkdor3xg-1
=== modified file 'server/ctdb_recoverd.c'
--- a/server/ctdb_recoverd.c 2007-09-21 02:24:02 +0000
+++ b/server/ctdb_recoverd.c 2007-09-24 00:52:26 +0000
@@ -1561,12 +1561,30 @@
if (ips->ips[j].pnn == pnn) {
if (!ctdb_sys_have_ip(ips->ips[j].sin)) {
DEBUG(0,("Public address '%s' is missing and we should serve this ip\n", inet_ntoa(ips->ips[j].sin.sin_addr)));
- ctdb_ctrl_setrecmode(ctdb, CONTROL_TIMEOUT(), CTDB_CURRENT_NODE, CTDB_RECOVERY_ACTIVE);
+ ret = ctdb_ctrl_freeze(ctdb, CONTROL_TIMEOUT(), CTDB_CURRENT_NODE);
+ if (ret != 0) {
+ DEBUG(0,(__location__ " Failed to freeze node due to public ip address mismatches\n"));
+ goto again;
+ }
+ ret = ctdb_ctrl_setrecmode(ctdb, CONTROL_TIMEOUT(), CTDB_CURRENT_NODE, CTDB_RECOVERY_ACTIVE);
+ if (ret != 0) {
+ DEBUG(0,(__location__ " Failed to activate recovery mode due to public ip address mismatches\n"));
+ goto again;
+ }
}
} else {
if (ctdb_sys_have_ip(ips->ips[j].sin)) {
DEBUG(0,("We are still serving a public address '%s' that we should not be serving.\n", inet_ntoa(ips->ips[j].sin.sin_addr)));
- ctdb_ctrl_setrecmode(ctdb, CONTROL_TIMEOUT(), CTDB_CURRENT_NODE, CTDB_RECOVERY_ACTIVE);
+ ret = ctdb_ctrl_freeze(ctdb, CONTROL_TIMEOUT(), CTDB_CURRENT_NODE);
+ if (ret != 0) {
+ DEBUG(0,(__location__ " Failed to freeze node due to public ip address mismatches\n"));
+ goto again;
+ }
+ ret = ctdb_ctrl_setrecmode(ctdb, CONTROL_TIMEOUT(), CTDB_CURRENT_NODE, CTDB_RECOVERY_ACTIVE);
+ if (ret != 0) {
+ DEBUG(0,(__location__ " Failed to activate recovery mode due to public ip address mismatches\n"));
+ goto again;
+ }
}
}
}
More information about the samba-cvs
mailing list