summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2009-12-21 21:16:35 +1100
committerAndrew Tridgell <tridge@samba.org>2010-01-02 08:16:52 +1100
commit0c2afdd5a95c247eb8e7ce7d721ac61fb111220c (patch)
tree20c912410987b03276f3a40e96004e17617c9f18
parentff6dd4a67fe74349a8e54766f2f0f91ded06a742 (diff)
downloadsamba-0c2afdd5a95c247eb8e7ce7d721ac61fb111220c.tar.gz
samba-0c2afdd5a95c247eb8e7ce7d721ac61fb111220c.tar.bz2
samba-0c2afdd5a95c247eb8e7ce7d721ac61fb111220c.zip
s4-drs: update highwatermark after successfully encoding the object
-rw-r--r--source4/rpc_server/drsuapi/getncchanges.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/source4/rpc_server/drsuapi/getncchanges.c b/source4/rpc_server/drsuapi/getncchanges.c
index 8ff5de5dc0..cf4b637c0c 100644
--- a/source4/rpc_server/drsuapi/getncchanges.c
+++ b/source4/rpc_server/drsuapi/getncchanges.c
@@ -768,14 +768,6 @@ WERROR dcesrv_drsuapi_DsGetNCChanges(struct dcesrv_call_state *dce_call, TALLOC_
obj = talloc_zero(mem_ctx, struct drsuapi_DsReplicaObjectListItemEx);
- uSN = ldb_msg_find_attr_as_int(msg, "uSNChanged", -1);
- if (uSN > r->out.ctr->ctr6.new_highwatermark.tmp_highest_usn) {
- r->out.ctr->ctr6.new_highwatermark.tmp_highest_usn = uSN;
- }
- if (uSN > getnc_state->highest_usn) {
- getnc_state->highest_usn = uSN;
- }
-
werr = get_nc_changes_build_object(obj, msg,
b_state->sam_ctx, getnc_state->ncRoot_dn,
schema, &session_key, getnc_state->min_usn,
@@ -795,6 +787,14 @@ WERROR dcesrv_drsuapi_DsGetNCChanges(struct dcesrv_call_state *dce_call, TALLOC_
return werr;
}
+ uSN = ldb_msg_find_attr_as_int(msg, "uSNChanged", -1);
+ if (uSN > r->out.ctr->ctr6.new_highwatermark.tmp_highest_usn) {
+ r->out.ctr->ctr6.new_highwatermark.tmp_highest_usn = uSN;
+ }
+ if (uSN > getnc_state->highest_usn) {
+ getnc_state->highest_usn = uSN;
+ }
+
if (obj->meta_data_ctr == NULL) {
DEBUG(0,(__location__ ": getncchanges skipping send of object %s\n",
ldb_dn_get_linearized(msg->dn)));