diff --git a/fs/bcachefs/buckets.c b/fs/bcachefs/buckets.c index 743d57eba760..03147e46dc47 100644 --- a/fs/bcachefs/buckets.c +++ b/fs/bcachefs/buckets.c @@ -1033,8 +1033,14 @@ static int bch2_trigger_pointer(struct btree_trans *trans, if (flags & BTREE_TRIGGER_transactional) { struct bkey_i_alloc_v4 *a = bch2_trans_start_alloc_update(trans, bucket); + + percpu_down_read(&c->mark_lock); + ret = PTR_ERR_OR_ZERO(a) ?: __mark_pointer(trans, ca, k, &p.ptr, *sectors, bp.data_type, &a->v); + + percpu_up_read(&c->mark_lock); + if (ret) goto err;