summaryrefslogtreecommitdiff
path: root/include/linux/dm-log-userspace.h
diff options
context:
space:
mode:
authorJonathan Brassow <jbrassow@redhat.com>2011-01-13 19:59:52 +0000
committerAlasdair G Kergon <agk@redhat.com>2011-01-13 19:59:52 +0000
commit86a54a4802df10d23ccd655e2083e812fe990243 (patch)
tree168ccb5f1824e16fb55ac64e2d4754775aeaa958 /include/linux/dm-log-userspace.h
parent085ae0651b2791f3a430ddb76da92925b9952e13 (diff)
downloadlinux-3.10-86a54a4802df10d23ccd655e2083e812fe990243.tar.gz
linux-3.10-86a54a4802df10d23ccd655e2083e812fe990243.tar.bz2
linux-3.10-86a54a4802df10d23ccd655e2083e812fe990243.zip
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.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/linux/dm-log-userspace.h b/include/linux/dm-log-userspace.h
index 0c3c3a2110c..eeace7d3ff1 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 */