Lines Matching full:collapse
1044 * Subtree collapse to node iterator.
1049 struct assoc_array_delete_collapse_context *collapse = iterator_data; in assoc_array_delete_collapse_iterator() local
1051 if (leaf == collapse->skip_leaf) in assoc_array_delete_collapse_iterator()
1054 BUG_ON(collapse->slot >= ASSOC_ARRAY_FAN_OUT); in assoc_array_delete_collapse_iterator()
1056 collapse->node->slots[collapse->slot++] = assoc_array_leaf_to_ptr(leaf); in assoc_array_delete_collapse_iterator()
1083 struct assoc_array_delete_collapse_context collapse; in assoc_array_delete() local
1152 * leaves in it, then attempt to collapse it - and attempt to in assoc_array_delete()
1153 * recursively collapse up the tree. in assoc_array_delete()
1155 * We could also try and collapse in partially filled subtrees to take in assoc_array_delete()
1178 /* Look further up the tree to see if we can collapse this node in assoc_array_delete()
1183 pr_devel("collapse subtree: %ld\n", parent->nr_leaves_on_branch); in assoc_array_delete()
1209 /* Create a new node to collapse into */ in assoc_array_delete()
1220 collapse.node = new_n0; in assoc_array_delete()
1221 collapse.skip_leaf = assoc_array_ptr_to_leaf(edit->dead_leaf); in assoc_array_delete()
1222 collapse.slot = 0; in assoc_array_delete()
1226 &collapse); in assoc_array_delete()
1227 pr_devel("collapsed %d,%lu\n", collapse.slot, new_n0->nr_leaves_on_branch); in assoc_array_delete()
1228 BUG_ON(collapse.slot != new_n0->nr_leaves_on_branch - 1); in assoc_array_delete()