summaryrefslogtreecommitdiff
path: root/lib/tdb2/tdb1_lock.c
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2011-09-14 07:42:13 +0930
committerRusty Russell <rusty@rustcorp.com.au>2011-09-14 07:42:13 +0930
commit997592431f3e62cacef13d9b75a12a3d8058e7b7 (patch)
treea0941636f9ad0c72fc5a774b7031bbb8a3f3e4fd /lib/tdb2/tdb1_lock.c
parentf7e84f8ef86c3323f70e2fa30fd8a49cab1febf9 (diff)
downloadsamba-997592431f3e62cacef13d9b75a12a3d8058e7b7.tar.gz
samba-997592431f3e62cacef13d9b75a12a3d8058e7b7.tar.bz2
samba-997592431f3e62cacef13d9b75a12a3d8058e7b7.zip
tdb2: use tdb->flags & TDB_RDONLY instead of tdb->read_only for TDB1 code.
There's also a semantic change here: for tdb1, being read-only meant no locking, and it was an error to try to lock a r/o database. For TDB2, you'd need to specify TDB_NOLOCK, which suppresses locking silently. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (Imported from CCAN commit 4dc29a338fadeac805b369b4b0851c02f1b152c7)
Diffstat (limited to 'lib/tdb2/tdb1_lock.c')
-rw-r--r--lib/tdb2/tdb1_lock.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/tdb2/tdb1_lock.c b/lib/tdb2/tdb1_lock.c
index 65fa1c123c..1b7ab7c7dc 100644
--- a/lib/tdb2/tdb1_lock.c
+++ b/lib/tdb2/tdb1_lock.c
@@ -329,8 +329,8 @@ int tdb1_allrecord_lock(struct tdb1_context *tdb, int ltype,
/* unlock entire db */
int tdb1_allrecord_unlock(struct tdb1_context *tdb, int ltype)
{
- /* There are no locks on read-only dbs */
- if (tdb->read_only || tdb->traverse_read) {
+ /* Don't try this during r/o traversal! */
+ if (tdb->traverse_read) {
tdb->last_error = TDB_ERR_LOCK;
return -1;
}