summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2018-11-24 18:27:16 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-22 17:08:12 -0400
commiteb8632657f79ee29941f4013b81cdd4aaeeca1a8 (patch)
tree060a18ecc6b08f8eac63c61c323998fbd2b1f492 /fs
parentf0cfb963ec0370b021bb21c899b5fdcd020014cf (diff)
downloadlinux-eb8632657f79ee29941f4013b81cdd4aaeeca1a8.tar.gz
linux-eb8632657f79ee29941f4013b81cdd4aaeeca1a8.tar.bz2
linux-eb8632657f79ee29941f4013b81cdd4aaeeca1a8.zip
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>
Diffstat (limited to 'fs')
-rw-r--r--fs/bcachefs/btree_update_interior.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/fs/bcachefs/btree_update_interior.c b/fs/bcachefs/btree_update_interior.c
index 22f087098776..83a72cccb870 100644
--- a/fs/bcachefs/btree_update_interior.c
+++ b/fs/bcachefs/btree_update_interior.c
@@ -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));