static struct db_context *locked_dbs[DBWRAP_LOCK_ORDER_MAX];
struct dbwrap_lock_order_state *state = NULL;
- if (db->lock_order == 0) {
- /*
- * lock order 0 is for example for dbwrap_rbt without
- * real locking. Return state nevertheless to avoid
- * special cases.
- */
- return talloc_zero(mem_ctx, struct dbwrap_lock_order_state);
- }
-
if (db->lock_order > DBWRAP_LOCK_ORDER_MAX) {
DEBUG(0,("Invalid lock order %d of %s\n",
(int)db->lock_order, db->name));
TDB_DATA key))
{
struct db_record *rec;
- struct dbwrap_lock_order_state *lock_order;
+ struct dbwrap_lock_order_state *lock_order = NULL;
- lock_order = dbwrap_check_lock_order(db, mem_ctx);
- if (lock_order == NULL) {
- return NULL;
+ if (db->lock_order != 0) {
+ lock_order = dbwrap_check_lock_order(db, mem_ctx);
+ if (lock_order == NULL) {
+ return NULL;
+ }
}
rec = db_fn(db, mem_ctx, key);
if (rec == NULL) {