if (partition_ctrl && (ac->num_requests == 1 || ares->type == LDB_REPLY_ENTRY)) {
/* If we didn't fan this request out to mulitple partitions,
* or this is an individual search result, we can
- * deterministily tell the caller what partition this was
+ * deterministically tell the caller what partition this was
* written to (repl_meta_data likes to know) */
ret = ldb_reply_add_control(ares,
DSDB_CONTROL_CURRENT_PARTITION_OID,
struct dsdb_partition *partition;
struct partition_private_data *data = talloc_get_type(ldb_module_get_private(module),
struct partition_private_data);
+
+ /* if we aren't initialised yet go further */
if (!data || !data->partitions) {
return ldb_next_request(module, req);
}
unsigned int i, j;
int ret;
bool domain_scope = false, phantom_root = false;
-
- ret = partition_reload_if_required(module, data);
+
+ /* see if we are still up-to-date */
+ ret = partition_reload_if_required(module, data, req);
if (ret != LDB_SUCCESS) {
return ret;
}
return ret;
}
- ret = partition_reload_if_required(module, data);
+ ret = partition_reload_if_required(module, data, NULL);
if (ret != LDB_SUCCESS) {
return ret;
}
NULL,
res,
ldb_extended_default_callback,
- NULL);
+ req);
LDB_REQ_SET_LOCATION(treq);
if (ret != LDB_SUCCESS) {
talloc_free(res);
NULL,
res,
ldb_extended_default_callback,
- NULL);
+ req);
LDB_REQ_SET_LOCATION(treq);
if (ret != LDB_SUCCESS) {
talloc_free(res);
NULL,
res,
ldb_extended_default_callback,
- NULL);
+ req);
LDB_REQ_SET_LOCATION(treq);
if (ret != LDB_SUCCESS) {
talloc_free(res);
return ldb_next_request(module, req);
}
- ret = partition_reload_if_required(module, data);
+ ret = partition_reload_if_required(module, data, req);
if (ret != LDB_SUCCESS) {
return ret;
}