Lines Matching defs:end
891 * @end: The end of the data in this node.
894 unsigned char offset, unsigned char end)
899 meta->end = end;
908 * @end: The end of the data in this node.
938 meta->end = 0;
942 * ma_meta_end() - Get the data end of a node from the metadata
951 return meta->end;
1419 * ma_data_end() - Find the end of the data in a node.
1425 * Uses metadata to find the end of the data when possible.
1452 * mas_data_end() - Find the end of the data (slot).
1456 * supports data end metadata.
1537 * Check end implied pivot which can only be a gap on the right most
1569 * Uses the metadata data end to scan backwards across set gaps.
1774 unsigned char end;
1784 end = ma_data_end(node, mt, pivots, mas->max);
1785 for (offset = mas->offset; offset <= end; offset++) {
1881 * end on a NULL entry, with the exception of the left-most leaf. The
1901 * that overwrites the end and beginning of two full nodes. The result is a set
1938 * @mas_end: The end slot to copy (inclusively)
1994 * @end: The assumed end
1996 * Note, end may be incremented within this function but not modified at the
2002 enum maple_type mt, unsigned char end)
2005 if (mt_pivots[mt] <= end)
2008 if (pivots[end] && pivots[end] < mas->max)
2009 end++;
2011 if (end < mt_slots[mt] - 1)
2012 ma_set_meta(node, mt, 0, end);
2019 * @mab_end: The end location in @b_node (inclusively)
2032 unsigned char end;
2051 end = j - 1;
2065 ma_set_meta(node, mt, offset, end);
2067 mas_leaf_set_meta(mas, node, pivots, mt, end);
2072 * mas_bulk_rebalance() - Rebalance the end of a tree after a bulk insert.
2074 * @end: The maple node end
2077 static inline void mas_bulk_rebalance(struct ma_state *mas, unsigned char end,
2086 if (end > mt_min_slots[mt]) {
2097 * @offset_end: the offset to end copying
2099 * Return: The actual end of the data stored in @b_node
2158 /* Copy end data to the end of the node. */
2281 unsigned char end = mas_data_end(mast->orig_l) + 1;
2284 mab_shift_right(mast->bn, end);
2285 mas_mab_cp(mast->orig_l, 0, end - 1, mast->bn, 0);
2288 mast->bn->b_end = end + b_end;
2289 mast->l->offset += end;
2428 * mab_set_b_end() - Add entry to b_node at b_node->b_end and increment the end
2791 unsigned char end;
2804 end = ma_data_end(node, type, pivots, max);
2817 } while ((offset < end) && (pivots[offset] < mas->index));
2822 if (likely(offset < end && pivots[offset]))
3044 * @end: The end of the left-most node.
3049 static inline void mas_destroy_rebalance(struct ma_state *mas, unsigned char end)
3090 memcpy(slots + tmp, ma_slots(node, mt), sizeof(void *) * end);
3091 memcpy(pivs + tmp, ma_pivots(node, mt), sizeof(unsigned long) * end);
3097 tmp += end;
3284 unsigned char end, space, split;
3295 end = mas_data_end(&tmp_mas);
3296 slot_total += end;
3311 mab_shift_right(mast->bn, end + 1);
3312 mas_mab_cp(&tmp_mas, 0, end, mast->bn, 0);
3315 mas_mab_cp(&tmp_mas, 0, end, mast->bn, mast->bn->b_end);
3334 mast->orig_l->offset += end + 1;
3438 * @end: The end of the data.
3445 struct maple_big_node *bn, unsigned char end)
3451 if (end > bn->b_end) {
3465 * @end: The end of the data.
3468 struct maple_big_node *b_node, unsigned char end)
3484 if (mas_reuse_node(wr_mas, b_node, end))
3568 * Spanning writes are writes that start in one node and end in another OR if
3569 * the write of a %NULL will cause the node to end with a %NULL.
3732 unsigned char end;
3742 end = ma_data_end(node, type, pivots, max);
3750 } while (++offset < end);
3966 /* Store the new entry and range end. */
3972 * this range wrote to the end of the node or it overwrote the rest of
3979 /* Copy to the end of node if necessary. */
4064 /* Check next slot(s) if we are overwriting the end */
4125 * @new_end: The end of the node after the modification
4127 * This is currently unsafe in rcu mode since the end of the node may be cached
4138 unsigned char end;
4147 end = wr_mas->node_end;
4148 if (mas->offset != end)
4152 wr_mas->pivots[new_end] = wr_mas->pivots[end];
4157 if (new_end == end + 1) {
4159 /* Append to end of range */
4161 wr_mas->pivots[end] = mas->index - 1;
4166 wr_mas->pivots[end] = mas->last;
4167 rcu_assign_pointer(slots[end], wr_mas->entry);
4172 wr_mas->pivots[end + 1] = mas->last;
4173 rcu_assign_pointer(slots[end + 1], wr_mas->entry);
4174 wr_mas->pivots[end] = mas->index - 1;
4175 mas->offset = end + 1;
4189 * This is where split, rebalance end up.
4292 * then two pivots need to be inserted: the start - 1, and the end. As
4296 * is when inserting at the end of a node (appending). When done
4677 /* Node cannot end on NULL, so it's safe to short-cut here */
5565 unsigned char end;
5569 end = mas_data_end(mas) + 1;
5570 if (end < mt_min_slot_count(mas->node) - 1)
5571 mas_destroy_rebalance(mas, end);
6274 * @last: The end of the range
6329 * @last: The end of the range
6832 pr_cont("| %02X %02X| ", node->meta.end, node->meta.gap);
7091 * the end of the data.
7179 pr_err("Sequential nulls end at %p[%u]\n",
7205 unsigned char end;
7218 end = mas_data_end(&mas);
7219 if (MAS_WARN_ON(&mas, (end < mt_min_slot_count(mas.node)) &&
7221 pr_err("Invalid size %u of %p\n", end, mas_mn(&mas));