dbwrap: add a dbwrap_flags argument to db_open_ctdb()
authorMichael Adam <obnox@samba.org>
Tue, 28 Jan 2014 11:53:24 +0000 (12:53 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 7 Feb 2014 15:06:06 +0000 (16:06 +0100)
This is in preparation of directly supporting ctdb read only
record copies when opening a ctdb database from samba.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
source3/lib/dbwrap/dbwrap_ctdb.c
source3/lib/dbwrap/dbwrap_ctdb.h
source3/lib/dbwrap/dbwrap_open.c
source3/torture/test_dbwrap_ctdb.c

index 98a9138f32f0aff8ea4122355ee39c7196982766..2770129a177d5e3c6edc5843a2e91717a604a19e 100644 (file)
@@ -1569,7 +1569,8 @@ struct db_context *db_open_ctdb(TALLOC_CTX *mem_ctx,
                                const char *name,
                                int hash_size, int tdb_flags,
                                int open_flags, mode_t mode,
-                               enum dbwrap_lock_order lock_order)
+                               enum dbwrap_lock_order lock_order,
+                               uint64_t dbwrap_flags)
 {
        struct db_context *result;
        struct db_ctdb_ctx *db_ctdb;
@@ -1703,7 +1704,8 @@ struct db_context *db_open_ctdb(TALLOC_CTX *mem_ctx,
                                const char *name,
                                int hash_size, int tdb_flags,
                                int open_flags, mode_t mode,
-                               enum dbwrap_lock_order lock_order)
+                               enum dbwrap_lock_order lock_order,
+                               uint64_t dbwrap_flags)
 {
        DEBUG(3, ("db_open_ctdb: no cluster support!\n"));
        errno = ENOSYS;
index bfbe3bde52ef52861cf8a088a3939fa1462504e6..3196b917bdd26751f804bc31df3263ed10fafed0 100644 (file)
@@ -31,6 +31,7 @@ struct db_context *db_open_ctdb(TALLOC_CTX *mem_ctx,
                                const char *name,
                                int hash_size, int tdb_flags,
                                int open_flags, mode_t mode,
-                               enum dbwrap_lock_order lock_order);
+                               enum dbwrap_lock_order lock_order,
+                               uint64_t dbwrap_flags);
 
 #endif /* __DBWRAP_CTDB_H__ */
index 6c9280cedbb7f6813c018fed39cf9585438c3d74..61324f7c2dea0de884d987467179d3c81b76426c 100644 (file)
@@ -104,7 +104,7 @@ struct db_context *db_open(TALLOC_CTX *mem_ctx,
                if (lp_parm_bool(-1, "ctdb", partname, True)) {
                        result = db_open_ctdb(mem_ctx, partname, hash_size,
                                              tdb_flags, open_flags, mode,
-                                             lock_order);
+                                             lock_order, dbwrap_flags);
                        if (result == NULL) {
                                DEBUG(0,("failed to attach to ctdb %s\n",
                                         partname));
index f7672ba4ff180c3da4454102bdb7a62953356d7b..d7380b1dad2e7a206c90c06c2fa613314f460347 100644 (file)
@@ -32,7 +32,7 @@ bool run_local_dbwrap_ctdb(int dummy)
        uint32_t val;
 
        db = db_open_ctdb(talloc_tos(), "torture.tdb", 0, TDB_DEFAULT,
-                         O_RDWR, 0755, DBWRAP_LOCK_ORDER_1);
+                         O_RDWR, 0755, DBWRAP_LOCK_ORDER_1, DBWRAP_FLAG_NONE);
        if (db == NULL) {
                perror("db_open_ctdb failed");
                goto fail;