[PATCH] Core ldb modules changes

simo idra at samba.org
Thu Jan 17 15:37:43 GMT 2008


This is a new patch[1] to the core ldb internal async API to address some
issue that were preventing me from using ldb in a full async server.
The next step will be to add support to replace the run queue now
attached to the ldb context with an event system and completely stop
using the ldb_wait() call in fully async code calling code.

These patch also add helper function and the description explain in more
detail how module SHOULD/MUST behave as currently a number of bad
practices are seen in the code. Hopefully this will end up making
clearer how modules should be coded by enforcing a stricter policy and
by providing helper functions that abstract the interfaces a bit more.

Also in the plans is to further split the ldb headers to provide a
modules specific one (see the tail of ldb_private.h where I moved most
of the functions I want to put in the ldb_modules.h file). This will
allow to keep some core ldb structures private to the core by not
exposing them into the ldb_modules.h that will be created later.

This patch touches on lib/ldb in the samba4 test git tree, it does pass
a standalone build and the ldb make tests for both the tdb and ldap
backends.

Before committing I will finish porting the dsdb modules to this
interface, but I thought that people may be interested in commenting and
understanding the direction I want to take with this code.

Simo.

[1] Patch here as it is a bit too big for the list:
http://samba.org/~idra/patches/0001-This-commit-changes-in-some-key-areas-the-way-ldb-mo.patch

Also git tree here: git://git.samba.org/idra/samba.git
branch v4-0-ldb-async

-- 
Simo Sorce
Samba Team GPL Compliance Officer <simo at samba.org>
Senior Software Engineer at Red Hat Inc. <ssorce at redhat.com>



More information about the samba-technical mailing list