Fix tdb_check() to work with read-only tdb databases. The function tdb_lockall()...
authorJeremy Allison <jra@samba.org>
Wed, 28 Jul 2010 12:15:40 +0000 (05:15 -0700)
committerRusty Russell <rusty@rustcorp.com.au>
Wed, 28 Jul 2010 23:26:35 +0000 (08:56 +0930)
Jeremy.

lib/tdb/common/check.c

index 6bbfd7d82aceecc4114395a2d61619e373525f2e..2c640434ee42360dd573f6706b134b55b26d340f 100644 (file)
@@ -311,7 +311,7 @@ int tdb_check(struct tdb_context *tdb,
        struct tdb_record rec;
        bool found_recovery = false;
 
-       if (tdb_lockall(tdb) == -1)
+       if (tdb_lockall_read(tdb) == -1)
                return -1;
 
        /* Make sure we know true size of the underlying file. */
@@ -412,12 +412,12 @@ int tdb_check(struct tdb_context *tdb,
        }
 
        free(hashes);
-       tdb_unlockall(tdb);
+       tdb_unlockall_read(tdb);
        return 0;
 
 free:
        free(hashes);
 unlock:
-       tdb_unlockall(tdb);
+       tdb_unlockall_read(tdb);
        return -1;
 }