Skip to content
Snippets Groups Projects
Commit 3c8b3873 authored by Howard Chu's avatar Howard Chu Committed by Quanah Gibson-Mount
Browse files

ITS#7025 handle Abandon in backglue

parent 5f81effb
No related branches found
No related tags found
No related merge requests found
......@@ -258,6 +258,30 @@ glue_op_func ( Operation *op, SlapReply *rs )
return rc;
}
static int
glue_op_abandon( Operation *op, SlapReply *rs )
{
slap_overinst *on = (slap_overinst *)op->o_bd->bd_info;
glueinfo *gi = (glueinfo *)on->on_bi.bi_private;
BackendDB *b0 = op->o_bd;
BackendInfo *bi0 = op->o_bd->bd_info;
int i;
b0->bd_info = on->on_info->oi_orig;
for (i = gi->gi_nodes-1; i >= 0; i--) {
assert( gi->gi_n[i].gn_be->be_nsuffix != NULL );
op->o_bd = gi->gi_n[i].gn_be;
if ( op->o_bd == b0 )
continue;
if ( op->o_bd->bd_info->bi_op_abandon )
op->o_bd->bd_info->bi_op_abandon( op, rs );
}
op->o_bd = b0;
op->o_bd->bd_info = bi0;
return SLAP_CB_CONTINUE;
}
static int
glue_response ( Operation *op, SlapReply *rs )
{
......@@ -1510,6 +1534,7 @@ glue_sub_init()
glue.on_bi.bi_op_modrdn = glue_op_func;
glue.on_bi.bi_op_add = glue_op_func;
glue.on_bi.bi_op_delete = glue_op_func;
glue.on_bi.bi_op_abandon = glue_op_abandon;
glue.on_bi.bi_extended = glue_op_func;
glue.on_bi.bi_chk_referrals = glue_chk_referrals;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment