diff options
author | Andrew Tridgell <tridge@samba.org> | 2009-09-15 14:04:22 -0700 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2009-09-15 14:52:01 -0700 |
commit | f5aec9ebb4bf5d0e6f8c6974a485bc5cd2899fdd (patch) | |
tree | 6370a90833835b273c5eaf2accfeff0caeb9a565 | |
parent | 48bc784e089fabf5f3f5a4e4d4ff47ce97ece74b (diff) | |
download | samba-f5aec9ebb4bf5d0e6f8c6974a485bc5cd2899fdd.tar.gz samba-f5aec9ebb4bf5d0e6f8c6974a485bc5cd2899fdd.tar.bz2 samba-f5aec9ebb4bf5d0e6f8c6974a485bc5cd2899fdd.zip |
tdb: allow reads after prepare commit
We previously only allowed a commit to happen after a prepare
commit. It is in fact safe to allow reads between a prepare and a
commit, and the s4 replication code can make use of that, so allow it.
-rw-r--r-- | lib/tdb/common/transaction.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/lib/tdb/common/transaction.c b/lib/tdb/common/transaction.c index e97fe67b4e..67a035879c 100644 --- a/lib/tdb/common/transaction.c +++ b/lib/tdb/common/transaction.c @@ -137,14 +137,6 @@ static int transaction_read(struct tdb_context *tdb, tdb_off_t off, void *buf, { uint32_t blk; - /* Only a commit is allowed on a prepared transaction */ - if (tdb->transaction->prepared) { - tdb->ecode = TDB_ERR_EINVAL; - TDB_LOG((tdb, TDB_DEBUG_FATAL, "transaction_read: transaction already prepared, read not allowed\n")); - tdb->transaction->transaction_error = 1; - return -1; - } - /* break it down into block sized ops */ while (len + (off % tdb->transaction->block_size) > tdb->transaction->block_size) { tdb_len_t len2 = tdb->transaction->block_size - (off % tdb->transaction->block_size); |