tdb_chainlock() in tdb1, tdb2 and tdb_compat ?

Andrew Bartlett abartlet at
Fri Apr 13 01:24:30 MDT 2012

On Fri, 2012-04-13 at 08:07 +0200, Volker Lendecke wrote:

> Back to the original question that started this thread: Does
> symbol versioning also solve the TDB_ERROR vs int return
> problem I saw? How does waf guarantee that from within code
> that is not properly converted yet we do not call
> tdb_chainlock that returns TDB_ERROR but the int version
> from tdb1? This to me is much more serious because the
> compiler does not catch it as an error as it does with
> tdb_fetch.

I think Rusty would be best placed to describe his work here once he
returns from his Honeymoon, but I do know he spent a lot of time
ensuring that before tdb2 was enabled in the top level that all users
were converted away from checking errors with == -1.  (Loosing the work
done there was the bit-rotting I was concerned about if we dropped tdb2
for 4.0, as you proposed on IRC).

I will also note that we are in this unfortunate transitional situation
at least in part because the last time changing to tdb2 was discussed
(September 2011) it degenerated into a discussion of our build systems.
None of that discussion turned to what seems now to be such a
controversial issue, that is the manner and length of the transition.

I'm not happy with the way tdb2 has gone either, and I know from
personal experience (working with multiple krb5 libs and build systems
in particular) how much this kind of duplication can cost.  But I would
be far happier with this discussion if we tabled it until we know Rusty
is back at work, online and able to defend the efforts that he has taken
so far.

Andrew Bartlett
Andrew Bartlett                      
Authentication Developer, Samba Team 

More information about the samba-technical mailing list