aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/disk-io.c4
-rw-r--r--fs/btrfs/volumes.c8
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;