summaryrefslogtreecommitdiff
path: root/source3/lib/dbwrap/dbwrap_ctdb.c
AgeCommit message (Collapse)AuthorFilesLines
2012-06-29s3_dbrwap_ctdb: improve a comment in db_ctdb_can_use_local_record()Michael Adam1-1/+3
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2012-06-29s3:dbwrap_ctdb: fix a comment in db_ctdb_fetch()Michael Adam1-2/+3
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2012-06-29s3:dbwrap_ctdb: expand the comment for the db_ctdb_can_use_local_copy() functionMichael Adam1-1/+4
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2012-06-29s3:dbwrap_ctdb: rename db_ctdb_own_record() -> db_ctdb_can_use_local_copy()Michael Adam1-3/+3
This matches the function's intention much closer, since it also tests whether we have a valid local read only copy. Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>
2012-06-29s3:dbrwap_ctdb: remove commented out legacy codeMichael Adam1-5/+1
2012-06-29s3:dbwrap_ctdb: fix fetch/fetch_locked when samba is built against old ctdbMichael Adam1-4/+3
The introduction of read only copies has broken the algorithm for deteting whether we can use the local record copy for fetch_locked and fetch: For fetch locked the new code always uses the local copy if there is one... This patch re-establish the original algorithm for the build against a ctdb without read only record copies. Reported-by: Gregor Beck <gbeck@sernet.de>
2012-06-27s3-param: Rename loadparm_s3_context -> loadparm_s3_helpersAndrew Bartlett1-1/+1
This helps clarify the role of this structure and wrapper function. The purpose here is to provide helper functions to the lib/param loadparm_context that point back at the s3 lp_ functions. This allows a struct loadparm_context to be passed to any point in the code, and always refer to the correct loadparm system. If this has not been set, the variables loaded in the lib/param code will be returned. As requested by Michael Adam. Andrew Bartlett Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Wed Jun 27 17:11:16 CEST 2012 on sn-devel-104
2012-06-27s3:lib:dbwrap: fix return value of db_ctdb_traverse[_read] for ↵Gregor Beck1-6/+17
non-persistent dbs to return the number of traversed records upon successful traverse. Signed-off-by: Michael Adam <obnox@samba.org>
2012-06-22dbwrap: remove get_flags().Rusty Russell1-8/+0
The flags returned were TDB-specific: this was only used for detecting the endianness of obsolete databases (the conversion code was put in in 2003, with reference to Samba 2.3). It's easier to remove it than to translate the NTDB flags to TDB flags, and it's a really weird thing to ask for anyway. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-05-13s3:lib:dbwrap: use [u]int[num]_t consistently in dbwrap_ctdb.cMichael Adam1-6/+8
2012-05-13s3:dbwrap: move definition of dbwrap_lock_order to dbwrap.hMichael Adam1-0/+1
This is needed in all of the library, not only in the dbwrap_open part.
2012-04-20s3-dbwrap: Add dbwrap_set_stored_callbackVolker Lendecke1-0/+1
This is a per-db function that is called whenever some record is modified
2012-04-20s3-dbwrap: Add dbwrap_db_idVolker Lendecke1-0/+11
This returns a blob uniquely identifying the database
2012-04-18s3-dbwrap: Fix an unused var warningVolker Lendecke1-0/+2
2012-04-17s3: Add dbwrap_try_fetch_lockedVolker Lendecke1-3/+33
This is designed to spread the load on individual ctdb records to allow upper layers to do backoff mechanisms. In the ctdb case, do not get the record if a local lock is already taken. If we are not dmaster, do at most one migrate attempt. For the tdb case, this is a nonblocking fetch_locked. If someone else has the lock, give up.
2012-04-03s3: Enhance the dbwrap needed x attempts msgVolker Lendecke1-1/+5
Autobuild-User: Volker Lendecke <vl@samba.org> Autobuild-Date: Tue Apr 3 15:17:11 CEST 2012 on sn-devel-104
2012-03-30s3: Avoid a crash with debug level 10Volker Lendecke1-1/+2
Autobuild-User: Volker Lendecke <vl@samba.org> Autobuild-Date: Fri Mar 30 16:52:16 CEST 2012 on sn-devel-104
2012-03-16s3-dbwrap: Move "lock_order" initialization to db_open_xxVolker Lendecke1-0/+1
2012-03-10tdb_wrap: Move to specific directory.Jelmer Vernooij1-1/+1
It's a bit confusing to mix low-level and high-level libraries. We had multiple libraries in one directory, and there were have circular dependencies with other libraries outside that directory (in this case, samba-hostconfig). Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Sat Mar 10 23:13:01 CET 2012 on sn-devel-104
2012-03-05s3-ctdb: Enable CTDB readonly support only if CTDB supports itAmitay Isaacs1-0/+4
Autobuild-User: Amitay Isaacs <amitay@samba.org> Autobuild-Date: Mon Mar 5 02:47:36 CET 2012 on sn-devel-104
2012-03-05dbwrap_ctdb: only fetch a read-only copy if we had a record already.Rusty Russell1-2/+7
Because revoking read-only copies of records is expensive, we only want ctdbd to do it for high-turnover records. A basic heuristic is that if we don't find a local copy of the record, don't ask for a read-only copy. The fetch itself will cause ctdbd to migrate the record, so eventually we will have a local copy. Next time it gets migrated away, we'll call ctdbd_fetch() with local_copy = true. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-03-05dbwrap_ctdb: handle read-only records.Rusty Russell1-9/+26
The new read-only record flags make determining if we can use a record a bit more complex, so extract it into its own function. The OLD logic was: 1) If the record doesn't exist, we can't use it. 2) If we are the dmaster for the record, we can use it. The new logic is: 1) If the record doesn't exist, we can't use it. 2) If we are the dmaster for the record, we can use it IF we only want read-only access, OR there are no read-only delegations. 3) If we are not dmaster, we can only use it if we want read-only access and it is marked as a read-only copy. This logic is unused until the next patches which begin to ask for read-only copies of records. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-01-18s3: Use lock_order for setting the db priorityVolker Lendecke1-0/+18
Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Wed Jan 18 16:21:52 CET 2012 on sn-devel-104
2012-01-18s3: Pass down lock_order to db_open_ctdbVolker Lendecke1-2/+4
2011-12-15s3-dbwrap: Remove the "fetch" db_context callbackVolker Lendecke1-1/+0
Signed-off-by: Michael Adam <obnox@samba.org>
2011-12-15s3-dbwrap: Implement db_ctdb_parse_record in terms of db_ctdb_fetchVolker Lendecke1-0/+19
Signed-off-by: Michael Adam <obnox@samba.org>
2011-11-29s3:dbwrap: turn the fetch dbwrap method to NTSTATUS return code.Michael Adam1-24/+14
This implement more correct NTSTATUS handling inside the backends. This ensures that data.dptr != NULL if return code is NT_STATUS_OK.
2011-11-29s3:dbwrap_ctdb: re-use map_nt_error_from_tdb() in local tdb_error_to_ntstatus()Michael Adam1-14/+1
2011-11-25s3:dbwrap: do not burden the user of db_open_ctdb with ifdef voodooGregor Beck1-0/+13
Signed-off-by: Michael Adam <obnox@samba.org>
2011-10-14s3:dbwrap_ctdb: return the number of records in db_ctdb_traverse() for ↵Stefan Metzmacher1-3/+15
persistent dbs metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Fri Oct 14 20:59:37 CEST 2011 on sn-devel-104
2011-10-13s3:dbwrap_ctdb: fix the build after changing signature of tdb_wrap_open()Michael Adam1-1/+7
Autobuild-User: Michael Adam <obnox@samba.org> Autobuild-Date: Thu Oct 13 18:50:47 CEST 2011 on sn-devel-104
2011-10-12s3:dbwrap_ctdb: improve the check for skipping the __db_sequence_number__ ↵Michael Adam1-2/+1
record in traverse It did not compare the last charcter (usually '\0')
2011-10-12s3:dbwrap_ctdb: fix check for skipping the __db_sequence_number__ in traverseMichael Adam1-1/+1
Brown paperbag. This omitted the "== 0" hand hence skipped all keys of the same length as __db_sequence_number__ but different from it...
2011-10-12s3-dbwrap_ctdb: fix the build.Günther Deschner1-1/+4
Michael, please check. Guenther Autobuild-User: Günther Deschner <gd@samba.org> Autobuild-Date: Wed Oct 12 15:25:56 CEST 2011 on sn-devel-104
2011-10-12s3:dbwrap: remove m_all marshall buffer from ctdb transaction.Gregor Beck1-23/+1
it was only used by ctdb_replay_transaction and was a actually write only Signed-off-by: Michael Adam <obnox@samba.org> Autobuild-User: Michael Adam <obnox@samba.org> Autobuild-Date: Wed Oct 12 05:20:36 CEST 2011 on sn-devel-104
2011-10-12s3:dbwrap: traverse records created within this transaction.Gregor Beck1-1/+39
Signed-off-by: Michael Adam <obnox@samba.org>
2011-10-11s3:dbwrap: move definitions of db_record and db_contect structs to ↵Michael Adam1-0/+1
dbwrap_private.h The API and callers now only need the forward declarations.
2011-10-11s3:dbwrap: move the db_open_ctdb() prototype to a new header dbwrap_ctdb.hMichael Adam1-0/+1
2011-09-28s3:dbwrap_ctdb: improve the check for skipping the __db_sequence_number__ ↵Michael Adam1-2/+1
record in traverse It did not compare the last charcter (usually '\0') Autobuild-User: Michael Adam <obnox@samba.org> Autobuild-Date: Wed Sep 28 16:54:59 CEST 2011 on sn-devel-104
2011-09-20s3:dbwrap_ctdb: skip the internal __db_sequence_number__ key from ↵Michael Adam1-0/+26
(persistent) traverse and traverse_read This is is used internally in the persistent transactions and should not surface. Autobuild-User: Michael Adam <obnox@samba.org> Autobuild-Date: Tue Sep 20 07:59:20 CEST 2011 on sn-devel-104
2011-09-07s3:dbwrap_ctdb: improve error message in transaction destructorGregor Beck1-1/+2
Signed-off-by: Michael Adam <obnox@samba.org>
2011-08-30s3: Silence some warningsVolker Lendecke1-0/+19
Rusty, please suggest a proper fix for this. Thanks, Volker Lendecke Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Tue Aug 30 19:16:14 CEST 2011 on sn-devel-104
2011-08-15s3:dbwrap_ctdb: improve transaction start/commit/cancel debuggingMichael Adam1-2/+8
* also log nesting transaction start/commit/cancel * unify transaction log messages slightly
2011-07-29s3:dbwrap: move all .c and .h files of dbwrap to lib/dbwrap/Michael Adam1-0/+1440
Autobuild-User: Michael Adam <obnox@samba.org> Autobuild-Date: Fri Jul 29 13:34:22 CEST 2011 on sn-devel-104