summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utils.c88
-rw-r--r--utils.h1
2 files changed, 0 insertions, 89 deletions
diff --git a/utils.c b/utils.c
index b175b011..4b8a8264 100644
--- a/utils.c
+++ b/utils.c
@@ -1709,94 +1709,6 @@ int set_label(const char *btrfs_dev, const char *label)
return ret;
}
-int btrfs_scan_block_devices(int run_ioctl)
-{
-
- struct stat st;
- int ret;
- int fd;
- struct btrfs_fs_devices *tmp_devices;
- u64 num_devices;
- FILE *proc_partitions;
- int i;
- char buf[1024];
- char fullpath[110];
- int scans = 0;
- int special;
-
-scan_again:
- proc_partitions = fopen("/proc/partitions","r");
- if (!proc_partitions) {
- fprintf(stderr, "Unable to open '/proc/partitions' for scanning\n");
- return -ENOENT;
- }
- /* skip the header */
- for (i = 0; i < 2; i++)
- if (!fgets(buf, 1023, proc_partitions)) {
- fprintf(stderr,
- "Unable to read '/proc/partitions' for scanning\n");
- fclose(proc_partitions);
- return -ENOENT;
- }
-
- strcpy(fullpath,"/dev/");
- while(fgets(buf, 1023, proc_partitions)) {
- ret = sscanf(buf," %*d %*d %*d %99s", fullpath + 5);
- if (ret != 1) {
- fprintf(stderr,
- "failed to scan device name from /proc/partitions\n");
- break;
- }
-
- /*
- * multipath and MD devices may register as a btrfs filesystem
- * both through the original block device and through
- * the special (/dev/mapper or /dev/mdX) entry.
- * This scans the special entries last
- */
- special = strncmp(fullpath, "/dev/dm-", strlen("/dev/dm-")) == 0;
- if (!special)
- special = strncmp(fullpath, "/dev/md", strlen("/dev/md")) == 0;
-
- if (scans == 0 && special)
- continue;
- if (scans > 0 && !special)
- continue;
-
- ret = lstat(fullpath, &st);
- if (ret < 0) {
- fprintf(stderr, "failed to stat %s\n", fullpath);
- continue;
- }
- if (!S_ISBLK(st.st_mode)) {
- continue;
- }
-
- fd = open(fullpath, O_RDONLY);
- if (fd < 0) {
- if (errno != ENOMEDIUM)
- fprintf(stderr, "failed to open %s: %s\n",
- fullpath, strerror(errno));
- continue;
- }
- ret = btrfs_scan_one_device(fd, fullpath, &tmp_devices,
- &num_devices,
- BTRFS_SUPER_INFO_OFFSET, 0);
- if (ret == 0 && run_ioctl > 0) {
- btrfs_register_one_device(fullpath);
- }
- close(fd);
- }
-
- fclose(proc_partitions);
-
- if (scans == 0) {
- scans++;
- goto scan_again;
- }
- return 0;
-}
-
/*
* Unsafe subvolume check.
*
diff --git a/utils.h b/utils.h
index b2748c04..5657c741 100644
--- a/utils.h
+++ b/utils.h
@@ -121,7 +121,6 @@ int pretty_size_snprintf(u64 size, char *str, size_t str_bytes, unsigned unit_mo
})
int get_mountpt(char *dev, char *mntpt, size_t size);
-int btrfs_scan_block_devices(int run_ioctl);
u64 parse_size(char *s);
u64 parse_qgroupid(const char *p);
u64 arg_strtou64(const char *str);