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

Reply via email to