a_enode = p_enode;
if (mte_is_root(a_enode)) {
a_node = mte_to_node(a_enode);
- goto no_parent;
+ goto parent_is_root;
}
mas->node = p_enode;
max = mte_pivot(a_enode, a_slot);
}
+parent_is_root:
no_parent:
if (ma_is_root(a_node)) {
if (!set_min)
{
unsigned long index = 0;
+ if (mas_is_none(mas))
+ mas->node = MAS_START;
+
return _mas_next(mas, max, &index);
}
EXPORT_SYMBOL_GPL(mas_next);
if (mas_is_err(mas))
return existing;
- if (!mte_is_leaf(mas->node)) // gaps were updated
+ if (!mte_is_leaf(mas->node)) // spanning store occurred
mas->node = MAS_START;
return existing;
if (mas_is_err(mas))
return xa_err(mas->node);
- if (!mte_is_leaf(mas->node)) // gaps were updated
+ if (!mte_is_leaf(mas->node)) // spanning store occurred
mas->node = MAS_START;
return 0;