diff options
author | Christoph Hellwig <hch@lst.de> | 2015-10-15 14:10:50 +0200 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2015-10-31 19:05:59 -0400 |
commit | e56f81e0b01ef4e45292d8c1e19edd4d09724e14 (patch) | |
tree | 68b1faed3589d00b7a473ce856532e321f9e4908 /include/linux/device-mapper.h | |
parent | 47796938c46b943d157ac8a6f9ed4e3b98b83cf4 (diff) | |
download | lwn-e56f81e0b01ef4e45292d8c1e19edd4d09724e14.tar.gz lwn-e56f81e0b01ef4e45292d8c1e19edd4d09724e14.zip |
dm: refactor ioctl handling
This moves the call to blkdev_ioctl and the argument checking to DM core
code, and only leaves a callout to find the block device to operate on
in the targets. This simplifies the code and allows us to pass through
ioctl-like command using other methods in the next patch.
Also split out a helper around calling the prepare_ioctl method that
will be reused for persistent reservation handling.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'include/linux/device-mapper.h')
-rw-r--r-- | include/linux/device-mapper.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h index 76d23fa8c7d3..ec1c61c87d89 100644 --- a/include/linux/device-mapper.h +++ b/include/linux/device-mapper.h @@ -79,8 +79,8 @@ typedef void (*dm_status_fn) (struct dm_target *ti, status_type_t status_type, typedef int (*dm_message_fn) (struct dm_target *ti, unsigned argc, char **argv); -typedef int (*dm_ioctl_fn) (struct dm_target *ti, unsigned int cmd, - unsigned long arg); +typedef int (*dm_prepare_ioctl_fn) (struct dm_target *ti, + struct block_device **bdev, fmode_t *mode); /* * These iteration functions are typically used to check (and combine) @@ -156,7 +156,7 @@ struct target_type { dm_resume_fn resume; dm_status_fn status; dm_message_fn message; - dm_ioctl_fn ioctl; + dm_prepare_ioctl_fn prepare_ioctl; dm_busy_fn busy; dm_iterate_devices_fn iterate_devices; dm_io_hints_fn io_hints; |