IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
Clustered setups should have only ever used
the unsigned version of TDB_DATA in the
first place so they can't be in this mess :-).
Just do the normal upgrade in the clustered case.
Jeremy.
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 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)
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)