mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-23 11:01:15 +00:00
bcachefs: drop bogus percpu_ref_tryget
caller should already be guarding against rw, and checking here breaks when caller needs to finish updates for going RO Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
f0cfb963ec
commit
eb8632657f
1 changed files with 1 additions and 7 deletions
|
@ -562,7 +562,6 @@ static void bch2_btree_update_free(struct btree_update *as)
|
|||
|
||||
closure_debug_destroy(&as->cl);
|
||||
mempool_free(as, &c->btree_interior_update_pool);
|
||||
percpu_ref_put(&c->writes);
|
||||
|
||||
closure_wake_up(&c->btree_interior_update_wait);
|
||||
mutex_unlock(&c->btree_interior_update_lock);
|
||||
|
@ -1012,14 +1011,9 @@ bch2_btree_update_start(struct bch_fs *c, enum btree_id id,
|
|||
struct btree_reserve *reserve;
|
||||
struct btree_update *as;
|
||||
|
||||
if (unlikely(!percpu_ref_tryget(&c->writes)))
|
||||
return ERR_PTR(-EROFS);
|
||||
|
||||
reserve = bch2_btree_reserve_get(c, nr_nodes, flags, cl);
|
||||
if (IS_ERR(reserve)) {
|
||||
percpu_ref_put(&c->writes);
|
||||
if (IS_ERR(reserve))
|
||||
return ERR_CAST(reserve);
|
||||
}
|
||||
|
||||
as = mempool_alloc(&c->btree_interior_update_pool, GFP_NOIO);
|
||||
memset(as, 0, sizeof(*as));
|
||||
|
|
Loading…
Reference in a new issue