]> git.ozlabs.org Git - ccan/blobdiff - ccan/tdb2/transaction.c
tdb2: make tdb1 use same low-level lock functions.
[ccan] / ccan / tdb2 / transaction.c
index 2f588ef37ad1d8dcb8aed53a0adfdf0bf116d6f4..2afc1789b0e1fa370d8f28453b33e734d6c035b3 100644 (file)
@@ -532,7 +532,7 @@ enum TDB_ERROR tdb_transaction_start(struct tdb_context *tdb)
                                                    " internal tdb");
        }
 
-       if (tdb->read_only) {
+       if (tdb->flags & TDB_RDONLY) {
                return tdb->last_error = tdb_logerr(tdb, TDB_ERR_RDONLY,
                                                    TDB_LOG_USE_ERROR,
                                                    "tdb_transaction_start:"
@@ -1006,7 +1006,7 @@ static enum TDB_ERROR _tdb_transaction_prepare_commit(struct tdb_context *tdb)
        methods = tdb->transaction->io_methods;
 
        /* upgrade the main transaction lock region to a write lock */
-       ecode = tdb_allrecord_upgrade(tdb);
+       ecode = tdb_allrecord_upgrade(tdb, TDB_HASH_LOCK_START);
        if (ecode != TDB_SUCCESS) {
                return ecode;
        }
@@ -1196,7 +1196,7 @@ enum TDB_ERROR tdb_transaction_recover(struct tdb_context *tdb)
                return TDB_SUCCESS;
        }
 
-       if (tdb->read_only) {
+       if (tdb->flags & TDB_RDONLY) {
                return tdb_logerr(tdb, TDB_ERR_CORRUPT, TDB_LOG_ERROR,
                                  "tdb_transaction_recover:"
                                  " attempt to recover read only database");