From 3aea12d0ab70997355904aa6625fce6015657aa7 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 23 Sep 2010 15:38:07 -0700 Subject: s4-repl: use dreplsrv_partition_source_dsa_by_guid to find source dsa this avoids a list walk in the calling code --- source4/dsdb/repl/drepl_extended.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'source4/dsdb') diff --git a/source4/dsdb/repl/drepl_extended.c b/source4/dsdb/repl/drepl_extended.c index 2c9d1f04e6..07c2328512 100644 --- a/source4/dsdb/repl/drepl_extended.c +++ b/source4/dsdb/repl/drepl_extended.c @@ -137,11 +137,12 @@ static WERROR drepl_create_extended_source_dsa(struct dreplsrv_service *service, for (p=service->partitions; p; p=p->next) { if (ldb_dn_compare(p->dn, nc_root) == 0) { struct dreplsrv_partition_source_dsa *s; - for (s=p->sources; s; s=s->next) { - if (GUID_equal(&s->repsFrom1->source_dsa_obj_guid, - &sdsa->repsFrom1->source_dsa_obj_guid)) { - sdsa->repsFrom1->highwatermark = s->repsFrom1->highwatermark; - } + werr = dreplsrv_partition_source_dsa_by_guid(p, + &sdsa->repsFrom1->source_dsa_obj_guid, + &s); + if (W_ERROR_IS_OK(werr)) { + sdsa->repsFrom1->highwatermark = s->repsFrom1->highwatermark; + sdsa->repsFrom1->replica_flags = s->repsFrom1->replica_flags; } } } -- cgit