dm_ioctl
struct dm_ioctl dmi;
static int dev_rename(struct file *filp, struct dm_ioctl *param, size_t param_size)
static int dev_set_geometry(struct file *filp, struct dm_ioctl *param, size_t param_size)
static int do_suspend(struct dm_ioctl *param)
static int do_resume(struct dm_ioctl *param)
static int dev_suspend(struct file *filp, struct dm_ioctl *param, size_t param_size)
static int dev_status(struct file *filp, struct dm_ioctl *param, size_t param_size)
struct dm_ioctl *param, size_t param_size)
static int dev_wait(struct file *filp, struct dm_ioctl *param, size_t param_size)
static int dev_arm_poll(struct file *filp, struct dm_ioctl *param, size_t param_size)
static inline blk_mode_t get_mode(struct dm_ioctl *param)
struct dm_ioctl *param, size_t param_size)
size_t min_size = sizeof(struct dm_ioctl);
static int table_load(struct file *filp, struct dm_ioctl *param, size_t param_size)
static int table_clear(struct file *filp, struct dm_ioctl *param, size_t param_size)
struct dm_ioctl *param, size_t param_size)
static int table_deps(struct file *filp, struct dm_ioctl *param, size_t param_size)
static int table_status(struct file *filp, struct dm_ioctl *param, size_t param_size)
static int target_message(struct file *filp, struct dm_ioctl *param, size_t param_size)
static int check_version(unsigned int cmd, struct dm_ioctl __user *user,
struct dm_ioctl *kernel_params)
BUILD_BUG_ON(offsetof(struct dm_ioctl, version) != 0);
static void free_params(struct dm_ioctl *param, size_t param_size, int param_flags)
static int copy_params(struct dm_ioctl __user *user, struct dm_ioctl *param_kernel,
int ioctl_flags, struct dm_ioctl **param, int *param_flags)
struct dm_ioctl *dmi;
const size_t minimum_data_size = offsetof(struct dm_ioctl, data);
static int validate_params(uint cmd, struct dm_ioctl *param)
static int ctl_ioctl(struct file *file, uint command, struct dm_ioctl __user *user)
struct dm_ioctl *param;
struct dm_ioctl param_kernel;
param->data_size = offsetof(struct dm_ioctl, data);
return (long)ctl_ioctl(file, command, (struct dm_ioctl __user *)u);
int __init dm_early_create(struct dm_ioctl *dmi,
static struct mapped_device *dm_hash_rename(struct dm_ioctl *param,
typedef int (*ioctl_fn)(struct file *filp, struct dm_ioctl *param, size_t param_size);
static int remove_all(struct file *filp, struct dm_ioctl *param, size_t param_size)
static void *get_result_buffer(struct dm_ioctl *param, size_t param_size,
static int list_devices(struct file *filp, struct dm_ioctl *param, size_t param_size)
static int __list_versions(struct dm_ioctl *param, size_t param_size, const char *name)
static int list_versions(struct file *filp, struct dm_ioctl *param, size_t param_size)
static int get_target_version(struct file *filp, struct dm_ioctl *param, size_t param_size)
struct dm_ioctl *param,
static void __dev_status(struct mapped_device *md, struct dm_ioctl *param)
static int dev_create(struct file *filp, struct dm_ioctl *param, size_t param_size)
static struct hash_cell *__find_device_hash_cell(struct dm_ioctl *param)
static struct mapped_device *find_device(struct dm_ioctl *param)
static int dev_remove(struct file *filp, struct dm_ioctl *param, size_t param_size)
int __init dm_early_create(struct dm_ioctl *dmi,
#define DM_VERSION _IOWR(DM_IOCTL, DM_VERSION_CMD, struct dm_ioctl)
#define DM_REMOVE_ALL _IOWR(DM_IOCTL, DM_REMOVE_ALL_CMD, struct dm_ioctl)
#define DM_LIST_DEVICES _IOWR(DM_IOCTL, DM_LIST_DEVICES_CMD, struct dm_ioctl)
#define DM_DEV_CREATE _IOWR(DM_IOCTL, DM_DEV_CREATE_CMD, struct dm_ioctl)
#define DM_DEV_REMOVE _IOWR(DM_IOCTL, DM_DEV_REMOVE_CMD, struct dm_ioctl)
#define DM_DEV_RENAME _IOWR(DM_IOCTL, DM_DEV_RENAME_CMD, struct dm_ioctl)
#define DM_DEV_SUSPEND _IOWR(DM_IOCTL, DM_DEV_SUSPEND_CMD, struct dm_ioctl)
#define DM_DEV_STATUS _IOWR(DM_IOCTL, DM_DEV_STATUS_CMD, struct dm_ioctl)
#define DM_DEV_WAIT _IOWR(DM_IOCTL, DM_DEV_WAIT_CMD, struct dm_ioctl)
#define DM_DEV_ARM_POLL _IOWR(DM_IOCTL, DM_DEV_ARM_POLL_CMD, struct dm_ioctl)
#define DM_TABLE_LOAD _IOWR(DM_IOCTL, DM_TABLE_LOAD_CMD, struct dm_ioctl)
#define DM_TABLE_CLEAR _IOWR(DM_IOCTL, DM_TABLE_CLEAR_CMD, struct dm_ioctl)
#define DM_TABLE_DEPS _IOWR(DM_IOCTL, DM_TABLE_DEPS_CMD, struct dm_ioctl)
#define DM_TABLE_STATUS _IOWR(DM_IOCTL, DM_TABLE_STATUS_CMD, struct dm_ioctl)
#define DM_LIST_VERSIONS _IOWR(DM_IOCTL, DM_LIST_VERSIONS_CMD, struct dm_ioctl)
#define DM_GET_TARGET_VERSION _IOWR(DM_IOCTL, DM_GET_TARGET_VERSION_CMD, struct dm_ioctl)
#define DM_TARGET_MSG _IOWR(DM_IOCTL, DM_TARGET_MSG_CMD, struct dm_ioctl)
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)