#include <linux/device-mapper.h>
#include <linux/completion.h>
#include <linux/mempool.h>
#include <linux/module.h>
#define DM_MSG_PREFIX "io"
#define DM_IO_MAX_REGIONS BITS_PER_LONG
unsigned long error_bits;
struct dm_io_client *client;
void *vma_invalidate_address;
unsigned long vma_invalidate_size;
} __attribute__((aligned(DM_IO_MAX_REGIONS)));
static struct kmem_cache *_dm_io_cache;
struct dm_io_client *dm_io_client_create(void)
struct dm_io_client *client;
unsigned min_ios = dm_get_reserved_bio_based_ios();
client = kzalloc(sizeof(*client), GFP_KERNEL);
ret = mempool_init_slab_pool(&client->pool, min_ios, _dm_io_cache);
ret = bioset_init(&client->bios, min_ios, 0, BIOSET_NEED_BVECS);