]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - c_src/tools-util.c
Disable pristine-tar option in gbp.conf, since there is no pristine-tar branch.
[bcachefs-tools-debian] / c_src / tools-util.c
index a1bcd8eba550ded5df147dd5bfef012e8267502c..3b9f149d47d0f647b95672d3da8cd28da4ad3caa 100644 (file)
@@ -189,12 +189,13 @@ int open_for_format(struct dev_opts *dev, bool force)
        const char *fs_type = NULL, *fs_label = NULL;
        size_t fs_type_len, fs_label_len;
 
-       dev->bdev = blkdev_get_by_path(dev->path,
+       dev->handle = bdev_open_by_path(dev->path,
                                BLK_OPEN_READ|BLK_OPEN_WRITE|BLK_OPEN_EXCL|BLK_OPEN_BUFFERED,
                                dev, NULL);
-       int ret = PTR_ERR_OR_ZERO(dev->bdev);
+       int ret = PTR_ERR_OR_ZERO(dev->handle);
        if (ret < 0)
                die("Error opening device to format %s: %s", dev->path, strerror(-ret));
+       dev->bdev = dev->handle->bdev;
 
        if (!(pr = blkid_new_probe()))
                die("blkid error 1");
@@ -652,6 +653,18 @@ struct bbpos bbpos_parse(char *buf)
        return ret;
 }
 
+struct bbpos_range bbpos_range_parse(char *buf)
+{
+       char *s = buf;
+       char *start_str = strsep(&s, "-");
+       char *end_str   = strsep(&s, "-");
+
+       struct bbpos start = bbpos_parse(start_str);
+       struct bbpos end = end_str ? bbpos_parse(end_str) : start;
+
+       return (struct bbpos_range) { .start = start, .end = end };
+}
+
 darray_str get_or_split_cmdline_devs(int argc, char *argv[])
 {
        darray_str ret = {};