summaryrefslogtreecommitdiff
path: root/source4/dsdb/repl/drepl_partitions.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-09-20 20:36:36 -0700
committerAndrew Tridgell <tridge@samba.org>2010-09-20 21:51:08 -0700
commit7ffcf90bb9b7214e30b82a0e8e371207409052eb (patch)
treeee10ed693cc34fc6df64809e65d0471057b13555 /source4/dsdb/repl/drepl_partitions.c
parent6f47a24bc55be0ea907594a748774675a105b5e3 (diff)
downloadsamba-7ffcf90bb9b7214e30b82a0e8e371207409052eb.tar.gz
samba-7ffcf90bb9b7214e30b82a0e8e371207409052eb.tar.bz2
samba-7ffcf90bb9b7214e30b82a0e8e371207409052eb.zip
s4-drepl: use the partition UDV and hwm for extended getncchanges ops
we find the NC root then load the uptodateness vector and highwater mark, if available, from there
Diffstat (limited to 'source4/dsdb/repl/drepl_partitions.c')
-rw-r--r--source4/dsdb/repl/drepl_partitions.c29
1 files changed, 2 insertions, 27 deletions
diff --git a/source4/dsdb/repl/drepl_partitions.c b/source4/dsdb/repl/drepl_partitions.c
index caa93e6d54..389a7b4630 100644
--- a/source4/dsdb/repl/drepl_partitions.c
+++ b/source4/dsdb/repl/drepl_partitions.c
@@ -211,30 +211,6 @@ static WERROR dreplsrv_partition_add_source_dsa(struct dreplsrv_service *s,
return WERR_OK;
}
-/*
- convert from one udv format to the other
- */
-static WERROR udv_convert(TALLOC_CTX *mem_ctx,
- const struct replUpToDateVectorCtr2 *udv,
- struct drsuapi_DsReplicaCursorCtrEx *udv_ex)
-{
- uint32_t i;
-
- udv_ex->version = 2;
- udv_ex->reserved1 = 0;
- udv_ex->reserved2 = 0;
- udv_ex->count = udv->count;
- udv_ex->cursors = talloc_array(mem_ctx, struct drsuapi_DsReplicaCursor, udv->count);
- W_ERROR_HAVE_NO_MEMORY(udv_ex->cursors);
-
- for (i=0; i<udv->count; i++) {
- udv_ex->cursors[i].source_dsa_invocation_id = udv->cursors[i].source_dsa_invocation_id;
- udv_ex->cursors[i].highest_usn = udv->cursors[i].highest_usn;
- }
-
- return WERR_OK;
-}
-
WERROR dreplsrv_partition_find_for_nc(struct dreplsrv_service *s,
const struct GUID *nc_guid,
const struct dom_sid *nc_sid,
@@ -352,9 +328,8 @@ static WERROR dreplsrv_refresh_partition(struct dreplsrv_service *s,
ZERO_STRUCT(p->uptodatevector_ex);
ret = dsdb_load_udv_v2(s->samdb, p->dn, p, &p->uptodatevector.cursors, &p->uptodatevector.count);
- if (ret == LDB_SUCCESS) {
- status = udv_convert(p, &p->uptodatevector, &p->uptodatevector_ex);
- W_ERROR_NOT_OK_RETURN(status);
+ if (ret != LDB_SUCCESS) {
+ DEBUG(4,(__location__ ": no UDV available for %s\n", ldb_dn_get_linearized(p->dn)));
}
orf_el = ldb_msg_find_element(r->msgs[0], "repsFrom");