diff options
| author | Patrick Caulfield <pcaulfie@redhat.com> | 2006-06-09 16:14:20 -0400 |
|---|---|---|
| committer | Steven Whitehouse <swhiteho@redhat.com> | 2006-06-09 16:14:20 -0400 |
| commit | 22da645fd6675b7abc55cf937ddf6132f343e5b9 (patch) | |
| tree | d207185431838faa4053422612512ebe30308c9c /include/linux | |
| parent | 01eb7c07968fdab0cca0d2474346cff176537de8 (diff) | |
[DLM] compat patch
Here's a patch which add 32/64 bit compat to the DLM IOs and tidies the
structures for alignment.
As it causes an ABI change I had few qualms about adding the extra flag for
"is64bit" as it simply uses a byte that would have been padding.
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Patrick Caulfield <pcaulfie@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/dlm_device.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/include/linux/dlm_device.h b/include/linux/dlm_device.h index f8ba1981aa96..2a2dd189b9fd 100644 --- a/include/linux/dlm_device.h +++ b/include/linux/dlm_device.h | |||
| @@ -18,35 +18,37 @@ | |||
| 18 | #define DLM_USER_LVB_LEN 32 | 18 | #define DLM_USER_LVB_LEN 32 |
| 19 | 19 | ||
| 20 | /* Version of the device interface */ | 20 | /* Version of the device interface */ |
| 21 | #define DLM_DEVICE_VERSION_MAJOR 4 | 21 | #define DLM_DEVICE_VERSION_MAJOR 5 |
| 22 | #define DLM_DEVICE_VERSION_MINOR 0 | 22 | #define DLM_DEVICE_VERSION_MINOR 0 |
| 23 | #define DLM_DEVICE_VERSION_PATCH 0 | 23 | #define DLM_DEVICE_VERSION_PATCH 0 |
| 24 | 24 | ||
| 25 | /* struct passed to the lock write */ | 25 | /* struct passed to the lock write */ |
| 26 | struct dlm_lock_params { | 26 | struct dlm_lock_params { |
| 27 | __u8 mode; | 27 | __u8 mode; |
| 28 | __u8 namelen; | ||
| 28 | __u16 flags; | 29 | __u16 flags; |
| 29 | __u32 lkid; | 30 | __u32 lkid; |
| 30 | __u32 parent; | 31 | __u32 parent; |
| 31 | __u8 namelen; | ||
| 32 | void __user *castparam; | 32 | void __user *castparam; |
| 33 | void __user *castaddr; | 33 | void __user *castaddr; |
| 34 | void __user *bastparam; | 34 | void __user *bastparam; |
| 35 | void __user *bastaddr; | 35 | void __user *bastaddr; |
| 36 | struct dlm_lksb __user *lksb; | 36 | struct dlm_lksb __user *lksb; |
| 37 | char lvb[DLM_USER_LVB_LEN]; | 37 | char lvb[DLM_USER_LVB_LEN]; |
| 38 | char name[1]; | 38 | char name[0]; |
| 39 | }; | 39 | }; |
| 40 | 40 | ||
| 41 | struct dlm_lspace_params { | 41 | struct dlm_lspace_params { |
| 42 | __u32 flags; | 42 | __u32 flags; |
| 43 | __u32 minor; | 43 | __u32 minor; |
| 44 | char name[1]; | 44 | char name[0]; |
| 45 | }; | 45 | }; |
| 46 | 46 | ||
| 47 | struct dlm_write_request { | 47 | struct dlm_write_request { |
| 48 | __u32 version[3]; | 48 | __u32 version[3]; |
| 49 | __u8 cmd; | 49 | __u8 cmd; |
| 50 | __u8 is64bit; | ||
| 51 | __u8 unused[2]; | ||
| 50 | 52 | ||
| 51 | union { | 53 | union { |
| 52 | struct dlm_lock_params lock; | 54 | struct dlm_lock_params lock; |
| @@ -63,6 +65,7 @@ struct dlm_lock_result { | |||
| 63 | struct dlm_lksb __user * user_lksb; | 65 | struct dlm_lksb __user * user_lksb; |
| 64 | struct dlm_lksb lksb; | 66 | struct dlm_lksb lksb; |
| 65 | __u8 bast_mode; | 67 | __u8 bast_mode; |
| 68 | __u8 unused[3]; | ||
| 66 | /* Offsets may be zero if no data is present */ | 69 | /* Offsets may be zero if no data is present */ |
| 67 | __u32 lvb_offset; | 70 | __u32 lvb_offset; |
| 68 | }; | 71 | }; |
