svn commit: samba r23169 - in branches: SAMBA_3_0/source/locking SAMBA_3_0_26/source/locking

vlendec at samba.org vlendec at samba.org
Sun May 27 17:12:09 GMT 2007


Author: vlendec
Date: 2007-05-27 17:12:08 +0000 (Sun, 27 May 2007)
New Revision: 23169

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23169

Log:
Merge 535 of Tridge's bzr tree:

  store the right data after cleaning lock records. This fixes
  RAW-BENCH-LOCK after a recovery on a cluster


Modified:
   branches/SAMBA_3_0/source/locking/brlock.c
   branches/SAMBA_3_0_26/source/locking/brlock.c


Changeset:
Modified: branches/SAMBA_3_0/source/locking/brlock.c
===================================================================
--- branches/SAMBA_3_0/source/locking/brlock.c	2007-05-27 16:34:49 UTC (rev 23168)
+++ branches/SAMBA_3_0/source/locking/brlock.c	2007-05-27 17:12:08 UTC (rev 23169)
@@ -1482,8 +1482,11 @@
 	}
 
 	if (orig_num_locks != num_locks) {
-		if (rec->value.dsize) {
-			rec->store(rec, rec->value, TDB_REPLACE);
+		if (num_locks) {
+			TDB_DATA data;
+			data.dptr = (uint8_t *)locks;
+			data.dsize = num_locks*sizeof(struct lock_struct);
+			rec->store(rec, data, TDB_REPLACE);
 		} else {
 			rec->delete_rec(rec);
 		}

Modified: branches/SAMBA_3_0_26/source/locking/brlock.c
===================================================================
--- branches/SAMBA_3_0_26/source/locking/brlock.c	2007-05-27 16:34:49 UTC (rev 23168)
+++ branches/SAMBA_3_0_26/source/locking/brlock.c	2007-05-27 17:12:08 UTC (rev 23169)
@@ -1482,8 +1482,11 @@
 	}
 
 	if (orig_num_locks != num_locks) {
-		if (rec->value.dsize) {
-			rec->store(rec, rec->value, TDB_REPLACE);
+		if (num_locks) {
+			TDB_DATA data;
+			data.dptr = (uint8_t *)locks;
+			data.dsize = num_locks*sizeof(struct lock_struct);
+			rec->store(rec, data, TDB_REPLACE);
 		} else {
 			rec->delete_rec(rec);
 		}



More information about the samba-cvs mailing list