tdb_compat: add "TDB_COMPAT_USE_TDB2" environment variable
authorRusty Russell <rusty@rustcorp.com.au>
Wed, 21 Sep 2011 03:28:59 +0000 (12:58 +0930)
committerRusty Russell <rusty@rustcorp.com.au>
Wed, 21 Sep 2011 03:28:59 +0000 (12:58 +0930)
When BUILD_TDB2 is defined, add TDB_VERSION1 flag to all tdb_open()
calls, unless this flag is set.  This means we use the tdb1 on-disk
format unless the user specifically asks for tdb2.

We'd love to do this using loadparm, but we need to work with both
Samba 3 and Samba 4's loadparm, and they're not unified yet.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
lib/tdb_compat/tdb_compat.c

index d5d8f09c64a7e09cb538c86cefd573016aeb227b..b37e6cc7ba03d01f22dc87009a66fcf566eefa8a 100644 (file)
@@ -96,6 +96,10 @@ tdb_open_compat_(const char *name, int hash_size,
 {
        union tdb_attribute cif, log, hash, max_dead, hsize, *attr = NULL;
 
+       if (!getenv("TDB_COMPAT_USE_TDB2")) {
+               tdb_flags |= TDB_VERSION1;
+       }
+
        if (log_fn) {
                log.log.base.attr = TDB_ATTRIBUTE_LOG;
                log.log.base.next = NULL;