The branch, v3-2-test has been updated via 96d683d3ec1e95cddf9ec96326ebaf8e9cc2079c (commit) from 8c66020a82d9b92fb10d14359b1381d58ad4972b (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test - Log ----------------------------------------------------------------- commit 96d683d3ec1e95cddf9ec96326ebaf8e9cc2079c Author: Volker Lendecke <[EMAIL PROTECTED]> Date: Tue Aug 12 22:31:52 2008 +0200 Attempt to fix bug 5684 With the ctdb checkin dde9f3f006 tdb optimized out write lock checks for write-enabled transaction. Sadly, this also removed the possibility to ever remove dead records left over from tdb_delete calls within a transaction. Tridge, please check this! Did dde9f3f006 have any reason beyond performance optimizations? Thanks, Volker ----------------------------------------------------------------------- Summary of changes: source/lib/tdb/common/tdb.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Changeset truncated at 500 lines: diff --git a/source/lib/tdb/common/tdb.c b/source/lib/tdb/common/tdb.c index 767452c..c7cec29 100644 --- a/source/lib/tdb/common/tdb.c +++ b/source/lib/tdb/common/tdb.c @@ -243,7 +243,7 @@ int tdb_do_delete(struct tdb_context *tdb, tdb_off_t rec_ptr, struct list_struct if (tdb->read_only || tdb->traverse_read) return -1; - if (tdb->traverse_write != 0 || + if (((tdb->traverse_write != 0) && (!TDB_DEAD(rec))) || tdb_write_lock_record(tdb, rec_ptr) == -1) { /* Someone traversing here: mark it as dead */ rec->magic = TDB_DEAD_MAGIC; -- Samba Shared Repository