Skip to content

Commit

Permalink
Btrfs: check return value of open_bdev_exclusive properly
Browse files Browse the repository at this point in the history
Hit this problem while testing RAID1 failure stuff.  open_bdev_exclusive
returns ERR_PTR(), not NULL.  So change the return value properly.  This
is important if you accidently specify a device that doesn't exist when
trying to add a new device to an array, you will panic the box
dereferencing bdev.

Signed-off-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
  • Loading branch information
Josef Bacik authored and Chris Mason committed Jan 28, 2010
1 parent f48b907 commit 7f59203
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions fs/btrfs/volumes.c
Original file line number Diff line number Diff line change
Expand Up @@ -1434,8 +1434,8 @@ int btrfs_init_new_device(struct btrfs_root *root, char *device_path)
return -EINVAL;

bdev = open_bdev_exclusive(device_path, 0, root->fs_info->bdev_holder);
if (!bdev)
return -EIO;
if (IS_ERR(bdev))
return PTR_ERR(bdev);

if (root->fs_info->fs_devices->seeding) {
seeding_dev = 1;
Expand Down

0 comments on commit 7f59203

Please sign in to comment.