[PATCH 02/15] dm linear: support ioctls

From: Alasdair G Kergon
Date: Wed Jun 21 2006 - 15:31:55 EST


From: Milan Broz <mbroz@xxxxxxxxxx>

When an ioctl is performed on a device with a linear target, simply
pass it on to the underlying block device.

Note that the ioctl will pass through the filtering in blkdev_ioctl()
twice.

Signed-off-by: Milan Broz <mbroz@xxxxxxxxxx>
Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx>

Index: linux-2.6.17/drivers/md/dm-linear.c
===================================================================
--- linux-2.6.17.orig/drivers/md/dm-linear.c 2006-06-21 17:45:16.000000000 +0100
+++ linux-2.6.17/drivers/md/dm-linear.c 2006-06-21 18:32:07.000000000 +0100
@@ -96,14 +96,25 @@ static int linear_status(struct dm_targe
return 0;
}

+static int linear_ioctl(struct dm_target *ti, struct inode *inode,
+ struct file *filp, unsigned int cmd,
+ unsigned long arg)
+{
+ struct linear_c *lc = (struct linear_c *) ti->private;
+ struct block_device *bdev = lc->dev->bdev;
+
+ return blkdev_ioctl(bdev->bd_inode, filp, cmd, arg);
+}
+
static struct target_type linear_target = {
.name = "linear",
- .version= {1, 0, 1},
+ .version= {1, 0, 2},
.module = THIS_MODULE,
.ctr = linear_ctr,
.dtr = linear_dtr,
.map = linear_map,
.status = linear_status,
+ .ioctl = linear_ioctl,
};

int __init dm_linear_init(void)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/