This commit introduces a new ioctl DM_GET_TARGET_VERSION. It will load a target that is specified in the "name" entry in the parameter structure and return its version. This functionality is intended to be used by cryptsetup, so that it can query kernel capabilities before activating the device.
Showing the changes to include/uapi/linux (1 of 2 files). Show all
Unified · Split
| @@ -243,6 +243,7 @@ enum { · 242 unmodified lines | |||
| 243 | DM_TARGET_MSG_CMD, | 243 | DM_TARGET_MSG_CMD, |
| 244 | DM_DEV_SET_GEOMETRY_CMD, | 244 | DM_DEV_SET_GEOMETRY_CMD, |
| 245 | DM_DEV_ARM_POLL_CMD, | 245 | DM_DEV_ARM_POLL_CMD, |
| 246 | DM_GET_TARGET_VERSION_CMD, | ||
| 246 | }; | 247 | }; |
| 247 | 248 | ||
| 248 | #define DM_IOCTL 0xfd | 249 | #define DM_IOCTL 0xfd |
| @@ -265,14 +266,15 @@ enum { · 16 unmodified lines | |||
| 265 | #define DM_TABLE_STATUS _IOWR(DM_IOCTL, DM_TABLE_STATUS_CMD, struct dm_ioctl) | 266 | #define DM_TABLE_STATUS _IOWR(DM_IOCTL, DM_TABLE_STATUS_CMD, struct dm_ioctl) |
| 266 | 267 | ||
| 267 | #define DM_LIST_VERSIONS _IOWR(DM_IOCTL, DM_LIST_VERSIONS_CMD, struct dm_ioctl) | 268 | #define DM_LIST_VERSIONS _IOWR(DM_IOCTL, DM_LIST_VERSIONS_CMD, struct dm_ioctl) |
| 269 | #define DM_GET_TARGET_VERSION _IOWR(DM_IOCTL, DM_GET_TARGET_VERSION_CMD, struct dm_ioctl) | ||
| 268 | 270 | ||
| 269 | #define DM_TARGET_MSG _IOWR(DM_IOCTL, DM_TARGET_MSG_CMD, struct dm_ioctl) | 271 | #define DM_TARGET_MSG _IOWR(DM_IOCTL, DM_TARGET_MSG_CMD, struct dm_ioctl) |
| 270 | #define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl) | 272 | #define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl) |
| 271 | 273 | ||
| 272 | #define DM_VERSION_MAJOR 4 | 274 | #define DM_VERSION_MAJOR 4 |
| 273 | #define DM_VERSION_MINOR 40 | 275 | #define DM_VERSION_MINOR 41 |
| 274 | #define DM_VERSION_PATCHLEVEL 0 | 276 | #define DM_VERSION_PATCHLEVEL 0 |
| 275 | #define DM_VERSION_EXTRA "-ioctl (2019-01-18)" | 277 | #define DM_VERSION_EXTRA "-ioctl (2019-09-16)" |
| 276 | 278 | ||
| 277 | /* Status bits */ | 279 | /* Status bits */ |
| 278 | #define DM_READONLY_FLAG (1 << 0) /* In/Out */ | 280 | #define DM_READONLY_FLAG (1 << 0) /* In/Out */ |