[SCM] Samba Shared Repository - branch v3-2-test updated - release-3-2-0pre2-2811-g96d683d

Volker Lendecke vlendec at samba.org
Wed Aug 13 08:51:45 GMT 2008


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 <vl at samba.org>
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


More information about the samba-cvs mailing list