diff options
Diffstat (limited to 'drivers/md/dm-linear.c')
-rw-r--r-- | drivers/md/dm-linear.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/drivers/md/dm-linear.c b/drivers/md/dm-linear.c index 1b29e9136758..44042becad8a 100644 --- a/drivers/md/dm-linear.c +++ b/drivers/md/dm-linear.c | |||
@@ -110,20 +110,11 @@ static int linear_status(struct dm_target *ti, status_type_t type, | |||
110 | return 0; | 110 | return 0; |
111 | } | 111 | } |
112 | 112 | ||
113 | static int linear_ioctl(struct dm_target *ti, struct inode *inode, | 113 | static int linear_ioctl(struct dm_target *ti, unsigned int cmd, |
114 | struct file *filp, unsigned int cmd, | ||
115 | unsigned long arg) | 114 | unsigned long arg) |
116 | { | 115 | { |
117 | struct linear_c *lc = (struct linear_c *) ti->private; | 116 | struct linear_c *lc = (struct linear_c *) ti->private; |
118 | struct block_device *bdev = lc->dev->bdev; | 117 | return __blkdev_driver_ioctl(lc->dev->bdev, lc->dev->mode, cmd, arg); |
119 | struct file fake_file = {}; | ||
120 | struct dentry fake_dentry = {}; | ||
121 | |||
122 | fake_file.f_mode = lc->dev->mode; | ||
123 | fake_file.f_path.dentry = &fake_dentry; | ||
124 | fake_dentry.d_inode = bdev->bd_inode; | ||
125 | |||
126 | return blkdev_driver_ioctl(bdev->bd_inode, &fake_file, bdev->bd_disk, cmd, arg); | ||
127 | } | 118 | } |
128 | 119 | ||
129 | static int linear_merge(struct dm_target *ti, struct bvec_merge_data *bvm, | 120 | static int linear_merge(struct dm_target *ti, struct bvec_merge_data *bvm, |