mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-04 04:06:26 +00:00
bcachefs: extents no longer require special handling for packing
Extent overwrite used to be handled differently, underneath the journaling layer and within the core btree code. This imposed restrictions on bkey packing/packed formats, which no longer apply. This patch deletes those restrictions. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
e2fcf7f630
commit
6530d89e0a
@ -323,15 +323,6 @@ bool bch2_bkey_pack_key(struct bkey_packed *out, const struct bkey *in,
|
||||
#define x(id, field) if (!set_inc_field(&state, id, in->field)) return false;
|
||||
bkey_fields()
|
||||
#undef x
|
||||
|
||||
/*
|
||||
* Extents - we have to guarantee that if an extent is packed, a trimmed
|
||||
* version will also pack:
|
||||
*/
|
||||
if (bkey_start_offset(in) <
|
||||
le64_to_cpu(format->field_offset[BKEY_FIELD_OFFSET]))
|
||||
return false;
|
||||
|
||||
pack_state_finish(&state, out);
|
||||
out->u64s = format->key_u64s + in->u64s - BKEY_U64s;
|
||||
out->format = KEY_FORMAT_LOCAL_BTREE;
|
||||
|
@ -689,7 +689,6 @@ static inline void bch2_bkey_format_add_key(struct bkey_format_state *s, const s
|
||||
#define x(id, field) __bkey_format_add(s, id, k->field);
|
||||
bkey_fields()
|
||||
#undef x
|
||||
__bkey_format_add(s, BKEY_FIELD_OFFSET, bkey_start_offset(k));
|
||||
}
|
||||
|
||||
void bch2_bkey_format_add_pos(struct bkey_format_state *, struct bpos);
|
||||
|
Loading…
Reference in New Issue
Block a user