diff options
Diffstat (limited to 'ctdb')
-rw-r--r-- | ctdb/server/ctdb_ltdb_server.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ctdb/server/ctdb_ltdb_server.c b/ctdb/server/ctdb_ltdb_server.c index e050b7304fe..ce3569fe7b1 100644 --- a/ctdb/server/ctdb_ltdb_server.c +++ b/ctdb/server/ctdb_ltdb_server.c @@ -1135,6 +1135,13 @@ int32_t ctdb_control_db_attach(struct ctdb_context *ctdb, return -1; } + if ((c->flags & CTDB_CTRL_FLAG_ATTACH_RECOVERY) && + ctdb->recovery_mode != CTDB_RECOVERY_ACTIVE) { + DBG_ERR("Attach from recovery refused because " + "recovery is not active\n"); + return -1; + } + if (!(c->flags & CTDB_CTRL_FLAG_ATTACH_RECOVERY) && (ctdb->recovery_mode == CTDB_RECOVERY_ACTIVE || ctdb->runstate < CTDB_RUNSTATE_STARTUP)) { |