diff options
Diffstat (limited to 'fs/btrfs/dev-replace.c')
| -rw-r--r-- | fs/btrfs/dev-replace.c | 6 | 
1 files changed, 3 insertions, 3 deletions
| diff --git a/fs/btrfs/dev-replace.c b/fs/btrfs/dev-replace.c index 4de4984fa99b..677e9d9e1527 100644 --- a/fs/btrfs/dev-replace.c +++ b/fs/btrfs/dev-replace.c @@ -257,7 +257,7 @@ static int btrfs_init_dev_replace_tgtdev(struct btrfs_fs_info *fs_info,  		return -EINVAL;  	} -	bdev = blkdev_get_by_path(device_path, FMODE_WRITE | FMODE_EXCL, +	bdev = blkdev_get_by_path(device_path, FMODE_WRITE,  				  fs_info->bdev_holder, NULL);  	if (IS_ERR(bdev)) {  		btrfs_err(fs_info, "target device %s is invalid!", device_path); @@ -315,7 +315,7 @@ static int btrfs_init_dev_replace_tgtdev(struct btrfs_fs_info *fs_info,  	device->bdev = bdev;  	set_bit(BTRFS_DEV_STATE_IN_FS_METADATA, &device->dev_state);  	set_bit(BTRFS_DEV_STATE_REPLACE_TGT, &device->dev_state); -	device->mode = FMODE_EXCL; +	device->holder = fs_info->bdev_holder;  	device->dev_stats_valid = 1;  	set_blocksize(device->bdev, BTRFS_BDEV_BLOCKSIZE);  	device->fs_devices = fs_devices; @@ -334,7 +334,7 @@ static int btrfs_init_dev_replace_tgtdev(struct btrfs_fs_info *fs_info,  	return 0;  error: -	blkdev_put(bdev, FMODE_EXCL); +	blkdev_put(bdev, fs_info->bdev_holder);  	return ret;  } |