diff options
author | Andrew Tridgell <tridge@samba.org> | 2009-12-21 21:16:35 +1100 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2010-01-02 08:16:52 +1100 |
commit | 0c2afdd5a95c247eb8e7ce7d721ac61fb111220c (patch) | |
tree | 20c912410987b03276f3a40e96004e17617c9f18 | |
parent | ff6dd4a67fe74349a8e54766f2f0f91ded06a742 (diff) | |
download | samba-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.c | 16 |
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))); |