summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2022-11-26 04:36:56 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-05-12 19:42:19 -0400
commit52268aa18cb1560b4b7f91ba09369b11ce3b578c (patch)
tree2fe3484229f12d6bc43672724866a2b15e098da3
parente43c27cd5c4f2be64a19efc1761e2f25e466b24e (diff)
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>
-rw-r--r--fs/bcachefs/bkey.c9
-rw-r--r--fs/bcachefs/bkey.h1
2 files changed, 0 insertions, 10 deletions
diff --git a/fs/bcachefs/bkey.c b/fs/bcachefs/bkey.c
index 0ee38d25c1d0..8e6ce2b09e4b 100644
--- a/fs/bcachefs/bkey.c
+++ b/fs/bcachefs/bkey.c
@@ -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;
diff --git a/fs/bcachefs/bkey.h b/fs/bcachefs/bkey.h
index 788c42462dd6..d430c6698f8e 100644
--- a/fs/bcachefs/bkey.h
+++ b/fs/bcachefs/bkey.h
@@ -681,7 +681,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);