diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/disk-io.c | 4 | ||||
-rw-r--r-- | fs/btrfs/volumes.c | 8 |
2 files changed, 8 insertions, 4 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index f88eb2ce7919..f9efb68fc2e3 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c | |||
@@ -1713,8 +1713,10 @@ struct btrfs_root *open_ctree(struct super_block *sb, | |||
1713 | fs_info, BTRFS_ROOT_TREE_OBJECTID); | 1713 | fs_info, BTRFS_ROOT_TREE_OBJECTID); |
1714 | 1714 | ||
1715 | bh = btrfs_read_dev_super(fs_devices->latest_bdev); | 1715 | bh = btrfs_read_dev_super(fs_devices->latest_bdev); |
1716 | if (!bh) | 1716 | if (!bh) { |
1717 | err = -EINVAL; | ||
1717 | goto fail_iput; | 1718 | goto fail_iput; |
1719 | } | ||
1718 | 1720 | ||
1719 | memcpy(&fs_info->super_copy, bh->b_data, sizeof(fs_info->super_copy)); | 1721 | memcpy(&fs_info->super_copy, bh->b_data, sizeof(fs_info->super_copy)); |
1720 | memcpy(&fs_info->super_for_commit, &fs_info->super_copy, | 1722 | memcpy(&fs_info->super_for_commit, &fs_info->super_copy, |
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 0c7f478cf645..e8be478178aa 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c | |||
@@ -600,8 +600,10 @@ static int __btrfs_open_devices(struct btrfs_fs_devices *fs_devices, | |||
600 | set_blocksize(bdev, 4096); | 600 | set_blocksize(bdev, 4096); |
601 | 601 | ||
602 | bh = btrfs_read_dev_super(bdev); | 602 | bh = btrfs_read_dev_super(bdev); |
603 | if (!bh) | 603 | if (!bh) { |
604 | ret = -EINVAL; | ||
604 | goto error_close; | 605 | goto error_close; |
606 | } | ||
605 | 607 | ||
606 | disk_super = (struct btrfs_super_block *)bh->b_data; | 608 | disk_super = (struct btrfs_super_block *)bh->b_data; |
607 | devid = btrfs_stack_device_id(&disk_super->dev_item); | 609 | devid = btrfs_stack_device_id(&disk_super->dev_item); |
@@ -702,7 +704,7 @@ int btrfs_scan_one_device(const char *path, fmode_t flags, void *holder, | |||
702 | goto error_close; | 704 | goto error_close; |
703 | bh = btrfs_read_dev_super(bdev); | 705 | bh = btrfs_read_dev_super(bdev); |
704 | if (!bh) { | 706 | if (!bh) { |
705 | ret = -EIO; | 707 | ret = -EINVAL; |
706 | goto error_close; | 708 | goto error_close; |
707 | } | 709 | } |
708 | disk_super = (struct btrfs_super_block *)bh->b_data; | 710 | disk_super = (struct btrfs_super_block *)bh->b_data; |
@@ -1302,7 +1304,7 @@ int btrfs_rm_device(struct btrfs_root *root, char *device_path) | |||
1302 | set_blocksize(bdev, 4096); | 1304 | set_blocksize(bdev, 4096); |
1303 | bh = btrfs_read_dev_super(bdev); | 1305 | bh = btrfs_read_dev_super(bdev); |
1304 | if (!bh) { | 1306 | if (!bh) { |
1305 | ret = -EIO; | 1307 | ret = -EINVAL; |
1306 | goto error_close; | 1308 | goto error_close; |
1307 | } | 1309 | } |
1308 | disk_super = (struct btrfs_super_block *)bh->b_data; | 1310 | disk_super = (struct btrfs_super_block *)bh->b_data; |