summaryrefslogtreecommitdiff
path: root/c_src/cmd_kill_btree_node.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2024-05-03 15:22:22 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2024-05-09 16:26:14 -0400
commit477670f48167cac1b871b061713cc1b594a2a941 (patch)
tree699c9d61214fc762a5a971f73feb59798909d620 /c_src/cmd_kill_btree_node.c
parent5531accc97da082b7a102240e34fdf15c68a8991 (diff)
Update bcachefs sources to 07f9a27f1969 bcachefs: add no_invalid_checks flag
Diffstat (limited to 'c_src/cmd_kill_btree_node.c')
-rw-r--r--c_src/cmd_kill_btree_node.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/c_src/cmd_kill_btree_node.c b/c_src/cmd_kill_btree_node.c
index 0cf9d861..fe551d94 100644
--- a/c_src/cmd_kill_btree_node.c
+++ b/c_src/cmd_kill_btree_node.c
@@ -86,10 +86,13 @@ int cmd_kill_btree_node(int argc, char *argv[])
struct bkey_ptrs_c ptrs = bch2_bkey_ptrs_c(bkey_i_to_s_c(&b->key));
bkey_for_each_ptr(ptrs, ptr) {
- struct bch_dev *ca = bch_dev_bkey_exists(c, ptr->dev);
+ struct bch_dev *ca = bch2_dev_tryget(c, ptr->dev);
+ if (!ca)
+ continue;
ret = pwrite(ca->disk_sb.bdev->bd_fd, zeroes,
c->opts.block_size, ptr->offset << 9);
+ bch2_dev_put(ca);
if (ret != c->opts.block_size) {
bch_err(c, "pwrite error: expected %u got %i %s",
c->opts.block_size, ret, strerror(errno));