summaryrefslogtreecommitdiff
path: root/source4/dsdb
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2009-09-11 22:47:11 +1000
committerAndrew Tridgell <tridge@samba.org>2009-09-11 22:47:11 +1000
commitbd7cf6988e0b63537d21735acbb79179bfb5bd8f (patch)
tree918268995d9caddf96a230cdea83a619e6f5272c /source4/dsdb
parentbca75ecf9797df98a998eeb0b978cd2fe71ed2cb (diff)
downloadsamba-bd7cf6988e0b63537d21735acbb79179bfb5bd8f.tar.gz
samba-bd7cf6988e0b63537d21735acbb79179bfb5bd8f.tar.bz2
samba-bd7cf6988e0b63537d21735acbb79179bfb5bd8f.zip
s4-repl: refresh the partitions on each cycle
The KCC might have changed repsFrom, which is stored in the partitions structure
Diffstat (limited to 'source4/dsdb')
-rw-r--r--source4/dsdb/repl/drepl_partitions.c4
-rw-r--r--source4/dsdb/repl/drepl_periodic.c3
2 files changed, 4 insertions, 3 deletions
diff --git a/source4/dsdb/repl/drepl_partitions.c b/source4/dsdb/repl/drepl_partitions.c
index f36b735d32..88c4bbf065 100644
--- a/source4/dsdb/repl/drepl_partitions.c
+++ b/source4/dsdb/repl/drepl_partitions.c
@@ -33,8 +33,6 @@
#include "librpc/gen_ndr/ndr_drsblobs.h"
#include "param/param.h"
-static WERROR dreplsrv_refresh_partitions(struct dreplsrv_service *s);
-
WERROR dreplsrv_load_partitions(struct dreplsrv_service *s)
{
WERROR status;
@@ -256,7 +254,7 @@ static WERROR dreplsrv_refresh_partition(struct dreplsrv_service *s,
return WERR_OK;
}
-static WERROR dreplsrv_refresh_partitions(struct dreplsrv_service *s)
+WERROR dreplsrv_refresh_partitions(struct dreplsrv_service *s)
{
WERROR status;
struct dreplsrv_partition *p;
diff --git a/source4/dsdb/repl/drepl_periodic.c b/source4/dsdb/repl/drepl_periodic.c
index b88d2cee1e..36d5f924be 100644
--- a/source4/dsdb/repl/drepl_periodic.c
+++ b/source4/dsdb/repl/drepl_periodic.c
@@ -105,5 +105,8 @@ static void dreplsrv_periodic_run(struct dreplsrv_service *service)
DEBUG(2,("dreplsrv_periodic_run(): run pending_ops\n"));
+ /* the KCC might have changed repsFrom */
+ dreplsrv_refresh_partitions(service);
+
dreplsrv_run_pending_ops(service);
}