diff options
author | Anand Jain <anand.jain@oracle.com> | 2014-10-15 08:50:38 +0800 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2014-11-03 18:35:30 +0100 |
commit | 9662864435d23ecd4c9f91dd3ab5af2c062ed01f (patch) | |
tree | 7d0238f906ea93f35b1cadb6e1863255a00a4a30 /utils.c | |
parent | 39893bb15ef39ee2ed254d931faf9c67d6c47e37 (diff) |
btrfs-progs: code optimize cmd_scan_dev() use btrfs_register_one_device()
cmd_scan_dev() has it own code to register device (calling ioctl
BTRFS_IOC_SCAN_DEV), apparently it could use btrfs_register_one_device().
Signed-off-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
Diffstat (limited to 'utils.c')
-rw-r--r-- | utils.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -1239,7 +1239,7 @@ struct pending_dir { char name[PATH_MAX]; }; -void btrfs_register_one_device(char *fname) +int btrfs_register_one_device(const char *fname) { struct btrfs_ioctl_vol_args args; int fd; @@ -1251,17 +1251,19 @@ void btrfs_register_one_device(char *fname) fprintf(stderr, "failed to open /dev/btrfs-control " "skipping device registration: %s\n", strerror(errno)); - return; + return -errno; } strncpy(args.name, fname, BTRFS_PATH_NAME_MAX); args.name[BTRFS_PATH_NAME_MAX-1] = 0; ret = ioctl(fd, BTRFS_IOC_SCAN_DEV, &args); e = errno; - if(ret<0){ + if (ret < 0) { fprintf(stderr, "ERROR: device scan failed '%s' - %s\n", fname, strerror(e)); + ret = -e; } close(fd); + return ret; } int btrfs_device_already_in_root(struct btrfs_root *root, int fd, |