}
if (ret)
- die("error %s walking btree nodes", strerror(-ret));
+ die("error %s walking btree nodes", bch2_err_str(ret));
- b = c->btree_roots[i].b;
+ b = bch2_btree_id_root(c, i)->b;
if (!btree_node_fake(b)) {
ptrs = bch2_bkey_ptrs_c(bkey_i_to_s_c(&b->key));
bch2_trans_exit(&trans);
}
- qcow2_write_image(ca->disk_sb.bdev->bd_fd, fd, &data,
+ qcow2_write_image(ca->disk_sb.bdev->bd_buffered_fd, fd, &data,
max_t(unsigned, btree_bytes(c) / 8, block_bytes(c)));
darray_exit(&data);
}
opt_set(opts, norecovery, true);
opt_set(opts, degraded, true);
opt_set(opts, errors, BCH_ON_ERROR_continue);
- opt_set(opts, fix_errors, FSCK_OPT_NO);
+ opt_set(opts, fix_errors, FSCK_FIX_no);
while ((opt = getopt(argc, argv, "o:fjvh")) != -1)
switch (opt) {
struct bch_fs *c = bch2_fs_open(argv, argc, opts);
if (IS_ERR(c))
- die("error opening %s: %s", argv[0], strerror(-PTR_ERR(c)));
+ die("error opening %s: %s", argv[0], bch2_err_str(PTR_ERR(c)));
down_read(&c->gc_lock);
continue;
char *path = nr_devices > 1
- ? mprintf("%s.%u", out, i)
- : strdup(out);
+ ? mprintf("%s.%u.qcow2", out, i)
+ : mprintf("%s.qcow2", out);
fd = xopen(path, flags, 0600);
free(path);