summaryrefslogtreecommitdiff
path: root/source3/lib/dbwrap
AgeCommit message (Collapse)AuthorFilesLines
2012-06-22dbwrap: dbwrap_local_open()Rusty Russell1-3/+3
This simply opens a tdb: it will eventually switch depending on the extension. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
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-06-21s3:util: rename procid_equal() to serverid_equal()Michael Adam1-1/+1
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-14move the dbwrap library to the top levelMichael Adam14-2812/+2
Autobuild-User: Michael Adam <obnox@samba.org> Autobuild-Date: Mon May 14 04:04:55 CEST 2012 on sn-devel-104
2012-05-13s3:lib:dbwrap: use [u]int[num]_t consistently in dbwrap_tdb.cMichael Adam1-1/+1
2012-05-13s3:lib:dbwrap: use [u]int[num]_t consistently in dbwrap_rbt.cMichael Adam1-2/+2
2012-05-13s3:lib:dbwrap: use [u]int[num]_t consistently in dbwrap_ctdb.cMichael Adam1-6/+8
2012-05-13s3:lib:dbwrap: use [u]int[num]_t consistently in dbwrap_file.cMichael Adam1-6/+7
2012-05-13s3:lib:dbwrap: use [u]int[num]_t consistently in dbwrap_util.cMichael Adam1-9/+9
2012-05-13s3:dbwrap: move definition of dbwrap_lock_order to dbwrap.hMichael Adam4-8/+7
This is needed in all of the library, not only in the dbwrap_open part.
2012-04-24s3: Fix Coverity ID 2751: REVERSE_INULLVolker Lendecke1-1/+1
2012-04-23s3-dbwrap: A void function can not return a valueAndrew Bartlett1-1/+1
Only non-gcc compilers seem to notice this as an error. Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Mon Apr 23 05:58:52 CEST 2012 on sn-devel-104
2012-04-21s3: Implement db_id for dbwrap_cacheVolker Lendecke1-0/+9
Autobuild-User: Volker Lendecke <vl@samba.org> Autobuild-Date: Sat Apr 21 13:46:00 CEST 2012 on sn-devel-104
2012-04-21s3: Initialize "stored_callback" in dbwrap_cacheVolker Lendecke1-0/+1
This should fix one of the recent flaky tests
2012-04-20s3-dbwrap: dbwrap_watch_record_stored => NT_STATUS_NOT_FOUND is ok...Stefan Metzmacher1-0/+3
Autobuild-User: Volker Lendecke <vl@samba.org> Autobuild-Date: Fri Apr 20 17:05:52 CEST 2012 on sn-devel-104
2012-04-19s3-dbwrap: Add dbwrap_record_watch_send/recvVolker Lendecke2-0/+529
With this API you can asynchronously wait for a record to be modified
2012-04-20s3-dbwrap: Add dbwrap_set_stored_callbackVolker Lendecke6-2/+47
This is a per-db function that is called whenever some record is modified
2012-04-20s3-dbwrap: Add "db_context" to "db_record"Volker Lendecke4-0/+10
2012-04-20s3-dbwrap: Add dbwrap_db_idVolker Lendecke6-0/+50
This returns a blob uniquely identifying the database
2012-04-19s3: Fix Coverity ID 2744: CHECKED_RETURNVolker Lendecke1-1/+6
2012-04-19s3: Fix Coverity ID 2745 and 2746: FORWARD_NULLVolker Lendecke1-11/+15
We can assume that the rbt dbs are around
2012-04-19s3-dbwrap: Remove dead code: talloc_stackframe() cannot failAndrew Bartlett1-10/+1
2012-04-18s3-dbwrap: Fix an unused var warningVolker Lendecke1-0/+2
2012-04-18s3-dbwrap: push lp_ctx up another layer in the stackAndrew Bartlett3-5/+6
This will allow db_open_tdb() to be called from common code, which may already have a loadparm context loaded. It also slowly moves the lp_ctx up the stack, as required to remove the library loop between smbconf and the registry. Andrew Bartlett
2012-04-18s3-dbwrap: Add talloc_stackframe() callsAndrew Bartlett1-5/+21
This is in preperation for calling dbwrap from common code, where we may not have a stackframe set up. Andrew Bartlett
2012-04-17s3: Add dbwrap_try_fetch_lockedVolker Lendecke8-16/+97
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-17s3: Add dbwrap_cacheVolker Lendecke2-0/+242
This is a caching layer for the notify database and potentially for the brlock database. It caches the parse_record operation as long as the underlying seqnum does not change.
2012-04-17s3: Open up 3 levels of dbwrap_lock_orderVolker Lendecke2-5/+9
2012-04-17s3: Return CTDB_PATH from lp_ctdbd_socket()Volker Lendecke1-8/+0
All callers had that fallback
2012-04-07s3: Compile fix for dbwrap_file.cVolker Lendecke1-1/+1
Autobuild-User: Volker Lendecke <vl@samba.org> Autobuild-Date: Sat Apr 7 14:10:35 CEST 2012 on sn-devel-104
2012-04-05build: Remove sys_lseek wrapperAndrew Bartlett1-2/+2
2012-04-05build: Remove sys_ftruncate wrapperAndrew Bartlett1-2/+2
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 Lendecke4-6/+8
2012-03-10tdb_wrap: Move to specific directory.Jelmer Vernooij2-2/+2
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-02-27dbwrap: changed log level for information about lock orderAndrew Tridgell1-1/+1
we were filling our logs with lock ordering debug lines Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org> Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Mon Feb 27 12:50:29 CET 2012 on sn-devel-104
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 Lendecke3-4/+10
2012-01-18s3: Enforce a lock order in dbwrapVolker Lendecke4-1/+85
This makes sure we do not deadlock from doing two dbwrap_fetch_locked in two processes in different orders. At open time, we assign a strict order to all databases. lock_order 1 will be locked first, lock_order 2 second. No two records of the same lock order may be locked at the same time.
2012-01-18s3: Add a "lock_order" argument to db_openVolker Lendecke3-3/+26
This will be used to enforce a lock hierarchy between the databases. We have seen deadlocks between locking.tdb, brlock.tdb, serverid.tdb and notify*.tdb. These should be fixed by refusing a dbwrap_fetch_locked that does not follow a defined lock hierarchy.
2012-01-05s3: Fix some nonempty blank linesVolker Lendecke1-3/+3
2011-12-16s3:dbwrap fix return value of db_tdb_parseChristian Ambach1-1/+5
use the TDB ecode to determine the NTSTATUS return value and not the return code that is just -1
2011-12-15s3-dbwrap: All relevant backends provide parse_record(). Remove the fallback.Volker Lendecke1-37/+0
Signed-off-by: Michael Adam <obnox@samba.org> Autobuild-User: Michael Adam <obnox@samba.org> Autobuild-Date: Thu Dec 15 17:41:53 CET 2011 on sn-devel-104
2011-12-15s3-dbwrap: Remove the "fetch" db_context callbackVolker Lendecke5-113/+0
Signed-off-by: Michael Adam <obnox@samba.org>
2011-12-15s3-dbwrap: Rewrite dbwrap_fetch in terms of dbwrap_parse_recordVolker Lendecke1-3/+30
Signed-off-by: Michael Adam <obnox@samba.org>
2011-12-15s3-dbwrap: Rewrite dbwrap_fallback_parse_record based on dbwrap_fetch_lockedVolker Lendecke1-4/+13
This is in preparation to remove the db_context->fetch function pointer Signed-off-by: Michael Adam <obnox@samba.org>