From 3376d1b57b599094f1eb03027d0581820378b699 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sat, 22 Jul 2017 22:00:59 +1200 Subject: [PATCH] s4-drepl: Block GetNCChanges during a DsReplicaSync If we do not block these, we can get RPC faults (DCERPC_NCA_S_PROTO_ERROR) which gives WERR_WRITE_FAULT back to the DsReplicaSync call as there are two outstanding requests on the wire at the one time. We will get to the next operation as soon as this is finished when we call run_pending_ops(). BUG: https://bugzilla.samba.org/show_bug.cgi?id=12926 Signed-off-by: Andrew Bartlett Reviewed-by: Stefan Metzmacher Autobuild-User(master): Stefan Metzmacher Autobuild-Date(master): Sun Jul 23 12:32:49 CEST 2017 on sn-devel-144 (cherry picked from commit f1e4ae9971e61f7c4a43ae0049a1162cc2e3dafb) --- source4/dsdb/repl/drepl_out_pull.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source4/dsdb/repl/drepl_out_pull.c b/source4/dsdb/repl/drepl_out_pull.c index 8af6412..8b8ecd9 100644 --- a/source4/dsdb/repl/drepl_out_pull.c +++ b/source4/dsdb/repl/drepl_out_pull.c @@ -198,7 +198,7 @@ void dreplsrv_run_pull_ops(struct dreplsrv_service *s) struct tevent_req *subreq; WERROR werr; - if (s->ops.current) { + if (s->ops.n_current || s->ops.current) { /* if there's still one running, we're done */ return; } -- 2.9.4