r10424: for caller convenience, automatically turn a tdb_traverse() into a
authorAndrew Tridgell <tridge@samba.org>
Thu, 22 Sep 2005 13:20:28 +0000 (13:20 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:38:44 +0000 (13:38 -0500)
tdb_traverse_read() for read only databases
(This used to be commit 9b53e04377d2ff652c4a9496798d2e3aa0dccab3)

source4/lib/tdb/common/traverse.c

index 335dce41527ffba91eb8a6f0fc43828cac6b36eb..f8315f5770e71860af48a4866f5a8d8d88833545 100644 (file)
@@ -220,6 +220,10 @@ int tdb_traverse(struct tdb_context *tdb,
 {
        struct tdb_traverse_lock tl = { NULL, 0, 0, F_WRLCK };
        int ret;
+
+       if (tdb->read_only) {
+               return tdb_traverse_read(tdb, fn, private);
+       }
        
        if (tdb->methods->tdb_brlock(tdb, TRANSACTION_LOCK, F_WRLCK, F_SETLKW, 0) == -1) {
                TDB_LOG((tdb, 0, "tdb_traverse: failed to get transaction lock\n"));