]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - cmd_kill_btree_node.c
atomic64_read_acquire() should be inline
[bcachefs-tools-debian] / cmd_kill_btree_node.c
index e9b8265d40e8016c76693ee19f8e398c84490a5c..b0832843c35284e621ea9e1baf2664ba4b6d35ba 100644 (file)
@@ -41,7 +41,7 @@ int cmd_kill_btree_node(int argc, char *argv[])
                switch (opt) {
                case 'b':
                        btree_id = read_string_list_or_die(optarg,
-                                               bch2_btree_ids, "btree id");
+                                               __bch2_btree_ids, "btree id");
                        break;
                case 'l':
                        if (kstrtouint(optarg, 10, &level) || level >= BTREE_MAX_DEPTH)
@@ -64,7 +64,7 @@ int cmd_kill_btree_node(int argc, char *argv[])
        if (IS_ERR(c))
                die("error opening %s: %s", argv[0], bch2_err_str(PTR_ERR(c)));
 
-       struct btree_trans trans;
+       struct btree_trans *trans = bch2_trans_get(c);
        struct btree_iter iter;
        struct btree *b;
        int ret;
@@ -74,22 +74,17 @@ int cmd_kill_btree_node(int argc, char *argv[])
        if (ret)
                die("error %s from posix_memalign", bch2_err_str(ret));
 
-       bch2_trans_init(&trans, c, 0, 0);
-
-       __for_each_btree_node(&trans, iter, btree_id, POS_MIN, 0, level, 0, b, ret) {
+       __for_each_btree_node(trans, iter, btree_id, POS_MIN, 0, level, 0, b, ret) {
                if (b->c.level != level)
                        continue;
 
                if (!node_index) {
-                       struct bkey_ptrs_c ptrs = bch2_bkey_ptrs_c(bkey_i_to_s_c(&b->key));
-                       const struct bch_extent_ptr *ptr;
-
                        struct printbuf buf = PRINTBUF;
-
                        bch2_bkey_val_to_text(&buf, c, bkey_i_to_s_c(&b->key));
                        bch_info(c, "killing btree node %s", buf.buf);
                        printbuf_exit(&buf);
 
+                       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);
 
@@ -113,8 +108,8 @@ int cmd_kill_btree_node(int argc, char *argv[])
                bch_err(c, "node at specified index not found");
        ret = EXIT_FAILURE;
 done:
-       bch2_trans_iter_exit(&trans, &iter);
-       bch2_trans_exit(&trans);
+       bch2_trans_iter_exit(trans, &iter);
+       bch2_trans_put(trans);
 
        bch2_fs_stop(c);
        return ret;