summaryrefslogtreecommitdiff
path: root/fs/bcachefs/extents.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2018-08-03 19:41:44 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-22 17:08:08 -0400
commitb0004d8dfac514f8591b8a45dc470becf3356150 (patch)
treeab4e7d8ef2cc900870ad8c0939731aaf516f6a84 /fs/bcachefs/extents.h
parenta50ed7c8e83e52dbfd54a47b5e123f85f5cd91f1 (diff)
downloadlwn-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.h6
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,