The branch, master has been updated
via 19a411f ctdb-recovery: Create recovery databases in state dir
from dcf6a60 nss_netbsd: Remove unimplemented prototypes
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 19a411f839c5c34fec2aa5e6cb095346be56d94e
Author: Amitay Isaacs <[email protected]>
Date: Thu Feb 11 14:32:34 2016 +1100
ctdb-recovery: Create recovery databases in state dir
This matches the behaviour during serial database recovery.
Signed-off-by: Amitay Isaacs <[email protected]>
Reviewed-by: Martin Schwenke <[email protected]>
Autobuild-User(master): Martin Schwenke <[email protected]>
Autobuild-Date(master): Thu Feb 11 08:01:14 CET 2016 on sn-devel-144
-----------------------------------------------------------------------
Summary of changes:
ctdb/server/ctdb_recoverd.c | 2 ++
ctdb/server/ctdb_recovery_helper.c | 9 ++++++++-
2 files changed, 10 insertions(+), 1 deletion(-)
Changeset truncated at 500 lines:
diff --git a/ctdb/server/ctdb_recoverd.c b/ctdb/server/ctdb_recoverd.c
index c89649a..e42433d 100644
--- a/ctdb/server/ctdb_recoverd.c
+++ b/ctdb/server/ctdb_recoverd.c
@@ -1781,6 +1781,8 @@ static int db_recovery_parallel(struct ctdb_recoverd
*rec, TALLOC_CTX *mem_ctx)
goto fail;
}
+ setenv("CTDB_DBDIR_STATE", rec->ctdb->db_directory_state, 1);
+
if (!ctdb_vfork_with_logging(state, rec->ctdb, "recovery", prog, nargs,
args, NULL, NULL, &state->pid)) {
DEBUG(DEBUG_ERR,
diff --git a/ctdb/server/ctdb_recovery_helper.c
b/ctdb/server/ctdb_recovery_helper.c
index d7288e2..8fc2791 100644
--- a/ctdb/server/ctdb_recovery_helper.c
+++ b/ctdb/server/ctdb_recovery_helper.c
@@ -80,6 +80,7 @@ static struct recdb_context *recdb_create(TALLOC_CTX
*mem_ctx, uint32_t db_id,
const char *db_path,
uint32_t hash_size, bool persistent)
{
+ static char *db_dir_state = NULL;
struct recdb_context *recdb;
unsigned int tdb_flags;
@@ -88,10 +89,16 @@ static struct recdb_context *recdb_create(TALLOC_CTX
*mem_ctx, uint32_t db_id,
return NULL;
}
+ if (db_dir_state == NULL) {
+ db_dir_state = getenv("CTDB_DBDIR_STATE");
+ }
+
recdb->db_name = db_name;
recdb->db_id = db_id;
recdb->db_path = talloc_asprintf(recdb, "%s/recdb.%s",
- dirname(discard_const(db_path)),
+ db_dir_state != NULL ?
+ db_dir_state :
+ dirname(discard_const(db_path)),
db_name);
if (recdb->db_path == NULL) {
talloc_free(recdb);
--
Samba Shared Repository