Whamcloud - gitweb
Add some basic data integrity checking to obdecho.
[fs/lustre-release.git] / lustre / include / linux / lustre_idl.h
index d517c34..488ccf7 100644 (file)
  * (Un)packing of OST requests
  */
 
-#ifndef __LUSTRE_IDL_H__
-#define __LUSTRE_IDL_H__
+#ifndef _LUSTRE_IDL_H_
+#define _LUSTRE_IDL_H_
 
 #ifdef __KERNEL__
 # include <linux/ioctl.h>
 # include <asm/types.h>
 # include <linux/types.h>
+# include <linux/list.h>
 #else
 # define __KERNEL__
+# include <asm/types.h>
 # include <linux/list.h>
 # undef __KERNEL__
 # include <stdint.h>
  * - ioctl's
  */
 
+/*
+ *  GENERAL STUFF
+ */
+typedef __u8 uuid_t[37];
+
+/* FOO_REQUEST_PORTAL is for incoming requests on the FOO
+ * FOO_REPLY_PORTAL   is for incoming replies on the FOO
+ * FOO_BULK_PORTAL    is for incoming bulk on the FOO
+ */
+
+#define CONNMGR_REQUEST_PORTAL  1
+#define CONNMGR_REPLY_PORTAL    2
+#define OSC_REQUEST_PORTAL      3
+#define OSC_REPLY_PORTAL        4
+#define OSC_BULK_PORTAL         5
+#define OST_REQUEST_PORTAL      6
+#define OST_REPLY_PORTAL        7
+#define OST_BULK_PORTAL         8
+#define MDC_REQUEST_PORTAL      9
+#define MDC_REPLY_PORTAL        10
+#define MDC_BULK_PORTAL         11
+#define MDS_REQUEST_PORTAL      12
+#define MDS_REPLY_PORTAL        13
+#define MDS_BULK_PORTAL         14
+#define LDLM_REQUEST_PORTAL     15
+#define LDLM_REPLY_PORTAL       16
+#define LDLM_CLI_REQUEST_PORTAL 17
+#define LDLM_CLI_REPLY_PORTAL   18
+
+#define SVC_KILLED               1
+#define SVC_EVENT                2
+#define SVC_SIGNAL               4
+#define SVC_RUNNING              8
+#define SVC_STOPPING            16
+#define SVC_STOPPED             32
+
+#define RECOVD_STOPPING          1  /* how cleanup tells recovd to quit */
+#define RECOVD_IDLE              2  /* normal state */
+#define RECOVD_STOPPED           4  /* after recovd has stopped */
+#define RECOVD_FAIL              8  /* RPC timeout: wakeup recovd, sets flag */
+#define RECOVD_TIMEOUT          16  /* set when recovd detects a timeout */
+#define RECOVD_UPCALL_WAIT      32  /* an upcall has been placed */
+#define RECOVD_UPCALL_ANSWER    64  /* an upcall has been answered */
+
+#define LUSTRE_CONN_NEW          1
+#define LUSTRE_CONN_CON          2
+#define LUSTRE_CONN_RECOVD       3
+#define LUSTRE_CONN_FULL         4
+
+/* packet types */
 #define PTL_RPC_MSG_REQUEST 4711
 #define PTL_RPC_MSG_ERR 4712
+#define PTL_RPC_MSG_OK           0
 
