Lines Matching full:k

29 static int deleted_key_invalid(struct bch_fs *c, struct bkey_s_c k,  in deleted_key_invalid()  argument
43 static int empty_val_key_invalid(struct bch_fs *c, struct bkey_s_c k, in empty_val_key_invalid() argument
48 bkey_fsck_err_on(bkey_val_bytes(k.k), c, err, in empty_val_key_invalid()
51 bkey_val_bytes(k.k)); in empty_val_key_invalid()
60 static int key_type_cookie_invalid(struct bch_fs *c, struct bkey_s_c k, in key_type_cookie_invalid() argument
67 struct bkey_s_c k) in key_type_cookie_to_text() argument
69 struct bkey_s_c_cookie ck = bkey_s_c_to_cookie(k); in key_type_cookie_to_text()
84 static int key_type_inline_data_invalid(struct bch_fs *c, struct bkey_s_c k, in key_type_inline_data_invalid() argument
91 struct bkey_s_c k) in key_type_inline_data_to_text() argument
93 struct bkey_s_c_inline_data d = bkey_s_c_to_inline_data(k); in key_type_inline_data_to_text()
94 unsigned datalen = bkey_inline_data_bytes(k.k); in key_type_inline_data_to_text()
107 bch2_key_resize(l.k, l.k->size + r.k->size); in key_type_set_merge()
125 int bch2_bkey_val_invalid(struct bch_fs *c, struct bkey_s_c k, in bch2_bkey_val_invalid() argument
129 const struct bkey_ops *ops = bch2_bkey_type_ops(k.k->type); in bch2_bkey_val_invalid()
132 bkey_fsck_err_on(bkey_val_bytes(k.k) < ops->min_val_size, c, err, in bch2_bkey_val_invalid()
135 bkey_val_bytes(k.k), ops->min_val_size); in bch2_bkey_val_invalid()
140 ret = ops->key_invalid(c, k, flags, err); in bch2_bkey_val_invalid()
160 int __bch2_bkey_invalid(struct bch_fs *c, struct bkey_s_c k, in __bch2_bkey_invalid() argument
167 bkey_fsck_err_on(k.k->u64s < BKEY_U64s, c, err, in __bch2_bkey_invalid()
169 "u64s too small (%u < %zu)", k.k->u64s, BKEY_U64s); in __bch2_bkey_invalid()
175 !(bch2_key_types_allowed[type] & BIT_ULL(k.k->type)), c, err, in __bch2_bkey_invalid()
178 bch2_btree_node_type_str(type), bch2_bkey_types[k.k->type]); in __bch2_bkey_invalid()
180 if (btree_node_type_is_extents(type) && !bkey_whiteout(k.k)) { in __bch2_bkey_invalid()
181 bkey_fsck_err_on(k.k->size == 0, c, err, in __bch2_bkey_invalid()
185 bkey_fsck_err_on(k.k->size > k.k->p.offset, c, err, in __bch2_bkey_invalid()
188 k.k->size, k.k->p.offset); in __bch2_bkey_invalid()
190 bkey_fsck_err_on(k.k->size, c, err, in __bch2_bkey_invalid()
199 bkey_fsck_err_on(!k.k->p.snapshot, c, err, in __bch2_bkey_invalid()
203 bkey_fsck_err_on(k.k->p.snapshot, c, err, in __bch2_bkey_invalid()
213 bkey_fsck_err_on(bkey_eq(k.k->p, POS_MAX), c, err, in __bch2_bkey_invalid()
221 int bch2_bkey_invalid(struct bch_fs *c, struct bkey_s_c k, in bch2_bkey_invalid() argument
226 return __bch2_bkey_invalid(c, k, type, flags, err) ?: in bch2_bkey_invalid()
227 bch2_bkey_val_invalid(c, k, flags, err); in bch2_bkey_invalid()
231 struct bkey_s_c k, struct printbuf *err) in bch2_bkey_in_btree_node() argument
235 bkey_fsck_err_on(bpos_lt(k.k->p, b->data->min_key), c, err, in bch2_bkey_in_btree_node()
239 bkey_fsck_err_on(bpos_gt(k.k->p, b->data->max_key), c, err, in bch2_bkey_in_btree_node()
272 void bch2_bkey_to_text(struct printbuf *out, const struct bkey *k) in bch2_bkey_to_text() argument
274 if (k) { in bch2_bkey_to_text()
275 prt_printf(out, "u64s %u type ", k->u64s); in bch2_bkey_to_text()
277 if (k->type < KEY_TYPE_MAX) in bch2_bkey_to_text()
278 prt_printf(out, "%s ", bch2_bkey_types[k->type]); in bch2_bkey_to_text()
280 prt_printf(out, "%u ", k->type); in bch2_bkey_to_text()
282 bch2_bpos_to_text(out, k->p); in bch2_bkey_to_text()
284 prt_printf(out, " len %u ver %llu", k->size, k->version.lo); in bch2_bkey_to_text()
291 struct bkey_s_c k) in bch2_val_to_text() argument
293 const struct bkey_ops *ops = bch2_bkey_type_ops(k.k->type); in bch2_val_to_text()
296 ops->val_to_text(out, c, k); in bch2_val_to_text()
300 struct bkey_s_c k) in bch2_bkey_val_to_text() argument
302 bch2_bkey_to_text(out, k.k); in bch2_bkey_val_to_text()
304 if (bkey_val_bytes(k.k)) { in bch2_bkey_val_to_text()
306 bch2_val_to_text(out, c, k); in bch2_bkey_val_to_text()
310 void bch2_bkey_swab_val(struct bkey_s k) in bch2_bkey_swab_val() argument
312 const struct bkey_ops *ops = bch2_bkey_type_ops(k.k->type); in bch2_bkey_swab_val()
315 ops->swab(k); in bch2_bkey_swab_val()
318 bool bch2_bkey_normalize(struct bch_fs *c, struct bkey_s k) in bch2_bkey_normalize() argument
320 const struct bkey_ops *ops = bch2_bkey_type_ops(k.k->type); in bch2_bkey_normalize()
323 ? ops->key_normalize(c, k) in bch2_bkey_normalize()
329 const struct bkey_ops *ops = bch2_bkey_type_ops(l.k->type); in bch2_bkey_merge()
332 bch2_bkey_maybe_mergable(l.k, r.k) && in bch2_bkey_merge()
333 (u64) l.k->size + r.k->size <= KEY_SIZE_MAX && in bch2_bkey_merge()
358 struct bkey_packed *k, in bch2_bkey_renumber() argument
367 k->type == (write ? i->new : i->old)) { in bch2_bkey_renumber()
368 k->type = write ? i->old : i->new; in bch2_bkey_renumber()
377 struct bkey_packed *k) in __bch2_bkey_compat() argument
392 bch2_bkey_swab_key(f, k); in __bch2_bkey_compat()
396 bch2_bkey_renumber(__btree_node_type(level, btree_id), k, write); in __bch2_bkey_compat()
401 if (!bkey_packed(k)) { in __bch2_bkey_compat()
402 struct bkey_i *u = packed_to_bkey(k); in __bch2_bkey_compat()
404 swap(u->k.p.inode, u->k.p.offset); in __bch2_bkey_compat()
417 uk = __bch2_bkey_unpack_key(in, k); in __bch2_bkey_compat()
419 BUG_ON(!bch2_bkey_pack_key(k, &uk, out)); in __bch2_bkey_compat()
426 struct bkey_i *u = packed_to_bkey(k); in __bch2_bkey_compat()
429 u->k.p.snapshot = write in __bch2_bkey_compat()
436 uk = __bch2_bkey_unpack_key(f, k); in __bch2_bkey_compat()
440 BUG_ON(!bch2_bkey_pack_key(k, &uk, f)); in __bch2_bkey_compat()
448 if (!bkey_packed(k)) { in __bch2_bkey_compat()
449 u = bkey_i_to_s(packed_to_bkey(k)); in __bch2_bkey_compat()
451 uk = __bch2_bkey_unpack_key(f, k); in __bch2_bkey_compat()
452 u.k = &uk; in __bch2_bkey_compat()
453 u.v = bkeyp_val(f, k); in __bch2_bkey_compat()
459 ops = bch2_bkey_type_ops(k->type); in __bch2_bkey_compat()