mirror of
https://github.com/samba-team/samba.git
synced 2025-02-04 17:47:26 +03:00
r20849: first step to move away from using find_backend() and use find_partition()
instead metze (This used to be commit 0d75cca6f37975a3855973468dc55520cb3b3fb7)
This commit is contained in:
parent
7730ff44af
commit
a35a071fc9
@ -138,7 +138,6 @@ static struct ldb_module *find_backend(struct ldb_module *module, struct ldb_req
|
||||
return make_module_for_next_request(req, module->ldb, partition->module);
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
fire the caller's callback for every entry, but only send 'done' once.
|
||||
*/
|
||||
@ -274,6 +273,7 @@ static int partition_send_all(struct ldb_module *module,
|
||||
static int partition_replicate(struct ldb_module *module, struct ldb_request *req, struct ldb_dn *dn)
|
||||
{
|
||||
int i;
|
||||
struct dsdb_control_current_partition *partition;
|
||||
struct ldb_module *backend;
|
||||
struct partition_private_data *data = talloc_get_type(module->private_data,
|
||||
struct partition_private_data);
|
||||
@ -293,10 +293,25 @@ static int partition_replicate(struct ldb_module *module, struct ldb_request *re
|
||||
}
|
||||
}
|
||||
|
||||
/* Otherwise, we need to find the backend to fire it to */
|
||||
/* Otherwise, we need to find the partition to fire it to */
|
||||
|
||||
/* Find backend */
|
||||
backend = find_backend(module, req, dn);
|
||||
/* Find partition */
|
||||
partition = find_partition(data, dn);
|
||||
if (!partition) {
|
||||
/*
|
||||
* if we haven't found a matching partition
|
||||
* pass the request to the main ldb
|
||||
*
|
||||
* TODO: we should maybe return an error here
|
||||
* if it's not a special dn
|
||||
*/
|
||||
return ldb_next_request(module, req);
|
||||
}
|
||||
|
||||
backend = make_module_for_next_request(req, module->ldb, partition->module);
|
||||
if (!backend) {
|
||||
return LDB_ERR_OPERATIONS_ERROR;
|
||||
}
|
||||
|
||||
/* issue request */
|
||||
return ldb_next_request(backend, req);
|
||||
|
Loading…
x
Reference in New Issue
Block a user