TDB2 prototype git tree for Samba 4
Rusty Russell
rusty at rustcorp.com.au
Mon Apr 4 01:01:16 MDT 2011
Hi all!
I've ported TDB2 to Samba, and it passes make check (minus the few
tests needing TDB python bindings). Configure with --enable-tdb2.
See the may-rebase-at-any-moment WIP tree:
http://git.samba.org/rusty/?p=rusty/samba.git;a=shortlog;h=refs/heads/tdb2-wip
Here's the summary:
1) Samba 3 doesn't build. I was disappointed to discover that there's
still no unified build, and that I had only been building S4. :(
2) TDB2 development was done in CCAN, so it uses some ccan modules. I
dropped them into lib/ccan for now, but we need to figure out if
that's a good idea or not. They can easily live under lib/tdb2/.
3) I merged the likely/unlikely macros spread over the tree, as an
experiment. If we really want to do this, it needs some neatening.
The CCAN ones are nice: they can gather stats on misusage.
4) TDB2 returns a (negative) error number on failure, so portable code
should check for non-zero instead of -1. Many places already did.
TODO:
1) There are a few missing functions which Samba 3 wants, which are
still to be implemented (timeouts and nonblocking, which are both
quite different in TDB2).
2) TDB1 on-disk compatibility is still TODO.
3) tdb_compat.h is all inlines, to avoid build issues. I'll fix that :)
Next up:
(1) Samba 3 build. It's a bit icky with two build systems...
(2) locking_attr support so we can do nonblocking and timeouts properly.
(3) Python bindings.
(4) TDB1 ondisk compatibility.
(5) Review ccan modules and see which ones, if any, I should propose for
general use in SAMBA.
(6) General neatening of code for submission.
Feedback welcome!
Rusty.
More information about the samba-technical
mailing list