Add empty template for BITLK device type.

Also add DM_ZERO type for multi-segment mapping.
This commit is contained in:
Milan Broz
2019-07-09 12:07:11 +02:00
parent d3f829c065
commit 434fee2e13
8 changed files with 314 additions and 7 deletions

View File

@@ -66,7 +66,7 @@ static inline uint32_t act2dmflags(uint32_t act_flags)
#define DM_GET_TARGET_VERSION_SUPPORTED (1 << 18) /* dm DM_GET_TARGET version ioctl supported */
#define DM_INTEGRITY_FIX_PADDING_SUPPORTED (1 << 19) /* supports the parameter fix_padding that fixes a bug that caused excessive padding */
typedef enum { DM_CRYPT = 0, DM_VERITY, DM_INTEGRITY, DM_LINEAR, DM_ERROR, DM_UNKNOWN } dm_target_type;
typedef enum { DM_CRYPT = 0, DM_VERITY, DM_INTEGRITY, DM_LINEAR, DM_ERROR, DM_ZERO, DM_UNKNOWN } dm_target_type;
enum tdirection { TARGET_SET = 1, TARGET_QUERY };
int dm_flags(struct crypt_device *cd, dm_target_type target, uint32_t *flags);
@@ -145,6 +145,8 @@ struct dm_target {
struct {
uint64_t offset;
} linear;
struct {
} zero;
} u;
char *params;
@@ -189,6 +191,7 @@ int dm_integrity_target_set(struct crypt_device *cd,
const struct crypt_params_integrity *ip);
int dm_linear_target_set(struct dm_target *tgt, uint64_t seg_offset, uint64_t seg_size,
struct device *data_device, uint64_t data_offset);
int dm_zero_target_set(struct dm_target *tgt, uint64_t seg_offset, uint64_t seg_size);
int dm_remove_device(struct crypt_device *cd, const char *name, uint32_t flags);
int dm_status_device(struct crypt_device *cd, const char *name);