[dm-devel] Proposed change to dm ioctl interface
Alasdair G Kergon
agk at uk.sistina.com
Fri Mar 28 14:03:01 UTC 2003
Proposed structures for version 3.0.0 of dm-ioctl.h,
also available from device-mapper CVS HEAD.
Aim is to fix some alignment issues and always use 64 bits to
pass the device so the interface itself won't need changing
whatever the final __kernel_dev_t decision.
Any further changes needed at this stage?
If not, we'll release this (as patches, devmapper tarball etc.)
next week.
Alasdair
--
agk at uk.sistina.com
struct dm_ioctl {
uint32_t version[3]; /* in/out */
uint32_t data_size; /* total size of data passed in
* including this struct */
uint32_t data_start; /* offset to start of data
* relative to start of this struct */
int32_t target_count; /* in/out */
int32_t open_count; /* out */
uint32_t flags; /* in/out */
uint64_t dev; /* in/out */
char name[DM_NAME_LEN]; /* device name */
char uuid[DM_UUID_LEN]; /* unique identifier for
* the block device */
};
struct dm_target_spec {
uint64_t sector_start;
uint64_t length;
int32_t status; /* used when reading from kernel only */
/*
* Offset in bytes (from the start of this struct) to
* next target_spec.
*/
uint32_t next;
char target_type[DM_MAX_TYPE_NAME];
/*
* Parameter string starts immediately after this object.
* Be careful to add padding after string to ensure correct
* alignment of subsequent dm_target_spec.
*/
};
/*
* Used to retrieve the target dependencies.
*/
struct dm_target_deps {
uint32_t count; /* Array size */
uint32_t padding; /* unused */
uint64_t dev[0]; /* out */
};
More information about the dm-devel
mailing list