Age | Commit message (Collapse) | Author | Files | Lines |
|
This backend can be used untill ctdb knows about real
transactions.
It stores a master tdb in a shared location and a readonly copy
on the local harddisk. Reads are always on the local tdb
and writes always on both. Change notify messages are send
to all message context, which ask for them. With the notifies
it's possible to just update the changed records, instead of
copying all records (which is the fallback).
You need to configure:
dbwrap:use_tdb2=yes
dbwrap_tdb2:master directory=/some/shared/path
dbwrap_tdb2:local directory=/var/lib/samba
metze
(This used to be commit aa6230de0d5f1875aa8c12c4fc017d3a40f90890)
|
|
(This used to be commit 32c992e9573c9af34cd142393287e2f3538d2dd9)
|
|
This should be used when transactions are wanted.
For now it's just a wrapper of db_open(), but this
will change.
metze
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit 74a070b8a24fea1009e557f711b76fc14e8961dc)
|
|
Stick to hand-written headers (that are there anyways).
Add some missing prototypes to util_tdb.h and dbwrap.h.
I did not bother to add a header for each single dbwrap backend
open function but put the prototypes for the open functions into
the central dbwrap.h.
Michael
(This used to be commit edf4dbed27a3c63c04e8110e75cdb76e31627eb6)
|
|
Only filled in for tdb so far, for rbt it's pointless, and ctdb itself needs to
be extended
(This used to be commit 0a55e018dd68af06d84332d54148bbfb0b510b22)
|
|
(http://samba.org/~tridge/3_0-ctdb)
Signed-off-by: Alexander Bokovoy <ab@samba.org>(This used to be commit 0c8e23afbbb2d081fc23908bafcad04650bfacea)
|
|
(This used to be commit 1e214b536b0628db299d701839e62a4ac52727c9)
|
|
(This used to be commit 8d8cb8f9ccbc013b97c252d27c3af4e2eb10d56a)
|
|
(This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07)
|
|
Jeremy.
(This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
|
|
(This used to be commit b38dc5ffdfe9fdc2879c57dc181815f06b4747fe)
|
|
different
database backends in place dynamically.
The main abstractions are db_context and db_record, it should be mainly
self-describing, see include/dbwrap.h. You open the db just as you would open
a tdb, this time with db_open(). If you want to fetch a record, just do the
db->fetch() call, if you want to do operations on it, you need to get it with
fetch_locked().
I added dbwrap_file.c (not heavily tested lately) as an example for what can
be done with that abstraction, uses a file per key. So if anybody is willing
to shape that up, we might have a chance on reiserfs again.... :-)
This abstraction works fine for brlock.tdb, locking.tdb, connections.tdb and
sessionid.tdb. It should work fine for the others as well, I just did not yet
get around to convert them.
If nobody loudly screams NO, then I will import the code that uses this soon.
Volker
(This used to be commit e9d7484ca246cfca4a1fd23be35edc2783136ebe)
|