mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 22:14:36 -04:00
bcachefs: Use btree reserve when appropriate
Whenever we're doing an update that has pointers, that generally means we need to do the update in order to release open bucket references - so we should be using the btree open bucket reserve. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
committed by
Kent Overstreet
parent
eff508b459
commit
937f503605
@@ -1398,14 +1398,14 @@ int bch2_btree_split_leaf(struct bch_fs *c, struct btree_iter *iter,
|
||||
struct btree_update *as;
|
||||
struct closure cl;
|
||||
int ret = 0;
|
||||
struct btree_iter *linked;
|
||||
struct btree_insert_entry *i;
|
||||
|
||||
/*
|
||||
* We already have a disk reservation and open buckets pinned; this
|
||||
* allocation must not block:
|
||||
*/
|
||||
trans_for_each_iter(trans, linked)
|
||||
if (linked->btree_id == BTREE_ID_EXTENTS)
|
||||
trans_for_each_update(trans, i)
|
||||
if (btree_node_type_needs_gc(i->iter->btree_id))
|
||||
flags |= BTREE_INSERT_USE_RESERVE;
|
||||
|
||||
closure_init_stack(&cl);
|
||||
|
||||
Reference in New Issue
Block a user