diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-05-03 15:22:22 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-05-09 16:26:14 -0400 |
commit | 477670f48167cac1b871b061713cc1b594a2a941 (patch) | |
tree | 699c9d61214fc762a5a971f73feb59798909d620 /c_src | |
parent | 5531accc97da082b7a102240e34fdf15c68a8991 (diff) |
Update bcachefs sources to 07f9a27f1969 bcachefs: add no_invalid_checks flag
Diffstat (limited to 'c_src')
-rw-r--r-- | c_src/cmd_kill_btree_node.c | 5 | ||||
-rw-r--r-- | c_src/cmd_migrate.c | 10 |
2 files changed, 13 insertions, 2 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)); diff --git a/c_src/cmd_migrate.c b/c_src/cmd_migrate.c index 5ac326dd..e41d1950 100644 --- a/c_src/cmd_migrate.c +++ b/c_src/cmd_migrate.c @@ -719,12 +719,20 @@ static int migrate_fs(const char *fs_path, opt_set(opts, sb, sb_offset); opt_set(opts, nostart, true); opt_set(opts, noexcl, true); - opt_set(opts, buckets_nouse, true); + opt_set(opts, nostart, true); c = bch2_fs_open(path, 1, opts); if (IS_ERR(c)) die("Error opening new filesystem: %s", bch2_err_str(PTR_ERR(c))); + ret = bch2_buckets_nouse_alloc(c); + if (ret) + die("Error allocating buckets_nouse: %s", bch2_err_str(ret)); + + ret = bch2_fs_start(c); + if (IS_ERR(c)) + die("Error starting new filesystem: %s", bch2_err_str(ret)); + mark_unreserved_space(c, extents); ret = bch2_fs_start(c); |