diff --git a/cmds-device.c b/cmds-device.c index 2bb6bcb1..5f2b952a 100644 --- a/cmds-device.c +++ b/cmds-device.c @@ -163,7 +163,7 @@ static int _cmd_device_remove(int argc, char **argv, struct btrfs_ioctl_vol_args arg; int res; - if (!is_block_device(argv[i])) { + if (is_block_device(argv[i]) != 1) { fprintf(stderr, "ERROR: %s is not a block device\n", argv[i]); ret++; @@ -264,7 +264,7 @@ static int cmd_device_scan(int argc, char **argv) for( i = devstart ; i < argc ; i++ ){ char *path; - if (!is_block_device(argv[i])) { + if (is_block_device(argv[i]) != 1) { fprintf(stderr, "ERROR: %s is not a block device\n", argv[i]); ret = 1; @@ -323,7 +323,7 @@ static int cmd_device_ready(int argc, char **argv) goto out; } - if (!is_block_device(path)) { + if (is_block_device(path) != 1) { fprintf(stderr, "ERROR: %s is not a block device\n", path); ret = 1; diff --git a/mkfs.c b/mkfs.c index b8879fcf..a5802f7d 100644 --- a/mkfs.c +++ b/mkfs.c @@ -1494,7 +1494,7 @@ int main(int ac, char **av) while (dev_cnt-- > 0) { file = av[optind++]; - if (is_block_device(file)) + if (is_block_device(file) == 1) if (test_dev_for_mkfs(file, force_overwrite)) exit(1); } @@ -1718,7 +1718,7 @@ int main(int ac, char **av) exit(1); } - if (is_block_device(file)) + if (is_block_device(file) == 1) btrfs_register_one_device(file); if (dev_cnt == 0) @@ -1768,7 +1768,7 @@ int main(int ac, char **av) (unsigned long long)device->devid); } - if (is_block_device(file)) + if (is_block_device(file) == 1) btrfs_register_one_device(file); } diff --git a/utils.c b/utils.c index 32e3375d..f1e32486 100644 --- a/utils.c +++ b/utils.c @@ -1086,7 +1086,8 @@ int open_path_or_dev_mnt(const char *path, DIR **dirstream) char mp[PATH_MAX]; int fdmnt; - if (is_block_device(path)) { + fdmnt = is_block_device(path); + if (fdmnt == 1) { int ret; ret = get_btrfs_mount(path, mp, sizeof(mp)); @@ -1096,7 +1097,7 @@ int open_path_or_dev_mnt(const char *path, DIR **dirstream) return -1; } fdmnt = open_file_or_dir(mp, dirstream); - } else { + } else if (fdmnt == 0) { fdmnt = open_file_or_dir(path, dirstream); } @@ -2138,7 +2139,7 @@ int get_fs_info(char *path, struct btrfs_ioctl_fs_info_args *fi_args, memset(fi_args, 0, sizeof(*fi_args)); - if (is_block_device(path)) { + if (is_block_device(path) == 1) { struct btrfs_super_block *disk_super; char buf[BTRFS_SUPER_INFO_SIZE]; u64 devid;