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 <ami...@gmail.com> 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 <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> Autobuild-User(master): Martin Schwenke <mart...@samba.org> 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