[SCM] Samba Shared Repository - branch master updated

Matthieu Patou mat at samba.org
Wed Jan 9 01:02:02 MST 2013


The branch, master has been updated
       via  2cc6f9c libnet-vampire: reports Exops as they rather than sync on some partitions
       via  09b0010 script: Add a script to display testsuite runtime sorted
       via  0c86126 libnet: set the invocation_id earlier in order to avoid annoying messages
      from  411440d replace: Fix compilation of rep_mkstemp

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


- Log -----------------------------------------------------------------
commit 2cc6f9ce7f8068440ef527b0aebd3ad5ad105a9d
Author: Matthieu Patou <mat at matws.net>
Date:   Mon Dec 31 15:38:50 2012 -0800

    libnet-vampire: reports Exops as they rather than sync on some partitions
    
    Instead of showing:
    Partition[CN=RODC,OU=Domain Controllers,DC=samba,DC=example,DC=com]
    objects[1] linked_values[8]
    Report a exop based on CN=RODC,OU=Domain Controllers,DC=samba,DC=example,DC=com
    as
    Exop on CN=RODC,OU=Domain Controllers,DC=samba,DC=example,DC=com, ...
    
    Signed-off-by: Matthieu Patou <mat at matws.net>
    Reviewed-By: Andrew Bartlett <abartlet at samba.org>
    
    Autobuild-User(master): Matthieu Patou <mat at samba.org>
    Autobuild-Date(master): Wed Jan  9 09:01:30 CET 2013 on sn-devel-104

commit 09b00108069f16a6a654b88b4d87fbd3f566f2f0
Author: Matthieu Patou <mat at matws.net>
Date:   Tue Jan 1 20:56:16 2013 -0800

    script: Add a script to display testsuite runtime sorted
    
    Signed-off-by: Matthieu Patou <mat at matws.net>
    Reviewed-By: Andrew Bartlett <abartlet at samba.org>

commit 0c86126d166c8f75bd3593fce077f26bca51f8aa
Author: Matthieu Patou <mat at matws.net>
Date:   Mon Dec 31 02:12:23 2012 -0800

    libnet: set the invocation_id earlier in order to avoid annoying messages
    
    At that moment we have all the information to set the invocation id so
    let's set it, it will avoid useless messages about missing invocation
    id.
    
    Signed-off-by: Matthieu Patou <mat at matws.net>
    Reviewed-By: Andrew Bartlett <abartlet at samba.org>

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

Summary of changes:
 script/show_testsuite_time      |   40 ++++++++++++++++++++++++++
 source4/libnet/libnet_vampire.c |   59 ++++++++++++++++++++++++++------------
 2 files changed, 80 insertions(+), 19 deletions(-)
 create mode 100755 script/show_testsuite_time


Changeset truncated at 500 lines:

diff --git a/script/show_testsuite_time b/script/show_testsuite_time
new file mode 100755
index 0000000..4015321
--- /dev/null
+++ b/script/show_testsuite_time
@@ -0,0 +1,40 @@
+#!/usr/bin/env perl
+use Time::Local ('timegm');
+my $in = STDIN;
+use strict;
+
+my $intest=0;
+my $name;
+my $start=0;
+my $end=0;
+my %hash;
+my $fh;
+if ($#ARGV >= 0) {
+	open($fh, "<", $ARGV[0]) || die "can't open ".$ARGV[0];
+} else {
+	$fh = $in;
+}
+while(<$fh>)
+{
+	if (m/^testsuite: (.*)/) {
+		$intest = 1;
+		$name = $1;
+	}
+	if (m/testsuite-\w+:/) {
+		$hash{"$name -> ".($end - $start)} = $end - $start;
+		$intest = 0;
+		$start = 0;
+	}
+	if (m/^time: (\d\d\d\d)-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d)/ && $intest) {
+		my $ts=timegm($6,$5,$4,$3,$2 - 1,$1 - 1900);
+		if ($start == 0) {
+			$start = $ts;
+		} else {
+			$end = $ts;
+		}
+	}
+}
+my @sorted = sort { $hash{$a}<=>$hash{$b} } keys(%hash);
+for my $l (@sorted) {
+	print $l."\n";
+}
diff --git a/source4/libnet/libnet_vampire.c b/source4/libnet/libnet_vampire.c
index 4091346..599119f 100644
--- a/source4/libnet/libnet_vampire.c
+++ b/source4/libnet/libnet_vampire.c
@@ -288,6 +288,19 @@ static NTSTATUS libnet_vampire_cb_apply_schema(struct libnet_vampire_cb_state *s
 	default:
 		return NT_STATUS_INVALID_PARAMETER;
 	}
