>From b9107f491f69f1a6813ccc4c5f0a44a4f0f2b6a8 Mon Sep 17 00:00:00 2001 From: Matthieu Patou Date: Mon, 31 Dec 2012 15:38:50 -0800 Subject: [PATCH 2/2] 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, ... --- source4/libnet/libnet_vampire.c | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/source4/libnet/libnet_vampire.c b/source4/libnet/libnet_vampire.c index a354d41..599119f 100644 --- a/source4/libnet/libnet_vampire.c +++ b/source4/libnet/libnet_vampire.c @@ -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)); + } } -- 1.7.9.5