diff options
author | Volker Lendecke <vl@samba.org> | 2012-03-27 14:31:04 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2012-04-17 10:21:00 +0200 |
commit | 94cf5cc284ba908675ed5fd573dd101d7b9bad02 (patch) | |
tree | fa3cbe066f5400c31cfa13ea149e13bada59fbdc /source3/lib/dbwrap/dbwrap_private.h | |
parent | bd9178506ed8796a0aa7e4e757f2adc20dcae4f8 (diff) | |
download | samba-94cf5cc284ba908675ed5fd573dd101d7b9bad02.tar.gz samba-94cf5cc284ba908675ed5fd573dd101d7b9bad02.tar.bz2 samba-94cf5cc284ba908675ed5fd573dd101d7b9bad02.zip |
s3: Add dbwrap_try_fetch_locked
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.
Diffstat (limited to 'source3/lib/dbwrap/dbwrap_private.h')
-rw-r--r-- | source3/lib/dbwrap/dbwrap_private.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source3/lib/dbwrap/dbwrap_private.h b/source3/lib/dbwrap/dbwrap_private.h index 111f02dc6b..f95e305a00 100644 --- a/source3/lib/dbwrap/dbwrap_private.h +++ b/source3/lib/dbwrap/dbwrap_private.h @@ -36,6 +36,9 @@ struct db_context { struct db_record *(*fetch_locked)(struct db_context *db, TALLOC_CTX *mem_ctx, TDB_DATA key); + struct db_record *(*try_fetch_locked)(struct db_context *db, + TALLOC_CTX *mem_ctx, + TDB_DATA key); int (*traverse)(struct db_context *db, int (*f)(struct db_record *rec, void *private_data), |