-struct lustre_msg {
-        __u64 conn;
-        __u64 token;
+#define PTL_RPC_TYPE_REQUEST     2
+#define PTL_RPC_TYPE_REPLY       3
+
+#define PTLRPC_MSG_MAGIC (cpu_to_le32(0x0BD00BD0))
+#define PTLRPC_MSG_VERSION (cpu_to_le32(0x00040001))
+
+struct lustre_handle {
+        __u64 addr;
+        __u64 cookie;
+};
 
+/* we depend on this structure to be 8-byte aligned */
+struct lustre_msg {
+        __u64 addr;
+        __u64 cookie; /* security token */
+        __u32 magic;
+        __u32 type;
+        __u32 version;
         __u32 opc;
-        __u32 xid;
-        __u64 last_rcvd;
+        __u64 last_xid;
         __u64 last_committed;
         __u64 transno;
         __u32 status;
-        __u32 type;
-        __u32   connid;
-        __u32   bufcount;
-        __u32   buflens[0];
-};
-
-struct niobuf_remote {
-        __u64 offset;
-        __u32 len;
-        __u32 xid;
-        __u32 flags;
+        __u32 bufcount;
+        __u32 buflens[0];
 };
 
-struct niobuf_local {
-        __u64 addr;
-        __u64 offset;
-        __u32 len;
-        __u32 xid;
-        void *page;
-};
+#define CONNMGR_REPLY  0
+#define CONNMGR_CONNECT        1
 
 /*
  *   OST requests: OBDO & OBD request records
  */
 
 /* opcodes */
+#define OST_REPLY      0       /* reply ? */
 #define OST_GETATTR    1
 #define OST_SETATTR    2
-#define OST_BRW        3
-#define OST_CREATE     4
-#define OST_DESTROY    5
-#define OST_GET_INFO   6
-#define OST_CONNECT    7
-#define OST_DISCONNECT 8
-#define OST_PUNCH      9
-#define OST_OPEN      10
-#define OST_CLOSE     11
+#define OST_READ       3
+#define OST_WRITE      4
+#define OST_CREATE     5 
+#define OST_DESTROY    6 
+#define OST_GET_INFO   7 
+#define OST_CONNECT    8 
+#define OST_DISCONNECT 9 
+#define OST_PUNCH      10
+#define OST_OPEN       11
+#define OST_CLOSE      12
+#define OST_STATFS     13
 
 
 typedef uint64_t        obd_id;
@@ -104,15 +159,15 @@ typedef uint32_t        obd_blksize;
 typedef uint32_t        obd_mode;
 typedef uint32_t        obd_uid;
 typedef uint32_t        obd_gid;
-typedef uint32_t        obd_rdev;
+typedef uint64_t        obd_rdev;
 typedef uint32_t        obd_flag;
 typedef uint32_t        obd_count;
 
-#define OBD_FL_INLINEDATA       (0x00000001UL)
-#define OBD_FL_OBDMDEXISTS      (0x00000002UL)
+#define OBD_FL_INLINEDATA       (0x00000001)
+#define OBD_FL_OBDMDEXISTS      (0x00000002)
 
 #define OBD_INLINESZ    60
-#define OBD_OBDMDSZ     60
+
 /* Note: 64-bit types are 64-bit aligned in structure */
 struct obdo {
         obd_id                  o_id;
@@ -122,22 +177,38 @@ struct obdo {
         obd_time                o_ctime;
         obd_size                o_size;
         obd_blocks              o_blocks;
+        obd_rdev                o_rdev;
         obd_blksize             o_blksize;
         obd_mode                o_mode;
         obd_uid                 o_uid;
         obd_gid                 o_gid;
         obd_flag                o_flags;
-        obd_flag                o_obdflags;
         obd_count               o_nlink;
         obd_count               o_generation;
         obd_flag                o_valid;        /* hot fields in this obdo */
+        obd_flag                o_obdflags;
+        __u32                   o_easize;
         char                    o_inline[OBD_INLINESZ];
-        char                    o_obdmd[OBD_OBDMDSZ];
-        struct list_head        o_list;
-        struct obd_ops          *o_op;
 };
 
-#define OBD_MD_FLALL    0xffffffff
+struct lov_object_id { /* per-child structure */
+        __u64 l_object_id;
+};
+
+#define LOV_MAGIC  0x0BD00BD0
+
+struct lov_stripe_md {
+        __u32 lmd_magic;
+        __u32 lmd_easize;          /* packed size of extended */
+        __u64 lmd_object_id;       /* lov object id */
+        __u64 lmd_stripe_offset;   /* offset of the stripe */ 
+        __u64 lmd_stripe_size;     /* size of the stripe */
+        __u32 lmd_stripe_count;    /* how many objects are being striped */
+        __u32 lmd_stripe_pattern;  /* per-lov object stripe pattern */
+        struct lov_object_id lmd_objects[0];
+};
+
+#define OBD_MD_FLALL    (0xffffffff)
 #define OBD_MD_FLID     (0x00000001)
 #define OBD_MD_FLATIME  (0x00000002)
 #define OBD_MD_FLMTIME  (0x00000004)
@@ -154,21 +225,30 @@ struct obdo {
 #define OBD_MD_FLNLINK  (0x00002000)
 #define OBD_MD_FLGENER  (0x00004000)
 #define OBD_MD_FLINLINE (0x00008000)
-#define OBD_MD_FLOBDMD  (0x00010000)
-#define OBD_MD_FLOBJID  (0x00020000)
+#define OBD_MD_FLRDEV   (0x00010000)
+#define OBD_MD_FLEASIZE (0x00020000)
 #define OBD_MD_LINKNAME (0x00040000)
-#define OBD_MD_FLNOTOBD (~(OBD_MD_FLOBDMD | OBD_MD_FLOBDFLG | OBD_MD_FLBLOCKS |\
-                           OBD_MD_LINKNAME))
-
-/* request structure for OST's */
+#define OBD_MD_FLNOTOBD (~(OBD_MD_FLOBDFLG | OBD_MD_FLBLOCKS | OBD_MD_LINKNAME))
+
+struct obd_statfs {
+        __u64           os_type;
+        __u64           os_blocks;
+        __u64           os_bfree;
+        __u64           os_bavail;
+        __u64           os_files;
+        __u64           os_ffree;
+        __u8            os_fsid[40];
+        __u32           os_bsize;
+        __u32           os_namelen;
+        __u32           os_spare[12];
+};
 
-#define OST_REQ_HAS_OA1  0x1
+/* ost_body.data values for OST_BRW */
 
-struct ost_body {
-        __u32   connid;
-        __u32   data;
-        struct  obdo oa;
-};
+#define OBD_BRW_READ   0x1
+#define OBD_BRW_WRITE  0x2
+#define OBD_BRW_RWMASK (OBD_BRW_READ | OBD_BRW_WRITE)
+#define OBD_BRW_CREATE 0x4
 
 struct obd_ioobj {
         obd_id    ioo_id;
@@ -177,6 +257,31 @@ struct obd_ioobj {
         __u32     ioo_bufcnt;
 };
 
+struct niobuf_remote {
+        __u64 offset;
+        __u32 len;
+        __u32 xid;
+        __u32 flags;
+};
+
+#define CONNMGR_REPLY  0
+#define CONNMGR_CONNECT        1
+
+struct connmgr_body {
+        __u64 conn;
+        __u64 conn_token;
+        __u32 generation;
+        __u8  conn_uuid[37];
+};
+
+/* request structure for OST's */
+
+#define OST_REQ_HAS_OA1  0x1
+
+struct ost_body {
+        struct  obdo oa;
+};
+
 /*
  *   MDS REQ RECORDS
  */
@@ -188,6 +293,10 @@ struct obd_ioobj {
 #define MDS_REINT      4
 #define MDS_READPAGE   6
 #define MDS_CONNECT    7
+#define MDS_DISCONNECT 8
+#define MDS_GETSTATUS  9
+#define MDS_STATFS     10
+#define MDS_GETLOVINFO 11
 
 #define REINT_SETATTR  1
 #define REINT_CREATE   2
@@ -203,11 +312,33 @@ struct ll_fid {
         __u32 f_type;
 };
 
+
+#define MDS_STATUS_CONN 1
+#define MDS_STATUS_LOV 2
+
+struct mds_status_req { 
+        __u32  flags;
+        __u32  repbuf;
+};
+
+struct mds_fileh_body { 
+        struct ll_fid f_fid;
+        struct lustre_handle f_handle;
+};
+
+struct mds_conn_status { 
+        struct ll_fid rootfid;
+        __u64          xid;
+        __u64          last_committed;
+        __u64          last_rcvd;
+        /* XXX preallocated quota & obj fields here */
+};
+
 struct mds_body {
         struct ll_fid  fid1;
         struct ll_fid  fid2;
-        __u64          objid;
         __u64          size;
+        __u64          extra;
         __u32          valid;
         __u32          mode;
         __u32          uid;
@@ -221,67 +352,87 @@ struct mds_body {
         __u32          ino;
         __u32          nlink;
         __u32          generation;
-        __u32          last_xid;
+        __u32          last_xidnomore;
 };
 
 /* MDS update records */
-struct mds_update_record_hdr {
-        __u32 ur_opcode;
-};
+
+
+//struct mds_update_record_hdr {
+//        __u32 ur_opcode;
+//};
 
 struct mds_rec_setattr {
         __u32           sa_opcode;
-        struct ll_fid   sa_fid;
         __u32           sa_valid;
+        struct ll_fid   sa_fid;
         __u32           sa_mode;
         __u32           sa_uid;
         __u32           sa_gid;
+        __u32           sa_attr_flags;
         __u64           sa_size;
         __u64           sa_atime;
         __u64           sa_mtime;
         __u64           sa_ctime;
-        __u32           sa_attr_flags;
 };
 
 struct mds_rec_create {
         __u32           cr_opcode;
+        __u32           cr_mode;
         struct ll_fid   cr_fid;
         __u32           cr_uid;
         __u32           cr_gid;
         __u64           cr_time;
-        __u32           cr_mode;
-        /* overloaded: id for create, tgtlen for symlink, rdev for mknod */
-        __u64           cr_id;
+        __u64           cr_rdev;
 };
 
 struct mds_rec_link {
         __u32           lk_opcode;
+        __u32           lk_reserved;
         struct ll_fid   lk_fid1;
         struct ll_fid   lk_fid2;
 };
 
 struct mds_rec_unlink {
         __u32           ul_opcode;
+        __u32           ul_mode;
         struct ll_fid   ul_fid1;
         struct ll_fid   ul_fid2;
 };
 
 struct mds_rec_rename {
         __u32           rn_opcode;
+        __u32           rn_reserved;
         struct ll_fid   rn_fid1;
         struct ll_fid   rn_fid2;
 };
 
 
+/* 
+ *  LOV data structures
+ */
+
+#define LOV_RAID0   0
+#define LOV_RAIDRR  1
+
+struct lov_desc { 
+        __u32 ld_tgt_count;                /* how many OBD's */
+        __u32 ld_default_stripe_count;     /* how many objects are used */
+        __u64 ld_default_stripe_size;      /* in bytes */
+        __u64 ld_default_stripe_offset;    /* in bytes */
+        __u32 ld_pattern;                  /* RAID 0,1 etc */
+         uuid_t ld_uuid;
+}; 
+
 /*
  *   LDLM requests:
  */
-
-/* opcodes */
-#define LDLM_ENQUEUE       1
-#define LDLM_CONVERT       2
-#define LDLM_CANCEL        3
-#define LDLM_CALLBACK      4
+/* opcodes -- MUST be distinct from OST/MDS opcodes */
+#define LDLM_ENQUEUE       101
+#define LDLM_CONVERT       102
+#define LDLM_CANCEL        103
+#define LDLM_BL_CALLBACK   104
+#define LDLM_CP_CALLBACK   105
 
 #define RES_NAME_SIZE 3
 #define RES_VERSION_SIZE 4
@@ -296,20 +447,21 @@ typedef enum {
         LCK_NL
 } ldlm_mode_t;
 
-struct ldlm_handle {
-        __u64 addr;
-        __u64 cookie;
-};
-
 struct ldlm_extent {
         __u64 start;
         __u64 end;
 };
 
+struct ldlm_intent {
+        __u64 opc;
+};
+
+/* Note this unaligned structure; as long as it's only used in ldlm_request
+ * below, we're probably fine. */
 struct ldlm_resource_desc {
         __u32 lr_type;
         __u64 lr_name[RES_NAME_SIZE];
-        __u64 lr_version[RES_VERSION_SIZE];
+        __u32 lr_version[RES_VERSION_SIZE];
 };
 
 struct ldlm_lock_desc {
@@ -321,250 +473,19 @@ struct ldlm_lock_desc {
 };
 
 struct ldlm_request {
-        __u32 flags;
+        __u32 lock_flags;
         struct ldlm_lock_desc lock_desc;
-        struct ldlm_handle lock_handle1;
-        struct ldlm_handle lock_handle2;
+        struct lustre_handle lock_handle1;
+        struct lustre_handle lock_handle2;
 };
 
 struct ldlm_reply {
-        __u32 flags;
-        struct ldlm_handle lock_handle;
-        struct ldlm_extent lock_extent;
-};
-
-/*
- *   OBD IOCTLS
- */
-
-
-#define OBD_IOCTL_VERSION 0x00010001
-
-struct obd_ioctl_data {
-        uint32_t ioc_len;
-        uint32_t ioc_version;
-        uint32_t ioc_conn1;
-        uint32_t ioc_conn2;
-        struct obdo ioc_obdo1;
-        struct obdo ioc_obdo2;
-        obd_size         ioc_count;
-        obd_off          ioc_offset;
-        uint32_t         ioc_dev;
-
-        /* buffers the kernel will treat as user pointers */
-        uint32_t ioc_plen1;
-        char    *ioc_pbuf1;
-        uint32_t ioc_plen2;
-        char    *ioc_pbuf2;
-
-        /* two inline buffers */
-        uint32_t ioc_inllen1;
-        char    *ioc_inlbuf1;
-        uint32_t ioc_inllen2;
-        char    *ioc_inlbuf2;
-
-        char    ioc_bulk[0];
+        __u32 lock_flags;
+        __u32 lock_mode;
+        __u64 lock_resource_name[RES_NAME_SIZE];
+        struct lustre_handle lock_handle;
+        struct ldlm_extent lock_extent;   /* XXX make this policy 1 &2 */
+        __u64  lock_policy_res1;
+        __u64  lock_policy_res2;
 };
-
-struct obd_ioctl_hdr {
-        uint32_t ioc_len;
-        uint32_t ioc_version;
-};
-
-static inline int obd_ioctl_packlen(struct obd_ioctl_data *data)
-{
-        int len = sizeof(struct obd_ioctl_data);
-        len += size_round(data->ioc_inllen1);
-        len += size_round(data->ioc_inllen2);
-        return len;
-}
-
-static inline int obd_ioctl_is_invalid(struct obd_ioctl_data *data)
-{
-        if (data->ioc_len > (1<<30)) {
-                printk("OBD ioctl: ioc_len larger than 1<<30\n");
-                return 1;
-        }
-        if (data->ioc_inllen1 > (1<<30)) {
-                printk("OBD ioctl: ioc_inllen1 larger than 1<<30\n");
-                return 1;
-        }
-        if (data->ioc_inllen2 > (1<<30)) {
-                printk("OBD ioctl: ioc_inllen2 larger than 1<<30\n");
-                return 1;
-        }
-        if (data->ioc_inlbuf1 && !data->ioc_inllen1) {
-                printk("OBD ioctl: inlbuf1 pointer but 0 length\n");
-                return 1;
-        }
-        if (data->ioc_inlbuf2 && !data->ioc_inllen2) {
-                printk("OBD ioctl: inlbuf2 pointer but 0 length\n");
-                return 1;
-        }
-        if (data->ioc_pbuf1 && !data->ioc_plen1) {
-                printk("OBD ioctl: pbuf1 pointer but 0 length\n");
-                return 1;
-        }
-        if (data->ioc_pbuf2 && !data->ioc_plen2) {
-                printk("OBD ioctl: pbuf2 pointer but 0 length\n");
-                return 1;
-        }
-        /*
-        if (data->ioc_inllen1 && !data->ioc_inlbuf1) {
-                printk("OBD ioctl: inllen1 set but NULL pointer\n");
-                return 1;
-        }
-        if (data->ioc_inllen2 && !data->ioc_inlbuf2) {
-                printk("OBD ioctl: inllen2 set but NULL pointer\n");
-                return 1;
-        }
-        if (data->ioc_plen1 && !data->ioc_pbuf1) {
-                printk("OBD ioctl: plen1 set but NULL pointer\n");
-                return 1;
-        }
-        if (data->ioc_plen2 && !data->ioc_pbuf2) {
-                printk("OBD ioctl: plen2 set but NULL pointer\n");
-                return 1;
-        }
-        */
-        if (obd_ioctl_packlen(data) != data->ioc_len ) {
-                printk("OBD ioctl: packlen exceeds ioc_len\n");
-                return 1;
-        }
-        if (data->ioc_inllen1 &&
-            data->ioc_bulk[data->ioc_inllen1 - 1] != '\0') {
-                printk("OBD ioctl: inlbuf1 not 0 terminated\n");
-                return 1;
-        }
-        if (data->ioc_inllen2 &&
-            data->ioc_bulk[size_round(data->ioc_inllen1) + data->ioc_inllen2 - 1] != '\0') {
-                printk("OBD ioctl: inlbuf2 not 0 terminated\n");
-                return 1;
-        }
-        return 0;
-}
-
-#ifndef __KERNEL__
-static inline int obd_ioctl_pack(struct obd_ioctl_data *data, char **pbuf,
-                                 int max)
-{
-        char *ptr;
-        struct obd_ioctl_data *overlay;
-        data->ioc_len = obd_ioctl_packlen(data);
-        data->ioc_version = OBD_IOCTL_VERSION;
-
-        if (*pbuf && obd_ioctl_packlen(data) > max)
-                return 1;
-        if (*pbuf == NULL) {
-                *pbuf = malloc(data->ioc_len);
-        }
-        if (!*pbuf)
-                return 1;
-        overlay = (struct obd_ioctl_data *)*pbuf;
-        memcpy(*pbuf, data, sizeof(*data));
-
-        ptr = overlay->ioc_bulk;
-        if (data->ioc_inlbuf1)
-                LOGL(data->ioc_inlbuf1, data->ioc_inllen1, ptr);
-        if (data->ioc_inlbuf2)
-                LOGL(data->ioc_inlbuf2, data->ioc_inllen2, ptr);
-        if (obd_ioctl_is_invalid(overlay))
-                return 1;
-
-        return 0;
-}
-#else
-
-
-/* buffer MUST be at least the size of obd_ioctl_hdr */
-static inline int obd_ioctl_getdata(char *buf, char *end, void *arg)
-{
-        struct obd_ioctl_hdr *hdr;
-        struct obd_ioctl_data *data;
-        int err;
-        ENTRY;
-
-        hdr = (struct obd_ioctl_hdr *)buf;
-        data = (struct obd_ioctl_data *)buf;
-
-        err = copy_from_user(buf, (void *)arg, sizeof(*hdr));
-        if ( err ) {
-                EXIT;
-                return err;
-        }
-
-        if (hdr->ioc_version != OBD_IOCTL_VERSION) {
-                printk("OBD: version mismatch kernel vs application\n");
-                return -EINVAL;
-        }
-
-        if (hdr->ioc_len + buf >= end) {
-                printk("OBD: user buffer exceeds kernel buffer\n");
-                return -EINVAL;
-        }
-
-
-        if (hdr->ioc_len < sizeof(struct obd_ioctl_data)) {
-                printk("OBD: user buffer too small for ioctl\n");
-                return -EINVAL;
-        }
-
-        err = copy_from_user(buf, (void *)arg, hdr->ioc_len);
-        if ( err ) {
-                EXIT;
-                return err;
-        }
-
-        if (obd_ioctl_is_invalid(data)) {
-                printk("OBD: ioctl not correctly formatted\n");
-                return -EINVAL;
-        }
-
-        if (data->ioc_inllen1) {
-                data->ioc_inlbuf1 = &data->ioc_bulk[0];
-        }
-
-        if (data->ioc_inllen2) {
-                data->ioc_inlbuf2 = &data->ioc_bulk[0] + size_round(data->ioc_inllen1);
-        }
-
-        EXIT;
-        return 0;
-}
-#endif
-
-
-#define OBD_IOC_CREATE                 _IOR ('f',  3, long)
-#define OBD_IOC_SETUP                  _IOW ('f',  4, long)
-#define OBD_IOC_CLEANUP                _IO  ('f',  5      )
-#define OBD_IOC_DESTROY                _IOW ('f',  6, long)
-#define OBD_IOC_PREALLOCATE            _IOWR('f',  7, long)
-#define OBD_IOC_DEC_USE_COUNT          _IO  ('f',  8      )
-#define OBD_IOC_SETATTR                _IOW ('f',  9, long)
-#define OBD_IOC_GETATTR                _IOR ('f', 10, long)
-#define OBD_IOC_READ                   _IOWR('f', 11, long)
-#define OBD_IOC_WRITE                  _IOWR('f', 12, long)
-#define OBD_IOC_CONNECT                _IOR ('f', 13, long)
-#define OBD_IOC_DISCONNECT             _IOW ('f', 14, long)
-#define OBD_IOC_STATFS                 _IOWR('f', 15, long)
-#define OBD_IOC_SYNC                   _IOR ('f', 16, long)
-#define OBD_IOC_READ2                  _IOWR('f', 17, long)
-#define OBD_IOC_FORMAT                 _IOWR('f', 18, long)
-#define OBD_IOC_PARTITION              _IOWR('f', 19, long)
-#define OBD_IOC_ATTACH                 _IOWR('f', 20, long)
-#define OBD_IOC_DETACH                 _IOWR('f', 21, long)
-#define OBD_IOC_COPY                   _IOWR('f', 22, long)
-#define OBD_IOC_MIGR                   _IOWR('f', 23, long)
-#define OBD_IOC_PUNCH                  _IOWR('f', 24, long)
-#define OBD_IOC_DEVICE                 _IOWR('f', 25, long)
-#define OBD_IOC_MODULE_DEBUG           _IOWR('f', 26, long)
-#define OBD_IOC_BRW_READ               _IOWR('f', 27, long)
-#define OBD_IOC_BRW_WRITE              _IOWR('f', 28, long)
-#define OBD_IOC_NAME2DEV               _IOWR('f', 29, long)
-#define OBD_IOC_NEWDEV                 _IOWR('f', 30, long)
-
-#define OBD_RECOVD_NEWCONN             _IOWR('f', 31, long)
-
-#define OBD_IOC_DEC_FS_USE_COUNT       _IO  ('f', 32      )
-
 #endif