diff options
author | Ronnie Sahlberg <ronniesahlberg@gmail.com> | 2011-03-12 09:42:07 +1100 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2011-03-14 13:35:53 +0100 |
commit | 3cc230b5eeca749ab68d19cfda969f72c269f1f6 (patch) | |
tree | edb6ccfb7f26c892179e9ef7346722c130c9d56a | |
parent | 3e0d4f8f733af9fe2b06954ff8b83f76f561b440 (diff) | |
download | samba-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.c | 3 | ||||
-rw-r--r-- | ctdb/server/ctdb_monitor.c | 1 |
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); |