Lines Matching +full:data +full:- +full:out
1 // SPDX-License-Identifier: GPL-2.0
15 return !iter->used; in sort_iter_end()
24 i + 1 < iter->used && in sort_iter_sift()
25 cmp(iter->b, iter->data[i].k, iter->data[i + 1].k) > 0; in sort_iter_sift()
27 swap(iter->data[i], iter->data[i + 1]); in sort_iter_sift()
32 unsigned i = iter->used; in sort_iter_sort()
34 while (i--) in sort_iter_sort()
40 return !sort_iter_end(iter) ? iter->data->k : NULL; in sort_iter_peek()
45 struct sort_iter_set *i = iter->data; in sort_iter_advance()
47 BUG_ON(!iter->used); in sort_iter_advance()
49 i->k = bkey_p_next(i->k); in sort_iter_advance()
51 BUG_ON(i->k > i->end); in sort_iter_advance()
53 if (i->k == i->end) in sort_iter_advance()
54 array_remove_item(iter->data, iter->used, 0); in sort_iter_advance()
85 * comes first; so if l->k compares equal to r->k then l->k is older in should_drop_next_key()
88 return iter->used >= 2 && in should_drop_next_key()
89 !bch2_bkey_cmp_packed(iter->b, in should_drop_next_key()
90 iter->data[0].k, in should_drop_next_key()
91 iter->data[1].k); in should_drop_next_key()
98 struct bkey_packed *out = dst->start; in bch2_key_sort_fix_overlapping() local
109 bkey_p_copy(out, k); in bch2_key_sort_fix_overlapping()
110 btree_keys_account_key_add(&nr, 0, out); in bch2_key_sort_fix_overlapping()
111 out = bkey_p_next(out); in bch2_key_sort_fix_overlapping()
117 dst->u64s = cpu_to_le16((u64 *) out - dst->_data); in bch2_key_sort_fix_overlapping()
128 struct bkey_format *in_f = &src->format; in bch2_sort_repack()
129 struct bkey_packed *in, *out = vstruct_last(dst); in bch2_sort_repack() local
131 bool transform = memcmp(out_f, &src->format, sizeof(*out_f)); in bch2_sort_repack()
140 bkey_p_copy(out, in); in bch2_sort_repack()
141 else if (bch2_bkey_transform(out_f, out, bkey_packed(in) in bch2_sort_repack()
143 out->format = KEY_FORMAT_LOCAL_BTREE; in bch2_sort_repack()
145 bch2_bkey_unpack(src, (void *) out, in); in bch2_sort_repack()
147 out->needs_whiteout = false; in bch2_sort_repack()
149 btree_keys_account_key_add(&nr, 0, out); in bch2_sort_repack()
150 out = bkey_p_next(out); in bch2_sort_repack()
153 dst->u64s = cpu_to_le16((u64 *) out - dst->_data); in bch2_sort_repack()
162 (int) bkey_deleted(r) - (int) bkey_deleted(l) ?: in keep_unwritten_whiteouts_cmp()
163 (long) l - (long) r; in keep_unwritten_whiteouts_cmp()
175 struct bkey_packed *in, *next, *out = dst; in bch2_sort_keys_keep_unwritten_whiteouts() local
180 if (bkey_deleted(in) && in < unwritten_whiteouts_start(iter->b)) in bch2_sort_keys_keep_unwritten_whiteouts()
184 !bch2_bkey_cmp_packed_inlined(iter->b, in, next)) in bch2_sort_keys_keep_unwritten_whiteouts()
187 bkey_p_copy(out, in); in bch2_sort_keys_keep_unwritten_whiteouts()
188 out = bkey_p_next(out); in bch2_sort_keys_keep_unwritten_whiteouts()
191 return (u64 *) out - (u64 *) dst; in bch2_sort_keys_keep_unwritten_whiteouts()
201 struct bkey_packed *in, *out = dst; in bch2_sort_keys() local
209 bkey_p_copy(out, in); in bch2_sort_keys()
210 out = bkey_p_next(out); in bch2_sort_keys()
213 return (u64 *) out - (u64 *) dst; in bch2_sort_keys()