X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Flinux%2Fdlm_device.h;h=9642277a152a2d3d764317d03400a53d2f5eae94;hb=2e824ad59f678a1ff920144fda9b7dd0815fc010;hp=f8ba1981aa96cf70e58532c155f377dc2e374bbb;hpb=c6a756795d5ba0637aae8da89dd11bb7e3a1ee74;p=linux-2.6 diff --git a/include/linux/dlm_device.h b/include/linux/dlm_device.h index f8ba1981aa..9642277a15 100644 --- a/include/linux/dlm_device.h +++ b/include/linux/dlm_device.h @@ -2,7 +2,7 @@ ******************************************************************************* ** ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. -** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. +** Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. ** ** This copyrighted material is made available to anyone wishing to use, ** modify, copy, or redistribute it subject to the terms and conditions @@ -18,51 +18,69 @@ #define DLM_USER_LVB_LEN 32 /* Version of the device interface */ -#define DLM_DEVICE_VERSION_MAJOR 4 +#define DLM_DEVICE_VERSION_MAJOR 6 #define DLM_DEVICE_VERSION_MINOR 0 #define DLM_DEVICE_VERSION_PATCH 0 /* struct passed to the lock write */ struct dlm_lock_params { __u8 mode; - __u16 flags; + __u8 namelen; + __u16 unused; + __u32 flags; __u32 lkid; __u32 parent; - __u8 namelen; - void __user *castparam; + __u64 xid; + __u64 timeout; + void __user *castparam; void __user *castaddr; void __user *bastparam; - void __user *bastaddr; + void __user *bastaddr; struct dlm_lksb __user *lksb; char lvb[DLM_USER_LVB_LEN]; - char name[1]; + char name[0]; }; struct dlm_lspace_params { __u32 flags; __u32 minor; - char name[1]; + char name[0]; +}; + +struct dlm_purge_params { + __u32 nodeid; + __u32 pid; }; struct dlm_write_request { __u32 version[3]; __u8 cmd; + __u8 is64bit; + __u8 unused[2]; union { struct dlm_lock_params lock; struct dlm_lspace_params lspace; + struct dlm_purge_params purge; } i; }; +struct dlm_device_version { + __u32 version[3]; +}; + /* struct read from the "device" fd, consists mainly of userspace pointers for the library to use */ + struct dlm_lock_result { + __u32 version[3]; __u32 length; void __user * user_astaddr; void __user * user_astparam; struct dlm_lksb __user * user_lksb; struct dlm_lksb lksb; __u8 bast_mode; + __u8 unused[3]; /* Offsets may be zero if no data is present */ __u32 lvb_offset; }; @@ -73,6 +91,8 @@ struct dlm_lock_result { #define DLM_USER_QUERY 3 #define DLM_USER_CREATE_LOCKSPACE 4 #define DLM_USER_REMOVE_LOCKSPACE 5 +#define DLM_USER_PURGE 6 +#define DLM_USER_DEADLOCK 7 /* Arbitrary length restriction */ #define MAX_LS_NAME_LEN 64