db_path = ctdbd_dbpath(conn, db_ctdb, db_ctdb->db_id);
result->persistent = ((tdb_flags & TDB_CLEAR_IF_FIRST) == 0);
+ result->lock_order = lock_order;
/* only pass through specific flags */
tdb_flags &= TDB_SEQNUM;
if (result == NULL) {
result = db_open_tdb(mem_ctx, name, hash_size,
- tdb_flags, open_flags, mode);
- }
- if (result != NULL) {
- result->lock_order = lock_order;
+ tdb_flags, open_flags, mode,
+ lock_order);
}
return result;
}
struct db_context *db_open_tdb(TALLOC_CTX *mem_ctx,
const char *name,
int hash_size, int tdb_flags,
- int open_flags, mode_t mode)
+ int open_flags, mode_t mode,
+ enum dbwrap_lock_order lock_order)
{
struct db_context *result = NULL;
struct db_tdb_ctx *db_tdb;
DEBUG(0, ("talloc failed\n"));
goto fail;
}
+ result->lock_order = lock_order;
db_tdb->wtdb = tdb_wrap_open(db_tdb, name, hash_size, tdb_flags,
open_flags, mode, lp_ctx);
struct db_context *db_open_tdb(TALLOC_CTX *mem_ctx,
const char *name,
int hash_size, int tdb_flags,
- int open_flags, mode_t mode);
+ int open_flags, mode_t mode,
+ enum dbwrap_lock_order lock_order);
#endif /* __DBWRAP_TDB_H__ */