TDB2 inclusion?

Rusty Russell rusty at
Thu Jun 2 03:11:27 MDT 2011

Hi all,

   I've got a patch tree which puts in --enable-tdb2 (off by default)
for the S4 build, but it also has some impact on the tree even without
that enabled so I wanted to ask everyone first.

(1) It adds a lib/ccan dir
    - The CCAN project ( is my hobby horse for useful
      code snippets.  I pulled some modules into here which TDB2 uses
      (TDB2 was also developed as a CCAN module), but if people don't
      think they're useful I can move them under the lib/tdb2/ dir.

      The places which were using tdb1's hash function directly I
      replaced to use the original ccan/hash/ version.

(2) It makes requirements on tdb_ functions in the tree
    - Mainly, TDB2 returns a (negative) error code rather than -1.  Most
      places check for != 0 (which works across both), so I just made
      that the norm rather than wrapping everything.

(3) It redirects all the tdb dependencies to tdb_compat
    - Compatibility wrappers and figuring out whether we're tdb1 or tdb2
      lives here, very little else should care.

Now, I'm not committing to TDB2 stability at this stage, but integration
would make my life simpler (vs. continually rebasing).  The major
missing piece (other than debugging and tuning) is that I need to
implement the ability to read and write TDB1 files.

        git:// #tdb2-wip


More information about the samba-technical mailing list