diff options
author | Andrew Tridgell <tridge@samba.org> | 2010-09-15 18:59:17 +1000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2010-09-16 07:24:01 +1000 |
commit | d5673b5501225e295bae2a5c0084cf3ce5582dca (patch) | |
tree | ba4062891a49a3ac9e2f2a8698a1aea37a01535f /source4/dsdb/repl/drepl_extended.c | |
parent | aabd89d8f7d80d614c941111d7a049f9f35b943b (diff) | |
download | samba-d5673b5501225e295bae2a5c0084cf3ce5582dca.tar.gz samba-d5673b5501225e295bae2a5c0084cf3ce5582dca.tar.bz2 samba-d5673b5501225e295bae2a5c0084cf3ce5582dca.zip |
s4-repl: cleanup the extended op calls in repl server
- use generic parameter names
- trigger a run of pending ops on all extended ops
- don't prevent parallel fsmo transfers
- moved extended op code into drepl_extended
Diffstat (limited to 'source4/dsdb/repl/drepl_extended.c')
-rw-r--r-- | source4/dsdb/repl/drepl_extended.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/source4/dsdb/repl/drepl_extended.c b/source4/dsdb/repl/drepl_extended.c index 41fe38b937..67dbedbb9a 100644 --- a/source4/dsdb/repl/drepl_extended.c +++ b/source4/dsdb/repl/drepl_extended.c @@ -113,7 +113,7 @@ static WERROR drepl_create_extended_source_dsa(struct dreplsrv_service *service, } struct extended_op_data { - dreplsrv_fsmo_callback_t callback; + dreplsrv_extended_callback_t callback; void *callback_data; struct dreplsrv_partition_source_dsa *sdsa; }; @@ -136,18 +136,18 @@ static void extended_op_callback(struct dreplsrv_service *service, schedule a getncchanges request to the role owner for an extended operation */ WERROR drepl_request_extended_op(struct dreplsrv_service *service, - struct ldb_dn *role_owner_dn, - struct ldb_dn *fsmo_role_dn, + struct ldb_dn *nc_dn, + struct ldb_dn *source_dsa_dn, enum drsuapi_DsExtendedOperation extended_op, uint64_t fsmo_info, - dreplsrv_fsmo_callback_t callback, + dreplsrv_extended_callback_t callback, void *callback_data) { WERROR werr; struct extended_op_data *data; struct dreplsrv_partition_source_dsa *sdsa; - werr = drepl_create_extended_source_dsa(service, role_owner_dn, fsmo_role_dn, &sdsa); + werr = drepl_create_extended_source_dsa(service, nc_dn, source_dsa_dn, &sdsa); W_ERROR_NOT_OK_RETURN(werr); data = talloc(service, struct extended_op_data); @@ -164,5 +164,8 @@ WERROR drepl_request_extended_op(struct dreplsrv_service *service, talloc_free(sdsa); talloc_free(data); } + + dreplsrv_run_pending_ops(service); + return werr; } |