+	/* We must set these up to ensure the replMetaData is written
+	 * correctly, before our NTDS Settings entry is replicated */
+	ok = samdb_set_ntds_invocation_id(s->ldb, &c->dest_dsa->invocation_id);
+	if (!ok) {
+		DEBUG(0,("Failed to set cached ntds invocationId\n"));
+		return NT_STATUS_FOOBAR;
+	}
+	ok = samdb_set_ntds_objectGUID(s->ldb, &c->dest_dsa->ntds_guid);
+	if (!ok) {
+		DEBUG(0,("Failed to set cached ntds objectGUID\n"));
+		return NT_STATUS_FOOBAR;
+	}
+
 
 	status = dsdb_schema_pfm_from_drsuapi_pfm(mapping_ctr, true,
 						  s, &pfm_remote, NULL);
@@ -492,19 +505,6 @@ static NTSTATUS libnet_vampire_cb_apply_schema(struct libnet_vampire_cb_state *s
 	talloc_free(s_dsa);
 	talloc_free(schema_objs);
 
-	/* We must set these up to ensure the replMetaData is written
-	 * correctly, before our NTDS Settings entry is replicated */
-	ok = samdb_set_ntds_invocation_id(s->ldb, &c->dest_dsa->invocation_id);
-	if (!ok) {
-		DEBUG(0,("Failed to set cached ntds invocationId\n"));
-		return NT_STATUS_FOOBAR;
-	}
-	ok = samdb_set_ntds_objectGUID(s->ldb, &c->dest_dsa->ntds_guid);
-	if (!ok) {
-		DEBUG(0,("Failed to set cached ntds objectGUID\n"));
-		return NT_STATUS_FOOBAR;
-	}
-
 	s->schema = dsdb_get_schema(s->ldb, s);
 	if (!s->schema) {
 		DEBUG(0,("Failed to get loaded dsdb_schema\n"));
@@ -643,6 +643,7 @@ NTSTATUS libnet_vampire_cb_store_chunk(void *private_data,
 	char *tmp_dns_name;
 	uint32_t i;
 	uint64_t seq_num;
+	bool is_exop = false;
 
 	s_dsa			= talloc_zero(s, struct repsFromTo1);
 	NT_STATUS_HAVE_NO_MEMORY(s_dsa);
@@ -686,12 +687,21 @@ NTSTATUS libnet_vampire_cb_store_chunk(void *private_data,
 		req_replica_flags = 0;
 		break;
 	case 5:
+		if (c->req5->extended_op != DRSUAPI_EXOP_NONE) {
+			is_exop = true;
+		}
 		req_replica_flags = c->req5->replica_flags;
 		break;
 	case 8:
+		if (c->req8->extended_op != DRSUAPI_EXOP_NONE) {
+			is_exop = true;
+		}
 		req_replica_flags = c->req8->replica_flags;
 		break;
 	case 10:
+		if (c->req10->extended_op != DRSUAPI_EXOP_NONE) {
+			is_exop = true;
+		}
 		req_replica_flags = c->req10->replica_flags;
 		break;
 	default:
@@ -728,13 +738,24 @@ NTSTATUS libnet_vampire_cb_store_chunk(void *private_data,
 	}
 	s->total_objects += object_count;
 
-	if (nc_object_count) {
-		DEBUG(0,("Partition[%s] objects[%u/%u] linked_values[%u/%u]\n",
-			c->partition->nc.dn, s->total_objects, nc_object_count,
-			linked_attributes_count, nc_linked_attributes_count));
+	if (is_exop) {
+		if (nc_object_count) {
+			DEBUG(0,("Exop on[%s] objects[%u/%u] linked_values[%u/%u]\n",
+				c->partition->nc.dn, s->total_objects, nc_object_count,
+				linked_attributes_count, nc_linked_attributes_count));
+		} else {
+			DEBUG(0,("Exop on[%s] objects[%u] linked_values[%u]\n",
+			c->partition->nc.dn, s->total_objects, linked_attributes_count));
+		}
 	} else {
-		DEBUG(0,("Partition[%s] objects[%u] linked_values[%u]\n",
-		c->partition->nc.dn, s->total_objects, linked_attributes_count));
+		if (nc_object_count) {
+			DEBUG(0,("Partition[%s] objects[%u/%u] linked_values[%u/%u]\n",
+				c->partition->nc.dn, s->total_objects, nc_object_count,
+				linked_attributes_count, nc_linked_attributes_count));
+		} else {
+			DEBUG(0,("Partition[%s] objects[%u] linked_values[%u]\n",
+			c->partition->nc.dn, s->total_objects, linked_attributes_count));
+		}
 	}
 
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list