]> err.no Git - linux-2.6/blobdiff - drivers/md/dm-linear.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6
[linux-2.6] / drivers / md / dm-linear.c
index 2a6bad451f8660bfb9783ad90f0b762328a974c1..00234909b3db02b8b55e146b09fe27f57a20cdcc 100644 (file)
@@ -104,8 +104,14 @@ static int linear_ioctl(struct dm_target *ti, struct inode *inode,
 {
        struct linear_c *lc = (struct linear_c *) ti->private;
        struct block_device *bdev = lc->dev->bdev;
+       struct file fake_file = {};
+       struct dentry fake_dentry = {};
 
-       return blkdev_driver_ioctl(bdev->bd_inode, filp, bdev->bd_disk, cmd, arg);
+       fake_file.f_mode = lc->dev->mode;
+       fake_file.f_dentry = &fake_dentry;
+       fake_dentry.d_inode = bdev->bd_inode;
+
+       return blkdev_driver_ioctl(bdev->bd_inode, &fake_file, bdev->bd_disk, cmd, arg);
 }
 
 static struct target_type linear_target = {