diff options
author | Jonathan Brassow <jbrassow@redhat.com> | 2011-01-13 19:59:52 +0000 |
---|---|---|
committer | Alasdair G Kergon <agk@redhat.com> | 2011-01-13 19:59:52 +0000 |
commit | 86a54a4802df10d23ccd655e2083e812fe990243 (patch) | |
tree | 168ccb5f1824e16fb55ac64e2d4754775aeaa958 /include/linux/dm-log-userspace.h | |
parent | 085ae0651b2791f3a430ddb76da92925b9952e13 (diff) | |
download | kernel_goldelico_gta04-86a54a4802df10d23ccd655e2083e812fe990243.zip kernel_goldelico_gta04-86a54a4802df10d23ccd655e2083e812fe990243.tar.gz kernel_goldelico_gta04-86a54a4802df10d23ccd655e2083e812fe990243.tar.bz2 |
dm log userspace: add version number to comms
This patch adds a 'version' field to the 'dm_ulog_request'
structure.
The 'version' field is taken from a portion of the unused
'padding' field in the 'dm_ulog_request' structure. This
was done to avoid changing the size of the structure and
possibly disrupting backwards compatibility.
The version number will help notify user-space daemons
when a change has been made to the kernel/userspace
log API.
Signed-off-by: Jonathan Brassow <jbrassow@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'include/linux/dm-log-userspace.h')
-rw-r--r-- | include/linux/dm-log-userspace.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/include/linux/dm-log-userspace.h b/include/linux/dm-log-userspace.h index 0c3c3a2..eeace7d 100644 --- a/include/linux/dm-log-userspace.h +++ b/include/linux/dm-log-userspace.h @@ -370,6 +370,16 @@ #define DM_ULOG_REQUEST_TYPE(request_type) \ (DM_ULOG_REQUEST_MASK & (request_type)) +/* + * DM_ULOG_REQUEST_VERSION is incremented when there is a + * change to the way information is passed between kernel + * and userspace. This could be a structure change of + * dm_ulog_request or a change in the way requests are + * issued/handled. Changes are outlined here: + * version 1: Initial implementation + */ +#define DM_ULOG_REQUEST_VERSION 1 + struct dm_ulog_request { /* * The local unique identifier (luid) and the universally unique @@ -383,8 +393,9 @@ struct dm_ulog_request { */ uint64_t luid; char uuid[DM_UUID_LEN]; - char padding[7]; /* Padding because DM_UUID_LEN = 129 */ + char padding[3]; /* Padding because DM_UUID_LEN = 129 */ + uint32_t version; /* See DM_ULOG_REQUEST_VERSION */ int32_t error; /* Used to report back processing errors */ uint32_t seq; /* Sequence number for request */ |