struct bchfs_handle fs = bcache_fs_open(fs_path);
- dev_opts.fd = open_for_format(dev_opts.path, force);
+ int ret = open_for_format(&dev_opts, force);
+ if (ret)
+ die("Error opening %s: %s", dev_opts.path, strerror(-ret));
struct bch_opt_strs fs_opt_strs;
memset(&fs_opt_strs, 0, sizeof(fs_opt_strs));
format_opts,
&dev_opts, 1);
free(sb);
- fsync(dev_opts.fd);
- close(dev_opts.fd);
+ fsync(dev_opts.bdev->bd_buffered_fd);
+ close(dev_opts.bdev->bd_buffered_fd);
bchu_disk_add(fs, dev_opts.path);
return 0;
int dev_idx;
struct bchfs_handle fs = bchu_fs_open_by_dev(dev_path, &dev_idx);
- struct bch_ioctl_dev_usage u = bchu_dev_usage(fs, dev_idx);
+ struct bch_ioctl_dev_usage_v2 *u = bchu_dev_usage(fs, dev_idx);
- if (u.state == BCH_MEMBER_STATE_rw) {
+ if (u->state == BCH_MEMBER_STATE_rw) {
printf("Setting %s readonly\n", dev_path);
bchu_disk_set_state(fs, dev_idx, BCH_MEMBER_STATE_ro, 0);
}
+ free(u);
+
return bchu_data(fs, (struct bch_ioctl_data) {
- .op = BCH_DATA_OP_MIGRATE,
+ .op = BCH_DATA_OP_migrate,
.start_btree = 0,
.start_pos = POS_MIN,
.end_btree = BTREE_ID_NR,
if (IS_ERR(c))
die("error opening %s: %s", dev, bch2_err_str(PTR_ERR(c)));
- struct bch_dev *ca, *resize = NULL;
- unsigned i;
+ struct bch_dev *resize = NULL;
- for_each_online_member(ca, c, i) {
+ for_each_online_member(c, ca) {
if (resize)
die("confused: more than one online device?");
resize = ca;
if (IS_ERR(c))
die("error opening %s: %s", dev, bch2_err_str(PTR_ERR(c)));
- struct bch_dev *ca, *resize = NULL;
- unsigned i;
+ struct bch_dev *resize = NULL;
- for_each_online_member(ca, c, i) {
+ for_each_online_member(c, ca) {
if (resize)
die("confused: more than one online device?");
resize = ca;