diff options
author | Mike Snitzer <snitzer@redhat.com> | 2017-05-01 18:18:04 -0400 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2017-05-01 18:18:04 -0400 |
commit | 7e25a7606147bfe29a7421ff2cb332b07d3cee3a (patch) | |
tree | 77047d7f4969712f8dc67e72283edc7900eaebf9 /include/linux/device-mapper.h | |
parent | 9438b3e080beccf6022138ea62192d55cc7dc4ed (diff) | |
parent | 390020ad2af9ca04844c4f3b1f299ad8746d84c8 (diff) | |
download | linux-stable-7e25a7606147bfe29a7421ff2cb332b07d3cee3a.tar.gz linux-stable-7e25a7606147bfe29a7421ff2cb332b07d3cee3a.tar.bz2 linux-stable-7e25a7606147bfe29a7421ff2cb332b07d3cee3a.zip |
Merge branch 'dm-4.12' into dm-4.12-post-merge
Diffstat (limited to 'include/linux/device-mapper.h')
-rw-r--r-- | include/linux/device-mapper.h | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h index c7ea33e38fb9..925b63cdef52 100644 --- a/include/linux/device-mapper.h +++ b/include/linux/device-mapper.h @@ -22,11 +22,13 @@ struct bio_vec; /* * Type of table, mapped_device's mempool and request_queue */ -#define DM_TYPE_NONE 0 -#define DM_TYPE_BIO_BASED 1 -#define DM_TYPE_REQUEST_BASED 2 -#define DM_TYPE_MQ_REQUEST_BASED 3 -#define DM_TYPE_DAX_BIO_BASED 4 +enum dm_queue_mode { + DM_TYPE_NONE = 0, + DM_TYPE_BIO_BASED = 1, + DM_TYPE_REQUEST_BASED = 2, + DM_TYPE_MQ_REQUEST_BASED = 3, + DM_TYPE_DAX_BIO_BASED = 4, +}; typedef enum { STATUSTYPE_INFO, STATUSTYPE_TABLE } status_type_t; @@ -221,6 +223,18 @@ struct target_type { */ typedef unsigned (*dm_num_write_bios_fn) (struct dm_target *ti, struct bio *bio); +/* + * A target implements own bio data integrity. + */ +#define DM_TARGET_INTEGRITY 0x00000010 +#define dm_target_has_integrity(type) ((type)->features & DM_TARGET_INTEGRITY) + +/* + * A target passes integrity data to the lower device. + */ +#define DM_TARGET_PASSES_INTEGRITY 0x00000020 +#define dm_target_passes_integrity(type) ((type)->features & DM_TARGET_PASSES_INTEGRITY) + struct dm_target { struct dm_table *table; struct target_type *type; @@ -465,7 +479,7 @@ void dm_table_add_target_callbacks(struct dm_table *t, struct dm_target_callback * Useful for "hybrid" target (supports both bio-based * and request-based). */ -void dm_table_set_type(struct dm_table *t, unsigned type); +void dm_table_set_type(struct dm_table *t, enum dm_queue_mode type); /* * Finally call this to make the table ready for use. |