Lines Matching +full:keep +full:- +full:a +full:- +full:live
1 /* SPDX-License-Identifier: GPL-2.0-only */
11 #include "dm-btree.h"
13 /*----------------------------------------------------------------*/
16 * We'll need 2 accessor functions for n->csum and n->blocknr
17 * to support dm-btree-spine.c in that case.
26 * Every btree node begins with this structure. Make sure it's a multiple
27 * of 8-bytes in size, otherwise the 64bit keys will be mis-aligned.
32 __le64 blocknr; /* Block this node is supposed to live in. */
47 * Locks a block using the btree node validator.
59 * Spines keep track of the rolling locks. There are 2 variants, read-only
62 * on a shadow spine.
111 return n->keys + index; in key_ptr()
116 return &n->keys[le32_to_cpu(n->header.max_entries)]; in value_base()
121 uint32_t value_size = le32_to_cpu(n->header.value_size); in value_ptr()
127 * Assumes the values are suitably-aligned and converts to core format.
137 * Searching for a key within a single node.
144 * Value type for upper levels of multi-level btrees.
150 * This returns a shadowed btree leaf that you may modify. In practise
151 * this means overwrites only, since an insert could cause a node to
156 * the tree, otherwise -EINVAL will be returned.