diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2018-08-03 19:41:44 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:08:08 -0400 |
commit | b0004d8dfac514f8591b8a45dc470becf3356150 (patch) | |
tree | ab4e7d8ef2cc900870ad8c0939731aaf516f6a84 /fs/bcachefs/extents.h | |
parent | a50ed7c8e83e52dbfd54a47b5e123f85f5cd91f1 (diff) | |
download | lwn-b0004d8dfac514f8591b8a45dc470becf3356150.tar.gz lwn-b0004d8dfac514f8591b8a45dc470becf3356150.zip |
bcachefs: Factor out btree_key_can_insert()
working on getting rid of all the reasons bch2_insert_fixup_extent() can
fail/stop partway, which is needed for other refactorings.
One of the reasons we could have to bail out is if we're splitting a
compressed extent we might need to add to our disk reservation - but we
can check that before actually starting the insert.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/extents.h')
-rw-r--r-- | fs/bcachefs/extents.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/bcachefs/extents.h b/fs/bcachefs/extents.h index 0598d6309697..fddf25c3fa4b 100644 --- a/fs/bcachefs/extents.h +++ b/fs/bcachefs/extents.h @@ -63,8 +63,10 @@ int bch2_extent_pick_ptr(struct bch_fs *, struct bkey_s_c, struct extent_pick_ptr *); enum btree_insert_ret -bch2_insert_fixup_extent(struct btree_insert *, - struct btree_insert_entry *); +bch2_extent_can_insert(struct btree_insert *, struct btree_insert_entry *, + unsigned *); +enum btree_insert_ret +bch2_insert_fixup_extent(struct btree_insert *, struct btree_insert_entry *); bool bch2_extent_normalize(struct bch_fs *, struct bkey_s); void bch2_extent_mark_replicas_cached(struct bch_fs *, struct bkey_s_extent, |