summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronniesahlberg@gmail.com>2011-03-12 09:42:07 +1100
committerMichael Adam <obnox@samba.org>2011-03-14 13:35:53 +0100
commit3cc230b5eeca749ab68d19cfda969f72c269f1f6 (patch)
treeedb6ccfb7f26c892179e9ef7346722c130c9d56a
parent3e0d4f8f733af9fe2b06954ff8b83f76f561b440 (diff)
downloadsamba-3cc230b5eeca749ab68d19cfda969f72c269f1f6.tar.gz
samba-3cc230b5eeca749ab68d19cfda969f72c269f1f6.tar.xz
samba-3cc230b5eeca749ab68d19cfda969f72c269f1f6.zip
Dont allow clients to connect to databases untile we are well past and through
the initial recovery phase CQ S1022412 Signed-off-by: Michael Adam <obnox@samba.org> (This used to be ctdb commit e02bbd915b7151c615ff64f09ad9abc9720bef7d)
-rw-r--r--ctdb/server/ctdb_ltdb_server.c3
-rw-r--r--ctdb/server/ctdb_monitor.c1
2 files changed, 3 insertions, 1 deletions
diff --git a/ctdb/server/ctdb_ltdb_server.c b/ctdb/server/ctdb_ltdb_server.c
index 92fb0f6640..fe061e79c8 100644
--- a/ctdb/server/ctdb_ltdb_server.c
+++ b/ctdb/server/ctdb_ltdb_server.c
@@ -1029,7 +1029,8 @@ int32_t ctdb_control_db_attach(struct ctdb_context *ctdb, TDB_DATA indata,
}
if (ctdb->recovery_mode == CTDB_RECOVERY_ACTIVE
- && client->pid != ctdb->recoverd_pid) {
+ && client->pid != ctdb->recoverd_pid
+ && !ctdb->done_startup) {
struct ctdb_deferred_attach_context *da_ctx = talloc(client, struct ctdb_deferred_attach_context);
if (da_ctx == NULL) {
diff --git a/ctdb/server/ctdb_monitor.c b/ctdb/server/ctdb_monitor.c
index 02f7149664..547dcc01ee 100644
--- a/ctdb/server/ctdb_monitor.c
+++ b/ctdb/server/ctdb_monitor.c
@@ -302,6 +302,7 @@ static void ctdb_wait_until_recovered(struct event_context *ev, struct timed_eve
"ctdb_start_monitoring: ctdb_recheck_persistent_health() OK\n"));
DEBUG(DEBUG_NOTICE,(__location__ " Recoveries finished. Running the \"startup\" event.\n"));
+ DEBUG(DEBUG_ERR,(__location__ " Allow clients to attach to databases.\n"));
event_add_timed(ctdb->ev, ctdb->monitor->monitor_context,
timeval_current(),
ctdb_check_health, ctdb);