rmn64->parent = fmn64->parent;
/* Shift the data over */
maple_shift_64(target, ms->slot_idx);
+ /* Overwrite the duplicate slot data with the new right node */
target->slot[ms->slot_idx + 1] = ma_mk_node(rmn);
+ /* Overwrite the first pivot with the new value. This is fine
+ * as the current slot has valid entries for this pivot */
target->pivot[ms->slot_idx] = lmn64->pivot[3];
+ /* Set the first slot to the node with less pivots */
target->slot[ms->slot_idx] = ma_mk_node(lmn);
}
- /* Orphan the full node */
+ /* Orphan & free the full node */
fmn64->parent = full_mn;
_maple_free_node(full_mn);
- kfree(ma_get_alloc(ms));
}
/*
* Private