data->sdsa = sdsa;
werr = dreplsrv_schedule_partition_pull_source(service, sdsa,
- extended_op, fsmo_info,
+ 0, extended_op, fsmo_info,
extended_op_callback, data);
if (!W_ERROR_IS_OK(werr)) {
talloc_free(sdsa);
WERROR dreplsrv_schedule_partition_pull_source(struct dreplsrv_service *s,
struct dreplsrv_partition_source_dsa *source,
+ uint32_t options,
enum drsuapi_DsExtendedOperation extended_op,
uint64_t fsmo_info,
dreplsrv_extended_callback_t callback,
op->service = s;
op->source_dsa = source;
+ op->options = options;
op->extended_op = extended_op;
op->fsmo_info = fsmo_info;
op->callback = callback;
for (cur = p->sources; cur; cur = cur->next) {
status = dreplsrv_schedule_partition_pull_source(s, cur,
- DRSUAPI_EXOP_NONE, 0,
+ 0, DRSUAPI_EXOP_NONE, 0,
NULL, NULL);
W_ERROR_NOT_OK_RETURN(status);
}
static WERROR _drepl_schedule_replication(struct dreplsrv_service *service,
struct dreplsrv_partition_source_dsa *dsa,
struct drsuapi_DsReplicaObjectIdentifier *nc,
+ uint32_t rep_options,
struct drepl_replica_sync_cb_data *data,
TALLOC_CTX *mem_ctx)
{
}
/* schedule replication item */
- werr = dreplsrv_schedule_partition_pull_source(service, dsa,
+ werr = dreplsrv_schedule_partition_pull_source(service, dsa, rep_options,
DRSUAPI_EXOP_NONE, 0,
fn_callback, data);
if (!W_ERROR_IS_OK(werr)) {
if (req1->options & DRSUAPI_DRS_SYNC_ALL) {
for (dsa = p->sources; dsa; dsa = dsa->next) {
/* schedule replication item */
- werr = _drepl_schedule_replication(service, dsa, nc, cb_data, msg);
+ werr = _drepl_schedule_replication(service, dsa, nc,
+ req1->options, cb_data, msg);
if (!W_ERROR_IS_OK(werr)) {
REPLICA_SYNC_FAIL("_drepl_schedule_replication() failed",
werr);
}
/* schedule replication item */
- werr = _drepl_schedule_replication(service, dsa, nc, cb_data, msg);
+ werr = _drepl_schedule_replication(service, dsa, nc,
+ req1->options, cb_data, msg);
if (!W_ERROR_IS_OK(werr)) {
REPLICA_SYNC_FAIL("_drepl_schedule_replication() failed",
werr);