[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Fri Oct 14 13:00:04 MDT 2011


The branch, master has been updated
       via  15b8efe s3:dbwrap_ctdb: return the number of records in db_ctdb_traverse() for persistent dbs
      from  af82bf2 s3-net: Fix uninitialized variable in rpc_conf_import_internal().

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 15b8efeae3b0133ae60a8ce582e4ca4d4dbe6bb1
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Oct 14 16:11:06 2011 +0200

    s3:dbwrap_ctdb: return the number of records in db_ctdb_traverse() for persistent dbs
    
    metze
    
    Autobuild-User: Stefan Metzmacher <metze at samba.org>
    Autobuild-Date: Fri Oct 14 20:59:37 CEST 2011 on sn-devel-104

-----------------------------------------------------------------------

Summary of changes:
 source3/lib/dbwrap/dbwrap_ctdb.c |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/lib/dbwrap/dbwrap_ctdb.c b/source3/lib/dbwrap/dbwrap_ctdb.c
index e0f98cc..38a3395 100644
--- a/source3/lib/dbwrap/dbwrap_ctdb.c
+++ b/source3/lib/dbwrap/dbwrap_ctdb.c
@@ -1297,12 +1297,21 @@ static int db_ctdb_traverse(struct db_context *db,
 			return ret;
 		}
 		if (ctx->transaction && ctx->transaction->m_write) {
-			/* we now have to handle keys not yet present at transaction start */
+			/*
+			 * we now have to handle keys not yet
+			 * present at transaction start
+			 */
 			struct db_context *newkeys = db_open_rbt(talloc_tos());
 			struct ctdb_marshall_buffer *mbuf = ctx->transaction->m_write;
 			struct ctdb_rec_data *rec=NULL;
 			NTSTATUS status;
 			int i;
+			int count = 0;
+
+			if (newkeys == NULL) {
+				return -1;
+			}
+
 			for (i=0; i<mbuf->count; i++) {
 				TDB_DATA key;
 				rec =db_ctdb_marshall_loop_next(mbuf, rec,
@@ -1317,9 +1326,12 @@ static int db_ctdb_traverse(struct db_context *db,
 			status = dbwrap_traverse(newkeys,
 						 traverse_persistent_callback_dbwrap,
 						 &state,
-						 NULL);
-			ret = NT_STATUS_IS_OK(status) ? 0 : -1;
+						 &count);
 			talloc_free(newkeys);
+			if (!NT_STATUS_IS_OK(status)) {
+				return -1;
+			}
+			ret += count;
 		}
 		return ret;
 	}


-- 
Samba Shared Repository


More information about the samba-cvs mailing list