Version 3 of the ioctl interface. [Alasdair Kergon] --- diff/include/linux/dm-ioctl.h 2003-04-17 17:47:30.000000000 +0100 +++ source/include/linux/dm-ioctl.h 2003-04-17 17:54:42.000000000 +0100 @@ -47,10 +47,10 @@ * relative to start of this struct */ uint32_t target_count; /* in/out */ - uint32_t open_count; /* out */ + int32_t open_count; /* out */ uint32_t flags; /* in/out */ - __kernel_dev_t dev; /* in/out */ + uint64_t dev; /* in/out */ char name[DM_NAME_LEN]; /* device name */ char uuid[DM_UUID_LEN]; /* unique identifier for @@ -62,9 +62,9 @@ * dm_ioctl. */ struct dm_target_spec { - int32_t status; /* used when reading from kernel only */ uint64_t sector_start; - uint32_t length; + uint64_t length; + int32_t status; /* used when reading from kernel only */ /* * Offset in bytes (from the start of this struct) to @@ -85,9 +85,9 @@ * Used to retrieve the target dependencies. */ struct dm_target_deps { - uint32_t count; - - __kernel_dev_t dev[0]; /* out */ + uint32_t count; /* Array size */ + uint32_t padding; /* unused */ + uint64_t dev[0]; /* out */ }; /* @@ -129,10 +129,10 @@ #define DM_TARGET_STATUS _IOWR(DM_IOCTL, DM_TARGET_STATUS_CMD, struct dm_ioctl) #define DM_TARGET_WAIT _IOWR(DM_IOCTL, DM_TARGET_WAIT_CMD, struct dm_ioctl) -#define DM_VERSION_MAJOR 1 +#define DM_VERSION_MAJOR 3 #define DM_VERSION_MINOR 0 -#define DM_VERSION_PATCHLEVEL 10 -#define DM_VERSION_EXTRA "-ioctl (2003-03-26)" +#define DM_VERSION_PATCHLEVEL 0 +#define DM_VERSION_EXTRA "-ioctl (2003-03-28)" /* Status bits */ #define DM_READONLY_FLAG 0x00000001