Lines Matching defs:keys

206  * @nr:		number of keys for new node (i.e. b->nr)
207 * @new_f: bkey format to translate keys to
209 * Returns: true if all re-packed keys will be able to fit in a new node.
211 * Assumes all keys will successfully pack with the new format.
399 bch2_bset_init_first(b, &b->data->keys);
415 bp->v.seq = b->data->keys.seq;
452 * The keys might expand with the new format - if they wouldn't fit in
597 struct keylist *keys, struct btree *b)
601 BUG_ON(bch2_keylist_u64s(keys) + k->k.u64s >
604 bkey_copy(keys->top, k);
605 bkey_i_to_btree_ptr_v2(keys->top)->v.mem_ptr = b->c.level + 1;
607 bch2_keylist_push(keys);
700 seq = b->data ? b->data->keys.seq : 0;
975 unsigned bytes = vstruct_end(&b->data->keys) - (void *) b->data;
1109 as->old_nodes_seq[as->nr_old_nodes] = b->data->keys.seq;
1185 * Always check for space for two keys, even if we won't have to
1416 struct keylist *keys)
1418 struct bkey_i *insert = bch2_keylist_front(keys);
1427 while (!bch2_keylist_empty(keys)) {
1428 insert = bch2_keylist_front(keys);
1434 bch2_keylist_pop_front(keys);
1439 * Move keys from n1 (original replacement node, now lower node) to n2 (higher
1550 * the keys might have to go in different nodes and the split would no longer be
1562 struct keylist *keys)
1566 if (!bch2_keylist_empty(keys) &&
1567 bpos_le(bch2_keylist_front(keys)->k.p, b->data->max_key)) {
1570 bch2_btree_node_iter_init(&node_iter, b, &bch2_keylist_front(keys)->k.p);
1572 bch2_btree_insert_keys_interior(as, trans, path, b, node_iter, keys);
1580 struct keylist *keys)
1609 if (keys) {
1610 btree_split_insert_keys(as, trans, path, n1, keys);
1611 btree_split_insert_keys(as, trans, path, n2, keys);
1612 BUG_ON(!bch2_keylist_empty(keys));
1634 * Note that on recursive parent_keys == keys, so we
1635 * can't start adding new keys to parent_keys before emptying it
1664 if (keys) {
1665 btree_split_insert_keys(as, trans, path, n1, keys);
1666 BUG_ON(!bch2_keylist_empty(keys));
1759 * @b: node to insert keys into
1760 * @keys: list of keys to insert
1764 * Inserts as many keys as it can into a given btree node, splitting it if full.
1770 struct keylist *keys)
1784 bch2_verify_keylist_sorted(keys);
1792 if (!bch2_btree_node_insert_fits(b, bch2_keylist_u64s(keys))) {
1804 path->l[b->c.level].iter, keys);
1838 return btree_split(as, trans, path_idx, b, keys);
2218 if (!b || b->data->keys.seq != a->seq) {
2267 a->seq = b->data->keys.seq;
2542 bch2_bset_init_first(b, &b->data->keys);