summaryrefslogtreecommitdiff
path: root/lib/tdb/test
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2013-02-21 16:34:32 +0100
committerJeremy Allison <jra@samba.org>2014-05-22 21:05:15 +0200
commitdb5bda56bf089ec6052d92bb78f3b49f7c812e00 (patch)
tree85f719a424147e838a05e77cf97bb3401d596988 /lib/tdb/test
parentcbd73ba1635c061fa71ff0476cbce087b389d1ad (diff)
downloadsamba-db5bda56bf089ec6052d92bb78f3b49f7c812e00.tar.gz
tdb: add TDB_MUTEX_LOCKING support
This adds optional support for locking based on shared robust mutexes. The caller can use the TDB_MUTEX_LOCKING flag together with TDB_CLEAR_IF_FIRST after verifying with tdb_runtime_check_for_robust_mutexes() that it's supported by the current system. The caller should be aware that using TDB_MUTEX_LOCKING implies some limitations, e.g. it's not possible to have multiple read chainlocks on a given hash chain from multiple processes. Note: that this doesn't make tdb thread safe! Pair-Programmed-With: Stefan Metzmacher <metze@samba.org> Pair-Programmed-With: Michael Adam <obnox@samba.org> Signed-off-by: Volker Lendecke <vl@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org> Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'lib/tdb/test')
-rw-r--r--lib/tdb/test/run-3G-file.c1
-rw-r--r--lib/tdb/test/run-bad-tdb-header.c1
-rw-r--r--lib/tdb/test/run-check.c1
-rw-r--r--lib/tdb/test/run-corrupt.c1
-rw-r--r--lib/tdb/test/run-die-during-transaction.c1
-rw-r--r--lib/tdb/test/run-endian.c1
-rw-r--r--lib/tdb/test/run-incompatible.c1
-rw-r--r--lib/tdb/test/run-nested-transactions.c1
-rw-r--r--lib/tdb/test/run-nested-traverse.c1
-rw-r--r--lib/tdb/test/run-no-lock-during-traverse.c1
-rw-r--r--lib/tdb/test/run-oldhash.c1
-rw-r--r--lib/tdb/test/run-open-during-transaction.c1
-rw-r--r--lib/tdb/test/run-readonly-check.c1
-rw-r--r--lib/tdb/test/run-rescue-find_entry.c1
-rw-r--r--lib/tdb/test/run-rescue.c1
-rw-r--r--lib/tdb/test/run-rwlock-check.c1
-rw-r--r--lib/tdb/test/run-summary.c1
-rw-r--r--lib/tdb/test/run-transaction-expand.c1
-rw-r--r--lib/tdb/test/run-traverse-in-transaction.c1
-rw-r--r--lib/tdb/test/run-wronghash-fail.c1
-rw-r--r--lib/tdb/test/run-zero-append.c1
-rw-r--r--lib/tdb/test/run.c1
22 files changed, 22 insertions, 0 deletions
diff --git a/lib/tdb/test/run-3G-file.c b/lib/tdb/test/run-3G-file.c
index 900b1a667a2..748c972284a 100644
--- a/lib/tdb/test/run-3G-file.c
+++ b/lib/tdb/test/run-3G-file.c
@@ -9,6 +9,7 @@
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
#include "logging.h"
diff --git a/lib/tdb/test/run-bad-tdb-header.c b/lib/tdb/test/run-bad-tdb-header.c
index b00fb8934a4..9d29fdf5e8e 100644
--- a/lib/tdb/test/run-bad-tdb-header.c
+++ b/lib/tdb/test/run-bad-tdb-header.c
@@ -9,6 +9,7 @@
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
#include "logging.h"
diff --git a/lib/tdb/test/run-check.c b/lib/tdb/test/run-check.c
index b2756914831..ce389a2d14d 100644
--- a/lib/tdb/test/run-check.c
+++ b/lib/tdb/test/run-check.c
@@ -9,6 +9,7 @@
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
#include "logging.h"
diff --git a/lib/tdb/test/run-corrupt.c b/lib/tdb/test/run-corrupt.c
index 93eae42ce16..e6fc751842f 100644
--- a/lib/tdb/test/run-corrupt.c
+++ b/lib/tdb/test/run-corrupt.c
@@ -9,6 +9,7 @@
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
#include "logging.h"
diff --git a/lib/tdb/test/run-die-during-transaction.c b/lib/tdb/test/run-die-during-transaction.c
index 9b9041552ed..c636d87322d 100644
--- a/lib/tdb/test/run-die-during-transaction.c
+++ b/lib/tdb/test/run-die-during-transaction.c
@@ -19,6 +19,7 @@ static int ftruncate_check(int fd, off_t length);
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
#include <stdbool.h>
diff --git a/lib/tdb/test/run-endian.c b/lib/tdb/test/run-endian.c
index 3116f7da51b..9d4d5f59f8e 100644
--- a/lib/tdb/test/run-endian.c
+++ b/lib/tdb/test/run-endian.c
@@ -9,6 +9,7 @@
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
#include "logging.h"
diff --git a/lib/tdb/test/run-incompatible.c b/lib/tdb/test/run-incompatible.c
index af01ca6a395..b8e95b5e778 100644
--- a/lib/tdb/test/run-incompatible.c
+++ b/lib/tdb/test/run-incompatible.c
@@ -9,6 +9,7 @@
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
diff --git a/lib/tdb/test/run-nested-transactions.c b/lib/tdb/test/run-nested-transactions.c
index bf08e55afee..864adf2d716 100644
--- a/lib/tdb/test/run-nested-transactions.c
+++ b/lib/tdb/test/run-nested-transactions.c
@@ -9,6 +9,7 @@
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
#include <stdbool.h>
diff --git a/lib/tdb/test/run-nested-traverse.c b/lib/tdb/test/run-nested-traverse.c
index 361dc2ece71..22ee3e2a2a6 100644
--- a/lib/tdb/test/run-nested-traverse.c
+++ b/lib/tdb/test/run-nested-traverse.c
@@ -11,6 +11,7 @@
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#undef fcntl
#include <stdlib.h>
diff --git a/lib/tdb/test/run-no-lock-during-traverse.c b/lib/tdb/test/run-no-lock-during-traverse.c
index b5e31dc1001..737a32f1115 100644
--- a/lib/tdb/test/run-no-lock-during-traverse.c
+++ b/lib/tdb/test/run-no-lock-during-traverse.c
@@ -13,6 +13,7 @@
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
#include "logging.h"
diff --git a/lib/tdb/test/run-oldhash.c b/lib/tdb/test/run-oldhash.c
index 535336cb473..aaee6f62ef7 100644
--- a/lib/tdb/test/run-oldhash.c
+++ b/lib/tdb/test/run-oldhash.c
@@ -9,6 +9,7 @@
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
#include "logging.h"
diff --git a/lib/tdb/test/run-open-during-transaction.c b/lib/tdb/test/run-open-during-transaction.c
index 04ba956d45a..16053765e92 100644
--- a/lib/tdb/test/run-open-during-transaction.c
+++ b/lib/tdb/test/run-open-during-transaction.c
@@ -20,6 +20,7 @@ static int ftruncate_check(int fd, off_t length);
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
#include <stdbool.h>
diff --git a/lib/tdb/test/run-readonly-check.c b/lib/tdb/test/run-readonly-check.c
index e5185324246..c5e0f7dccbc 100644
--- a/lib/tdb/test/run-readonly-check.c
+++ b/lib/tdb/test/run-readonly-check.c
@@ -11,6 +11,7 @@
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
#include "logging.h"
diff --git a/lib/tdb/test/run-rescue-find_entry.c b/lib/tdb/test/run-rescue-find_entry.c
index 25f4f1c05f4..5d6f8f711d0 100644
--- a/lib/tdb/test/run-rescue-find_entry.c
+++ b/lib/tdb/test/run-rescue-find_entry.c
@@ -10,6 +10,7 @@
#include "../common/check.c"
#include "../common/hash.c"
#include "../common/rescue.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
#include "logging.h"
diff --git a/lib/tdb/test/run-rescue.c b/lib/tdb/test/run-rescue.c
index 7c806a40b45..e43f53be9d8 100644
--- a/lib/tdb/test/run-rescue.c
+++ b/lib/tdb/test/run-rescue.c
@@ -10,6 +10,7 @@
#include "../common/check.c"
#include "../common/hash.c"
#include "../common/rescue.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
#include "logging.h"
diff --git a/lib/tdb/test/run-rwlock-check.c b/lib/tdb/test/run-rwlock-check.c
index 8b8072db1e6..2ac9dc3d7ca 100644
--- a/lib/tdb/test/run-rwlock-check.c
+++ b/lib/tdb/test/run-rwlock-check.c
@@ -9,6 +9,7 @@
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
diff --git a/lib/tdb/test/run-summary.c b/lib/tdb/test/run-summary.c
index 22312843e79..8b9a1a0f69d 100644
--- a/lib/tdb/test/run-summary.c
+++ b/lib/tdb/test/run-summary.c
@@ -10,6 +10,7 @@
#include "../common/check.c"
#include "../common/hash.c"
#include "../common/summary.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
diff --git a/lib/tdb/test/run-transaction-expand.c b/lib/tdb/test/run-transaction-expand.c
index ddf1f2432da..d36b894dbed 100644
--- a/lib/tdb/test/run-transaction-expand.c
+++ b/lib/tdb/test/run-transaction-expand.c
@@ -37,6 +37,7 @@ static inline int fake_fdatasync(int fd)
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
#include "logging.h"
diff --git a/lib/tdb/test/run-traverse-in-transaction.c b/lib/tdb/test/run-traverse-in-transaction.c
index 48194b8fdbf..17d64129642 100644
--- a/lib/tdb/test/run-traverse-in-transaction.c
+++ b/lib/tdb/test/run-traverse-in-transaction.c
@@ -11,6 +11,7 @@
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#undef fcntl_with_lockcheck
#include <stdlib.h>
diff --git a/lib/tdb/test/run-wronghash-fail.c b/lib/tdb/test/run-wronghash-fail.c
index 9c78fc5e3e1..c44b0f5aaee 100644
--- a/lib/tdb/test/run-wronghash-fail.c
+++ b/lib/tdb/test/run-wronghash-fail.c
@@ -9,6 +9,7 @@
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
diff --git a/lib/tdb/test/run-zero-append.c b/lib/tdb/test/run-zero-append.c
index a2324c437a4..f9eba1b7b32 100644
--- a/lib/tdb/test/run-zero-append.c
+++ b/lib/tdb/test/run-zero-append.c
@@ -9,6 +9,7 @@
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
#include "logging.h"
diff --git a/lib/tdb/test/run.c b/lib/tdb/test/run.c
index f61fcf68204..c744c4ddca4 100644
--- a/lib/tdb/test/run.c
+++ b/lib/tdb/test/run.c
@@ -9,6 +9,7 @@
#include "../common/open.c"
#include "../common/check.c"
#include "../common/hash.c"
+#include "../common/mutex.c"
#include "tap-interface.h"
#include <stdlib.h>
#include "logging.h"