btrfs_read_dev_super() returns -1 / -EPERM upon not finding a suitable SB, change that to return -ENOENT instead, which is much closer to the actual possible errors.
Signed-off-by: Anand Jain <anand.j...@oracle.com> --- v2: use -ENOENT instead of 1. disk-io.c | 2 +- utils.c | 2 +- volumes.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/disk-io.c b/disk-io.c index f5edc4796619..dcaaea898a3f 100644 --- a/disk-io.c +++ b/disk-io.c @@ -1491,7 +1491,7 @@ int btrfs_read_dev_super(int fd, struct btrfs_super_block *sb, u64 sb_bytenr, } } - return transid > 0 ? 0 : -1; + return transid > 0 ? 0 : -ENOENT; } static int write_dev_supers(struct btrfs_fs_info *fs_info, diff --git a/utils.c b/utils.c index 524f463d3140..7574cda8151c 100644 --- a/utils.c +++ b/utils.c @@ -1678,7 +1678,7 @@ int get_fs_info(const char *path, struct btrfs_ioctl_fs_info_args *fi_args, disk_super = (struct btrfs_super_block *)buf; ret = btrfs_read_dev_super(fd, disk_super, BTRFS_SUPER_INFO_OFFSET, 0); - if (ret < 0) { + if (ret) { ret = -EIO; goto out; } diff --git a/volumes.c b/volumes.c index 2209e5a9100b..87008bfdd586 100644 --- a/volumes.c +++ b/volumes.c @@ -268,7 +268,7 @@ int btrfs_scan_one_device(int fd, const char *path, disk_super = (struct btrfs_super_block *)buf; ret = btrfs_read_dev_super(fd, disk_super, super_offset, sbflags); - if (ret < 0) + if (ret) return -EIO; devid = btrfs_stack_device_id(&disk_super->dev_item); if (btrfs_super_flags(disk_super) & BTRFS_SUPER_FLAG_METADUMP) -- 2.13.1 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html