diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2025-04-18 14:56:09 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2025-05-21 20:14:27 -0400 |
commit | c9b1d94a2196fcfd1985ff8728b22abda400b1ac (patch) | |
tree | 63322a8918c75d6f4b960be236f5591e845be138 /fs/bcachefs/btree_io.c | |
parent | f5241e41272858b983da45ac7f8a6ad58c4ba71f (diff) |
bcachefs: bch_fs.writes -> enumerated_refs
Drop the single-purpose write ref code in bcachefs.h, and convert to
enumarated refs.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/btree_io.c')
-rw-r--r-- | fs/bcachefs/btree_io.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/bcachefs/btree_io.c b/fs/bcachefs/btree_io.c index c1c671e340c75..9e759d9e29b1f 100644 --- a/fs/bcachefs/btree_io.c +++ b/fs/bcachefs/btree_io.c @@ -13,6 +13,7 @@ #include "buckets.h" #include "checksum.h" #include "debug.h" +#include "enumerated_ref.h" #include "error.h" #include "extents.h" #include "io_write.h" @@ -1931,7 +1932,7 @@ err: btree_bounce_free(c, c->opts.btree_node_size, scrub->used_mempool, scrub->buf); percpu_ref_put(&scrub->ca->io_ref[READ]); kfree(scrub); - bch2_write_ref_put(c, BCH_WRITE_REF_btree_node_scrub); + enumerated_ref_put(&c->writes, BCH_WRITE_REF_btree_node_scrub); } static void btree_node_scrub_endio(struct bio *bio) @@ -1950,7 +1951,7 @@ int bch2_btree_node_scrub(struct btree_trans *trans, struct bch_fs *c = trans->c; - if (!bch2_write_ref_tryget(c, BCH_WRITE_REF_btree_node_scrub)) + if (!enumerated_ref_tryget(&c->writes, BCH_WRITE_REF_btree_node_scrub)) return -BCH_ERR_erofs_no_writes; struct extent_ptr_decoded pick; @@ -2000,7 +2001,7 @@ err_free: btree_bounce_free(c, c->opts.btree_node_size, used_mempool, buf); percpu_ref_put(&ca->io_ref[READ]); err: - bch2_write_ref_put(c, BCH_WRITE_REF_btree_node_scrub); + enumerated_ref_put(&c->writes, BCH_WRITE_REF_btree_node_scrub); return ret; } |