Whamcloud - gitweb
LU-2062 hsm: llapi hsm calls for CopyTool
authorjcl <jacques-charles.lafoucriere@cea.fr>
Mon, 3 Dec 2012 20:13:13 +0000 (21:13 +0100)
committerOleg Drokin <green@whamcloud.com>
Wed, 30 Jan 2013 19:25:48 +0000 (14:25 -0500)
llapi hsm calls for CopyTool
- llapi_hsm_copytool_start()
- llapi_hsm_copytool_fini()
- llapi_hsm_copytool_recv()
- llapi_hsm_copytool_free()
- llapi_hsm_copy_start()
- llapi_hsm_copy_end()
- llapi_hsm_progress()
- llapi_hsm_import()

and related MDT functions
- mdt_hsm_ct_register()
- mdt_hsm_ct_unregister()
- mdt_hsm_progress()

The new RPC are:
- MDS_HSM_CT_REGISTER
- MDS_HSM_CT_UNREGISTER
- MDS_HSM_PROGRESS

Signed-off-by: JC Lafoucriere <jacques-charles.lafoucriere@cea.fr>
Change-Id: I93617ac6e66a3324344b57f1a22d7c851d715262
Reviewed-on: http://review.whamcloud.com/4736
Tested-by: Hudson
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
28 files changed:
lustre/include/lustre/lustre_idl.h
lustre/include/lustre/lustre_user.h
lustre/include/lustre/lustreapi.h
lustre/include/lustre_req_layout.h
lustre/include/obd_support.h
lustre/llite/dir.c
lustre/llite/file.c
lustre/llite/llite_internal.h
lustre/llite/llite_nfs.c
lustre/mdc/lproc_mdc.c
lustre/mdc/mdc_request.c
lustre/mdt/mdt_handler.c
lustre/mdt/mdt_hsm.c
lustre/mdt/mdt_internal.h
lustre/mdt/mdt_mds.c
lustre/ptlrpc/layout.c
lustre/ptlrpc/lproc_ptlrpc.c
lustre/ptlrpc/pack_generic.c
lustre/ptlrpc/wiretest.c
lustre/tests/copytool.c
lustre/utils/LCOPYING [new file with mode: 0644]
lustre/utils/Makefile.am
lustre/utils/liblustreapi.c
lustre/utils/liblustreapi_hsm.c [new file with mode: 0644]
lustre/utils/lustreapi_internal.h [new file with mode: 0644]
lustre/utils/req-layout.c
lustre/utils/wirecheck.c
lustre/utils/wiretest.c

index 8dac1cc..b21b605 100644 (file)
@@ -1821,28 +1821,35 @@ typedef enum {
 
 /* opcodes */
 typedef enum {
-        MDS_GETATTR      = 33,
-        MDS_GETATTR_NAME = 34,
-        MDS_CLOSE        = 35,
-        MDS_REINT        = 36,
-        MDS_READPAGE     = 37,
-        MDS_CONNECT      = 38,
-        MDS_DISCONNECT   = 39,
-        MDS_GETSTATUS    = 40,
-        MDS_STATFS       = 41,
-        MDS_PIN          = 42,
-        MDS_UNPIN        = 43,
-        MDS_SYNC         = 44,
-        MDS_DONE_WRITING = 45,
-        MDS_SET_INFO     = 46,
-        MDS_QUOTACHECK   = 47,
-        MDS_QUOTACTL     = 48,
-        MDS_GETXATTR     = 49,
-        MDS_SETXATTR     = 50, /* obsolete, now it's MDS_REINT op */
-        MDS_WRITEPAGE    = 51,
-        MDS_IS_SUBDIR    = 52,
-        MDS_GET_INFO     = 53,
-        MDS_LAST_OPC
+       MDS_GETATTR             = 33,
+       MDS_GETATTR_NAME        = 34,
+       MDS_CLOSE               = 35,
+       MDS_REINT               = 36,
+       MDS_READPAGE            = 37,
+       MDS_CONNECT             = 38,
+       MDS_DISCONNECT          = 39,
+       MDS_GETSTATUS           = 40,
+       MDS_STATFS              = 41,
+       MDS_PIN                 = 42,
+       MDS_UNPIN               = 43,
+       MDS_SYNC                = 44,
+       MDS_DONE_WRITING        = 45,
+       MDS_SET_INFO            = 46,
+       MDS_QUOTACHECK          = 47,
+       MDS_QUOTACTL            = 48,
+       MDS_GETXATTR            = 49,
+       MDS_SETXATTR            = 50, /* obsolete, now it's MDS_REINT op */
+       MDS_WRITEPAGE           = 51,
+       MDS_IS_SUBDIR           = 52,
+       MDS_GET_INFO            = 53,
+       MDS_HSM_STATE_GET       = 54,
+       MDS_HSM_STATE_SET       = 55,
+       MDS_HSM_ACTION          = 56,
+       MDS_HSM_PROGRESS        = 57,
+       MDS_HSM_REQUEST         = 58,
+       MDS_HSM_CT_REGISTER     = 59,
+       MDS_HSM_CT_UNREGISTER   = 60,
+       MDS_LAST_OPC
 } mds_cmd_t;
 
 #define MDS_FIRST_OPC    MDS_GETATTR
@@ -3293,5 +3300,27 @@ struct layout_intent {
 
 void lustre_swab_layout_intent(struct layout_intent *li);
 
+/**
+ * On the wire version of hsm_progress structure.
+ *
+ * Contains the userspace hsm_progress and some internal fields.
+ */
+struct hsm_progress_kernel {
+       /* Field taken from struct hsm_progress */
+       lustre_fid              hpk_fid;
+       __u64                   hpk_cookie;
+       struct hsm_extent       hpk_extent;
+       __u16                   hpk_flags;
+       __u16                   hpk_errval; /* positive val */
+       __u32                   hpk_padding1;
+       /* Additional fields */
+       __u64                   hpk_data_version;
+       __u64                   hpk_padding2;
+} __attribute__((packed));
+
+extern void lustre_swab_hsm_user_state(struct hsm_user_state *hus);
+extern void lustre_swab_hsm_progress_kernel(struct hsm_progress_kernel *hpk);
+extern void lustre_swab_hsm_user_item(struct hsm_user_item *hui);
+
 #endif
 /** @} lustreidl */
index baa3373..09f11f6 100644 (file)
@@ -152,10 +152,17 @@ struct obd_statfs {
 #define LL_IOC_PATH2FID                 _IOR ('f', 173, long)
 #define LL_IOC_GET_CONNECT_FLAGS        _IOWR('f', 174, __u64 *)
 #define LL_IOC_GET_MDTIDX               _IOR ('f', 175, int)
-#define LL_IOC_HSM_CT_START             _IOW ('f', 176,struct lustre_kernelcomm)
+
 /* see <lustre_lib.h> for ioctl numbers 177-210 */
 
-#define LL_IOC_DATA_VERSION             _IOR ('f', 218, struct ioc_data_version)
+#define LL_IOC_HSM_STATE_GET           _IOR('f', 211, struct hsm_user_state)
+#define LL_IOC_HSM_STATE_SET           _IOW('f', 212, struct hsm_state_set)
+#define LL_IOC_HSM_CT_START            _IOW('f', 213, struct lustre_kernelcomm)
+#define LL_IOC_HSM_COPY_START          _IOW('f', 214, struct hsm_copy *)
+#define LL_IOC_HSM_COPY_END            _IOW('f', 215, struct hsm_copy *)
+#define LL_IOC_HSM_PROGRESS            _IOW('f', 216, struct hsm_user_request)
+#define LL_IOC_HSM_REQUEST             _IOW('f', 217, struct hsm_user_request)
+#define LL_IOC_DATA_VERSION            _IOR('f', 218, struct ioc_data_version)
 
 #define LL_STATFS_LMV           1
 #define LL_STATFS_LOV           2
@@ -891,13 +898,14 @@ static inline char *hsm_copytool_action2name(enum hsm_copytool_action  a)
 
 /* Copytool item action description */
 struct hsm_action_item {
-        __u32      hai_len;     /* valid size of this struct */
-        __u32      hai_action;  /* hsm_copytool_action, but use known size */
-        lustre_fid hai_fid;     /* Lustre FID to operated on */
-        struct hsm_extent hai_extent;  /* byte range to operate on */
-        __u64      hai_cookie;  /* action cookie from coordinator */
-        __u64      hai_gid;     /* grouplock id */
-        char       hai_data[0]; /* variable length */
+       __u32      hai_len;     /* valid size of this struct */
+       __u32      hai_action;  /* hsm_copytool_action, but use known size */
+       lustre_fid hai_fid;     /* Lustre FID to operated on */
+       lustre_fid hai_dfid;    /* fid used for data access */
+       struct hsm_extent hai_extent;  /* byte range to operate on */
+       __u64      hai_cookie;  /* action cookie from coordinator */
+       __u64      hai_gid;     /* grouplock id */
+       char       hai_data[0]; /* variable length */
 } __attribute__((packed));
 
 /*
@@ -932,16 +940,17 @@ static inline char *hai_dump_data_field(struct hsm_action_item *hai,
 
 /* Copytool action list */
 #define HAL_VERSION 1
-#define HAL_MAXSIZE 4096 /* bytes, used in userspace only */
+#define HAL_MAXSIZE LNET_MTU /* bytes, used in userspace only */
 struct hsm_action_list {
-        __u32 hal_version;
-        __u32 hal_count;       /* number of hai's to follow */
-        __u64 hal_compound_id; /* returned by coordinator */
-        __u32 hal_archive_num; /* which archive backend */
-        __u32 padding1;
-        char  hal_fsname[0];   /* null-terminated */
-        /* struct hsm_action_item[hal_count] follows, aligned on 8-byte
-           boundaries. See hai_zero */
+       __u32 hal_version;
+       __u32 hal_count;       /* number of hai's to follow */
+       __u64 hal_compound_id; /* returned by coordinator */
+       __u64 hal_flags;
+       __u32 hal_archive_num; /* which archive backend */
+       __u32 padding1;
+       char  hal_fsname[0];   /* null-terminated */
+       /* struct hsm_action_item[hal_count] follows, aligned on 8-byte
+          boundaries. See hai_zero */
 } __attribute__((packed));
 
 #ifndef HAVE_CFS_SIZE_ROUND
@@ -986,12 +995,27 @@ static inline int hal_size(struct hsm_action_list *hal)
 #define HP_FLAG_RETRY     0x02
 
 struct hsm_progress {
-        lustre_fid        hp_fid;
-        __u64             hp_cookie;
-        struct hsm_extent hp_extent;
-        __u16             hp_flags;
-        __u16             hp_errval; /* positive val */
-} __attribute__((packed));
+       lustre_fid              hp_fid;
+       __u64                   hp_cookie;
+       struct hsm_extent       hp_extent;
+       __u16                   hp_flags;
+       __u16                   hp_errval; /* positive val */
+       __u32                   padding;
+};
+
+/**
+ * Use by copytool during any hsm request they handled.
+ * This structure is initialized by llapi_hsm_copy_start()
+ * which is an helper over the ioctl() interface
+ * Store Lustre, internal use only, data.
+ */
+struct hsm_copy {
+       __u64                   hc_data_version;
+       __u16                   hc_flags;
+       __u16                   hc_errval; /* positive val */
+       __u32                   padding;
+       struct hsm_action_item  hc_hai;
+};
 
 /** @} lustreuser */
 
index b53e7d5..4bb4691 100644 (file)
@@ -208,6 +208,8 @@ extern int llapi_getname(const char *path, char *buf, size_t size);
 extern void llapi_ping_target(char *obd_type, char *obd_name,
                               char *obd_uuid, void *args);
 
+extern int llapi_search_rootpath(char *pathname, const char *fsname);
+
 struct mntent;
 #define HAVE_LLAPI_IS_LUSTRE_MNT
 extern int llapi_is_lustre_mnt(struct mntent *mnt);
@@ -260,14 +262,27 @@ extern int llapi_changelog_free(struct changelog_ext_rec **rech);
 extern int llapi_changelog_clear(const char *mdtname, const char *idstr,
                                  long long endrec);
 
-/* HSM copytool interface.  priv is private state, managed internally
-   by these functions */
-extern int llapi_copytool_start(void **priv, char *fsname, int flags,
-                                int archive_count, int *archives);
-extern int llapi_copytool_fini(void **priv);
-extern int llapi_copytool_recv(void *priv, struct hsm_action_list **hal,
-                               int *msgsize);
-extern int llapi_copytool_free(struct hsm_action_list **hal);
+/* HSM copytool interface.
+ * priv is private state, managed internally by these functions
+ */
+extern int llapi_hsm_copytool_start(void **priv, char *fsname, int flags,
+                                   int archive_count, int *archives);
+extern int llapi_hsm_copytool_fini(void **priv);
+extern int llapi_hsm_copytool_recv(void *priv, struct hsm_action_list **hal,
+                                  int *msgsize);
+extern int llapi_hsm_copytool_free(struct hsm_action_list **hal);
+extern int llapi_hsm_copy_start(char *mnt, struct hsm_copy *copy,
+                               const struct hsm_action_item *hai);
+extern int llapi_hsm_copy_end(char *mnt, struct hsm_copy *copy,
+                             const struct hsm_progress *hp);
+extern int llapi_hsm_request(char *mnt, struct hsm_user_request *request);
+extern int llapi_hsm_progress(char *mnt, struct hsm_progress *hp);
+extern struct hsm_user_request *llapi_hsm_user_request_alloc(int itemcount,
+                                                            int data_len);
+extern int llapi_hsm_import(const char *dst, int archive, struct stat *st,
+                           unsigned long long stripe_size, int stripe_offset,
+                           int stripe_count, int stripe_pattern,
+                           char *pool_name, lustre_fid *newfid);
 
 /** @} llapi */
 
index 69c299f..bcc4849 100644 (file)
@@ -186,6 +186,12 @@ extern struct req_format RQF_MDS_QUOTACHECK;
 extern struct req_format RQF_MDS_QUOTACTL;
 extern struct req_format RQF_QC_CALLBACK;
 extern struct req_format RQF_QUOTA_DQACQ;
+/* MDS hsm formats */
+extern struct req_format RQF_MDS_HSM_STATE_GET;
+extern struct req_format RQF_MDS_HSM_STATE_SET;
+extern struct req_format RQF_MDS_HSM_PROGRESS;
+extern struct req_format RQF_MDS_HSM_CT_REGISTER;
+extern struct req_format RQF_MDS_HSM_CT_UNREGISTER;
 /* OST req_format */
 extern struct req_format RQF_OST_CONNECT;
 extern struct req_format RQF_OST_DISCONNECT;
@@ -272,6 +278,10 @@ extern struct req_msg_field RMF_OBD_QUOTACHECK;
 extern struct req_msg_field RMF_OBD_QUOTACTL;
 extern struct req_msg_field RMF_QUOTA_BODY;
 extern struct req_msg_field RMF_STRING;
+extern struct req_msg_field RMF_MDS_HSM_PROGRESS;
+extern struct req_msg_field RMF_MDS_HSM_REQUEST;
+extern struct req_msg_field RMF_MDS_HSM_USER_ITEM;
+extern struct req_msg_field RMF_MDS_HSM_ARCHIVE;
 
 /* seq-mgr fields */
 extern struct req_msg_field RMF_SEQ_OPC;
index c99152d..e59a41b 100644 (file)
@@ -233,6 +233,12 @@ int obd_alloc_fail(const void *ptr, const char *name, const char *type,
 #define OBD_FAIL_MDS_PDO_LOCK2           0x146
 #define OBD_FAIL_MDS_OSC_CREATE_FAIL     0x147
 #define OBD_FAIL_MDS_NEGATIVE_POSITIVE  0x148
+#define OBD_FAIL_MDS_HSM_STATE_GET_NET         0x149
+#define OBD_FAIL_MDS_HSM_STATE_SET_NET         0x14a
+#define OBD_FAIL_MDS_HSM_PROGRESS_NET          0x14b
+#define OBD_FAIL_MDS_HSM_REQUEST_NET           0x14c
+#define OBD_FAIL_MDS_HSM_CT_REGISTER_NET       0x14d
+#define OBD_FAIL_MDS_HSM_CT_UNREGISTER_NET     0x14e
 
 /* layout lock */
 #define OBD_FAIL_MDS_NO_LL_GETATTR      0x170
index 590ce5f..1fef702 100644 (file)
@@ -860,6 +860,176 @@ int ll_get_mdt_idx(struct inode *inode)
         return mdtidx;
 }
 
+/**
+ * Generic handler to do any pre-copy work.
+ *
+ * It send a first hsm_progress (with extent length == 0) to coordinator as a
+ * first information for it that real work has started.
+ *
+ * Moreover, for a ARCHIVE request, it will sample the file data version and
+ * store it in \a copy.
+ *
+ * \return 0 on success.
+ */
+static int ll_ioc_copy_start(struct super_block *sb, struct hsm_copy *copy)
+{
+       struct ll_sb_info               *sbi = ll_s2sbi(sb);
+       struct hsm_progress_kernel       hpk;
+       int                              rc;
+       ENTRY;
+
+       /* Forge a hsm_progress based on data from copy. */
+       hpk.hpk_fid = copy->hc_hai.hai_fid;
+       hpk.hpk_cookie = copy->hc_hai.hai_cookie;
+       hpk.hpk_extent.offset = copy->hc_hai.hai_extent.offset;
+       hpk.hpk_extent.length = 0;
+       hpk.hpk_flags = 0;
+       hpk.hpk_errval = 0;
+       hpk.hpk_data_version = 0;
+
+
+       /* For archive request, we need to read the current file version. */
+       if (copy->hc_hai.hai_action == HSMA_ARCHIVE) {
+               struct inode    *inode;
+               __u64            data_version = 0;
+
+               /* Get inode for this fid */
+               inode = search_inode_for_lustre(sb, &copy->hc_hai.hai_fid);
+               if (IS_ERR(inode)) {
+                       hpk.hpk_flags |= HP_FLAG_RETRY;
+                       /* hpk_errval is >= 0 */
+                       hpk.hpk_errval = -PTR_ERR(inode);
+                       GOTO(progress, rc = PTR_ERR(inode));
+               }
+
+               /* Read current file data version */
+               rc = ll_data_version(inode, &data_version, 1);
+               iput(inode);
+               if (rc != 0) {
+                       CDEBUG(D_HSM, "Could not read file data version of "
+                                     DFID" (rc = %d). Archive request ("
+                                     LPX64") could not be done.\n",
+                                     PFID(&copy->hc_hai.hai_fid), rc,
+                                     copy->hc_hai.hai_cookie);
+                       hpk.hpk_flags |= HP_FLAG_RETRY;
+                       /* hpk_errval must be >= 0 */
+                       hpk.hpk_errval = -rc;
+                       GOTO(progress, rc);
+               }
+
+               /* Store it the hsm_copy for later copytool use.
+                * Always modified even if no lsm. */
+               copy->hc_data_version = data_version;
+       }
+
+progress:
+       rc = obd_iocontrol(LL_IOC_HSM_PROGRESS, sbi->ll_md_exp, sizeof(hpk),
+                          &hpk, NULL);
+
+       RETURN(rc);
+}
+
+/**
+ * Generic handler to do any post-copy work.
+ *
+ * It will send the last hsm_progress update to coordinator to inform it
+ * that copy is finished and whether it was successful or not.
+ *
+ * Moreover,
+ * - for ARCHIVE request, it will sample the file data version and compare it
+ *   with the version saved in ll_ioc_copy_start(). If they do not match, copy
+ *   will be considered as failed.
+ * - for RESTORE request, it will sample the file data version and send it to
+ *   coordinator which is useful if the file was imported as 'released'.
+ *
+ * \return 0 on success.
+ */
+static int ll_ioc_copy_end(struct super_block *sb, struct hsm_copy *copy)
+{
+       struct ll_sb_info               *sbi = ll_s2sbi(sb);
+       struct hsm_progress_kernel       hpk;
+       int                              rc;
+       ENTRY;
+
+       /* If you modify the logic here, also check llapi_hsm_copy_end(). */
+       /* Take care: copy->hc_hai.hai_action, len, gid and data are not
+        * initialized if copy_end was called with copy == NULL.
+        */
+
+       /* Forge a hsm_progress based on data from copy. */
+       hpk.hpk_fid = copy->hc_hai.hai_fid;
+       hpk.hpk_cookie = copy->hc_hai.hai_cookie;
+       hpk.hpk_extent = copy->hc_hai.hai_extent;
+       hpk.hpk_flags = copy->hc_flags | HP_FLAG_COMPLETED;
+       hpk.hpk_errval = copy->hc_errval;
+       hpk.hpk_data_version = 0;
+
+       /* For archive request, we need to check the file data was not changed.
+        *
+        * For restore request, we need to send the file data version, this is
+        * useful when the file was created using hsm_import.
+        */
+       if (((copy->hc_hai.hai_action == HSMA_ARCHIVE) ||
+            (copy->hc_hai.hai_action == HSMA_RESTORE)) &&
+           (copy->hc_errval == 0)) {
+               struct inode    *inode;
+               __u64            data_version = 0;
+
+               /* Get lsm for this fid */
+               inode = search_inode_for_lustre(sb, &copy->hc_hai.hai_fid);
+               if (IS_ERR(inode)) {
+                       hpk.hpk_flags |= HP_FLAG_RETRY;
+                       /* hpk_errval must be >= 0 */
+                       hpk.hpk_errval = -PTR_ERR(inode);
+                       GOTO(progress, rc = PTR_ERR(inode));
+               }
+
+               rc = ll_data_version(inode, &data_version,
+                                    copy->hc_hai.hai_action == HSMA_ARCHIVE);
+               iput(inode);
+               if (rc) {
+                       CDEBUG(D_HSM, "Could not read file data version. "
+                                     "Request could not be confirmed.\n");
+                       if (hpk.hpk_errval == 0)
+                               hpk.hpk_errval = rc;
+                       GOTO(progress, rc);
+               }
+
+               /* Store it the hsm_copy for later copytool use.
+                * Always modified even if no lsm. */
+               hpk.hpk_data_version = data_version;
+
+               /* File could have been stripped during archiving, so we need
+                * to check anyway. */
+               if ((copy->hc_hai.hai_action == HSMA_ARCHIVE) &&
+                   (copy->hc_data_version != data_version)) {
+                       CDEBUG(D_HSM, "File data version mismatched. "
+                             "File content was changed during archiving. "
+                              DFID", start:"LPX64" current:"LPX64"\n",
+                              PFID(&copy->hc_hai.hai_fid),
+                              copy->hc_data_version, data_version);
+                       /* File was changed, send error to cdt. Do not ask for
+                        * retry because if a file is modified frequently,
+                        * the cdt will loop on retried archive requests.
+                        * The policy engine will ask for a new archive later
+                        * when the file will not be modified for some tunable
+                        * time */
+                       /* we do not notify caller */
+                       hpk.hpk_flags &= ~HP_FLAG_RETRY;
+                       /* hpk_errval must be >= 0 */
+                       hpk.hpk_errval = EBUSY;
+               }
+
+       }
+
+progress:
+       rc = obd_iocontrol(LL_IOC_HSM_PROGRESS, sbi->ll_md_exp, sizeof(hpk),
+                          &hpk, NULL);
+
+       RETURN(rc);
+}
+
+
 static int copy_and_ioctl(int cmd, struct obd_export *exp, void *data, int len)
 {
         void *ptr;
@@ -1460,14 +1630,74 @@ out_free:
                 RETURN(rc);
         case OBD_IOC_FID2PATH:
                RETURN(ll_fid2path(inode, (void *)arg));
-        case LL_IOC_HSM_CT_START:
-                rc = copy_and_ioctl(cmd, sbi->ll_md_exp, (void *)arg,
-                                    sizeof(struct lustre_kernelcomm));
-                RETURN(rc);
+       case LL_IOC_HSM_PROGRESS: {
+               struct hsm_progress_kernel      hpk;
+               struct hsm_progress             hp;
+
+               if (cfs_copy_from_user(&hp, (void *)arg, sizeof(hp)))
+                       RETURN(-EFAULT);
+
+               hpk.hpk_fid = hp.hp_fid;
+               hpk.hpk_cookie = hp.hp_cookie;
+               hpk.hpk_extent = hp.hp_extent;
+               hpk.hpk_flags = hp.hp_flags;
+               hpk.hpk_errval = hp.hp_errval;
+               hpk.hpk_data_version = 0;
+
+               /* File may not exist in Lustre; all progress
+                * reported to Lustre root */
+               rc = obd_iocontrol(cmd, sbi->ll_md_exp, sizeof(hpk), &hpk,
+                                  NULL);
+               RETURN(rc);
+       }
+       case LL_IOC_HSM_CT_START:
+               rc = copy_and_ioctl(cmd, sbi->ll_md_exp, (void *)arg,
+                                   sizeof(struct lustre_kernelcomm));
+               RETURN(rc);
+
+       case LL_IOC_HSM_COPY_START: {
+               struct hsm_copy *copy;
+               int              rc;
+
+               OBD_ALLOC_PTR(copy);
+               if (copy == NULL)
+                       RETURN(-ENOMEM);
+               if (cfs_copy_from_user(copy, (char *)arg, sizeof(*copy))) {
+                       OBD_FREE_PTR(copy);
+                       RETURN(-EFAULT);
+               }
+
+               rc = ll_ioc_copy_start(inode->i_sb, copy);
+               if (cfs_copy_to_user((char *)arg, copy, sizeof(*copy)))
+                       rc = -EFAULT;
+
+               OBD_FREE_PTR(copy);
+               RETURN(rc);
+       }
+       case LL_IOC_HSM_COPY_END: {
+               struct hsm_copy *copy;
+               int              rc;
+
+               OBD_ALLOC_PTR(copy);
+               if (copy == NULL)
+                       RETURN(-ENOMEM);
+               if (cfs_copy_from_user(copy, (char *)arg, sizeof(*copy))) {
+                       OBD_FREE_PTR(copy);
+                       RETURN(-EFAULT);
+               }
+
+               rc = ll_ioc_copy_end(inode->i_sb, copy);
+               if (cfs_copy_to_user((char *)arg, copy, sizeof(*copy)))
+                       rc = -EFAULT;
+
+               OBD_FREE_PTR(copy);
+               RETURN(rc);
+       }
 
-        default:
-                RETURN(obd_iocontrol(cmd, sbi->ll_dt_exp,0,NULL,(void *)arg));
-        }
+       default:
+               RETURN(obd_iocontrol(cmd, sbi->ll_dt_exp, 0, NULL,
+                                    (void *)arg));
+       }
 }
 
 static loff_t ll_dir_seek(struct file *file, loff_t offset, int origin)
index 31a5cd4..39a9edd 100644 (file)
@@ -1795,40 +1795,40 @@ error:
  * Version is computed using server side locking.
  *
  * @param extent_lock  Take extent lock. Not needed if a process is already
- *                     holding the OST object group locks.
+ *                    holding the OST object group locks.
  */
-static int ll_data_version(struct inode *inode, __u64 *data_version,
-                           int extent_lock)
+int ll_data_version(struct inode *inode, __u64 *data_version,
+                   int extent_lock)
 {
-       struct lov_stripe_md *lsm = NULL;
-       struct ll_sb_info    *sbi = ll_i2sbi(inode);
-       struct obdo          *obdo = NULL;
-       int                   rc;
+       struct lov_stripe_md    *lsm = NULL;
+       struct ll_sb_info       *sbi = ll_i2sbi(inode);
+       struct obdo             *obdo = NULL;
+       int                      rc;
        ENTRY;
 
        /* If no stripe, we consider version is 0. */
        lsm = ccc_inode_lsm_get(inode);
        if (lsm == NULL) {
-                *data_version = 0;
-                CDEBUG(D_INODE, "No object for inode\n");
-                RETURN(0);
-        }
+               *data_version = 0;
+               CDEBUG(D_INODE, "No object for inode\n");
+               RETURN(0);
+       }
 
-        OBD_ALLOC_PTR(obdo);
+       OBD_ALLOC_PTR(obdo);
        if (obdo == NULL) {
                ccc_inode_lsm_put(inode, lsm);
                RETURN(-ENOMEM);
        }
 
-        rc = ll_lsm_getattr(lsm, sbi->ll_dt_exp, NULL, obdo, 0, extent_lock);
-        if (!rc) {
-                if (!(obdo->o_valid & OBD_MD_FLDATAVERSION))
-                        rc = -EOPNOTSUPP;
-                else
-                        *data_version = obdo->o_data_version;
-        }
+       rc = ll_lsm_getattr(lsm, sbi->ll_dt_exp, NULL, obdo, 0, extent_lock);
+       if (!rc) {
+               if (!(obdo->o_valid & OBD_MD_FLDATAVERSION))
+                       rc = -EOPNOTSUPP;
+               else
+                       *data_version = obdo->o_data_version;
+       }
 
-        OBD_FREE_PTR(obdo);
+       OBD_FREE_PTR(obdo);
        ccc_inode_lsm_put(inode, lsm);
 
        RETURN(rc);
index 2e925f6..cc03923 100644 (file)
@@ -784,6 +784,7 @@ int ll_merge_lvb(struct inode *inode);
 int ll_get_grouplock(struct inode *inode, struct file *file, unsigned long arg);
 int ll_put_grouplock(struct inode *inode, struct file *file, unsigned long arg);
 int ll_fid2path(struct inode *inode, void *arg);
+int ll_data_version(struct inode *inode, __u64 *data_version, int extent_lock);
 
 /* llite/dcache.c */
 
@@ -855,6 +856,8 @@ char *ll_get_fsname(struct super_block *sb, char *buf, int buflen);
 /* llite/llite_nfs.c */
 extern struct export_operations lustre_export_operations;
 __u32 get_uuid2int(const char *name, int len);
+struct inode *search_inode_for_lustre(struct super_block *sb,
+                                     const struct lu_fid *fid);
 
 /* llite/special.c */
 extern struct inode_operations ll_special_inode_operations;
index eeb24a5..0bf7265 100644 (file)
@@ -66,8 +66,8 @@ static int ll_nfs_test_inode(struct inode *inode, void *opaque)
                          (struct lu_fid *)opaque);
 }
 
-static struct inode *search_inode_for_lustre(struct super_block *sb,
-                                             const struct lu_fid *fid)
+struct inode *search_inode_for_lustre(struct super_block *sb,
+                                     const struct lu_fid *fid)
 {
         struct ll_sb_info     *sbi = ll_s2sbi(sb);
         struct ptlrpc_request *req = NULL;
index e40afc1..509fd59 100644 (file)
@@ -78,61 +78,63 @@ static int mdc_wr_max_rpcs_in_flight(struct file *file, const char *buffer,
 
 /* temporary for testing */
 static int mdc_wr_kuc(struct file *file, const char *buffer,
-                      unsigned long count, void *data)
+                     unsigned long count, void *data)
 {
-        struct obd_device *obd = data;
-        struct kuc_hdr *lh;
-        struct hsm_action_list *hal;
-        struct hsm_action_item *hai;
-        int len;
-        int fd, rc;
-
-        rc = lprocfs_write_helper(buffer, count, &fd);
-        if (rc)
-                return rc;
-
-        if (fd < 0)
-                return -ERANGE;
-        CWARN("message to fd %d\n", fd);
-
-        len = sizeof(*lh) + sizeof(*hal) + MTI_NAME_MAXLEN +
-                /* for mockup below */ 2 * cfs_size_round(sizeof(*hai));
-
-        OBD_ALLOC(lh, len);
-
-        lh->kuc_magic = KUC_MAGIC;
-        lh->kuc_transport = KUC_TRANSPORT_HSM;
-        lh->kuc_msgtype = HMT_ACTION_LIST;
-        lh->kuc_msglen = len;
-
-        hal = (struct hsm_action_list *)(lh + 1);
-        hal->hal_version = HAL_VERSION;
-        hal->hal_archive_num = 1;
-        obd_uuid2fsname(hal->hal_fsname, obd->obd_name, MTI_NAME_MAXLEN);
-
-        /* mock up an action list */
-        hal->hal_count = 2;
-        hai = hai_zero(hal);
-        hai->hai_action = HSMA_ARCHIVE;
-        hai->hai_fid.f_oid = 5;
-        hai->hai_len = sizeof(*hai);
-        hai = hai_next(hai);
-        hai->hai_action = HSMA_RESTORE;
-        hai->hai_fid.f_oid = 10;
-        hai->hai_len = sizeof(*hai);
-
-        /* This works for either broadcast or unicast to a single fd */
-        if (fd == 0) {
-                rc = libcfs_kkuc_group_put(KUC_GRP_HSM, lh);
-        } else {
-                cfs_file_t *fp = cfs_get_fd(fd);
-                rc = libcfs_kkuc_msg_put(fp, lh);
-                cfs_put_file(fp);
-        }
-        OBD_FREE(lh, len);
-        if (rc < 0)
-                return rc;
-        return count;
+       struct obd_device       *obd = data;
+       struct kuc_hdr          *lh;
+       struct hsm_action_list  *hal;
+       struct hsm_action_item  *hai;
+       int                      len;
+       int                      fd, rc;
+       ENTRY;
+
+       rc = lprocfs_write_helper(buffer, count, &fd);
+       if (rc)
+               RETURN(rc);
+
+       if (fd < 0)
+               RETURN(-ERANGE);
+       CWARN("message to fd %d\n", fd);
+
+       len = sizeof(*lh) + sizeof(*hal) + MTI_NAME_MAXLEN +
+               /* for mockup below */ 2 * cfs_size_round(sizeof(*hai));
+
+       OBD_ALLOC(lh, len);
+
+       lh->kuc_magic = KUC_MAGIC;
+       lh->kuc_transport = KUC_TRANSPORT_HSM;
+       lh->kuc_msgtype = HMT_ACTION_LIST;
+       lh->kuc_msglen = len;
+
+       hal = (struct hsm_action_list *)(lh + 1);
+       hal->hal_version = HAL_VERSION;
+       hal->hal_archive_num = 1;
+       hal->hal_flags = 0;
+       obd_uuid2fsname(hal->hal_fsname, obd->obd_name, MTI_NAME_MAXLEN);
+
+       /* mock up an action list */
+       hal->hal_count = 2;
+       hai = hai_zero(hal);
+       hai->hai_action = HSMA_ARCHIVE;
+       hai->hai_fid.f_oid = 5;
+       hai->hai_len = sizeof(*hai);
+       hai = hai_next(hai);
+       hai->hai_action = HSMA_RESTORE;
+       hai->hai_fid.f_oid = 10;
+       hai->hai_len = sizeof(*hai);
+
+       /* This works for either broadcast or unicast to a single fd */
+       if (fd == 0) {
+               rc = libcfs_kkuc_group_put(KUC_GRP_HSM, lh);
+       } else {
+               cfs_file_t *fp = cfs_get_fd(fd);
+               rc = libcfs_kkuc_msg_put(fp, lh);
+               cfs_put_file(fp);
+       }
+       OBD_FREE(lh, len);
+       if (rc < 0)
+               RETURN(rc);
+       RETURN(count);
 }
 
 static struct lprocfs_vars lprocfs_mdc_obd_vars[] = {
index 54a8434..a76f279 100644 (file)
@@ -1197,6 +1197,83 @@ out:
         return rc;
 }
 
+static int mdc_ioc_hsm_progress(struct obd_export *exp,
+                               struct hsm_progress_kernel *hpk)
+{
+       struct obd_import               *imp = class_exp2cliimp(exp);
+       struct hsm_progress_kernel      *req_hpk;
+       struct ptlrpc_request           *req;
+       int                              rc;
+       ENTRY;
+
+       req = ptlrpc_request_alloc_pack(imp, &RQF_MDS_HSM_PROGRESS,
+                                       LUSTRE_MDS_VERSION, MDS_HSM_PROGRESS);
+       if (req == NULL)
+               GOTO(out, rc = -ENOMEM);
+
+       /* Copy hsm_progress struct */
+       req_hpk = req_capsule_client_get(&req->rq_pill, &RMF_MDS_HSM_PROGRESS);
+       LASSERT(req_hpk);
+       *req_hpk = *hpk;
+
+       ptlrpc_request_set_replen(req);
+
+       rc = ptlrpc_queue_wait(req);
+       GOTO(out, rc);
+out:
+       ptlrpc_req_finished(req);
+       return rc;
+}
+
+static int mdc_ioc_hsm_ct_register(struct obd_import *imp, __u32 archives)
+{
+       __u32                   *archive_mask;
+       struct ptlrpc_request   *req;
+       int                      rc;
+       ENTRY;
+
+       req = ptlrpc_request_alloc_pack(imp, &RQF_MDS_HSM_CT_REGISTER,
+                                       LUSTRE_MDS_VERSION,
+                                       MDS_HSM_CT_REGISTER);
+       if (req == NULL)
+               GOTO(out, rc = -ENOMEM);
+
+       /* Copy hsm_progress struct */
+       archive_mask = req_capsule_client_get(&req->rq_pill,
+                                             &RMF_MDS_HSM_ARCHIVE);
+       LASSERT(archive_mask);
+       *archive_mask = archives;
+
+       ptlrpc_request_set_replen(req);
+
+       rc = ptlrpc_queue_wait(req);
+       GOTO(out, rc);
+out:
+       ptlrpc_req_finished(req);
+       return rc;
+}
+
+static int mdc_ioc_hsm_ct_unregister(struct obd_import *imp)
+{
+       struct ptlrpc_request   *req;
+       int                      rc;
+       ENTRY;
+
+       req = ptlrpc_request_alloc_pack(imp, &RQF_MDS_HSM_CT_UNREGISTER,
+                                       LUSTRE_MDS_VERSION,
+                                       MDS_HSM_CT_UNREGISTER);
+       if (req == NULL)
+               GOTO(out, rc = -ENOMEM);
+
+       ptlrpc_request_set_replen(req);
+
+       rc = ptlrpc_queue_wait(req);
+       GOTO(out, rc);
+out:
+       ptlrpc_req_finished(req);
+       return rc;
+}
+
 static struct kuc_hdr *changelog_kuc_hdr(char *buf, int len, int flags)
 {
         struct kuc_hdr *lh = (struct kuc_hdr *)buf;
@@ -1457,9 +1534,6 @@ static int mdc_iocontrol(unsigned int cmd, struct obd_export *exp, int len,
                 return -EINVAL;
         }
         switch (cmd) {
-        case LL_IOC_HSM_CT_START:
-                rc = mdc_ioc_hsm_ct_start(exp, karg);
-                GOTO(out, rc);
         case OBD_IOC_CHANGELOG_SEND:
                 rc = mdc_ioc_changelog_send(obd, karg);
                 GOTO(out, rc);
@@ -1472,10 +1546,15 @@ static int mdc_iocontrol(unsigned int cmd, struct obd_export *exp, int len,
                                         NULL);
                 GOTO(out, rc);
         }
-        case OBD_IOC_FID2PATH: {
-                rc = mdc_ioc_fid2path(exp, karg);
-                GOTO(out, rc);
-        }
+       case OBD_IOC_FID2PATH:
+               rc = mdc_ioc_fid2path(exp, karg);
+               GOTO(out, rc);
+       case LL_IOC_HSM_CT_START:
+               rc = mdc_ioc_hsm_ct_start(exp, karg);
+               GOTO(out, rc);
+       case LL_IOC_HSM_PROGRESS:
+               rc = mdc_ioc_hsm_progress(exp, karg);
+               GOTO(out, rc);
         case OBD_IOC_CLIENT_RECOVER:
                 rc = ptlrpc_recover_import(imp, data->ioc_inlbuf1, 0);
                 if (rc < 0)
@@ -1624,28 +1703,30 @@ int mdc_get_info_rpc(struct obd_export *exp,
 
 static void lustre_swab_hai(struct hsm_action_item *h)
 {
-        __swab32s(&h->hai_len);
-        __swab32s(&h->hai_action);
-        lustre_swab_lu_fid(&h->hai_fid);
-        __swab64s(&h->hai_cookie);
-        __swab64s(&h->hai_extent.offset);
-        __swab64s(&h->hai_extent.length);
-        __swab64s(&h->hai_gid);
+       __swab32s(&h->hai_len);
+       __swab32s(&h->hai_action);
+       lustre_swab_lu_fid(&h->hai_fid);
+       lustre_swab_lu_fid(&h->hai_dfid);
+       __swab64s(&h->hai_cookie);
+       __swab64s(&h->hai_extent.offset);
+       __swab64s(&h->hai_extent.length);
+       __swab64s(&h->hai_gid);
 }
 
 static void lustre_swab_hal(struct hsm_action_list *h)
 {
-        struct hsm_action_item *hai;
-        int i;
-
-        __swab32s(&h->hal_version);
-        __swab32s(&h->hal_count);
-        __swab32s(&h->hal_archive_num);
-        hai = hai_zero(h);
-        for (i = 0; i < h->hal_count; i++) {
-                lustre_swab_hai(hai);
-                hai = hai_next(hai);
-        }
+       struct hsm_action_item  *hai;
+       int                      i;
+
+       __swab32s(&h->hal_version);
+       __swab32s(&h->hal_count);
+       __swab32s(&h->hal_archive_num);
+       __swab64s(&h->hal_flags);
+       hai = hai_zero(h);
+       for (i = 0; i < h->hal_count; i++) {
+               lustre_swab_hai(hai);
+               hai = hai_next(hai);
+       }
 }
 
 static void lustre_swab_kuch(struct kuc_hdr *l)
@@ -1657,33 +1738,36 @@ static void lustre_swab_kuch(struct kuc_hdr *l)
 }
 
 static int mdc_ioc_hsm_ct_start(struct obd_export *exp,
-                                struct lustre_kernelcomm *lk)
+                               struct lustre_kernelcomm *lk)
 {
-        int rc = 0;
+       struct obd_import  *imp = class_exp2cliimp(exp);
+       __u32               archive = lk->lk_data;
+       int                 rc = 0;
 
-        if (lk->lk_group != KUC_GRP_HSM) {
-                CERROR("Bad copytool group %d\n", lk->lk_group);
-                return -EINVAL;
-        }
-
-        CDEBUG(D_HSM, "CT start r%d w%d u%d g%d f%#x\n", lk->lk_rfd, lk->lk_wfd,
-               lk->lk_uid, lk->lk_group, lk->lk_flags);
-
-        if (lk->lk_flags & LK_FLG_STOP)
-                rc = libcfs_kkuc_group_rem(lk->lk_uid,lk->lk_group);
-        else {
-                cfs_file_t *fp = cfs_get_fd(lk->lk_wfd);
-                rc = libcfs_kkuc_group_add(fp, lk->lk_uid,lk->lk_group,
-                                           lk->lk_data);
-                if (rc && fp)
-                        cfs_put_file(fp);
-        }
+       if (lk->lk_group != KUC_GRP_HSM) {
+               CERROR("Bad copytool group %d\n", lk->lk_group);
+               return -EINVAL;
+       }
 
-        /* lk_data is archive number mask */
-        /* TODO: register archive num with mdt so coordinator can choose
-           correct agent. */
+       CDEBUG(D_HSM, "CT start r%d w%d u%d g%d f%#x\n", lk->lk_rfd, lk->lk_wfd,
+              lk->lk_uid, lk->lk_group, lk->lk_flags);
+
+       if (lk->lk_flags & LK_FLG_STOP) {
+               rc = libcfs_kkuc_group_rem(lk->lk_uid, lk->lk_group);
+               /* Unregister with the coordinator */
+               if (rc == 0)
+                       rc = mdc_ioc_hsm_ct_unregister(imp);
+       } else {
+               cfs_file_t *fp = cfs_get_fd(lk->lk_wfd);
+               rc = libcfs_kkuc_group_add(fp, lk->lk_uid, lk->lk_group,
+                                          lk->lk_data);
+               if (rc && fp)
+                       cfs_put_file(fp);
+               if (rc == 0)
+                       rc = mdc_ioc_hsm_ct_register(imp, archive);
+       }
 
-        return rc;
+       return rc;
 }
 
 /**
@@ -1693,47 +1777,79 @@ static int mdc_ioc_hsm_ct_start(struct obd_export *exp,
  */
 static int mdc_hsm_copytool_send(int len, void *val)
 {
-        struct kuc_hdr *lh = (struct kuc_hdr *)val;
-        struct hsm_action_list *hal = (struct hsm_action_list *)(lh + 1);
-        int rc;
-        ENTRY;
+       struct kuc_hdr          *lh = (struct kuc_hdr *)val;
+       struct hsm_action_list  *hal = (struct hsm_action_list *)(lh + 1);
+       int                      rc;
+       ENTRY;
 
-        if (len < sizeof(*lh) + sizeof(*hal)) {
-                CERROR("Short HSM message %d < %d\n", len,
-                      (int) (sizeof(*lh) + sizeof(*hal)));
-                RETURN(-EPROTO);
-        }
-        if (lh->kuc_magic == __swab16(KUC_MAGIC)) {
-                lustre_swab_kuch(lh);
-                lustre_swab_hal(hal);
-        } else if (lh->kuc_magic != KUC_MAGIC) {
-                CERROR("Bad magic %x!=%x\n", lh->kuc_magic, KUC_MAGIC);
-                RETURN(-EPROTO);
-        }
+       if (len < sizeof(*lh) + sizeof(*hal)) {
+               CERROR("Short HSM message %d < %d\n", len,
+                      (int) (sizeof(*lh) + sizeof(*hal)));
+               RETURN(-EPROTO);
+       }
+       if (lh->kuc_magic == __swab16(KUC_MAGIC)) {
+               lustre_swab_kuch(lh);
+               lustre_swab_hal(hal);
+       } else if (lh->kuc_magic != KUC_MAGIC) {
+               CERROR("Bad magic %x!=%x\n", lh->kuc_magic, KUC_MAGIC);
+               RETURN(-EPROTO);
+       }
 
-        CDEBUG(D_HSM, " Received message mg=%x t=%d m=%d l=%d actions=%d\n",
-               lh->kuc_magic, lh->kuc_transport, lh->kuc_msgtype,
-               lh->kuc_msglen, hal->hal_count);
+       CDEBUG(D_HSM, " Received message mg=%x t=%d m=%d l=%d actions=%d "
+              "on %s\n",
+              lh->kuc_magic, lh->kuc_transport, lh->kuc_msgtype,
+              lh->kuc_msglen, hal->hal_count, hal->hal_fsname);
 
-        /* Broadcast to HSM listeners */
-        rc = libcfs_kkuc_group_put(KUC_GRP_HSM, lh);
+       /* Broadcast to HSM listeners */
+       rc = libcfs_kkuc_group_put(KUC_GRP_HSM, lh);
 
-        RETURN(rc);
+       RETURN(rc);
+}
+
+/**
+ * callback function passed to kuc for re-registering each HSM copytool
+ * running on MDC, after MDT shutdown/recovery.
+ * @param data archive id served by the copytool
+ * @param cb_arg callback argument (obd_import)
+ */
+static int mdc_hsm_ct_reregister(__u32 data, void *cb_arg)
+{
+       struct obd_import       *imp = (struct obd_import *)cb_arg;
+       __u32                    archive = data;
+       int                      rc;
+
+       CDEBUG(D_HA, "recover copytool registration to MDT (archive=%#x)\n",
+              archive);
+       rc = mdc_ioc_hsm_ct_register(imp, archive);
+
+       /* ignore error if the copytool is already registered */
+       return ((rc != 0) && (rc != -EEXIST)) ? rc : 0;
+}
+
+/**
+ * Re-establish all kuc contexts with MDT
+ * after MDT shutdown/recovery.
+ */
+static int mdc_kuc_reregister(struct obd_import *imp)
+{
+       /* re-register HSM agents */
+       return libcfs_kkuc_group_foreach(KUC_GRP_HSM, mdc_hsm_ct_reregister,
+                                        (void *)imp);
 }
 
 int mdc_set_info_async(const struct lu_env *env,
-                       struct obd_export *exp,
-                       obd_count keylen, void *key,
-                       obd_count vallen, void *val,
-                       struct ptlrpc_request_set *set)
+                      struct obd_export *exp,
+                      obd_count keylen, void *key,
+                      obd_count vallen, void *val,
+                      struct ptlrpc_request_set *set)
 {
-        struct obd_import *imp = class_exp2cliimp(exp);
-        int                rc = -EINVAL;
-        ENTRY;
+       struct obd_import       *imp = class_exp2cliimp(exp);
+       int                      rc;
+       ENTRY;
 
-        if (KEY_IS(KEY_READ_ONLY)) {
-                if (vallen != sizeof(int))
-                        RETURN(-EINVAL);
+       if (KEY_IS(KEY_READ_ONLY)) {
+               if (vallen != sizeof(int))
+                       RETURN(-EINVAL);
 
                spin_lock(&imp->imp_lock);
                if (*((int *)val)) {
@@ -1778,7 +1894,8 @@ int mdc_set_info_async(const struct lu_env *env,
                 RETURN(rc);
         }
 
-        RETURN(rc);
+       CERROR("Unknown key %s\n", (char *)key);
+       RETURN(-EINVAL);
 }
 
 int mdc_get_info(const struct lu_env *env, struct obd_export *exp,
@@ -1970,10 +2087,12 @@ static int mdc_import_event(struct obd_device *obd, struct obd_import *imp,
 
                 break;
         }
-        case IMP_EVENT_ACTIVE: {
-                rc = obd_notify_observer(obd, obd, OBD_NOTIFY_ACTIVE, NULL);
-                break;
-        }
+       case IMP_EVENT_ACTIVE:
+               rc = obd_notify_observer(obd, obd, OBD_NOTIFY_ACTIVE, NULL);
+               /* restore re-establish kuc registration after reconnecting */
+               if (rc == 0)
+                       rc = mdc_kuc_reregister(imp);
+               break;
         case IMP_EVENT_OCD:
                 rc = obd_notify_observer(obd, obd, OBD_NOTIFY_OCD, NULL);
                 break;
index 7d5f6cb..8132a6a 100644 (file)
@@ -3100,6 +3100,10 @@ static int mdt_msg_check_version(struct lustre_msg *msg)
         case MDS_SETXATTR:
         case MDS_SET_INFO:
         case MDS_GET_INFO:
+       case MDS_HSM_PROGRESS:
+       case MDS_HSM_REQUEST:
+       case MDS_HSM_CT_REGISTER:
+       case MDS_HSM_CT_UNREGISTER:
         case MDS_QUOTACHECK:
         case MDS_QUOTACTL:
         case QUOTA_DQACQ:
@@ -5625,63 +5629,6 @@ int mdt_obd_postrecov(struct obd_device *obd)
         return rc;
 }
 
-/**
- * Send a copytool req to a client
- * Note this sends a request RPC from a server (MDT) to a client (MDC),
- * backwards of normal comms.
- */
-int mdt_hsm_copytool_send(struct obd_export *exp)
-{
-        struct kuc_hdr *lh;
-        struct hsm_action_list *hal;
-        struct hsm_action_item *hai;
-        int rc, len;
-        ENTRY;
-
-        CWARN("%s: writing to mdc at %s\n", exp->exp_obd->obd_name,
-              libcfs_nid2str(exp->exp_connection->c_peer.nid));
-
-        len = sizeof(*lh) + sizeof(*hal) + MTI_NAME_MAXLEN +
-                /* for mockup below */ 2 * cfs_size_round(sizeof(*hai));
-        OBD_ALLOC(lh, len);
-        if (lh == NULL)
-                RETURN(-ENOMEM);
-
-        lh->kuc_magic = KUC_MAGIC;
-        lh->kuc_transport = KUC_TRANSPORT_HSM;
-        lh->kuc_msgtype = HMT_ACTION_LIST;
-        lh->kuc_msglen = len;
-
-        hal = (struct hsm_action_list *)(lh + 1);
-        hal->hal_version = HAL_VERSION;
-        hal->hal_archive_num = 1;
-        obd_uuid2fsname(hal->hal_fsname, exp->exp_obd->obd_name,
-                        MTI_NAME_MAXLEN);
-
-        /* mock up an action list */
-        hal->hal_count = 2;
-        hai = hai_zero(hal);
-        hai->hai_action = HSMA_ARCHIVE;
-        hai->hai_fid.f_oid = 0xA00A;
-        hai->hai_len = sizeof(*hai);
-        hai = hai_next(hai);
-        hai->hai_action = HSMA_RESTORE;
-        hai->hai_fid.f_oid = 0xB00B;
-        hai->hai_len = sizeof(*hai);
-
-        /* Uses the ldlm reverse import; this rpc will be seen by
-          the ldlm_callback_handler */
-        rc = do_set_info_async(exp->exp_imp_reverse,
-                               LDLM_SET_INFO, LUSTRE_OBD_VERSION,
-                               sizeof(KEY_HSM_COPYTOOL_SEND),
-                               KEY_HSM_COPYTOOL_SEND,
-                               len, lh, NULL);
-
-        OBD_FREE(lh, len);
-
-        RETURN(rc);
-}
-
 static struct obd_ops mdt_obd_device_ops = {
         .o_owner          = THIS_MODULE,
         .o_set_info_async = mdt_obd_set_info_async,
index 5eed275..3e23d61 100644 (file)
@@ -7,28 +7,68 @@
  * it under the terms of the GNU General Public License version 2 only,
  * as published by the Free Software Foundation.
  *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License version 2 for more details (a copy is included
- * in the LICENSE file that accompanied this code).
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License version 2 for more details.  A copy is
+ * included in the COPYING file that accompanied this code.
  *
  * You should have received a copy of the GNU General Public License
- * version 2 along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 021110-1307, USA
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  *
  * GPL HEADER END
  */
 /*
  * Copyright (c) 2012, Intel Corporation.
  * Use is subject to license terms.
+ * Copyright (c) 2011, 2012 Commissariat a l'energie atomique et aux energies
+ *                          alternatives
+ */
+/*
+ * lustre/mdt/mdt_hsm.c
+ *
+ * Lustre Metadata Target (mdt) request handler
+ *
+ * Author: Aurelien Degremont <aurelien.degremont@cea.fr>
+ * Author: JC Lafoucriere <jacques-charles.lafoucriere@cea.fr>
  */
 
+#ifndef EXPORT_SYMTAB
+# define EXPORT_SYMTAB
+#endif
 #define DEBUG_SUBSYSTEM S_MDS
 
 #include "mdt_internal.h"
 
+/*
+ * fake functions, will be replace by real one with HSM Coordinator patch
+ */
+
+int mdt_hsm_copytool_send(struct obd_export *exp)
+{
+       return 0;
+}
+
+static int mdt_hsm_coordinator_update(struct mdt_thread_info *info,
+                                     struct hsm_progress_kernel *pgs)
+{
+       return 0;
+}
+
+static int mdt_hsm_agent_register_mask(struct mdt_thread_info *info,
+                                      struct obd_uuid *uuid,
+                                      __u32 archive_mask)
+{
+       return 0;
+}
+
+static int mdt_hsm_agent_unregister(struct mdt_thread_info *info,
+                                   struct obd_uuid *uuid)
+{
+       return 0;
+}
+
 /**
  * Update on-disk HSM attributes.
  */
@@ -54,3 +94,66 @@ int mdt_hsm_attr_set(struct mdt_thread_info *info, struct mdt_object *obj,
 
        RETURN(rc);
 }
+
+/**
+ * Extract information coming from a copytool and asks coordinator to update
+ * a request status depending on the update content.
+ *
+ * Copytools could use this to report failure in their process.
+ *
+ * This is HSM_PROGRESS RPC handler.
+ */
+int mdt_hsm_progress(struct mdt_thread_info *info)
+{
+       struct hsm_progress_kernel      *hpk;
+       int                              rc;
+       ENTRY;
+
+       hpk = req_capsule_client_get(info->mti_pill, &RMF_MDS_HSM_PROGRESS);
+       LASSERT(hpk);
+
+       CDEBUG(D_HSM, "Progress on "DFID": len="LPU64" err=%d\n",
+              PFID(&hpk->hpk_fid), hpk->hpk_extent.length, hpk->hpk_errval);
+
+       if (hpk->hpk_errval)
+               CDEBUG(D_HSM, "Copytool progress on "DFID" failed (%d); %s.\n",
+                      PFID(&hpk->hpk_fid), hpk->hpk_errval,
+                      hpk->hpk_flags & HP_FLAG_RETRY ? "will retry" : "fatal");
+
+       if (hpk->hpk_flags & HP_FLAG_COMPLETED)
+               CDEBUG(D_HSM, "Finished "DFID" (%d) cancel cookie="LPX64"\n",
+                      PFID(&hpk->hpk_fid), hpk->hpk_errval, hpk->hpk_cookie);
+
+       rc = mdt_hsm_coordinator_update(info, hpk);
+
+       RETURN(rc);
+}
+
+int mdt_hsm_ct_register(struct mdt_thread_info *info)
+{
+       struct ptlrpc_request *req = mdt_info_req(info);
+       __u32 *archives;
+       int rc;
+       ENTRY;
+
+       archives = req_capsule_client_get(info->mti_pill, &RMF_MDS_HSM_ARCHIVE);
+       LASSERT(archives);
+
+       /* XXX: directly include this function here? */
+       rc = mdt_hsm_agent_register_mask(info, &req->rq_export->exp_client_uuid,
+                                        *archives);
+
+       RETURN(rc);
+}
+
+int mdt_hsm_ct_unregister(struct mdt_thread_info *info)
+{
+       struct ptlrpc_request *req = mdt_info_req(info);
+       int rc;
+       ENTRY;
+
+       /* XXX: directly include this function here? */
+       rc = mdt_hsm_agent_unregister(info, &req->rq_export->exp_client_uuid);
+
+       RETURN(rc);
+}
index 210eac4..9a4c5c4 100644 (file)
@@ -772,6 +772,11 @@ __u32 mdt_identity_get_perm(struct md_identity *, __u32, lnet_nid_t);
 
 int mdt_pack_remote_perm(struct mdt_thread_info *, struct mdt_object *, void *);
 
+/* mdt/mdt_hsm.c */
+int mdt_hsm_progress(struct mdt_thread_info *info);
+int mdt_hsm_ct_register(struct mdt_thread_info *info);
+int mdt_hsm_ct_unregister(struct mdt_thread_info *info);
+
 extern struct lu_context_key       mdt_thread_key;
 /* debug issues helper starts here*/
 static inline int mdt_fail_write(const struct lu_env *env,
index ac4894b..76fc974 100644 (file)
@@ -141,7 +141,12 @@ DEF_MDT_HDL(0              | HABEO_REFERO, MDS_PIN,          mdt_pin),
 DEF_MDT_HDL_VAR(0,                     MDS_SYNC,         mdt_sync),
 DEF_MDT_HDL(HABEO_CORPUS| HABEO_REFERO,        MDS_IS_SUBDIR,    mdt_is_subdir),
 DEF_MDT_HDL(0,                         MDS_QUOTACHECK,   mdt_quotacheck),
-DEF_MDT_HDL(0,                         MDS_QUOTACTL,     mdt_quotactl)
+DEF_MDT_HDL(0,                         MDS_QUOTACTL,     mdt_quotactl),
+DEF_MDT_HDL(0          | HABEO_REFERO, MDS_HSM_PROGRESS, mdt_hsm_progress),
+DEF_MDT_HDL(0          | HABEO_REFERO, MDS_HSM_CT_REGISTER,
+                                               mdt_hsm_ct_register),
+DEF_MDT_HDL(0          | HABEO_REFERO, MDS_HSM_CT_UNREGISTER,
+                                               mdt_hsm_ct_unregister),
 };
 
 #define DEF_OBD_HDL(flags, name, fn)                                   \
index 14891eb..38f3c29 100644 (file)
@@ -586,6 +586,16 @@ static const struct req_msg_field *ost_get_fiemap_server[] = {
         &RMF_FIEMAP_VAL
 };
 
+static const struct req_msg_field *mdt_hsm_progress[] = {
+       &RMF_PTLRPC_BODY,
+       &RMF_MDS_HSM_PROGRESS,
+};
+
+static const struct req_msg_field *mdt_hsm_ct_register[] = {
+       &RMF_PTLRPC_BODY,
+       &RMF_MDS_HSM_ARCHIVE,
+};
+
 static struct req_format *req_formats[] = {
         &RQF_OBD_PING,
         &RQF_OBD_SET_INFO,
@@ -625,6 +635,9 @@ static struct req_format *req_formats[] = {
         &RQF_MDS_REINT_SETXATTR,
         &RQF_MDS_QUOTACHECK,
         &RQF_MDS_QUOTACTL,
+       &RQF_MDS_HSM_PROGRESS,
+       &RQF_MDS_HSM_CT_REGISTER,
+       &RQF_MDS_HSM_CT_UNREGISTER,
         &RQF_QC_CALLBACK,
         &RQF_OST_CONNECT,
         &RQF_OST_DISCONNECT,
@@ -1004,6 +1017,22 @@ struct req_msg_field RMF_IDX_INFO =
                    lustre_swab_idx_info, NULL);
 EXPORT_SYMBOL(RMF_IDX_INFO);
 
+struct req_msg_field RMF_MDS_HSM_PROGRESS =
+       DEFINE_MSGF("hsm_progress", 0, sizeof(struct hsm_progress_kernel),
+                   lustre_swab_hsm_progress_kernel, NULL);
+EXPORT_SYMBOL(RMF_MDS_HSM_PROGRESS);
+
+struct req_msg_field RMF_MDS_HSM_USER_ITEM =
+       DEFINE_MSGF("hsm_user_item", RMF_F_STRUCT_ARRAY,
+                   sizeof(struct hsm_user_item), lustre_swab_hsm_user_item,
+                   NULL);
+EXPORT_SYMBOL(RMF_MDS_HSM_USER_ITEM);
+
+struct req_msg_field RMF_MDS_HSM_ARCHIVE =
+       DEFINE_MSGF("hsm_archive", 0,
+                   sizeof(__u32), lustre_swab_generic_32s, NULL);
+EXPORT_SYMBOL(RMF_MDS_HSM_ARCHIVE);
+
 /*
  * Request formats.
  */
@@ -1303,6 +1332,18 @@ struct req_format RQF_MDS_READPAGE =
                         mdt_body_capa, mdt_body_only);
 EXPORT_SYMBOL(RQF_MDS_READPAGE);
 
+struct req_format RQF_MDS_HSM_PROGRESS =
+       DEFINE_REQ_FMT0("MDS_HSM_PROGRESS", mdt_hsm_progress, empty);
+EXPORT_SYMBOL(RQF_MDS_HSM_PROGRESS);
+
+struct req_format RQF_MDS_HSM_CT_REGISTER =
+       DEFINE_REQ_FMT0("MDS_HSM_CT_REGISTER", mdt_hsm_ct_register, empty);
+EXPORT_SYMBOL(RQF_MDS_HSM_CT_REGISTER);
+
+struct req_format RQF_MDS_HSM_CT_UNREGISTER =
+       DEFINE_REQ_FMT0("MDS_HSM_CT_UNREGISTER", empty, empty);
+EXPORT_SYMBOL(RQF_MDS_HSM_CT_UNREGISTER);
+
 /* This is for split */
 struct req_format RQF_MDS_WRITEPAGE =
         DEFINE_REQ_FMT0("MDS_WRITEPAGE",
index 69ef3bf..ad4777c 100644 (file)
@@ -94,6 +94,13 @@ struct ll_rpc_opcode {
         { MDS_WRITEPAGE,    "mds_writepage" },
         { MDS_IS_SUBDIR,    "mds_is_subdir" },
         { MDS_GET_INFO,     "mds_get_info" },
+       { MDS_HSM_STATE_GET, "mds_hsm_state_get" },
+       { MDS_HSM_STATE_SET, "mds_hsm_state_set" },
+       { MDS_HSM_ACTION,   "mds_hsm_action" },
+       { MDS_HSM_PROGRESS, "mds_hsm_progress" },
+       { MDS_HSM_REQUEST,  "mds_hsm_request" },
+       { MDS_HSM_CT_REGISTER, "mds_hsm_ct_register" },
+       { MDS_HSM_CT_UNREGISTER, "mds_hsm_ct_unregister" },
         { LDLM_ENQUEUE,     "ldlm_enqueue" },
         { LDLM_CONVERT,     "ldlm_convert" },
         { LDLM_CANCEL,      "ldlm_cancel" },
index c0899b2..12db432 100644 (file)
@@ -2485,33 +2485,18 @@ void lustre_swab_hsm_state(struct hsm_state_set_ioc *hssi)
 }
 EXPORT_SYMBOL(lustre_swab_hsm_state);
 
-void lustre_swab_hsm_user_request(struct hsm_user_request *hur)
+void lustre_swab_hsm_extent(struct hsm_extent *extent)
 {
-        int i;
-
-        __swab32s(&hur->hur_action);
-        __swab32s(&hur->hur_itemcount);
-        __swab32s(&hur->hur_data_len);
-        for (i = 0; i < hur->hur_itemcount; i++) {
-                struct hsm_user_item *hui = &hur->hur_user_item[i];
-                lustre_swab_lu_fid(&hui->hui_fid);
-                __swab64s(&hui->hui_extent.offset);
-                __swab64s(&hui->hui_extent.length);
-        }
-        /* Note: data blob is not swabbed here */
+       __swab64s(&extent->offset);
+       __swab64s(&extent->length);
 }
-EXPORT_SYMBOL(lustre_swab_hsm_user_request);
 
-void lustre_swab_hsm_progress(struct hsm_progress *hp)
+void lustre_swab_hsm_user_item(struct hsm_user_item *hui)
 {
-        lustre_swab_lu_fid(&hp->hp_fid);
-        __swab64s(&hp->hp_cookie);
-        __swab64s(&hp->hp_extent.offset);
-        __swab64s(&hp->hp_extent.length);
-        __swab16s(&hp->hp_flags);
-        __swab16s(&hp->hp_errval);
+       lustre_swab_lu_fid(&hui->hui_fid);
+       lustre_swab_hsm_extent(&hui->hui_extent);
 }
-EXPORT_SYMBOL(lustre_swab_hsm_progress);
+EXPORT_SYMBOL(lustre_swab_hsm_user_item);
 
 void lustre_swab_layout_intent(struct layout_intent *li)
 {
@@ -2521,3 +2506,15 @@ void lustre_swab_layout_intent(struct layout_intent *li)
        __swab64s(&li->li_end);
 }
 EXPORT_SYMBOL(lustre_swab_layout_intent);
+
+void lustre_swab_hsm_progress_kernel(struct hsm_progress_kernel *hpk)
+{
+       lustre_swab_lu_fid(&hpk->hpk_fid);
+       __swab64s(&hpk->hpk_cookie);
+       __swab64s(&hpk->hpk_extent.offset);
+       __swab64s(&hpk->hpk_extent.length);
+       __swab16s(&hpk->hpk_flags);
+       __swab16s(&hpk->hpk_errval);
+}
+EXPORT_SYMBOL(lustre_swab_hsm_progress_kernel);
+
index afa6ae9..bfff3bc 100644 (file)
 #include <lustre_disk.h>
 void lustre_assert_wire_constants(void)
 {
-        /* Wire protocol assertions generated by 'wirecheck'
-         * (make -C lustre/utils newwiretest)
-         * running on Linux centos6-bis 2.6.32-279.2.1.el6-head #0 SMP Thu Aug 9 23:25:09 CEST 2012 x
-         * with gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)  */
+        /* Wire protocol assertions generated by 'wirecheck'
+         * (make -C lustre/utils newwiretest)
+         * running on Linux centos6-bis 2.6.32-279.2.1.el6-head #0 SMP Thu Aug 9 23:25:09 CEST 2012 x
+         * with gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)  */
 
 
-        /* Constants... */
-        LASSERTF(PTL_RPC_MSG_REQUEST == 4711, "found %lld\n",
-                 (long long)PTL_RPC_MSG_REQUEST);
-        LASSERTF(PTL_RPC_MSG_ERR == 4712, "found %lld\n",
-                 (long long)PTL_RPC_MSG_ERR);
-        LASSERTF(PTL_RPC_MSG_REPLY == 4713, "found %lld\n",
-                 (long long)PTL_RPC_MSG_REPLY);
-        LASSERTF(MDS_DIR_END_OFF == 0xfffffffffffffffeULL, "found 0x%.16llxULL\n",
-                 MDS_DIR_END_OFF);
-        LASSERTF(DEAD_HANDLE_MAGIC == 0xdeadbeefcafebabeULL, "found 0x%.16llxULL\n",
-                 DEAD_HANDLE_MAGIC);
-        CLASSERT(MTI_NAME_MAXLEN == 64);
-        LASSERTF(OST_REPLY == 0, "found %lld\n",
-                 (long long)OST_REPLY);
-        LASSERTF(OST_GETATTR == 1, "found %lld\n",
-                 (long long)OST_GETATTR);
-        LASSERTF(OST_SETATTR == 2, "found %lld\n",
-                 (long long)OST_SETATTR);
-        LASSERTF(OST_READ == 3, "found %lld\n",
-                 (long long)OST_READ);
-        LASSERTF(OST_WRITE == 4, "found %lld\n",
-                 (long long)OST_WRITE);
-        LASSERTF(OST_CREATE == 5, "found %lld\n",
-                 (long long)OST_CREATE);
-        LASSERTF(OST_DESTROY == 6, "found %lld\n",
-                 (long long)OST_DESTROY);
-        LASSERTF(OST_GET_INFO == 7, "found %lld\n",
-                 (long long)OST_GET_INFO);
-        LASSERTF(OST_CONNECT == 8, "found %lld\n",
-                 (long long)OST_CONNECT);
-        LASSERTF(OST_DISCONNECT == 9, "found %lld\n",
-                 (long long)OST_DISCONNECT);
-        LASSERTF(OST_PUNCH == 10, "found %lld\n",
-                 (long long)OST_PUNCH);
-        LASSERTF(OST_OPEN == 11, "found %lld\n",
-                 (long long)OST_OPEN);
-        LASSERTF(OST_CLOSE == 12, "found %lld\n",
-                 (long long)OST_CLOSE);
-        LASSERTF(OST_STATFS == 13, "found %lld\n",
-                 (long long)OST_STATFS);
-        LASSERTF(OST_SYNC == 16, "found %lld\n",
-                 (long long)OST_SYNC);
-        LASSERTF(OST_SET_INFO == 17, "found %lld\n",
-                 (long long)OST_SET_INFO);
-        LASSERTF(OST_QUOTACHECK == 18, "found %lld\n",
-                 (long long)OST_QUOTACHECK);
-        LASSERTF(OST_QUOTACTL == 19, "found %lld\n",
-                 (long long)OST_QUOTACTL);
-        LASSERTF(OST_QUOTA_ADJUST_QUNIT == 20, "found %lld\n",
-                 (long long)OST_QUOTA_ADJUST_QUNIT);
-        LASSERTF(OST_LAST_OPC == 21, "found %lld\n",
-                 (long long)OST_LAST_OPC);
-        LASSERTF(OBD_OBJECT_EOF == 0xffffffffffffffffULL, "found 0x%.16llxULL\n",
-                 OBD_OBJECT_EOF);
-        LASSERTF(OST_MIN_PRECREATE == 32, "found %lld\n",
-                 (long long)OST_MIN_PRECREATE);
-        LASSERTF(OST_MAX_PRECREATE == 20000, "found %lld\n",
-                 (long long)OST_MAX_PRECREATE);
-        LASSERTF(OST_LVB_ERR_INIT == 0xffbadbad80000000ULL, "found 0x%.16llxULL\n",
-                 OST_LVB_ERR_INIT);
-        LASSERTF(OST_LVB_ERR_MASK == 0xffbadbad00000000ULL, "found 0x%.16llxULL\n",
-                 OST_LVB_ERR_MASK);
-        LASSERTF(MDS_FIRST_OPC == 33, "found %lld\n",
-                 (long long)MDS_FIRST_OPC);
-        LASSERTF(MDS_GETATTR == 33, "found %lld\n",
-                 (long long)MDS_GETATTR);
-        LASSERTF(MDS_GETATTR_NAME == 34, "found %lld\n",
-                 (long long)MDS_GETATTR_NAME);
-        LASSERTF(MDS_CLOSE == 35, "found %lld\n",
-                 (long long)MDS_CLOSE);
-        LASSERTF(MDS_REINT == 36, "found %lld\n",
-                 (long long)MDS_REINT);
-        LASSERTF(MDS_READPAGE == 37, "found %lld\n",
-                 (long long)MDS_READPAGE);
-        LASSERTF(MDS_CONNECT == 38, "found %lld\n",
-                 (long long)MDS_CONNECT);
-        LASSERTF(MDS_DISCONNECT == 39, "found %lld\n",
-                 (long long)MDS_DISCONNECT);
-        LASSERTF(MDS_GETSTATUS == 40, "found %lld\n",
-                 (long long)MDS_GETSTATUS);
-        LASSERTF(MDS_STATFS == 41, "found %lld\n",
-                 (long long)MDS_STATFS);
-        LASSERTF(MDS_PIN == 42, "found %lld\n",
-                 (long long)MDS_PIN);
-        LASSERTF(MDS_UNPIN == 43, "found %lld\n",
-                 (long long)MDS_UNPIN);
-        LASSERTF(MDS_SYNC == 44, "found %lld\n",
-                 (long long)MDS_SYNC);
-        LASSERTF(MDS_DONE_WRITING == 45, "found %lld\n",
-                 (long long)MDS_DONE_WRITING);
-        LASSERTF(MDS_SET_INFO == 46, "found %lld\n",
-                 (long long)MDS_SET_INFO);
-        LASSERTF(MDS_QUOTACHECK == 47, "found %lld\n",
-                 (long long)MDS_QUOTACHECK);
-        LASSERTF(MDS_QUOTACTL == 48, "found %lld\n",
-                 (long long)MDS_QUOTACTL);
-        LASSERTF(MDS_GETXATTR == 49, "found %lld\n",
-                 (long long)MDS_GETXATTR);
-        LASSERTF(MDS_SETXATTR == 50, "found %lld\n",
-                 (long long)MDS_SETXATTR);
-        LASSERTF(MDS_WRITEPAGE == 51, "found %lld\n",
-                 (long long)MDS_WRITEPAGE);
-        LASSERTF(MDS_IS_SUBDIR == 52, "found %lld\n",
-                 (long long)MDS_IS_SUBDIR);
-        LASSERTF(MDS_GET_INFO == 53, "found %lld\n",
-                 (long long)MDS_GET_INFO);
-        LASSERTF(MDS_LAST_OPC == 54, "found %lld\n",
-                 (long long)MDS_LAST_OPC);
-        LASSERTF(REINT_SETATTR == 1, "found %lld\n",
-                 (long long)REINT_SETATTR);
-        LASSERTF(REINT_CREATE == 2, "found %lld\n",
-                 (long long)REINT_CREATE);
-        LASSERTF(REINT_LINK == 3, "found %lld\n",
-                 (long long)REINT_LINK);
-        LASSERTF(REINT_UNLINK == 4, "found %lld\n",
-                 (long long)REINT_UNLINK);
-        LASSERTF(REINT_RENAME == 5, "found %lld\n",
-                 (long long)REINT_RENAME);
-        LASSERTF(REINT_OPEN == 6, "found %lld\n",
-                 (long long)REINT_OPEN);
-        LASSERTF(REINT_SETXATTR == 7, "found %lld\n",
-                 (long long)REINT_SETXATTR);
-        LASSERTF(REINT_MAX == 8, "found %lld\n",
-                 (long long)REINT_MAX);
-        LASSERTF(DISP_IT_EXECD == 0x00000001UL, "found 0x%.8xUL\n",
-                 (unsigned)DISP_IT_EXECD);
-        LASSERTF(DISP_LOOKUP_EXECD == 0x00000002UL, "found 0x%.8xUL\n",
-                 (unsigned)DISP_LOOKUP_EXECD);
-        LASSERTF(DISP_LOOKUP_NEG == 0x00000004UL, "found 0x%.8xUL\n",
-                 (unsigned)DISP_LOOKUP_NEG);
-        LASSERTF(DISP_LOOKUP_POS == 0x00000008UL, "found 0x%.8xUL\n",
-                 (unsigned)DISP_LOOKUP_POS);
-        LASSERTF(DISP_OPEN_CREATE == 0x00000010UL, "found 0x%.8xUL\n",
-                 (unsigned)DISP_OPEN_CREATE);
-        LASSERTF(DISP_OPEN_OPEN == 0x00000020UL, "found 0x%.8xUL\n",
-                 (unsigned)DISP_OPEN_OPEN);
-        LASSERTF(DISP_ENQ_COMPLETE == 0x00400000UL, "found 0x%.8xUL\n",
-                 (unsigned)DISP_ENQ_COMPLETE);
-        LASSERTF(DISP_ENQ_OPEN_REF == 0x00800000UL, "found 0x%.8xUL\n",
-                 (unsigned)DISP_ENQ_OPEN_REF);
-        LASSERTF(DISP_ENQ_CREATE_REF == 0x01000000UL, "found 0x%.8xUL\n",
-                 (unsigned)DISP_ENQ_CREATE_REF);
-        LASSERTF(DISP_OPEN_LOCK == 0x02000000UL, "found 0x%.8xUL\n",
-                 (unsigned)DISP_OPEN_LOCK);
-        LASSERTF(MDS_STATUS_CONN == 1, "found %lld\n",
-                 (long long)MDS_STATUS_CONN);
-        LASSERTF(MDS_STATUS_LOV == 2, "found %lld\n",
-                 (long long)MDS_STATUS_LOV);
-        LASSERTF(LUSTRE_BFLAG_UNCOMMITTED_WRITES == 1, "found %lld\n",
-                 (long long)LUSTRE_BFLAG_UNCOMMITTED_WRITES);
-        LASSERTF(MF_SOM_CHANGE == 0x00000001UL, "found 0x%.8xUL\n",
-                 (unsigned)MF_SOM_CHANGE);
-        LASSERTF(MF_EPOCH_OPEN == 0x00000002UL, "found 0x%.8xUL\n",
-                 (unsigned)MF_EPOCH_OPEN);
-        LASSERTF(MF_EPOCH_CLOSE == 0x00000004UL, "found 0x%.8xUL\n",
-                 (unsigned)MF_EPOCH_CLOSE);
-        LASSERTF(MF_MDC_CANCEL_FID1 == 0x00000008UL, "found 0x%.8xUL\n",
-                 (unsigned)MF_MDC_CANCEL_FID1);
-        LASSERTF(MF_MDC_CANCEL_FID2 == 0x00000010UL, "found 0x%.8xUL\n",
-                 (unsigned)MF_MDC_CANCEL_FID2);
-        LASSERTF(MF_MDC_CANCEL_FID3 == 0x00000020UL, "found 0x%.8xUL\n",
-                 (unsigned)MF_MDC_CANCEL_FID3);
-        LASSERTF(MF_MDC_CANCEL_FID4 == 0x00000040UL, "found 0x%.8xUL\n",
-                 (unsigned)MF_MDC_CANCEL_FID4);
-        LASSERTF(MF_SOM_AU == 0x00000080UL, "found 0x%.8xUL\n",
-                 (unsigned)MF_SOM_AU);
-        LASSERTF(MF_GETATTR_LOCK == 0x00000100UL, "found 0x%.8xUL\n",
-                 (unsigned)MF_GETATTR_LOCK);
-        LASSERTF(MDS_ATTR_MODE == 0x0000000000000001ULL, "found 0x%.16llxULL\n",
-                 (long long)MDS_ATTR_MODE);
-        LASSERTF(MDS_ATTR_UID == 0x0000000000000002ULL, "found 0x%.16llxULL\n",
-                 (long long)MDS_ATTR_UID);
-        LASSERTF(MDS_ATTR_GID == 0x0000000000000004ULL, "found 0x%.16llxULL\n",
-                 (long long)MDS_ATTR_GID);
-        LASSERTF(MDS_ATTR_SIZE == 0x0000000000000008ULL, "found 0x%.16llxULL\n",
-                 (long long)MDS_ATTR_SIZE);
-        LASSERTF(MDS_ATTR_ATIME == 0x0000000000000010ULL, "found 0x%.16llxULL\n",
-                 (long long)MDS_ATTR_ATIME);
-        LASSERTF(MDS_ATTR_MTIME == 0x0000000000000020ULL, "found 0x%.16llxULL\n",
-                 (long long)MDS_ATTR_MTIME);
-        LASSERTF(MDS_ATTR_CTIME == 0x0000000000000040ULL, "found 0x%.16llxULL\n",
-                 (long long)MDS_ATTR_CTIME);
-        LASSERTF(MDS_ATTR_ATIME_SET == 0x0000000000000080ULL, "found 0x%.16llxULL\n",
-                 (long long)MDS_ATTR_ATIME_SET);
-        LASSERTF(MDS_ATTR_MTIME_SET == 0x0000000000000100ULL, "found 0x%.16llxULL\n",
-                 (long long)MDS_ATTR_MTIME_SET);
-        LASSERTF(MDS_ATTR_FORCE == 0x0000000000000200ULL, "found 0x%.16llxULL\n",
-                 (long long)MDS_ATTR_FORCE);
-        LASSERTF(MDS_ATTR_ATTR_FLAG == 0x0000000000000400ULL, "found 0x%.16llxULL\n",
-                 (long long)MDS_ATTR_ATTR_FLAG);
-        LASSERTF(MDS_ATTR_KILL_SUID == 0x0000000000000800ULL, "found 0x%.16llxULL\n",
-                 (long long)MDS_ATTR_KILL_SUID);
-        LASSERTF(MDS_ATTR_KILL_SGID == 0x0000000000001000ULL, "found 0x%.16llxULL\n",
-                 (long long)MDS_ATTR_KILL_SGID);
-        LASSERTF(MDS_ATTR_CTIME_SET == 0x0000000000002000ULL, "found 0x%.16llxULL\n",
-                 (long long)MDS_ATTR_CTIME_SET);
-        LASSERTF(MDS_ATTR_FROM_OPEN == 0x0000000000004000ULL, "found 0x%.16llxULL\n",
-                 (long long)MDS_ATTR_FROM_OPEN);
-        LASSERTF(MDS_ATTR_BLOCKS == 0x0000000000008000ULL, "found 0x%.16llxULL\n",
-                 (long long)MDS_ATTR_BLOCKS);
-        LASSERTF(FLD_QUERY == 900, "found %lld\n",
-                 (long long)FLD_QUERY);
-        LASSERTF(FLD_FIRST_OPC == 900, "found %lld\n",
-                 (long long)FLD_FIRST_OPC);
-        LASSERTF(FLD_LAST_OPC == 901, "found %lld\n",
-                 (long long)FLD_LAST_OPC);
-        LASSERTF(SEQ_QUERY == 700, "found %lld\n",
-                 (long long)SEQ_QUERY);
-        LASSERTF(SEQ_FIRST_OPC == 700, "found %lld\n",
-                 (long long)SEQ_FIRST_OPC);
-        LASSERTF(SEQ_LAST_OPC == 701, "found %lld\n",
-                 (long long)SEQ_LAST_OPC);
-        LASSERTF(SEQ_ALLOC_SUPER == 0, "found %lld\n",
-                 (long long)SEQ_ALLOC_SUPER);
-        LASSERTF(SEQ_ALLOC_META == 1, "found %lld\n",
-                 (long long)SEQ_ALLOC_META);
-        LASSERTF(LDLM_ENQUEUE == 101, "found %lld\n",
-                 (long long)LDLM_ENQUEUE);
-        LASSERTF(LDLM_CONVERT == 102, "found %lld\n",
-                 (long long)LDLM_CONVERT);
-        LASSERTF(LDLM_CANCEL == 103, "found %lld\n",
-                 (long long)LDLM_CANCEL);
-        LASSERTF(LDLM_BL_CALLBACK == 104, "found %lld\n",
-                 (long long)LDLM_BL_CALLBACK);
-        LASSERTF(LDLM_CP_CALLBACK == 105, "found %lld\n",
-                 (long long)LDLM_CP_CALLBACK);
-        LASSERTF(LDLM_GL_CALLBACK == 106, "found %lld\n",
-                 (long long)LDLM_GL_CALLBACK);
-        LASSERTF(LDLM_SET_INFO == 107, "found %lld\n",
-                 (long long)LDLM_SET_INFO);
-        LASSERTF(LDLM_LAST_OPC == 108, "found %lld\n",
-                 (long long)LDLM_LAST_OPC);
-        LASSERTF(LCK_MINMODE == 0, "found %lld\n",
-                 (long long)LCK_MINMODE);
-        LASSERTF(LCK_EX == 1, "found %lld\n",
-                 (long long)LCK_EX);
-        LASSERTF(LCK_PW == 2, "found %lld\n",
-                 (long long)LCK_PW);
-        LASSERTF(LCK_PR == 4, "found %lld\n",
-                 (long long)LCK_PR);
-        LASSERTF(LCK_CW == 8, "found %lld\n",
-                 (long long)LCK_CW);
-        LASSERTF(LCK_CR == 16, "found %lld\n",
-                 (long long)LCK_CR);
-        LASSERTF(LCK_NL == 32, "found %lld\n",
-                 (long long)LCK_NL);
-        LASSERTF(LCK_GROUP == 64, "found %lld\n",
-                 (long long)LCK_GROUP);
-        LASSERTF(LCK_COS == 128, "found %lld\n",
-                 (long long)LCK_COS);
-        LASSERTF(LCK_MAXMODE == 129, "found %lld\n",
-                 (long long)LCK_MAXMODE);
-        LASSERTF(LCK_MODE_NUM == 8, "found %lld\n",
-                 (long long)LCK_MODE_NUM);
-        CLASSERT(LDLM_PLAIN == 10);
-        CLASSERT(LDLM_EXTENT == 11);
-        CLASSERT(LDLM_FLOCK == 12);
-        CLASSERT(LDLM_IBITS == 13);
-        CLASSERT(LDLM_MAX_TYPE == 14);
-        CLASSERT(LUSTRE_RES_ID_SEQ_OFF == 0);
-        CLASSERT(LUSTRE_RES_ID_VER_OID_OFF == 1);
-        CLASSERT(LUSTRE_RES_ID_QUOTA_SEQ_OFF == 2);
-        CLASSERT(LUSTRE_RES_ID_QUOTA_VER_OID_OFF == 3);
-        CLASSERT(LUSTRE_RES_ID_HSH_OFF == 3);
-        CLASSERT(LQUOTA_TYPE_USR == 0);
-        CLASSERT(LQUOTA_TYPE_GRP == 1);
-        CLASSERT(LQUOTA_RES_MD == 1);
-        CLASSERT(LQUOTA_RES_DT == 2);
-        LASSERTF(OBD_PING == 400, "found %lld\n",
-                 (long long)OBD_PING);
-        LASSERTF(OBD_LOG_CANCEL == 401, "found %lld\n",
-                 (long long)OBD_LOG_CANCEL);
-        LASSERTF(OBD_QC_CALLBACK == 402, "found %lld\n",
-                 (long long)OBD_QC_CALLBACK);
-        LASSERTF(OBD_IDX_READ == 403, "found %lld\n",
-                 (long long)OBD_IDX_READ);
-        LASSERTF(OBD_LAST_OPC == 404, "found %lld\n",
-                 (long long)OBD_LAST_OPC);
-        LASSERTF(QUOTA_DQACQ == 601, "found %lld\n",
-                 (long long)QUOTA_DQACQ);
-        LASSERTF(QUOTA_DQREL == 602, "found %lld\n",
-                 (long long)QUOTA_DQREL);
-        LASSERTF(QUOTA_LAST_OPC == 603, "found %lld\n",
-                 (long long)QUOTA_LAST_OPC);
-        LASSERTF(MGS_CONNECT == 250, "found %lld\n",
-                 (long long)MGS_CONNECT);
-        LASSERTF(MGS_DISCONNECT == 251, "found %lld\n",
-                 (long long)MGS_DISCONNECT);
-        LASSERTF(MGS_EXCEPTION == 252, "found %lld\n",
-                 (long long)MGS_EXCEPTION);
-        LASSERTF(MGS_TARGET_REG == 253, "found %lld\n",
-                 (long long)MGS_TARGET_REG);
-        LASSERTF(MGS_TARGET_DEL == 254, "found %lld\n",
-                 (long long)MGS_TARGET_DEL);
-        LASSERTF(MGS_SET_INFO == 255, "found %lld\n",
-                 (long long)MGS_SET_INFO);
-        LASSERTF(MGS_LAST_OPC == 257, "found %lld\n",
-                 (long long)MGS_LAST_OPC);
-        LASSERTF(SEC_CTX_INIT == 801, "found %lld\n",
-                 (long long)SEC_CTX_INIT);
-        LASSERTF(SEC_CTX_INIT_CONT == 802, "found %lld\n",
-                 (long long)SEC_CTX_INIT_CONT);
-        LASSERTF(SEC_CTX_FINI == 803, "found %lld\n",
-                 (long long)SEC_CTX_FINI);
-        LASSERTF(SEC_LAST_OPC == 804, "found %lld\n",
-                 (long long)SEC_LAST_OPC);
-        /* Sizes and Offsets */
+       /* Constants... */
+       LASSERTF(PTL_RPC_MSG_REQUEST == 4711, "found %lld\n",
+                (long long)PTL_RPC_MSG_REQUEST);
+       LASSERTF(PTL_RPC_MSG_ERR == 4712, "found %lld\n",
+                (long long)PTL_RPC_MSG_ERR);
+       LASSERTF(PTL_RPC_MSG_REPLY == 4713, "found %lld\n",
+                (long long)PTL_RPC_MSG_REPLY);
+       LASSERTF(MDS_DIR_END_OFF == 0xfffffffffffffffeULL, "found 0x%.16llxULL\n",
+                MDS_DIR_END_OFF);
+       LASSERTF(DEAD_HANDLE_MAGIC == 0xdeadbeefcafebabeULL, "found 0x%.16llxULL\n",
+                DEAD_HANDLE_MAGIC);
+       CLASSERT(MTI_NAME_MAXLEN == 64);
+       LASSERTF(OST_REPLY == 0, "found %lld\n",
+                (long long)OST_REPLY);
+       LASSERTF(OST_GETATTR == 1, "found %lld\n",
+                (long long)OST_GETATTR);
+       LASSERTF(OST_SETATTR == 2, "found %lld\n",
+                (long long)OST_SETATTR);
+       LASSERTF(OST_READ == 3, "found %lld\n",
+                (long long)OST_READ);
+       LASSERTF(OST_WRITE == 4, "found %lld\n",
+                (long long)OST_WRITE);
+       LASSERTF(OST_CREATE == 5, "found %lld\n",
+                (long long)OST_CREATE);
+       LASSERTF(OST_DESTROY == 6, "found %lld\n",
+                (long long)OST_DESTROY);
+       LASSERTF(OST_GET_INFO == 7, "found %lld\n",
+                (long long)OST_GET_INFO);
+       LASSERTF(OST_CONNECT == 8, "found %lld\n",
+                (long long)OST_CONNECT);
+       LASSERTF(OST_DISCONNECT == 9, "found %lld\n",
+                (long long)OST_DISCONNECT);
+       LASSERTF(OST_PUNCH == 10, "found %lld\n",
+                (long long)OST_PUNCH);
+       LASSERTF(OST_OPEN == 11, "found %lld\n",
+                (long long)OST_OPEN);
+       LASSERTF(OST_CLOSE == 12, "found %lld\n",
+                (long long)OST_CLOSE);
+       LASSERTF(OST_STATFS == 13, "found %lld\n",
+                (long long)OST_STATFS);
+       LASSERTF(OST_SYNC == 16, "found %lld\n",
+                (long long)OST_SYNC);
+       LASSERTF(OST_SET_INFO == 17, "found %lld\n",
+                (long long)OST_SET_INFO);
+       LASSERTF(OST_QUOTACHECK == 18, "found %lld\n",
+                (long long)OST_QUOTACHECK);
+       LASSERTF(OST_QUOTACTL == 19, "found %lld\n",
+                (long long)OST_QUOTACTL);
+       LASSERTF(OST_QUOTA_ADJUST_QUNIT == 20, "found %lld\n",
+                (long long)OST_QUOTA_ADJUST_QUNIT);
+       LASSERTF(OST_LAST_OPC == 21, "found %lld\n",
+                (long long)OST_LAST_OPC);
+       LASSERTF(OBD_OBJECT_EOF == 0xffffffffffffffffULL, "found 0x%.16llxULL\n",
+                OBD_OBJECT_EOF);
+       LASSERTF(OST_MIN_PRECREATE == 32, "found %lld\n",
+                (long long)OST_MIN_PRECREATE);
+       LASSERTF(OST_MAX_PRECREATE == 20000, "found %lld\n",
+                (long long)OST_MAX_PRECREATE);
+       LASSERTF(OST_LVB_ERR_INIT == 0xffbadbad80000000ULL, "found 0x%.16llxULL\n",
+                OST_LVB_ERR_INIT);
+       LASSERTF(OST_LVB_ERR_MASK == 0xffbadbad00000000ULL, "found 0x%.16llxULL\n",
+                OST_LVB_ERR_MASK);
+       LASSERTF(MDS_FIRST_OPC == 33, "found %lld\n",
+                (long long)MDS_FIRST_OPC);
+       LASSERTF(MDS_GETATTR == 33, "found %lld\n",
+                (long long)MDS_GETATTR);
+       LASSERTF(MDS_GETATTR_NAME == 34, "found %lld\n",
+                (long long)MDS_GETATTR_NAME);
+       LASSERTF(MDS_CLOSE == 35, "found %lld\n",
+                (long long)MDS_CLOSE);
+       LASSERTF(MDS_REINT == 36, "found %lld\n",
+                (long long)MDS_REINT);
+       LASSERTF(MDS_READPAGE == 37, "found %lld\n",
+                (long long)MDS_READPAGE);
+       LASSERTF(MDS_CONNECT == 38, "found %lld\n",
+                (long long)MDS_CONNECT);
+       LASSERTF(MDS_DISCONNECT == 39, "found %lld\n",
+                (long long)MDS_DISCONNECT);
+       LASSERTF(MDS_GETSTATUS == 40, "found %lld\n",
+                (long long)MDS_GETSTATUS);
+       LASSERTF(MDS_STATFS == 41, "found %lld\n",
+                (long long)MDS_STATFS);
+       LASSERTF(MDS_PIN == 42, "found %lld\n",
+                (long long)MDS_PIN);
+       LASSERTF(MDS_UNPIN == 43, "found %lld\n",
+                (long long)MDS_UNPIN);
+       LASSERTF(MDS_SYNC == 44, "found %lld\n",
+                (long long)MDS_SYNC);
+       LASSERTF(MDS_DONE_WRITING == 45, "found %lld\n",
+                (long long)MDS_DONE_WRITING);
+       LASSERTF(MDS_SET_INFO == 46, "found %lld\n",
+                (long long)MDS_SET_INFO);
+       LASSERTF(MDS_QUOTACHECK == 47, "found %lld\n",
+                (long long)MDS_QUOTACHECK);
+       LASSERTF(MDS_QUOTACTL == 48, "found %lld\n",
+                (long long)MDS_QUOTACTL);
+       LASSERTF(MDS_GETXATTR == 49, "found %lld\n",
+                (long long)MDS_GETXATTR);
+       LASSERTF(MDS_SETXATTR == 50, "found %lld\n",
+                (long long)MDS_SETXATTR);
+       LASSERTF(MDS_WRITEPAGE == 51, "found %lld\n",
+                (long long)MDS_WRITEPAGE);
+       LASSERTF(MDS_IS_SUBDIR == 52, "found %lld\n",
+                (long long)MDS_IS_SUBDIR);
+       LASSERTF(MDS_GET_INFO == 53, "found %lld\n",
+                (long long)MDS_GET_INFO);
+       LASSERTF(MDS_HSM_STATE_GET == 54, "found %lld\n",
+                (long long)MDS_HSM_STATE_GET);
+       LASSERTF(MDS_HSM_STATE_SET == 55, "found %lld\n",
+                (long long)MDS_HSM_STATE_SET);
+       LASSERTF(MDS_HSM_ACTION == 56, "found %lld\n",
+                (long long)MDS_HSM_ACTION);
+       LASSERTF(MDS_HSM_PROGRESS == 57, "found %lld\n",
+                (long long)MDS_HSM_PROGRESS);
+       LASSERTF(MDS_HSM_REQUEST == 58, "found %lld\n",
+                (long long)MDS_HSM_REQUEST);
+       LASSERTF(MDS_HSM_CT_REGISTER == 59, "found %lld\n",
+                (long long)MDS_HSM_CT_REGISTER);
+       LASSERTF(MDS_HSM_CT_UNREGISTER == 60, "found %lld\n",
+                (long long)MDS_HSM_CT_UNREGISTER);
+       LASSERTF(MDS_LAST_OPC == 61, "found %lld\n",
+                (long long)MDS_LAST_OPC);
+       LASSERTF(REINT_SETATTR == 1, "found %lld\n",
+                (long long)REINT_SETATTR);
+       LASSERTF(REINT_CREATE == 2, "found %lld\n",
+                (long long)REINT_CREATE);
+       LASSERTF(REINT_LINK == 3, "found %lld\n",
+                (long long)REINT_LINK);
+       LASSERTF(REINT_UNLINK == 4, "found %lld\n",
+                (long long)REINT_UNLINK);
+       LASSERTF(REINT_RENAME == 5, "found %lld\n",
+                (long long)REINT_RENAME);
+       LASSERTF(REINT_OPEN == 6, "found %lld\n",
+                (long long)REINT_OPEN);
+       LASSERTF(REINT_SETXATTR == 7, "found %lld\n",
+                (long long)REINT_SETXATTR);
+       LASSERTF(REINT_MAX == 8, "found %lld\n",
+                (long long)REINT_MAX);
+       LASSERTF(DISP_IT_EXECD == 0x00000001UL, "found 0x%.8xUL\n",
+               (unsigned)DISP_IT_EXECD);
+       LASSERTF(DISP_LOOKUP_EXECD == 0x00000002UL, "found 0x%.8xUL\n",
+               (unsigned)DISP_LOOKUP_EXECD);
+       LASSERTF(DISP_LOOKUP_NEG == 0x00000004UL, "found 0x%.8xUL\n",
+               (unsigned)DISP_LOOKUP_NEG);
+       LASSERTF(DISP_LOOKUP_POS == 0x00000008UL, "found 0x%.8xUL\n",
+               (unsigned)DISP_LOOKUP_POS);
+       LASSERTF(DISP_OPEN_CREATE == 0x00000010UL, "found 0x%.8xUL\n",
+               (unsigned)DISP_OPEN_CREATE);
+       LASSERTF(DISP_OPEN_OPEN == 0x00000020UL, "found 0x%.8xUL\n",
+               (unsigned)DISP_OPEN_OPEN);
+       LASSERTF(DISP_ENQ_COMPLETE == 0x00400000UL, "found 0x%.8xUL\n",
+               (unsigned)DISP_ENQ_COMPLETE);
+       LASSERTF(DISP_ENQ_OPEN_REF == 0x00800000UL, "found 0x%.8xUL\n",
+               (unsigned)DISP_ENQ_OPEN_REF);
+       LASSERTF(DISP_ENQ_CREATE_REF == 0x01000000UL, "found 0x%.8xUL\n",
+               (unsigned)DISP_ENQ_CREATE_REF);
+       LASSERTF(DISP_OPEN_LOCK == 0x02000000UL, "found 0x%.8xUL\n",
+               (unsigned)DISP_OPEN_LOCK);
+       LASSERTF(MDS_STATUS_CONN == 1, "found %lld\n",
+                (long long)MDS_STATUS_CONN);
+       LASSERTF(MDS_STATUS_LOV == 2, "found %lld\n",
+                (long long)MDS_STATUS_LOV);
+       LASSERTF(LUSTRE_BFLAG_UNCOMMITTED_WRITES == 1, "found %lld\n",
+                (long long)LUSTRE_BFLAG_UNCOMMITTED_WRITES);
+       LASSERTF(MF_SOM_CHANGE == 0x00000001UL, "found 0x%.8xUL\n",
+               (unsigned)MF_SOM_CHANGE);
+       LASSERTF(MF_EPOCH_OPEN == 0x00000002UL, "found 0x%.8xUL\n",
+               (unsigned)MF_EPOCH_OPEN);
+       LASSERTF(MF_EPOCH_CLOSE == 0x00000004UL, "found 0x%.8xUL\n",
+               (unsigned)MF_EPOCH_CLOSE);
+       LASSERTF(MF_MDC_CANCEL_FID1 == 0x00000008UL, "found 0x%.8xUL\n",
+               (unsigned)MF_MDC_CANCEL_FID1);
+       LASSERTF(MF_MDC_CANCEL_FID2 == 0x00000010UL, "found 0x%.8xUL\n",
+               (unsigned)MF_MDC_CANCEL_FID2);
+       LASSERTF(MF_MDC_CANCEL_FID3 == 0x00000020UL, "found 0x%.8xUL\n",
+               (unsigned)MF_MDC_CANCEL_FID3);
+       LASSERTF(MF_MDC_CANCEL_FID4 == 0x00000040UL, "found 0x%.8xUL\n",
+               (unsigned)MF_MDC_CANCEL_FID4);
+       LASSERTF(MF_SOM_AU == 0x00000080UL, "found 0x%.8xUL\n",
+               (unsigned)MF_SOM_AU);
+       LASSERTF(MF_GETATTR_LOCK == 0x00000100UL, "found 0x%.8xUL\n",
+               (unsigned)MF_GETATTR_LOCK);
+       LASSERTF(MDS_ATTR_MODE == 0x0000000000000001ULL, "found 0x%.16llxULL\n",
+                       (long long)MDS_ATTR_MODE);
+       LASSERTF(MDS_ATTR_UID == 0x0000000000000002ULL, "found 0x%.16llxULL\n",
+                       (long long)MDS_ATTR_UID);
+       LASSERTF(MDS_ATTR_GID == 0x0000000000000004ULL, "found 0x%.16llxULL\n",
+                       (long long)MDS_ATTR_GID);
+       LASSERTF(MDS_ATTR_SIZE == 0x0000000000000008ULL, "found 0x%.16llxULL\n",
+                       (long long)MDS_ATTR_SIZE);
+       LASSERTF(MDS_ATTR_ATIME == 0x0000000000000010ULL, "found 0x%.16llxULL\n",
+                       (long long)MDS_ATTR_ATIME);
+       LASSERTF(MDS_ATTR_MTIME == 0x0000000000000020ULL, "found 0x%.16llxULL\n",
+                       (long long)MDS_ATTR_MTIME);
+       LASSERTF(MDS_ATTR_CTIME == 0x0000000000000040ULL, "found 0x%.16llxULL\n",
+                       (long long)MDS_ATTR_CTIME);
+       LASSERTF(MDS_ATTR_ATIME_SET == 0x0000000000000080ULL, "found 0x%.16llxULL\n",
+                       (long long)MDS_ATTR_ATIME_SET);
+       LASSERTF(MDS_ATTR_MTIME_SET == 0x0000000000000100ULL, "found 0x%.16llxULL\n",
+                       (long long)MDS_ATTR_MTIME_SET);
+       LASSERTF(MDS_ATTR_FORCE == 0x0000000000000200ULL, "found 0x%.16llxULL\n",
+                       (long long)MDS_ATTR_FORCE);
+       LASSERTF(MDS_ATTR_ATTR_FLAG == 0x0000000000000400ULL, "found 0x%.16llxULL\n",
+                       (long long)MDS_ATTR_ATTR_FLAG);
+       LASSERTF(MDS_ATTR_KILL_SUID == 0x0000000000000800ULL, "found 0x%.16llxULL\n",
+                       (long long)MDS_ATTR_KILL_SUID);
+       LASSERTF(MDS_ATTR_KILL_SGID == 0x0000000000001000ULL, "found 0x%.16llxULL\n",
+                       (long long)MDS_ATTR_KILL_SGID);
+       LASSERTF(MDS_ATTR_CTIME_SET == 0x0000000000002000ULL, "found 0x%.16llxULL\n",
+                       (long long)MDS_ATTR_CTIME_SET);
+       LASSERTF(MDS_ATTR_FROM_OPEN == 0x0000000000004000ULL, "found 0x%.16llxULL\n",
+                       (long long)MDS_ATTR_FROM_OPEN);
+       LASSERTF(MDS_ATTR_BLOCKS == 0x0000000000008000ULL, "found 0x%.16llxULL\n",
+                       (long long)MDS_ATTR_BLOCKS);
+       LASSERTF(FLD_QUERY == 900, "found %lld\n",
+                (long long)FLD_QUERY);
+       LASSERTF(FLD_FIRST_OPC == 900, "found %lld\n",
+                (long long)FLD_FIRST_OPC);
+       LASSERTF(FLD_LAST_OPC == 901, "found %lld\n",
+                (long long)FLD_LAST_OPC);
+       LASSERTF(SEQ_QUERY == 700, "found %lld\n",
+                (long long)SEQ_QUERY);
+       LASSERTF(SEQ_FIRST_OPC == 700, "found %lld\n",
+                (long long)SEQ_FIRST_OPC);
+       LASSERTF(SEQ_LAST_OPC == 701, "found %lld\n",
+                (long long)SEQ_LAST_OPC);
+       LASSERTF(SEQ_ALLOC_SUPER == 0, "found %lld\n",
+                (long long)SEQ_ALLOC_SUPER);
+       LASSERTF(SEQ_ALLOC_META == 1, "found %lld\n",
+                (long long)SEQ_ALLOC_META);
+       LASSERTF(LDLM_ENQUEUE == 101, "found %lld\n",
+                (long long)LDLM_ENQUEUE);
+       LASSERTF(LDLM_CONVERT == 102, "found %lld\n",
+                (long long)LDLM_CONVERT);
+       LASSERTF(LDLM_CANCEL == 103, "found %lld\n",
+                (long long)LDLM_CANCEL);
+       LASSERTF(LDLM_BL_CALLBACK == 104, "found %lld\n",
+                (long long)LDLM_BL_CALLBACK);
+       LASSERTF(LDLM_CP_CALLBACK == 105, "found %lld\n",
+                (long long)LDLM_CP_CALLBACK);
+       LASSERTF(LDLM_GL_CALLBACK == 106, "found %lld\n",
+                (long long)LDLM_GL_CALLBACK);
+       LASSERTF(LDLM_SET_INFO == 107, "found %lld\n",
+                (long long)LDLM_SET_INFO);
+       LASSERTF(LDLM_LAST_OPC == 108, "found %lld\n",
+                (long long)LDLM_LAST_OPC);
+       LASSERTF(LCK_MINMODE == 0, "found %lld\n",
+                (long long)LCK_MINMODE);
+       LASSERTF(LCK_EX == 1, "found %lld\n",
+                (long long)LCK_EX);
+       LASSERTF(LCK_PW == 2, "found %lld\n",
+                (long long)LCK_PW);
+       LASSERTF(LCK_PR == 4, "found %lld\n",
+                (long long)LCK_PR);
+       LASSERTF(LCK_CW == 8, "found %lld\n",
+                (long long)LCK_CW);
+       LASSERTF(LCK_CR == 16, "found %lld\n",
+                (long long)LCK_CR);
+       LASSERTF(LCK_NL == 32, "found %lld\n",
+                (long long)LCK_NL);
+       LASSERTF(LCK_GROUP == 64, "found %lld\n",
+                (long long)LCK_GROUP);
+       LASSERTF(LCK_COS == 128, "found %lld\n",
+                (long long)LCK_COS);
+       LASSERTF(LCK_MAXMODE == 129, "found %lld\n",
+                (long long)LCK_MAXMODE);
+       LASSERTF(LCK_MODE_NUM == 8, "found %lld\n",
+                (long long)LCK_MODE_NUM);
+       CLASSERT(LDLM_PLAIN == 10);
+       CLASSERT(LDLM_EXTENT == 11);
+       CLASSERT(LDLM_FLOCK == 12);
+       CLASSERT(LDLM_IBITS == 13);
+       CLASSERT(LDLM_MAX_TYPE == 14);
+       CLASSERT(LUSTRE_RES_ID_SEQ_OFF == 0);
+       CLASSERT(LUSTRE_RES_ID_VER_OID_OFF == 1);
+       CLASSERT(LUSTRE_RES_ID_QUOTA_SEQ_OFF == 2);
+       CLASSERT(LUSTRE_RES_ID_QUOTA_VER_OID_OFF == 3);
+       CLASSERT(LUSTRE_RES_ID_HSH_OFF == 3);
+       CLASSERT(LQUOTA_TYPE_USR == 0);
+       CLASSERT(LQUOTA_TYPE_GRP == 1);
+       CLASSERT(LQUOTA_RES_MD == 1);
+       CLASSERT(LQUOTA_RES_DT == 2);
+       LASSERTF(OBD_PING == 400, "found %lld\n",
+                (long long)OBD_PING);
+       LASSERTF(OBD_LOG_CANCEL == 401, "found %lld\n",
+                (long long)OBD_LOG_CANCEL);
+       LASSERTF(OBD_QC_CALLBACK == 402, "found %lld\n",
+                (long long)OBD_QC_CALLBACK);
+       LASSERTF(OBD_IDX_READ == 403, "found %lld\n",
+                (long long)OBD_IDX_READ);
+       LASSERTF(OBD_LAST_OPC == 404, "found %lld\n",
+                (long long)OBD_LAST_OPC);
+       LASSERTF(QUOTA_DQACQ == 601, "found %lld\n",
+                (long long)QUOTA_DQACQ);
+       LASSERTF(QUOTA_DQREL == 602, "found %lld\n",
+                (long long)QUOTA_DQREL);
+       LASSERTF(QUOTA_LAST_OPC == 603, "found %lld\n",
+                (long long)QUOTA_LAST_OPC);
+       LASSERTF(MGS_CONNECT == 250, "found %lld\n",
+                (long long)MGS_CONNECT);
+       LASSERTF(MGS_DISCONNECT == 251, "found %lld\n",
+                (long long)MGS_DISCONNECT);
+       LASSERTF(MGS_EXCEPTION == 252, "found %lld\n",
+                (long long)MGS_EXCEPTION);
+       LASSERTF(MGS_TARGET_REG == 253, "found %lld\n",
+                (long long)MGS_TARGET_REG);
+       LASSERTF(MGS_TARGET_DEL == 254, "found %lld\n",
+                (long long)MGS_TARGET_DEL);
+       LASSERTF(MGS_SET_INFO == 255, "found %lld\n",
+                (long long)MGS_SET_INFO);
+       LASSERTF(MGS_LAST_OPC == 257, "found %lld\n",
+                (long long)MGS_LAST_OPC);
+       LASSERTF(SEC_CTX_INIT == 801, "found %lld\n",
+                (long long)SEC_CTX_INIT);
+       LASSERTF(SEC_CTX_INIT_CONT == 802, "found %lld\n",
+                (long long)SEC_CTX_INIT_CONT);
+       LASSERTF(SEC_CTX_FINI == 803, "found %lld\n",
+                (long long)SEC_CTX_FINI);
+       LASSERTF(SEC_LAST_OPC == 804, "found %lld\n",
+                (long long)SEC_LAST_OPC);
+       /* Sizes and Offsets */
 
-        /* Checks for struct obd_uuid */
-        LASSERTF((int)sizeof(struct obd_uuid) == 40, "found %lld\n",
-                 (long long)(int)sizeof(struct obd_uuid));
+       /* Checks for struct obd_uuid */
+       LASSERTF((int)sizeof(struct obd_uuid) == 40, "found %lld\n",
+                (long long)(int)sizeof(struct obd_uuid));
 
-        /* Checks for struct lu_seq_range */
-        LASSERTF((int)sizeof(struct lu_seq_range) == 24, "found %lld\n",
-                 (long long)(int)sizeof(struct lu_seq_range));
-        LASSERTF((int)offsetof(struct lu_seq_range, lsr_start) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_seq_range, lsr_start));
-        LASSERTF((int)sizeof(((struct lu_seq_range *)0)->lsr_start) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_seq_range *)0)->lsr_start));
-        LASSERTF((int)offsetof(struct lu_seq_range, lsr_end) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_seq_range, lsr_end));
-        LASSERTF((int)sizeof(((struct lu_seq_range *)0)->lsr_end) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_seq_range *)0)->lsr_end));
-        LASSERTF((int)offsetof(struct lu_seq_range, lsr_index) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_seq_range, lsr_index));
-        LASSERTF((int)sizeof(((struct lu_seq_range *)0)->lsr_index) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_seq_range *)0)->lsr_index));
-        LASSERTF((int)offsetof(struct lu_seq_range, lsr_flags) == 20, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_seq_range, lsr_flags));
-        LASSERTF((int)sizeof(((struct lu_seq_range *)0)->lsr_flags) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_seq_range *)0)->lsr_flags));
-        LASSERTF(LU_SEQ_RANGE_MDT == 0, "found %lld\n",
-                 (long long)LU_SEQ_RANGE_MDT);
-        LASSERTF(LU_SEQ_RANGE_OST == 1, "found %lld\n",
-                 (long long)LU_SEQ_RANGE_OST);
+       /* Checks for struct lu_seq_range */
+       LASSERTF((int)sizeof(struct lu_seq_range) == 24, "found %lld\n",
+                (long long)(int)sizeof(struct lu_seq_range));
+       LASSERTF((int)offsetof(struct lu_seq_range, lsr_start) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct lu_seq_range, lsr_start));
+       LASSERTF((int)sizeof(((struct lu_seq_range *)0)->lsr_start) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_seq_range *)0)->lsr_start));
+       LASSERTF((int)offsetof(struct lu_seq_range, lsr_end) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct lu_seq_range, lsr_end));
+       LASSERTF((int)sizeof(((struct lu_seq_range *)0)->lsr_end) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_seq_range *)0)->lsr_end));
+       LASSERTF((int)offsetof(struct lu_seq_range, lsr_index) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct lu_seq_range, lsr_index));
+       LASSERTF((int)sizeof(((struct lu_seq_range *)0)->lsr_index) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_seq_range *)0)->lsr_index));
+       LASSERTF((int)offsetof(struct lu_seq_range, lsr_flags) == 20, "found %lld\n",
+                (long long)(int)offsetof(struct lu_seq_range, lsr_flags));
+       LASSERTF((int)sizeof(((struct lu_seq_range *)0)->lsr_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_seq_range *)0)->lsr_flags));
+       LASSERTF(LU_SEQ_RANGE_MDT == 0, "found %lld\n",
+                (long long)LU_SEQ_RANGE_MDT);
+       LASSERTF(LU_SEQ_RANGE_OST == 1, "found %lld\n",
+                (long long)LU_SEQ_RANGE_OST);
 
-        /* Checks for struct lustre_mdt_attrs */
-        LASSERTF((int)sizeof(struct lustre_mdt_attrs) == 32, "found %lld\n",
-                 (long long)(int)sizeof(struct lustre_mdt_attrs));
-        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_compat) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_compat));
-        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_compat) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_compat));
-        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_incompat) == 4, "found %lld\n",
-                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_incompat));
-        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_incompat) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_incompat));
-        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_self_fid) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_self_fid));
-        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_self_fid) == 16, "found %lld\n",
-                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_self_fid));
-        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_flags) == 24, "found %lld\n",
-                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_flags));
-        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_flags) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_flags));
-        LASSERTF(LMA_INCOMPAT_SUPP == 0x0, "found %lld\n",
-                 (long long)LMA_INCOMPAT_SUPP);
-        LASSERTF(LMAI_RELEASED == 0x00000001UL, "found 0x%.8xUL\n",
-                 (unsigned)LMAI_RELEASED);
-        LASSERTF(LMAC_HSM == 0x00000001UL, "found 0x%.8xUL\n",
-                 (unsigned)LMAC_HSM);
-        LASSERTF(LMAC_SOM == 0x00000002UL, "found 0x%.8xUL\n",
-                 (unsigned)LMAC_SOM);
+       /* Checks for struct lustre_mdt_attrs */
+       LASSERTF((int)sizeof(struct lustre_mdt_attrs) == 32, "found %lld\n",
+                (long long)(int)sizeof(struct lustre_mdt_attrs));
+       LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_compat) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct lustre_mdt_attrs, lma_compat));
+       LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_compat) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_compat));
+       LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_incompat) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct lustre_mdt_attrs, lma_incompat));
+       LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_incompat) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_incompat));
+       LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_self_fid) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct lustre_mdt_attrs, lma_self_fid));
+       LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_self_fid) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_self_fid));
+       LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_flags) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct lustre_mdt_attrs, lma_flags));
+       LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_flags) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_flags));
+       LASSERTF(LMAI_RELEASED == 0x00000001UL, "found 0x%.8xUL\n",
+               (unsigned)LMAI_RELEASED);
+       LASSERTF(LMAC_HSM == 0x00000001UL, "found 0x%.8xUL\n",
+               (unsigned)LMAC_HSM);
+       LASSERTF(LMAC_SOM == 0x00000002UL, "found 0x%.8xUL\n",
+               (unsigned)LMAC_SOM);
 
-        /* Checks for struct som_attrs */
-        LASSERTF((int)sizeof(struct som_attrs) == 40, "found %lld\n",
-                 (long long)(int)sizeof(struct som_attrs));
-        LASSERTF((int)offsetof(struct som_attrs, som_compat) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct som_attrs, som_compat));
-        LASSERTF((int)sizeof(((struct som_attrs *)0)->som_compat) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct som_attrs *)0)->som_compat));
-        LASSERTF((int)offsetof(struct som_attrs, som_incompat) == 4, "found %lld\n",
-                 (long long)(int)offsetof(struct som_attrs, som_incompat));
-        LASSERTF((int)sizeof(((struct som_attrs *)0)->som_incompat) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct som_attrs *)0)->som_incompat));
-        LASSERTF((int)offsetof(struct som_attrs, som_ioepoch) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct som_attrs, som_ioepoch));
-        LASSERTF((int)sizeof(((struct som_attrs *)0)->som_ioepoch) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct som_attrs *)0)->som_ioepoch));
-        LASSERTF((int)offsetof(struct som_attrs, som_size) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct som_attrs, som_size));
-        LASSERTF((int)sizeof(((struct som_attrs *)0)->som_size) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct som_attrs *)0)->som_size));
-        LASSERTF((int)offsetof(struct som_attrs, som_blocks) == 24, "found %lld\n",
-                 (long long)(int)offsetof(struct som_attrs, som_blocks));
-        LASSERTF((int)sizeof(((struct som_attrs *)0)->som_blocks) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct som_attrs *)0)->som_blocks));
-        LASSERTF((int)offsetof(struct som_attrs, som_mountid) == 32, "found %lld\n",
-                 (long long)(int)offsetof(struct som_attrs, som_mountid));
-        LASSERTF((int)sizeof(((struct som_attrs *)0)->som_mountid) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct som_attrs *)0)->som_mountid));
+       /* Checks for struct som_attrs */
+       LASSERTF((int)sizeof(struct som_attrs) == 40, "found %lld\n",
+                (long long)(int)sizeof(struct som_attrs));
+       LASSERTF((int)offsetof(struct som_attrs, som_compat) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct som_attrs, som_compat));
+       LASSERTF((int)sizeof(((struct som_attrs *)0)->som_compat) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct som_attrs *)0)->som_compat));
+       LASSERTF((int)offsetof(struct som_attrs, som_incompat) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct som_attrs, som_incompat));
+       LASSERTF((int)sizeof(((struct som_attrs *)0)->som_incompat) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct som_attrs *)0)->som_incompat));
+       LASSERTF((int)offsetof(struct som_attrs, som_ioepoch) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct som_attrs, som_ioepoch));
+       LASSERTF((int)sizeof(((struct som_attrs *)0)->som_ioepoch) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct som_attrs *)0)->som_ioepoch));
+       LASSERTF((int)offsetof(struct som_attrs, som_size) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct som_attrs, som_size));
+       LASSERTF((int)sizeof(((struct som_attrs *)0)->som_size) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct som_attrs *)0)->som_size));
+       LASSERTF((int)offsetof(struct som_attrs, som_blocks) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct som_attrs, som_blocks));
+       LASSERTF((int)sizeof(((struct som_attrs *)0)->som_blocks) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct som_attrs *)0)->som_blocks));
+       LASSERTF((int)offsetof(struct som_attrs, som_mountid) == 32, "found %lld\n",
+                (long long)(int)offsetof(struct som_attrs, som_mountid));
+       LASSERTF((int)sizeof(((struct som_attrs *)0)->som_mountid) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct som_attrs *)0)->som_mountid));
 
-        /* Checks for struct hsm_attrs */
-        LASSERTF((int)sizeof(struct hsm_attrs) == 24, "found %lld\n",
-                 (long long)(int)sizeof(struct hsm_attrs));
-        LASSERTF((int)offsetof(struct hsm_attrs, hsm_compat) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct hsm_attrs, hsm_compat));
-        LASSERTF((int)sizeof(((struct hsm_attrs *)0)->hsm_compat) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct hsm_attrs *)0)->hsm_compat));
-        LASSERTF((int)offsetof(struct hsm_attrs, hsm_flags) == 4, "found %lld\n",
-                 (long long)(int)offsetof(struct hsm_attrs, hsm_flags));
-        LASSERTF((int)sizeof(((struct hsm_attrs *)0)->hsm_flags) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct hsm_attrs *)0)->hsm_flags));
-        LASSERTF((int)offsetof(struct hsm_attrs, hsm_arch_id) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct hsm_attrs, hsm_arch_id));
-        LASSERTF((int)sizeof(((struct hsm_attrs *)0)->hsm_arch_id) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct hsm_attrs *)0)->hsm_arch_id));
-        LASSERTF((int)offsetof(struct hsm_attrs, hsm_arch_ver) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct hsm_attrs, hsm_arch_ver));
-        LASSERTF((int)sizeof(((struct hsm_attrs *)0)->hsm_arch_ver) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct hsm_attrs *)0)->hsm_arch_ver));
+       /* Checks for struct hsm_attrs */
+       LASSERTF((int)sizeof(struct hsm_attrs) == 24, "found %lld\n",
+                (long long)(int)sizeof(struct hsm_attrs));
+       LASSERTF((int)offsetof(struct hsm_attrs, hsm_compat) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_attrs, hsm_compat));
+       LASSERTF((int)sizeof(((struct hsm_attrs *)0)->hsm_compat) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_attrs *)0)->hsm_compat));
+       LASSERTF((int)offsetof(struct hsm_attrs, hsm_flags) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_attrs, hsm_flags));
+       LASSERTF((int)sizeof(((struct hsm_attrs *)0)->hsm_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_attrs *)0)->hsm_flags));
+       LASSERTF((int)offsetof(struct hsm_attrs, hsm_arch_id) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_attrs, hsm_arch_id));
+       LASSERTF((int)sizeof(((struct hsm_attrs *)0)->hsm_arch_id) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_attrs *)0)->hsm_arch_id));
+       LASSERTF((int)offsetof(struct hsm_attrs, hsm_arch_ver) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_attrs, hsm_arch_ver));
+       LASSERTF((int)sizeof(((struct hsm_attrs *)0)->hsm_arch_ver) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_attrs *)0)->hsm_arch_ver));
 
-        /* Checks for struct ost_id */
-        LASSERTF((int)sizeof(struct ost_id) == 16, "found %lld\n",
-                 (long long)(int)sizeof(struct ost_id));
-        LASSERTF((int)offsetof(struct ost_id, oi_id) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct ost_id, oi_id));
-        LASSERTF((int)sizeof(((struct ost_id *)0)->oi_id) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct ost_id *)0)->oi_id));
-        LASSERTF((int)offsetof(struct ost_id, oi_seq) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct ost_id, oi_seq));
-        LASSERTF((int)sizeof(((struct ost_id *)0)->oi_seq) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct ost_id *)0)->oi_seq));
-        LASSERTF(LUSTRE_FID_INIT_OID == 1, "found %lld\n",
-                 (long long)LUSTRE_FID_INIT_OID);
-        LASSERTF(FID_SEQ_OST_MDT0 == 0, "found %lld\n",
-                 (long long)FID_SEQ_OST_MDT0);
-        LASSERTF(FID_SEQ_LLOG == 1, "found %lld\n",
-                 (long long)FID_SEQ_LLOG);
-        LASSERTF(FID_SEQ_ECHO == 2, "found %lld\n",
-                 (long long)FID_SEQ_ECHO);
-        LASSERTF(FID_SEQ_OST_MDT1 == 3, "found %lld\n",
-                 (long long)FID_SEQ_OST_MDT1);
-        LASSERTF(FID_SEQ_OST_MAX == 9, "found %lld\n",
-                 (long long)FID_SEQ_OST_MAX);
-        LASSERTF(FID_SEQ_RSVD == 11, "found %lld\n",
-                 (long long)FID_SEQ_RSVD);
-        LASSERTF(FID_SEQ_IGIF == 12, "found %lld\n",
-                 (long long)FID_SEQ_IGIF);
-        LASSERTF(FID_SEQ_IGIF_MAX == 0x00000000ffffffffULL, "found 0x%.16llxULL\n",
-                 (long long)FID_SEQ_IGIF_MAX);
-        LASSERTF(FID_SEQ_IDIF == 0x0000000100000000ULL, "found 0x%.16llxULL\n",
-                 (long long)FID_SEQ_IDIF);
-        LASSERTF(FID_SEQ_IDIF_MAX == 0x00000001ffffffffULL, "found 0x%.16llxULL\n",
-                 (long long)FID_SEQ_IDIF_MAX);
-        LASSERTF(FID_SEQ_START == 0x0000000200000000ULL, "found 0x%.16llxULL\n",
-                 (long long)FID_SEQ_START);
-        LASSERTF(FID_SEQ_LOCAL_FILE == 0x0000000200000001ULL, "found 0x%.16llxULL\n",
-                 (long long)FID_SEQ_LOCAL_FILE);
-        LASSERTF(FID_SEQ_DOT_LUSTRE == 0x0000000200000002ULL, "found 0x%.16llxULL\n",
-                 (long long)FID_SEQ_DOT_LUSTRE);
-        LASSERTF(FID_SEQ_SPECIAL == 0x0000000200000004ULL, "found 0x%.16llxULL\n",
-                 (long long)FID_SEQ_SPECIAL);
-        LASSERTF(FID_SEQ_QUOTA == 0x0000000200000005ULL, "found 0x%.16llxULL\n",
-                 (long long)FID_SEQ_QUOTA);
-        LASSERTF(FID_SEQ_QUOTA_GLB == 0x0000000200000006ULL, "found 0x%.16llxULL\n",
-                 (long long)FID_SEQ_QUOTA_GLB);
-        LASSERTF(FID_SEQ_NORMAL == 0x0000000200000400ULL, "found 0x%.16llxULL\n",
-                 (long long)FID_SEQ_NORMAL);
-        LASSERTF(FID_SEQ_LOV_DEFAULT == 0xffffffffffffffffULL, "found 0x%.16llxULL\n",
-                 (long long)FID_SEQ_LOV_DEFAULT);
-        LASSERTF(FID_OID_SPECIAL_BFL == 0x00000001UL, "found 0x%.8xUL\n",
-                 (unsigned)FID_OID_SPECIAL_BFL);
-        LASSERTF(FID_OID_DOT_LUSTRE == 0x00000001UL, "found 0x%.8xUL\n",
-                 (unsigned)FID_OID_DOT_LUSTRE);
-        LASSERTF(FID_OID_DOT_LUSTRE_OBF == 0x00000002UL, "found 0x%.8xUL\n",
-                 (unsigned)FID_OID_DOT_LUSTRE_OBF);
+       /* Checks for struct ost_id */
+       LASSERTF((int)sizeof(struct ost_id) == 16, "found %lld\n",
+                (long long)(int)sizeof(struct ost_id));
+       LASSERTF((int)offsetof(struct ost_id, oi_id) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct ost_id, oi_id));
+       LASSERTF((int)sizeof(((struct ost_id *)0)->oi_id) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct ost_id *)0)->oi_id));
+       LASSERTF((int)offsetof(struct ost_id, oi_seq) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct ost_id, oi_seq));
+       LASSERTF((int)sizeof(((struct ost_id *)0)->oi_seq) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct ost_id *)0)->oi_seq));
+       LASSERTF(LUSTRE_FID_INIT_OID == 1, "found %lld\n",
+                (long long)LUSTRE_FID_INIT_OID);
+       LASSERTF(FID_SEQ_OST_MDT0 == 0, "found %lld\n",
+                (long long)FID_SEQ_OST_MDT0);
+       LASSERTF(FID_SEQ_LLOG == 1, "found %lld\n",
+                (long long)FID_SEQ_LLOG);
+       LASSERTF(FID_SEQ_ECHO == 2, "found %lld\n",
+                (long long)FID_SEQ_ECHO);
+       LASSERTF(FID_SEQ_OST_MDT1 == 3, "found %lld\n",
+                (long long)FID_SEQ_OST_MDT1);
+       LASSERTF(FID_SEQ_OST_MAX == 9, "found %lld\n",
+                (long long)FID_SEQ_OST_MAX);
+       LASSERTF(FID_SEQ_RSVD == 11, "found %lld\n",
+                (long long)FID_SEQ_RSVD);
+       LASSERTF(FID_SEQ_IGIF == 12, "found %lld\n",
+                (long long)FID_SEQ_IGIF);
+       LASSERTF(FID_SEQ_IGIF_MAX == 0x00000000ffffffffULL, "found 0x%.16llxULL\n",
+                       (long long)FID_SEQ_IGIF_MAX);
+       LASSERTF(FID_SEQ_IDIF == 0x0000000100000000ULL, "found 0x%.16llxULL\n",
+                       (long long)FID_SEQ_IDIF);
+       LASSERTF(FID_SEQ_IDIF_MAX == 0x00000001ffffffffULL, "found 0x%.16llxULL\n",
+                       (long long)FID_SEQ_IDIF_MAX);
+       LASSERTF(FID_SEQ_START == 0x0000000200000000ULL, "found 0x%.16llxULL\n",
+                       (long long)FID_SEQ_START);
+       LASSERTF(FID_SEQ_LOCAL_FILE == 0x0000000200000001ULL, "found 0x%.16llxULL\n",
+                       (long long)FID_SEQ_LOCAL_FILE);
+       LASSERTF(FID_SEQ_DOT_LUSTRE == 0x0000000200000002ULL, "found 0x%.16llxULL\n",
+                       (long long)FID_SEQ_DOT_LUSTRE);
+       LASSERTF(FID_SEQ_SPECIAL == 0x0000000200000004ULL, "found 0x%.16llxULL\n",
+                       (long long)FID_SEQ_SPECIAL);
+       LASSERTF(FID_SEQ_QUOTA == 0x0000000200000005ULL, "found 0x%.16llxULL\n",
+                       (long long)FID_SEQ_QUOTA);
+       LASSERTF(FID_SEQ_QUOTA_GLB == 0x0000000200000006ULL, "found 0x%.16llxULL\n",
+                       (long long)FID_SEQ_QUOTA_GLB);
+       LASSERTF(FID_SEQ_NORMAL == 0x0000000200000400ULL, "found 0x%.16llxULL\n",
+                       (long long)FID_SEQ_NORMAL);
+       LASSERTF(FID_SEQ_LOV_DEFAULT == 0xffffffffffffffffULL, "found 0x%.16llxULL\n",
+                       (long long)FID_SEQ_LOV_DEFAULT);
+       LASSERTF(FID_OID_SPECIAL_BFL == 0x00000001UL, "found 0x%.8xUL\n",
+               (unsigned)FID_OID_SPECIAL_BFL);
+       LASSERTF(FID_OID_DOT_LUSTRE == 0x00000001UL, "found 0x%.8xUL\n",
+               (unsigned)FID_OID_DOT_LUSTRE);
+       LASSERTF(FID_OID_DOT_LUSTRE_OBF == 0x00000002UL, "found 0x%.8xUL\n",
+               (unsigned)FID_OID_DOT_LUSTRE_OBF);
 
-        /* Checks for struct lu_dirent */
-        LASSERTF((int)sizeof(struct lu_dirent) == 32, "found %lld\n",
-                 (long long)(int)sizeof(struct lu_dirent));
-        LASSERTF((int)offsetof(struct lu_dirent, lde_fid) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_dirent, lde_fid));
-        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_fid) == 16, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_fid));
-        LASSERTF((int)offsetof(struct lu_dirent, lde_hash) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_dirent, lde_hash));
-        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_hash) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_hash));
-        LASSERTF((int)offsetof(struct lu_dirent, lde_reclen) == 24, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_dirent, lde_reclen));
-        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_reclen) == 2, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_reclen));
-        LASSERTF((int)offsetof(struct lu_dirent, lde_namelen) == 26, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_dirent, lde_namelen));
-        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_namelen) == 2, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_namelen));
-        LASSERTF((int)offsetof(struct lu_dirent, lde_attrs) == 28, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_dirent, lde_attrs));
-        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_attrs) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_attrs));
-        LASSERTF((int)offsetof(struct lu_dirent, lde_name[0]) == 32, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_dirent, lde_name[0]));
-        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_name[0]) == 1, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_name[0]));
-        LASSERTF(LUDA_FID == 0x00000001UL, "found 0x%.8xUL\n",
-                 (unsigned)LUDA_FID);
-        LASSERTF(LUDA_TYPE == 0x00000002UL, "found 0x%.8xUL\n",
-                 (unsigned)LUDA_TYPE);
-        LASSERTF(LUDA_64BITHASH == 0x00000004UL, "found 0x%.8xUL\n",
-                 (unsigned)LUDA_64BITHASH);
+       /* Checks for struct lu_dirent */
+       LASSERTF((int)sizeof(struct lu_dirent) == 32, "found %lld\n",
+                (long long)(int)sizeof(struct lu_dirent));
+       LASSERTF((int)offsetof(struct lu_dirent, lde_fid) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct lu_dirent, lde_fid));
+       LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_fid) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_dirent *)0)->lde_fid));
+       LASSERTF((int)offsetof(struct lu_dirent, lde_hash) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct lu_dirent, lde_hash));
+       LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_hash) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_dirent *)0)->lde_hash));
+       LASSERTF((int)offsetof(struct lu_dirent, lde_reclen) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct lu_dirent, lde_reclen));
+       LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_reclen) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_dirent *)0)->lde_reclen));
+       LASSERTF((int)offsetof(struct lu_dirent, lde_namelen) == 26, "found %lld\n",
+                (long long)(int)offsetof(struct lu_dirent, lde_namelen));
+       LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_namelen) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_dirent *)0)->lde_namelen));
+       LASSERTF((int)offsetof(struct lu_dirent, lde_attrs) == 28, "found %lld\n",
+                (long long)(int)offsetof(struct lu_dirent, lde_attrs));
+       LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_attrs) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_dirent *)0)->lde_attrs));
+       LASSERTF((int)offsetof(struct lu_dirent, lde_name[0]) == 32, "found %lld\n",
+                (long long)(int)offsetof(struct lu_dirent, lde_name[0]));
+       LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_name[0]) == 1, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_dirent *)0)->lde_name[0]));
+       LASSERTF(LUDA_FID == 0x00000001UL, "found 0x%.8xUL\n",
+               (unsigned)LUDA_FID);
+       LASSERTF(LUDA_TYPE == 0x00000002UL, "found 0x%.8xUL\n",
+               (unsigned)LUDA_TYPE);
+       LASSERTF(LUDA_64BITHASH == 0x00000004UL, "found 0x%.8xUL\n",
+               (unsigned)LUDA_64BITHASH);
 
-        /* Checks for struct luda_type */
-        LASSERTF((int)sizeof(struct luda_type) == 2, "found %lld\n",
-                 (long long)(int)sizeof(struct luda_type));
-        LASSERTF((int)offsetof(struct luda_type, lt_type) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct luda_type, lt_type));
-        LASSERTF((int)sizeof(((struct luda_type *)0)->lt_type) == 2, "found %lld\n",
-                 (long long)(int)sizeof(((struct luda_type *)0)->lt_type));
+       /* Checks for struct luda_type */
+       LASSERTF((int)sizeof(struct luda_type) == 2, "found %lld\n",
+                (long long)(int)sizeof(struct luda_type));
+       LASSERTF((int)offsetof(struct luda_type, lt_type) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct luda_type, lt_type));
+       LASSERTF((int)sizeof(((struct luda_type *)0)->lt_type) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct luda_type *)0)->lt_type));
 
-        /* Checks for struct lu_dirpage */
-        LASSERTF((int)sizeof(struct lu_dirpage) == 24, "found %lld\n",
-                 (long long)(int)sizeof(struct lu_dirpage));
-        LASSERTF((int)offsetof(struct lu_dirpage, ldp_hash_start) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_dirpage, ldp_hash_start));
-        LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_hash_start) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_hash_start));
-        LASSERTF((int)offsetof(struct lu_dirpage, ldp_hash_end) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_dirpage, ldp_hash_end));
-        LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_hash_end) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_hash_end));
-        LASSERTF((int)offsetof(struct lu_dirpage, ldp_flags) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_dirpage, ldp_flags));
-        LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_flags) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_flags));
-        LASSERTF((int)offsetof(struct lu_dirpage, ldp_pad0) == 20, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_dirpage, ldp_pad0));
-        LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_pad0) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_pad0));
-        LASSERTF((int)offsetof(struct lu_dirpage, ldp_entries[0]) == 24, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_dirpage, ldp_entries[0]));
-        LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_entries[0]) == 32, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_entries[0]));
-        LASSERTF(LDF_EMPTY == 1, "found %lld\n",
-                 (long long)LDF_EMPTY);
-        LASSERTF(LDF_COLLIDE == 2, "found %lld\n",
-                 (long long)LDF_COLLIDE);
-        LASSERTF(LU_PAGE_SIZE == 4096, "found %lld\n",
-                 (long long)LU_PAGE_SIZE);
-        /* Checks for union lu_page */
-        LASSERTF((int)sizeof(union lu_page) == 4096, "found %lld\n",
-                 (long long)(int)sizeof(union lu_page));
+       /* Checks for struct lu_dirpage */
+       LASSERTF((int)sizeof(struct lu_dirpage) == 24, "found %lld\n",
+                (long long)(int)sizeof(struct lu_dirpage));
+       LASSERTF((int)offsetof(struct lu_dirpage, ldp_hash_start) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct lu_dirpage, ldp_hash_start));
+       LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_hash_start) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_hash_start));
+       LASSERTF((int)offsetof(struct lu_dirpage, ldp_hash_end) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct lu_dirpage, ldp_hash_end));
+       LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_hash_end) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_hash_end));
+       LASSERTF((int)offsetof(struct lu_dirpage, ldp_flags) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct lu_dirpage, ldp_flags));
+       LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_flags));
+       LASSERTF((int)offsetof(struct lu_dirpage, ldp_pad0) == 20, "found %lld\n",
+                (long long)(int)offsetof(struct lu_dirpage, ldp_pad0));
+       LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_pad0) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_pad0));
+       LASSERTF((int)offsetof(struct lu_dirpage, ldp_entries[0]) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct lu_dirpage, ldp_entries[0]));
+       LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_entries[0]) == 32, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_entries[0]));
+       LASSERTF(LDF_EMPTY == 1, "found %lld\n",
+                (long long)LDF_EMPTY);
+       LASSERTF(LDF_COLLIDE == 2, "found %lld\n",
+                (long long)LDF_COLLIDE);
+       LASSERTF(LU_PAGE_SIZE == 4096, "found %lld\n",
+                (long long)LU_PAGE_SIZE);
+       /* Checks for union lu_page */
+       LASSERTF((int)sizeof(union lu_page) == 4096, "found %lld\n",
+                (long long)(int)sizeof(union lu_page));
 
-        /* Checks for struct lustre_handle */
-        LASSERTF((int)sizeof(struct lustre_handle) == 8, "found %lld\n",
-                 (long long)(int)sizeof(struct lustre_handle));
-        LASSERTF((int)offsetof(struct lustre_handle, cookie) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct lustre_handle, cookie));
-        LASSERTF((int)sizeof(((struct lustre_handle *)0)->cookie) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lustre_handle *)0)->cookie));
+       /* Checks for struct lustre_handle */
+       LASSERTF((int)sizeof(struct lustre_handle) == 8, "found %lld\n",
+                (long long)(int)sizeof(struct lustre_handle));
+       LASSERTF((int)offsetof(struct lustre_handle, cookie) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct lustre_handle, cookie));
+       LASSERTF((int)sizeof(((struct lustre_handle *)0)->cookie) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lustre_handle *)0)->cookie));
 
-        /* Checks for struct lustre_msg_v2 */
-        LASSERTF((int)sizeof(struct lustre_msg_v2) == 32, "found %lld\n",
-                 (long long)(int)sizeof(struct lustre_msg_v2));
-        LASSERTF((int)offsetof(struct lustre_msg_v2, lm_bufcount) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct lustre_msg_v2, lm_bufcount));
-        LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_bufcount) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_bufcount));
-        LASSERTF((int)offsetof(struct lustre_msg_v2, lm_secflvr) == 4, "found %lld\n",
-                 (long long)(int)offsetof(struct lustre_msg_v2, lm_secflvr));
-        LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_secflvr) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_secflvr));
-        LASSERTF((int)offsetof(struct lustre_msg_v2, lm_magic) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct lustre_msg_v2, lm_magic));
-        LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_magic) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_magic));
-        LASSERTF((int)offsetof(struct lustre_msg_v2, lm_repsize) == 12, "found %lld\n",
-                 (long long)(int)offsetof(struct lustre_msg_v2, lm_repsize));
-        LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_repsize) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_repsize));
-        LASSERTF((int)offsetof(struct lustre_msg_v2, lm_cksum) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct lustre_msg_v2, lm_cksum));
-        LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_cksum) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_cksum));
-        LASSERTF((int)offsetof(struct lustre_msg_v2, lm_flags) == 20, "found %lld\n",
-                 (long long)(int)offsetof(struct lustre_msg_v2, lm_flags));
-        LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_flags) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_flags));
-        LASSERTF((int)offsetof(struct lustre_msg_v2, lm_padding_2) == 24, "found %lld\n",
-                 (long long)(int)offsetof(struct lustre_msg_v2, lm_padding_2));
-        LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_padding_2) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_padding_2));
-        LASSERTF((int)offsetof(struct lustre_msg_v2, lm_padding_3) == 28, "found %lld\n",
-                 (long long)(int)offsetof(struct lustre_msg_v2, lm_padding_3));
-        LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_padding_3) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_padding_3));
-        LASSERTF((int)offsetof(struct lustre_msg_v2, lm_buflens[0]) == 32, "found %lld\n",
-                 (long long)(int)offsetof(struct lustre_msg_v2, lm_buflens[0]));
-        LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_buflens[0]) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_buflens[0]));
-        LASSERTF(LUSTRE_MSG_MAGIC_V1 == 0x0BD00BD0, "found 0x%.8x\n",
-                 LUSTRE_MSG_MAGIC_V1);
-        LASSERTF(LUSTRE_MSG_MAGIC_V2 == 0x0BD00BD3, "found 0x%.8x\n",
-                 LUSTRE_MSG_MAGIC_V2);
-        LASSERTF(LUSTRE_MSG_MAGIC_V1_SWABBED == 0xD00BD00B, "found 0x%.8x\n",
-                 LUSTRE_MSG_MAGIC_V1_SWABBED);
-        LASSERTF(LUSTRE_MSG_MAGIC_V2_SWABBED == 0xD30BD00B, "found 0x%.8x\n",
-                 LUSTRE_MSG_MAGIC_V2_SWABBED);
+       /* Checks for struct lustre_msg_v2 */
+       LASSERTF((int)sizeof(struct lustre_msg_v2) == 32, "found %lld\n",
+                (long long)(int)sizeof(struct lustre_msg_v2));
+       LASSERTF((int)offsetof(struct lustre_msg_v2, lm_bufcount) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct lustre_msg_v2, lm_bufcount));
+       LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_bufcount) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_bufcount));
+       LASSERTF((int)offsetof(struct lustre_msg_v2, lm_secflvr) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct lustre_msg_v2, lm_secflvr));
+       LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_secflvr) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_secflvr));
+       LASSERTF((int)offsetof(struct lustre_msg_v2, lm_magic) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct lustre_msg_v2, lm_magic));
+       LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_magic) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_magic));
+       LASSERTF((int)offsetof(struct lustre_msg_v2, lm_repsize) == 12, "found %lld\n",
+                (long long)(int)offsetof(struct lustre_msg_v2, lm_repsize));
+       LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_repsize) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_repsize));
+       LASSERTF((int)offsetof(struct lustre_msg_v2, lm_cksum) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct lustre_msg_v2, lm_cksum));
+       LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_cksum) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_cksum));
+       LASSERTF((int)offsetof(struct lustre_msg_v2, lm_flags) == 20, "found %lld\n",
+                (long long)(int)offsetof(struct lustre_msg_v2, lm_flags));
+       LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_flags));
+       LASSERTF((int)offsetof(struct lustre_msg_v2, lm_padding_2) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct lustre_msg_v2, lm_padding_2));
+       LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_padding_2) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_padding_2));
+       LASSERTF((int)offsetof(struct lustre_msg_v2, lm_padding_3) == 28, "found %lld\n",
+                (long long)(int)offsetof(struct lustre_msg_v2, lm_padding_3));
+       LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_padding_3) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_padding_3));
+       LASSERTF((int)offsetof(struct lustre_msg_v2, lm_buflens[0]) == 32, "found %lld\n",
+                (long long)(int)offsetof(struct lustre_msg_v2, lm_buflens[0]));
+       LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_buflens[0]) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_buflens[0]));
+       LASSERTF(LUSTRE_MSG_MAGIC_V1 == 0x0BD00BD0, "found 0x%.8x\n",
+               LUSTRE_MSG_MAGIC_V1);
+       LASSERTF(LUSTRE_MSG_MAGIC_V2 == 0x0BD00BD3, "found 0x%.8x\n",
+               LUSTRE_MSG_MAGIC_V2);
+       LASSERTF(LUSTRE_MSG_MAGIC_V1_SWABBED == 0xD00BD00B, "found 0x%.8x\n",
+               LUSTRE_MSG_MAGIC_V1_SWABBED);
+       LASSERTF(LUSTRE_MSG_MAGIC_V2_SWABBED == 0xD30BD00B, "found 0x%.8x\n",
+               LUSTRE_MSG_MAGIC_V2_SWABBED);
 
-        /* Checks for struct ptlrpc_body */
-        LASSERTF((int)sizeof(struct ptlrpc_body_v3) == 184, "found %lld\n",
-                 (long long)(int)sizeof(struct ptlrpc_body_v3));
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_handle) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_handle));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_handle) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_handle));
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_type) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_type));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_type) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_type));
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_version) == 12, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_version));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_version) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_version));
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_opc) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_opc));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_opc) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_opc));
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_status) == 20, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_status));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_status) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_status));
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_last_xid) == 24, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_last_xid));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_xid) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_xid));
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_last_seen) == 32, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_last_seen));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_seen) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_seen));
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_last_committed) == 40, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_last_committed));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_committed) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_committed));
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_transno) == 48, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_transno));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_transno) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_transno));
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_flags) == 56, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_flags));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_flags) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_flags));
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_op_flags) == 60, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_op_flags));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_op_flags) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_op_flags));
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_conn_cnt) == 64, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_conn_cnt));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_conn_cnt) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_conn_cnt));
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_timeout) == 68, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_timeout));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_timeout) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_timeout));
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_service_time) == 72, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_service_time));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_service_time) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_service_time));
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_limit) == 76, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_limit));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_limit) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_limit));
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_slv) == 80, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_slv));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_slv) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_slv));
-        CLASSERT(PTLRPC_NUM_VERSIONS == 4);
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_pre_versions) == 88, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_pre_versions));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_pre_versions) == 32, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_pre_versions));
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_padding) == 120, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_padding));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding) == 32, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding));
-        CLASSERT(JOBSTATS_JOBID_SIZE == 32);
-        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_jobid) == 152, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_jobid));
-        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_jobid) == 32, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_jobid));
+       /* Checks for struct ptlrpc_body */
+       LASSERTF((int)sizeof(struct ptlrpc_body_v3) == 184, "found %lld\n",
+                (long long)(int)sizeof(struct ptlrpc_body_v3));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_handle) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_handle));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_handle) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_handle));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_type) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_type));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_type) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_type));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_version) == 12, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_version));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_version) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_version));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_opc) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_opc));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_opc) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_opc));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_status) == 20, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_status));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_status) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_status));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_last_xid) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_last_xid));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_xid) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_xid));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_last_seen) == 32, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_last_seen));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_seen) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_seen));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_last_committed) == 40, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_last_committed));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_committed) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_committed));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_transno) == 48, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_transno));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_transno) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_transno));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_flags) == 56, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_flags));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_flags));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_op_flags) == 60, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_op_flags));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_op_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_op_flags));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_conn_cnt) == 64, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_conn_cnt));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_conn_cnt) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_conn_cnt));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_timeout) == 68, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_timeout));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_timeout) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_timeout));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_service_time) == 72, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_service_time));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_service_time) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_service_time));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_limit) == 76, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_limit));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_limit) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_limit));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_slv) == 80, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_slv));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_slv) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_slv));
+       CLASSERT(PTLRPC_NUM_VERSIONS == 4);
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_pre_versions) == 88, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_pre_versions));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_pre_versions) == 32, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_pre_versions));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_padding) == 120, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_padding));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding) == 32, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding));
+       CLASSERT(JOBSTATS_JOBID_SIZE == 32);
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_jobid) == 152, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_jobid));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_jobid) == 32, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_jobid));
        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_handle) == (int)offsetof(struct ptlrpc_body_v2, pb_handle), "%d != %d\n",
                 (int)offsetof(struct ptlrpc_body_v3, pb_handle), (int)offsetof(struct ptlrpc_body_v2, pb_handle));
        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_handle) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_handle), "%d != %d\n",
@@ -810,3392 +822,3529 @@ void lustre_assert_wire_constants(void)
                 (int)offsetof(struct ptlrpc_body_v3, pb_padding), (int)offsetof(struct ptlrpc_body_v2, pb_padding));
        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_padding), "%d != %d\n",
                 (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_padding));
-        LASSERTF(MSG_PTLRPC_BODY_OFF == 0, "found %lld\n",
-                 (long long)MSG_PTLRPC_BODY_OFF);
-        LASSERTF(REQ_REC_OFF == 1, "found %lld\n",
-                 (long long)REQ_REC_OFF);
-        LASSERTF(REPLY_REC_OFF == 1, "found %lld\n",
-                 (long long)REPLY_REC_OFF);
-        LASSERTF(DLM_LOCKREQ_OFF == 1, "found %lld\n",
-                 (long long)DLM_LOCKREQ_OFF);
-        LASSERTF(DLM_REQ_REC_OFF == 2, "found %lld\n",
-                 (long long)DLM_REQ_REC_OFF);
-        LASSERTF(DLM_INTENT_IT_OFF == 2, "found %lld\n",
-                 (long long)DLM_INTENT_IT_OFF);
-        LASSERTF(DLM_INTENT_REC_OFF == 3, "found %lld\n",
-                 (long long)DLM_INTENT_REC_OFF);
-        LASSERTF(DLM_LOCKREPLY_OFF == 1, "found %lld\n",
-                 (long long)DLM_LOCKREPLY_OFF);
-        LASSERTF(DLM_REPLY_REC_OFF == 2, "found %lld\n",
-                 (long long)DLM_REPLY_REC_OFF);
-        LASSERTF(MSG_PTLRPC_HEADER_OFF == 31, "found %lld\n",
-                 (long long)MSG_PTLRPC_HEADER_OFF);
-        LASSERTF(PTLRPC_MSG_VERSION == 0x00000003, "found 0x%.8x\n",
-                 PTLRPC_MSG_VERSION);
-        LASSERTF(LUSTRE_VERSION_MASK == 0xffff0000, "found 0x%.8x\n",
-                 LUSTRE_VERSION_MASK);
-        LASSERTF(LUSTRE_OBD_VERSION == 0x00010000, "found 0x%.8x\n",
-                 LUSTRE_OBD_VERSION);
-        LASSERTF(LUSTRE_MDS_VERSION == 0x00020000, "found 0x%.8x\n",
-                 LUSTRE_MDS_VERSION);
-        LASSERTF(LUSTRE_OST_VERSION == 0x00030000, "found 0x%.8x\n",
-                 LUSTRE_OST_VERSION);
-        LASSERTF(LUSTRE_DLM_VERSION == 0x00040000, "found 0x%.8x\n",
-                 LUSTRE_DLM_VERSION);
-        LASSERTF(LUSTRE_LOG_VERSION == 0x00050000, "found 0x%.8x\n",
-                 LUSTRE_LOG_VERSION);
-        LASSERTF(LUSTRE_MGS_VERSION == 0x00060000, "found 0x%.8x\n",
-                 LUSTRE_MGS_VERSION);
-        LASSERTF(MSGHDR_AT_SUPPORT == 1, "found %lld\n",
-                 (long long)MSGHDR_AT_SUPPORT);
-        LASSERTF(MSGHDR_CKSUM_INCOMPAT18 == 2, "found %lld\n",
-                 (long long)MSGHDR_CKSUM_INCOMPAT18);
-        LASSERTF(MSG_OP_FLAG_MASK == 0xffff0000UL, "found 0x%.8xUL\n",
-                 (unsigned)MSG_OP_FLAG_MASK);
-        LASSERTF(MSG_OP_FLAG_SHIFT == 16, "found %lld\n",
-                 (long long)MSG_OP_FLAG_SHIFT);
-        LASSERTF(MSG_GEN_FLAG_MASK == 0x0000ffffUL, "found 0x%.8xUL\n",
-                 (unsigned)MSG_GEN_FLAG_MASK);
-        LASSERTF(MSG_LAST_REPLAY == 0x00000001UL, "found 0x%.8xUL\n",
-                 (unsigned)MSG_LAST_REPLAY);
-        LASSERTF(MSG_RESENT == 0x00000002UL, "found 0x%.8xUL\n",
-                 (unsigned)MSG_RESENT);
-        LASSERTF(MSG_REPLAY == 0x00000004UL, "found 0x%.8xUL\n",
-                 (unsigned)MSG_REPLAY);
-        LASSERTF(MSG_DELAY_REPLAY == 0x00000010UL, "found 0x%.8xUL\n",
-                 (unsigned)MSG_DELAY_REPLAY);
-        LASSERTF(MSG_VERSION_REPLAY == 0x00000020UL, "found 0x%.8xUL\n",
-                 (unsigned)MSG_VERSION_REPLAY);
-        LASSERTF(MSG_REQ_REPLAY_DONE == 0x00000040UL, "found 0x%.8xUL\n",
-                 (unsigned)MSG_REQ_REPLAY_DONE);
-        LASSERTF(MSG_LOCK_REPLAY_DONE == 0x00000080UL, "found 0x%.8xUL\n",
-                 (unsigned)MSG_LOCK_REPLAY_DONE);
-        LASSERTF(MSG_CONNECT_RECOVERING == 0x00000001UL, "found 0x%.8xUL\n",
-                 (unsigned)MSG_CONNECT_RECOVERING);
-        LASSERTF(MSG_CONNECT_RECONNECT == 0x00000002UL, "found 0x%.8xUL\n",
-                 (unsigned)MSG_CONNECT_RECONNECT);
-        LASSERTF(MSG_CONNECT_REPLAYABLE == 0x00000004UL, "found 0x%.8xUL\n",
-                 (unsigned)MSG_CONNECT_REPLAYABLE);
-        LASSERTF(MSG_CONNECT_LIBCLIENT == 0x00000010UL, "found 0x%.8xUL\n",
-                 (unsigned)MSG_CONNECT_LIBCLIENT);
-        LASSERTF(MSG_CONNECT_INITIAL == 0x00000020UL, "found 0x%.8xUL\n",
-                 (unsigned)MSG_CONNECT_INITIAL);
-        LASSERTF(MSG_CONNECT_ASYNC == 0x00000040UL, "found 0x%.8xUL\n",
-                 (unsigned)MSG_CONNECT_ASYNC);
-        LASSERTF(MSG_CONNECT_NEXT_VER == 0x00000080UL, "found 0x%.8xUL\n",
-                 (unsigned)MSG_CONNECT_NEXT_VER);
-        LASSERTF(MSG_CONNECT_TRANSNO == 0x00000100UL, "found 0x%.8xUL\n",
-                 (unsigned)MSG_CONNECT_TRANSNO);
+       LASSERTF(MSG_PTLRPC_BODY_OFF == 0, "found %lld\n",
+                (long long)MSG_PTLRPC_BODY_OFF);
+       LASSERTF(REQ_REC_OFF == 1, "found %lld\n",
+                (long long)REQ_REC_OFF);
+       LASSERTF(REPLY_REC_OFF == 1, "found %lld\n",
+                (long long)REPLY_REC_OFF);
+       LASSERTF(DLM_LOCKREQ_OFF == 1, "found %lld\n",
+                (long long)DLM_LOCKREQ_OFF);
+       LASSERTF(DLM_REQ_REC_OFF == 2, "found %lld\n",
+                (long long)DLM_REQ_REC_OFF);
+       LASSERTF(DLM_INTENT_IT_OFF == 2, "found %lld\n",
+                (long long)DLM_INTENT_IT_OFF);
+       LASSERTF(DLM_INTENT_REC_OFF == 3, "found %lld\n",
+                (long long)DLM_INTENT_REC_OFF);
+       LASSERTF(DLM_LOCKREPLY_OFF == 1, "found %lld\n",
+                (long long)DLM_LOCKREPLY_OFF);
+       LASSERTF(DLM_REPLY_REC_OFF == 2, "found %lld\n",
+                (long long)DLM_REPLY_REC_OFF);
+       LASSERTF(MSG_PTLRPC_HEADER_OFF == 31, "found %lld\n",
+                (long long)MSG_PTLRPC_HEADER_OFF);
+       LASSERTF(PTLRPC_MSG_VERSION == 0x00000003, "found 0x%.8x\n",
+               PTLRPC_MSG_VERSION);
+       LASSERTF(LUSTRE_VERSION_MASK == 0xffff0000, "found 0x%.8x\n",
+               LUSTRE_VERSION_MASK);
+       LASSERTF(LUSTRE_OBD_VERSION == 0x00010000, "found 0x%.8x\n",
+               LUSTRE_OBD_VERSION);
+       LASSERTF(LUSTRE_MDS_VERSION == 0x00020000, "found 0x%.8x\n",
+               LUSTRE_MDS_VERSION);
+       LASSERTF(LUSTRE_OST_VERSION == 0x00030000, "found 0x%.8x\n",
+               LUSTRE_OST_VERSION);
+       LASSERTF(LUSTRE_DLM_VERSION == 0x00040000, "found 0x%.8x\n",
+               LUSTRE_DLM_VERSION);
+       LASSERTF(LUSTRE_LOG_VERSION == 0x00050000, "found 0x%.8x\n",
+               LUSTRE_LOG_VERSION);
+       LASSERTF(LUSTRE_MGS_VERSION == 0x00060000, "found 0x%.8x\n",
+               LUSTRE_MGS_VERSION);
+       LASSERTF(MSGHDR_AT_SUPPORT == 1, "found %lld\n",
+                (long long)MSGHDR_AT_SUPPORT);
+       LASSERTF(MSGHDR_CKSUM_INCOMPAT18 == 2, "found %lld\n",
+                (long long)MSGHDR_CKSUM_INCOMPAT18);
+       LASSERTF(MSG_OP_FLAG_MASK == 0xffff0000UL, "found 0x%.8xUL\n",
+               (unsigned)MSG_OP_FLAG_MASK);
+       LASSERTF(MSG_OP_FLAG_SHIFT == 16, "found %lld\n",
+                (long long)MSG_OP_FLAG_SHIFT);
+       LASSERTF(MSG_GEN_FLAG_MASK == 0x0000ffffUL, "found 0x%.8xUL\n",
+               (unsigned)MSG_GEN_FLAG_MASK);
+       LASSERTF(MSG_LAST_REPLAY == 0x00000001UL, "found 0x%.8xUL\n",
+               (unsigned)MSG_LAST_REPLAY);
+       LASSERTF(MSG_RESENT == 0x00000002UL, "found 0x%.8xUL\n",
+               (unsigned)MSG_RESENT);
+       LASSERTF(MSG_REPLAY == 0x00000004UL, "found 0x%.8xUL\n",
+               (unsigned)MSG_REPLAY);
+       LASSERTF(MSG_DELAY_REPLAY == 0x00000010UL, "found 0x%.8xUL\n",
+               (unsigned)MSG_DELAY_REPLAY);
+       LASSERTF(MSG_VERSION_REPLAY == 0x00000020UL, "found 0x%.8xUL\n",
+               (unsigned)MSG_VERSION_REPLAY);
+       LASSERTF(MSG_REQ_REPLAY_DONE == 0x00000040UL, "found 0x%.8xUL\n",
+               (unsigned)MSG_REQ_REPLAY_DONE);
+       LASSERTF(MSG_LOCK_REPLAY_DONE == 0x00000080UL, "found 0x%.8xUL\n",
+               (unsigned)MSG_LOCK_REPLAY_DONE);
+       LASSERTF(MSG_CONNECT_RECOVERING == 0x00000001UL, "found 0x%.8xUL\n",
+               (unsigned)MSG_CONNECT_RECOVERING);
+       LASSERTF(MSG_CONNECT_RECONNECT == 0x00000002UL, "found 0x%.8xUL\n",
+               (unsigned)MSG_CONNECT_RECONNECT);
+       LASSERTF(MSG_CONNECT_REPLAYABLE == 0x00000004UL, "found 0x%.8xUL\n",
+               (unsigned)MSG_CONNECT_REPLAYABLE);
+       LASSERTF(MSG_CONNECT_LIBCLIENT == 0x00000010UL, "found 0x%.8xUL\n",
+               (unsigned)MSG_CONNECT_LIBCLIENT);
+       LASSERTF(MSG_CONNECT_INITIAL == 0x00000020UL, "found 0x%.8xUL\n",
+               (unsigned)MSG_CONNECT_INITIAL);
+       LASSERTF(MSG_CONNECT_ASYNC == 0x00000040UL, "found 0x%.8xUL\n",
+               (unsigned)MSG_CONNECT_ASYNC);
+       LASSERTF(MSG_CONNECT_NEXT_VER == 0x00000080UL, "found 0x%.8xUL\n",
+               (unsigned)MSG_CONNECT_NEXT_VER);
+       LASSERTF(MSG_CONNECT_TRANSNO == 0x00000100UL, "found 0x%.8xUL\n",
+               (unsigned)MSG_CONNECT_TRANSNO);
 
-        /* Checks for struct obd_connect_data */
-        LASSERTF((int)sizeof(struct obd_connect_data) == 192, "found %lld\n",
-                 (long long)(int)sizeof(struct obd_connect_data));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_connect_flags) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_connect_flags));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_connect_flags) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_connect_flags));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_version) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_version));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_version) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_version));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_grant) == 12, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_grant));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_grant) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_grant));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_index) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_index));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_index) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_index));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_brw_size) == 20, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_brw_size));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_brw_size) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_brw_size));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_ibits_known) == 24, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_ibits_known));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_ibits_known) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_ibits_known));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_blocksize) == 32, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_blocksize));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_blocksize) == 1, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_blocksize));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_inodespace) == 33, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_inodespace));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_inodespace) == 1, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_inodespace));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_grant_extent) == 34, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_grant_extent));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_grant_extent) == 2, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_grant_extent));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_unused) == 36, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_unused));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_unused) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_unused));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_transno) == 40, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_transno));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_transno) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_transno));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_group) == 48, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_group));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_group) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_group));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_cksum_types) == 52, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_cksum_types));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_cksum_types) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_cksum_types));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_max_easize) == 56, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_max_easize));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_max_easize) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_max_easize));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_instance) == 60, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_instance));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_instance) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_instance));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_maxbytes) == 64, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_maxbytes));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_maxbytes) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_maxbytes));
-        LASSERTF((int)offsetof(struct obd_connect_data, padding1) == 72, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, padding1));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding1) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding1));
-        LASSERTF((int)offsetof(struct obd_connect_data, padding2) == 80, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, padding2));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding2) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding2));
-        LASSERTF((int)offsetof(struct obd_connect_data, padding3) == 88, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, padding3));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding3) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding3));
-        LASSERTF((int)offsetof(struct obd_connect_data, padding4) == 96, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, padding4));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding4) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding4));
-        LASSERTF((int)offsetof(struct obd_connect_data, padding5) == 104, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, padding5));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding5) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding5));
-        LASSERTF((int)offsetof(struct obd_connect_data, padding6) == 112, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, padding6));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding6) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding6));
-        LASSERTF((int)offsetof(struct obd_connect_data, padding7) == 120, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, padding7));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding7) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding7));
-        LASSERTF((int)offsetof(struct obd_connect_data, padding8) == 128, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, padding8));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding8) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding8));
-        LASSERTF((int)offsetof(struct obd_connect_data, padding9) == 136, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, padding9));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding9) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding9));
-        LASSERTF((int)offsetof(struct obd_connect_data, paddingA) == 144, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, paddingA));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingA) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingA));
-        LASSERTF((int)offsetof(struct obd_connect_data, paddingB) == 152, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, paddingB));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingB) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingB));
-        LASSERTF((int)offsetof(struct obd_connect_data, paddingC) == 160, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, paddingC));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingC) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingC));
-        LASSERTF((int)offsetof(struct obd_connect_data, paddingD) == 168, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, paddingD));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingD) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingD));
-        LASSERTF((int)offsetof(struct obd_connect_data, paddingE) == 176, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, paddingE));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingE) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingE));
-        LASSERTF((int)offsetof(struct obd_connect_data, paddingF) == 184, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, paddingF));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingF) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingF));
-        LASSERTF(OBD_CONNECT_RDONLY == 0x1ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_RDONLY);
-        LASSERTF(OBD_CONNECT_INDEX == 0x2ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_INDEX);
-        LASSERTF(OBD_CONNECT_MDS == 0x4ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_MDS);
-        LASSERTF(OBD_CONNECT_GRANT == 0x8ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_GRANT);
-        LASSERTF(OBD_CONNECT_SRVLOCK == 0x10ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_SRVLOCK);
-        LASSERTF(OBD_CONNECT_VERSION == 0x20ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_VERSION);
-        LASSERTF(OBD_CONNECT_REQPORTAL == 0x40ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_REQPORTAL);
-        LASSERTF(OBD_CONNECT_ACL == 0x80ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_ACL);
-        LASSERTF(OBD_CONNECT_XATTR == 0x100ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_XATTR);
-        LASSERTF(OBD_CONNECT_CROW == 0x200ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_CROW);
-        LASSERTF(OBD_CONNECT_TRUNCLOCK == 0x400ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_TRUNCLOCK);
-        LASSERTF(OBD_CONNECT_TRANSNO == 0x800ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_TRANSNO);
-        LASSERTF(OBD_CONNECT_IBITS == 0x1000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_IBITS);
-        LASSERTF(OBD_CONNECT_JOIN == 0x2000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_JOIN);
-        LASSERTF(OBD_CONNECT_ATTRFID == 0x4000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_ATTRFID);
-        LASSERTF(OBD_CONNECT_NODEVOH == 0x8000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_NODEVOH);
-        LASSERTF(OBD_CONNECT_RMT_CLIENT == 0x10000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_RMT_CLIENT);
-        LASSERTF(OBD_CONNECT_RMT_CLIENT_FORCE == 0x20000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_RMT_CLIENT_FORCE);
-        LASSERTF(OBD_CONNECT_BRW_SIZE == 0x40000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_BRW_SIZE);
-        LASSERTF(OBD_CONNECT_QUOTA64 == 0x80000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_QUOTA64);
-        LASSERTF(OBD_CONNECT_MDS_CAPA == 0x100000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_MDS_CAPA);
-        LASSERTF(OBD_CONNECT_OSS_CAPA == 0x200000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_OSS_CAPA);
-        LASSERTF(OBD_CONNECT_CANCELSET == 0x400000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_CANCELSET);
-        LASSERTF(OBD_CONNECT_SOM == 0x800000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_SOM);
-        LASSERTF(OBD_CONNECT_AT == 0x1000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_AT);
-        LASSERTF(OBD_CONNECT_LRU_RESIZE == 0x2000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_LRU_RESIZE);
-        LASSERTF(OBD_CONNECT_MDS_MDS == 0x4000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_MDS_MDS);
-        LASSERTF(OBD_CONNECT_REAL == 0x8000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_REAL);
-        LASSERTF(OBD_CONNECT_CHANGE_QS == 0x10000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_CHANGE_QS);
-        LASSERTF(OBD_CONNECT_CKSUM == 0x20000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_CKSUM);
-        LASSERTF(OBD_CONNECT_FID == 0x40000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_FID);
-        LASSERTF(OBD_CONNECT_VBR == 0x80000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_VBR);
-        LASSERTF(OBD_CONNECT_LOV_V3 == 0x100000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_LOV_V3);
-        LASSERTF(OBD_CONNECT_GRANT_SHRINK == 0x200000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_GRANT_SHRINK);
-        LASSERTF(OBD_CONNECT_SKIP_ORPHAN == 0x400000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_SKIP_ORPHAN);
-        LASSERTF(OBD_CONNECT_MAX_EASIZE == 0x800000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_MAX_EASIZE);
-        LASSERTF(OBD_CONNECT_FULL20 == 0x1000000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_FULL20);
-        LASSERTF(OBD_CONNECT_LAYOUTLOCK == 0x2000000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_LAYOUTLOCK);
-        LASSERTF(OBD_CONNECT_64BITHASH == 0x4000000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_64BITHASH);
-        LASSERTF(OBD_CONNECT_MAXBYTES == 0x8000000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_MAXBYTES);
-        LASSERTF(OBD_CONNECT_IMP_RECOV == 0x10000000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_IMP_RECOV);
-        LASSERTF(OBD_CONNECT_JOBSTATS == 0x20000000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_JOBSTATS);
-        LASSERTF(OBD_CONNECT_UMASK == 0x40000000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_UMASK);
-        LASSERTF(OBD_CONNECT_EINPROGRESS == 0x80000000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_EINPROGRESS);
-        LASSERTF(OBD_CONNECT_GRANT_PARAM == 0x100000000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_GRANT_PARAM);
-        LASSERTF(OBD_CONNECT_FLOCK_OWNER == 0x200000000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_FLOCK_OWNER);
-        LASSERTF(OBD_CONNECT_LVB_TYPE == 0x400000000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_LVB_TYPE);
-        LASSERTF(OBD_CONNECT_NANOSEC_TIME == 0x800000000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_NANOSEC_TIME);
-        LASSERTF(OBD_CONNECT_LIGHTWEIGHT == 0x1000000000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_LIGHTWEIGHT);
-        LASSERTF(OBD_CONNECT_SHORTIO == 0x2000000000000ULL, "found 0x%.16llxULL\n",
-                 OBD_CONNECT_SHORTIO);
-        LASSERTF(OBD_CKSUM_CRC32 == 0x00000001UL, "found 0x%.8xUL\n",
-                 (unsigned)OBD_CKSUM_CRC32);
-        LASSERTF(OBD_CKSUM_ADLER == 0x00000002UL, "found 0x%.8xUL\n",
-                 (unsigned)OBD_CKSUM_ADLER);
-        LASSERTF(OBD_CKSUM_CRC32C == 0x00000004UL, "found 0x%.8xUL\n",
-                 (unsigned)OBD_CKSUM_CRC32C);
+       /* Checks for struct obd_connect_data */
+       LASSERTF((int)sizeof(struct obd_connect_data) == 192, "found %lld\n",
+                (long long)(int)sizeof(struct obd_connect_data));
+       LASSERTF((int)offsetof(struct obd_connect_data, ocd_connect_flags) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, ocd_connect_flags));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_connect_flags) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_connect_flags));
+       LASSERTF((int)offsetof(struct obd_connect_data, ocd_version) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, ocd_version));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_version) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_version));
+       LASSERTF((int)offsetof(struct obd_connect_data, ocd_grant) == 12, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, ocd_grant));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_grant) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_grant));
+       LASSERTF((int)offsetof(struct obd_connect_data, ocd_index) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, ocd_index));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_index) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_index));
+       LASSERTF((int)offsetof(struct obd_connect_data, ocd_brw_size) == 20, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, ocd_brw_size));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_brw_size) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_brw_size));
+       LASSERTF((int)offsetof(struct obd_connect_data, ocd_ibits_known) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, ocd_ibits_known));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_ibits_known) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_ibits_known));
+       LASSERTF((int)offsetof(struct obd_connect_data, ocd_blocksize) == 32, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, ocd_blocksize));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_blocksize) == 1, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_blocksize));
+       LASSERTF((int)offsetof(struct obd_connect_data, ocd_inodespace) == 33, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, ocd_inodespace));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_inodespace) == 1, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_inodespace));
+       LASSERTF((int)offsetof(struct obd_connect_data, ocd_grant_extent) == 34, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, ocd_grant_extent));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_grant_extent) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_grant_extent));
+       LASSERTF((int)offsetof(struct obd_connect_data, ocd_unused) == 36, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, ocd_unused));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_unused) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_unused));
+       LASSERTF((int)offsetof(struct obd_connect_data, ocd_transno) == 40, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, ocd_transno));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_transno) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_transno));
+       LASSERTF((int)offsetof(struct obd_connect_data, ocd_group) == 48, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, ocd_group));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_group) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_group));
+       LASSERTF((int)offsetof(struct obd_connect_data, ocd_cksum_types) == 52, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, ocd_cksum_types));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_cksum_types) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_cksum_types));
+       LASSERTF((int)offsetof(struct obd_connect_data, ocd_max_easize) == 56, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, ocd_max_easize));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_max_easize) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_max_easize));
+       LASSERTF((int)offsetof(struct obd_connect_data, ocd_instance) == 60, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, ocd_instance));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_instance) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_instance));
+       LASSERTF((int)offsetof(struct obd_connect_data, ocd_maxbytes) == 64, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, ocd_maxbytes));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_maxbytes) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_maxbytes));
+       LASSERTF((int)offsetof(struct obd_connect_data, padding1) == 72, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, padding1));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding1) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->padding1));
+       LASSERTF((int)offsetof(struct obd_connect_data, padding2) == 80, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, padding2));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding2) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->padding2));
+       LASSERTF((int)offsetof(struct obd_connect_data, padding3) == 88, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, padding3));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding3) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->padding3));
+       LASSERTF((int)offsetof(struct obd_connect_data, padding4) == 96, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, padding4));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding4) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->padding4));
+       LASSERTF((int)offsetof(struct obd_connect_data, padding5) == 104, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, padding5));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding5) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->padding5));
+       LASSERTF((int)offsetof(struct obd_connect_data, padding6) == 112, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, padding6));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding6) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->padding6));
+       LASSERTF((int)offsetof(struct obd_connect_data, padding7) == 120, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, padding7));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding7) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->padding7));
+       LASSERTF((int)offsetof(struct obd_connect_data, padding8) == 128, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, padding8));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding8) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->padding8));
+       LASSERTF((int)offsetof(struct obd_connect_data, padding9) == 136, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, padding9));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding9) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->padding9));
+       LASSERTF((int)offsetof(struct obd_connect_data, paddingA) == 144, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, paddingA));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingA) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingA));
+       LASSERTF((int)offsetof(struct obd_connect_data, paddingB) == 152, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, paddingB));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingB) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingB));
+       LASSERTF((int)offsetof(struct obd_connect_data, paddingC) == 160, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, paddingC));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingC) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingC));
+       LASSERTF((int)offsetof(struct obd_connect_data, paddingD) == 168, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, paddingD));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingD) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingD));
+       LASSERTF((int)offsetof(struct obd_connect_data, paddingE) == 176, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, paddingE));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingE) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingE));
+       LASSERTF((int)offsetof(struct obd_connect_data, paddingF) == 184, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, paddingF));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingF) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingF));
+       LASSERTF(OBD_CONNECT_RDONLY == 0x1ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_RDONLY);
+       LASSERTF(OBD_CONNECT_INDEX == 0x2ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_INDEX);
+       LASSERTF(OBD_CONNECT_MDS == 0x4ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_MDS);
+       LASSERTF(OBD_CONNECT_GRANT == 0x8ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_GRANT);
+       LASSERTF(OBD_CONNECT_SRVLOCK == 0x10ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_SRVLOCK);
+       LASSERTF(OBD_CONNECT_VERSION == 0x20ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_VERSION);
+       LASSERTF(OBD_CONNECT_REQPORTAL == 0x40ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_REQPORTAL);
+       LASSERTF(OBD_CONNECT_ACL == 0x80ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_ACL);
+       LASSERTF(OBD_CONNECT_XATTR == 0x100ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_XATTR);
+       LASSERTF(OBD_CONNECT_CROW == 0x200ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_CROW);
+       LASSERTF(OBD_CONNECT_TRUNCLOCK == 0x400ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_TRUNCLOCK);
+       LASSERTF(OBD_CONNECT_TRANSNO == 0x800ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_TRANSNO);
+       LASSERTF(OBD_CONNECT_IBITS == 0x1000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_IBITS);
+       LASSERTF(OBD_CONNECT_JOIN == 0x2000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_JOIN);
+       LASSERTF(OBD_CONNECT_ATTRFID == 0x4000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_ATTRFID);
+       LASSERTF(OBD_CONNECT_NODEVOH == 0x8000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_NODEVOH);
+       LASSERTF(OBD_CONNECT_RMT_CLIENT == 0x10000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_RMT_CLIENT);
+       LASSERTF(OBD_CONNECT_RMT_CLIENT_FORCE == 0x20000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_RMT_CLIENT_FORCE);
+       LASSERTF(OBD_CONNECT_BRW_SIZE == 0x40000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_BRW_SIZE);
+       LASSERTF(OBD_CONNECT_QUOTA64 == 0x80000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_QUOTA64);
+       LASSERTF(OBD_CONNECT_MDS_CAPA == 0x100000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_MDS_CAPA);
+       LASSERTF(OBD_CONNECT_OSS_CAPA == 0x200000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_OSS_CAPA);
+       LASSERTF(OBD_CONNECT_CANCELSET == 0x400000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_CANCELSET);
+       LASSERTF(OBD_CONNECT_SOM == 0x800000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_SOM);
+       LASSERTF(OBD_CONNECT_AT == 0x1000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_AT);
+       LASSERTF(OBD_CONNECT_LRU_RESIZE == 0x2000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_LRU_RESIZE);
+       LASSERTF(OBD_CONNECT_MDS_MDS == 0x4000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_MDS_MDS);
+       LASSERTF(OBD_CONNECT_REAL == 0x8000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_REAL);
+       LASSERTF(OBD_CONNECT_CHANGE_QS == 0x10000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_CHANGE_QS);
+       LASSERTF(OBD_CONNECT_CKSUM == 0x20000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_CKSUM);
+       LASSERTF(OBD_CONNECT_FID == 0x40000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_FID);
+       LASSERTF(OBD_CONNECT_VBR == 0x80000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_VBR);
+       LASSERTF(OBD_CONNECT_LOV_V3 == 0x100000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_LOV_V3);
+       LASSERTF(OBD_CONNECT_GRANT_SHRINK == 0x200000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_GRANT_SHRINK);
+       LASSERTF(OBD_CONNECT_SKIP_ORPHAN == 0x400000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_SKIP_ORPHAN);
+       LASSERTF(OBD_CONNECT_MAX_EASIZE == 0x800000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_MAX_EASIZE);
+       LASSERTF(OBD_CONNECT_FULL20 == 0x1000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_FULL20);
+       LASSERTF(OBD_CONNECT_LAYOUTLOCK == 0x2000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_LAYOUTLOCK);
+       LASSERTF(OBD_CONNECT_64BITHASH == 0x4000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_64BITHASH);
+       LASSERTF(OBD_CONNECT_MAXBYTES == 0x8000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_MAXBYTES);
+       LASSERTF(OBD_CONNECT_IMP_RECOV == 0x10000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_IMP_RECOV);
+       LASSERTF(OBD_CONNECT_JOBSTATS == 0x20000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_JOBSTATS);
+       LASSERTF(OBD_CONNECT_UMASK == 0x40000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_UMASK);
+       LASSERTF(OBD_CONNECT_EINPROGRESS == 0x80000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_EINPROGRESS);
+       LASSERTF(OBD_CONNECT_GRANT_PARAM == 0x100000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_GRANT_PARAM);
+       LASSERTF(OBD_CONNECT_FLOCK_OWNER == 0x200000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_FLOCK_OWNER);
+       LASSERTF(OBD_CONNECT_LVB_TYPE == 0x400000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_LVB_TYPE);
+       LASSERTF(OBD_CONNECT_NANOSEC_TIME == 0x800000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_NANOSEC_TIME);
+       LASSERTF(OBD_CONNECT_LIGHTWEIGHT == 0x1000000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_LIGHTWEIGHT);
+       LASSERTF(OBD_CONNECT_SHORTIO == 0x2000000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_SHORTIO);
+       LASSERTF(OBD_CKSUM_CRC32 == 0x00000001UL, "found 0x%.8xUL\n",
+               (unsigned)OBD_CKSUM_CRC32);
+       LASSERTF(OBD_CKSUM_ADLER == 0x00000002UL, "found 0x%.8xUL\n",
+               (unsigned)OBD_CKSUM_ADLER);
+       LASSERTF(OBD_CKSUM_CRC32C == 0x00000004UL, "found 0x%.8xUL\n",
+               (unsigned)OBD_CKSUM_CRC32C);
 
-        /* Checks for struct obdo */
-        LASSERTF((int)sizeof(struct obdo) == 208, "found %lld\n",
-                 (long long)(int)sizeof(struct obdo));
-        LASSERTF((int)offsetof(struct obdo, o_valid) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_valid));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_valid) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_valid));
-        LASSERTF((int)offsetof(struct obdo, o_oi.oi_id) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_oi.oi_id));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_oi.oi_id) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_oi.oi_id));
-        LASSERTF((int)offsetof(struct obdo, o_oi.oi_seq) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_oi.oi_seq));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_oi.oi_seq) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_oi.oi_seq));
-        LASSERTF((int)offsetof(struct obdo, o_parent_seq) == 24, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_parent_seq));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_parent_seq) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_parent_seq));
-        LASSERTF((int)offsetof(struct obdo, o_size) == 32, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_size));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_size) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_size));
-        LASSERTF((int)offsetof(struct obdo, o_mtime) == 40, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_mtime));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_mtime) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_mtime));
-        LASSERTF((int)offsetof(struct obdo, o_atime) == 48, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_atime));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_atime) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_atime));
-        LASSERTF((int)offsetof(struct obdo, o_ctime) == 56, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_ctime));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_ctime) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_ctime));
-        LASSERTF((int)offsetof(struct obdo, o_blocks) == 64, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_blocks));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_blocks) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_blocks));
-        LASSERTF((int)offsetof(struct obdo, o_grant) == 72, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_grant));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_grant) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_grant));
-        LASSERTF((int)offsetof(struct obdo, o_blksize) == 80, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_blksize));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_blksize) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_blksize));
-        LASSERTF((int)offsetof(struct obdo, o_mode) == 84, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_mode));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_mode) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_mode));
-        LASSERTF((int)offsetof(struct obdo, o_uid) == 88, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_uid));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_uid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_uid));
-        LASSERTF((int)offsetof(struct obdo, o_gid) == 92, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_gid));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_gid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_gid));
-        LASSERTF((int)offsetof(struct obdo, o_flags) == 96, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_flags));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_flags) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_flags));
-        LASSERTF((int)offsetof(struct obdo, o_nlink) == 100, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_nlink));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_nlink) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_nlink));
-        LASSERTF((int)offsetof(struct obdo, o_parent_oid) == 104, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_parent_oid));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_parent_oid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_parent_oid));
-        LASSERTF((int)offsetof(struct obdo, o_misc) == 108, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_misc));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_misc) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_misc));
-        LASSERTF((int)offsetof(struct obdo, o_ioepoch) == 112, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_ioepoch));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_ioepoch) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_ioepoch));
-        LASSERTF((int)offsetof(struct obdo, o_stripe_idx) == 120, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_stripe_idx));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_stripe_idx) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_stripe_idx));
-        LASSERTF((int)offsetof(struct obdo, o_parent_ver) == 124, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_parent_ver));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_parent_ver) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_parent_ver));
-        LASSERTF((int)offsetof(struct obdo, o_handle) == 128, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_handle));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_handle) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_handle));
-        LASSERTF((int)offsetof(struct obdo, o_lcookie) == 136, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_lcookie));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_lcookie) == 32, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_lcookie));
-        LASSERTF((int)offsetof(struct obdo, o_uid_h) == 168, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_uid_h));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_uid_h) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_uid_h));
-        LASSERTF((int)offsetof(struct obdo, o_gid_h) == 172, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_gid_h));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_gid_h) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_gid_h));
-        LASSERTF((int)offsetof(struct obdo, o_data_version) == 176, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_data_version));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_data_version) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_data_version));
-        LASSERTF((int)offsetof(struct obdo, o_padding_4) == 184, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_padding_4));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_padding_4) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_padding_4));
-        LASSERTF((int)offsetof(struct obdo, o_padding_5) == 192, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_padding_5));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_padding_5) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_padding_5));
-        LASSERTF((int)offsetof(struct obdo, o_padding_6) == 200, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_padding_6));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_padding_6) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_padding_6));
-        LASSERTF(OBD_MD_FLID == (0x00000001ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLID);
-        LASSERTF(OBD_MD_FLATIME == (0x00000002ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLATIME);
-        LASSERTF(OBD_MD_FLMTIME == (0x00000004ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLMTIME);
-        LASSERTF(OBD_MD_FLCTIME == (0x00000008ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLCTIME);
-        LASSERTF(OBD_MD_FLSIZE == (0x00000010ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLSIZE);
-        LASSERTF(OBD_MD_FLBLOCKS == (0x00000020ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLBLOCKS);
-        LASSERTF(OBD_MD_FLBLKSZ == (0x00000040ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLBLKSZ);
-        LASSERTF(OBD_MD_FLMODE == (0x00000080ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLMODE);
-        LASSERTF(OBD_MD_FLTYPE == (0x00000100ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLTYPE);
-        LASSERTF(OBD_MD_FLUID == (0x00000200ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLUID);
-        LASSERTF(OBD_MD_FLGID == (0x00000400ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLGID);
-        LASSERTF(OBD_MD_FLFLAGS == (0x00000800ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLFLAGS);
-        LASSERTF(OBD_MD_FLNLINK == (0x00002000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLNLINK);
-        LASSERTF(OBD_MD_FLGENER == (0x00004000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLGENER);
-        LASSERTF(OBD_MD_FLRDEV == (0x00010000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLRDEV);
-        LASSERTF(OBD_MD_FLEASIZE == (0x00020000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLEASIZE);
-        LASSERTF(OBD_MD_LINKNAME == (0x00040000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_LINKNAME);
-        LASSERTF(OBD_MD_FLHANDLE == (0x00080000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLHANDLE);
-        LASSERTF(OBD_MD_FLCKSUM == (0x00100000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLCKSUM);
-        LASSERTF(OBD_MD_FLQOS == (0x00200000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLQOS);
-        LASSERTF(OBD_MD_FLCOOKIE == (0x00800000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLCOOKIE);
-        LASSERTF(OBD_MD_FLGROUP == (0x01000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLGROUP);
-        LASSERTF(OBD_MD_FLFID == (0x02000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLFID);
-        LASSERTF(OBD_MD_FLEPOCH == (0x04000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLEPOCH);
-        LASSERTF(OBD_MD_FLGRANT == (0x08000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLGRANT);
-        LASSERTF(OBD_MD_FLDIREA == (0x10000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLDIREA);
-        LASSERTF(OBD_MD_FLUSRQUOTA == (0x20000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLUSRQUOTA);
-        LASSERTF(OBD_MD_FLGRPQUOTA == (0x40000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLGRPQUOTA);
-        LASSERTF(OBD_MD_FLMODEASIZE == (0x80000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLMODEASIZE);
-        LASSERTF(OBD_MD_MDS == (0x0000000100000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_MDS);
-        LASSERTF(OBD_MD_REINT == (0x0000000200000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_REINT);
-        LASSERTF(OBD_MD_MEA == (0x0000000400000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_MEA);
-        LASSERTF(OBD_MD_FLXATTR == (0x0000001000000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLXATTR);
-        LASSERTF(OBD_MD_FLXATTRLS == (0x0000002000000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLXATTRLS);
-        LASSERTF(OBD_MD_FLXATTRRM == (0x0000004000000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLXATTRRM);
-        LASSERTF(OBD_MD_FLACL == (0x0000008000000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLACL);
-        LASSERTF(OBD_MD_FLRMTPERM == (0x0000010000000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLRMTPERM);
-        LASSERTF(OBD_MD_FLMDSCAPA == (0x0000020000000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLMDSCAPA);
-        LASSERTF(OBD_MD_FLOSSCAPA == (0x0000040000000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLOSSCAPA);
-        LASSERTF(OBD_MD_FLCKSPLIT == (0x0000080000000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLCKSPLIT);
-        LASSERTF(OBD_MD_FLCROSSREF == (0x0000100000000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLCROSSREF);
-        LASSERTF(OBD_MD_FLGETATTRLOCK == (0x0000200000000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLGETATTRLOCK);
-        LASSERTF(OBD_MD_FLRMTLSETFACL == (0x0001000000000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLRMTLSETFACL);
-        LASSERTF(OBD_MD_FLRMTLGETFACL == (0x0002000000000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLRMTLGETFACL);
-        LASSERTF(OBD_MD_FLRMTRSETFACL == (0x0004000000000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLRMTRSETFACL);
-        LASSERTF(OBD_MD_FLRMTRGETFACL == (0x0008000000000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLRMTRGETFACL);
-        LASSERTF(OBD_MD_FLDATAVERSION == (0x0010000000000000ULL), "found 0x%.16llxULL\n",
-                 OBD_MD_FLDATAVERSION);
-        CLASSERT(OBD_FL_INLINEDATA == 0x00000001);
-        CLASSERT(OBD_FL_OBDMDEXISTS == 0x00000002);
-        CLASSERT(OBD_FL_DELORPHAN == 0x00000004);
-        CLASSERT(OBD_FL_NORPC == 0x00000008);
-        CLASSERT(OBD_FL_IDONLY == 0x00000010);
-        CLASSERT(OBD_FL_RECREATE_OBJS == 0x00000020);
-        CLASSERT(OBD_FL_DEBUG_CHECK == 0x00000040);
-        CLASSERT(OBD_FL_NO_USRQUOTA == 0x00000100);
-        CLASSERT(OBD_FL_NO_GRPQUOTA == 0x00000200);
-        CLASSERT(OBD_FL_CREATE_CROW == 0x00000400);
-        CLASSERT(OBD_FL_SRVLOCK == 0x00000800);
-        CLASSERT(OBD_FL_CKSUM_CRC32 == 0x00001000);
-        CLASSERT(OBD_FL_CKSUM_ADLER == 0x00002000);
-        CLASSERT(OBD_FL_CKSUM_CRC32C == 0x00004000);
-        CLASSERT(OBD_FL_CKSUM_RSVD2 == 0x00008000);
-        CLASSERT(OBD_FL_CKSUM_RSVD3 == 0x00010000);
-        CLASSERT(OBD_FL_SHRINK_GRANT == 0x00020000);
-        CLASSERT(OBD_FL_MMAP == 0x00040000);
-        CLASSERT(OBD_FL_RECOV_RESEND == 0x00080000);
-        CLASSERT(OBD_FL_NOSPC_BLK == 0x00100000);
-        CLASSERT(OBD_FL_LOCAL_MASK == 0xf0000000);
+       /* Checks for struct obdo */
+       LASSERTF((int)sizeof(struct obdo) == 208, "found %lld\n",
+                (long long)(int)sizeof(struct obdo));
+       LASSERTF((int)offsetof(struct obdo, o_valid) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_valid));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_valid) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_valid));
+       LASSERTF((int)offsetof(struct obdo, o_oi.oi_id) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_oi.oi_id));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_oi.oi_id) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_oi.oi_id));
+       LASSERTF((int)offsetof(struct obdo, o_oi.oi_seq) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_oi.oi_seq));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_oi.oi_seq) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_oi.oi_seq));
+       LASSERTF((int)offsetof(struct obdo, o_parent_seq) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_parent_seq));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_parent_seq) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_parent_seq));
+       LASSERTF((int)offsetof(struct obdo, o_size) == 32, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_size));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_size) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_size));
+       LASSERTF((int)offsetof(struct obdo, o_mtime) == 40, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_mtime));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_mtime) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_mtime));
+       LASSERTF((int)offsetof(struct obdo, o_atime) == 48, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_atime));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_atime) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_atime));
+       LASSERTF((int)offsetof(struct obdo, o_ctime) == 56, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_ctime));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_ctime) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_ctime));
+       LASSERTF((int)offsetof(struct obdo, o_blocks) == 64, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_blocks));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_blocks) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_blocks));
+       LASSERTF((int)offsetof(struct obdo, o_grant) == 72, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_grant));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_grant) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_grant));
+       LASSERTF((int)offsetof(struct obdo, o_blksize) == 80, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_blksize));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_blksize) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_blksize));
+       LASSERTF((int)offsetof(struct obdo, o_mode) == 84, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_mode));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_mode) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_mode));
+       LASSERTF((int)offsetof(struct obdo, o_uid) == 88, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_uid));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_uid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_uid));
+       LASSERTF((int)offsetof(struct obdo, o_gid) == 92, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_gid));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_gid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_gid));
+       LASSERTF((int)offsetof(struct obdo, o_flags) == 96, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_flags));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_flags));
+       LASSERTF((int)offsetof(struct obdo, o_nlink) == 100, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_nlink));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_nlink) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_nlink));
+       LASSERTF((int)offsetof(struct obdo, o_parent_oid) == 104, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_parent_oid));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_parent_oid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_parent_oid));
+       LASSERTF((int)offsetof(struct obdo, o_misc) == 108, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_misc));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_misc) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_misc));
+       LASSERTF((int)offsetof(struct obdo, o_ioepoch) == 112, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_ioepoch));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_ioepoch) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_ioepoch));
+       LASSERTF((int)offsetof(struct obdo, o_stripe_idx) == 120, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_stripe_idx));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_stripe_idx) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_stripe_idx));
+       LASSERTF((int)offsetof(struct obdo, o_parent_ver) == 124, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_parent_ver));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_parent_ver) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_parent_ver));
+       LASSERTF((int)offsetof(struct obdo, o_handle) == 128, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_handle));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_handle) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_handle));
+       LASSERTF((int)offsetof(struct obdo, o_lcookie) == 136, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_lcookie));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_lcookie) == 32, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_lcookie));
+       LASSERTF((int)offsetof(struct obdo, o_uid_h) == 168, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_uid_h));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_uid_h) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_uid_h));
+       LASSERTF((int)offsetof(struct obdo, o_gid_h) == 172, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_gid_h));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_gid_h) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_gid_h));
+       LASSERTF((int)offsetof(struct obdo, o_data_version) == 176, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_data_version));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_data_version) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_data_version));
+       LASSERTF((int)offsetof(struct obdo, o_padding_4) == 184, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_padding_4));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_padding_4) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_padding_4));
+       LASSERTF((int)offsetof(struct obdo, o_padding_5) == 192, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_padding_5));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_padding_5) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_padding_5));
+       LASSERTF((int)offsetof(struct obdo, o_padding_6) == 200, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_padding_6));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_padding_6) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_padding_6));
+       LASSERTF(OBD_MD_FLID == (0x00000001ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLID);
+       LASSERTF(OBD_MD_FLATIME == (0x00000002ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLATIME);
+       LASSERTF(OBD_MD_FLMTIME == (0x00000004ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLMTIME);
+       LASSERTF(OBD_MD_FLCTIME == (0x00000008ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLCTIME);
+       LASSERTF(OBD_MD_FLSIZE == (0x00000010ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLSIZE);
+       LASSERTF(OBD_MD_FLBLOCKS == (0x00000020ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLBLOCKS);
+       LASSERTF(OBD_MD_FLBLKSZ == (0x00000040ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLBLKSZ);
+       LASSERTF(OBD_MD_FLMODE == (0x00000080ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLMODE);
+       LASSERTF(OBD_MD_FLTYPE == (0x00000100ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLTYPE);
+       LASSERTF(OBD_MD_FLUID == (0x00000200ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLUID);
+       LASSERTF(OBD_MD_FLGID == (0x00000400ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLGID);
+       LASSERTF(OBD_MD_FLFLAGS == (0x00000800ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLFLAGS);
+       LASSERTF(OBD_MD_FLNLINK == (0x00002000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLNLINK);
+       LASSERTF(OBD_MD_FLGENER == (0x00004000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLGENER);
+       LASSERTF(OBD_MD_FLRDEV == (0x00010000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLRDEV);
+       LASSERTF(OBD_MD_FLEASIZE == (0x00020000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLEASIZE);
+       LASSERTF(OBD_MD_LINKNAME == (0x00040000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_LINKNAME);
+       LASSERTF(OBD_MD_FLHANDLE == (0x00080000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLHANDLE);
+       LASSERTF(OBD_MD_FLCKSUM == (0x00100000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLCKSUM);
+       LASSERTF(OBD_MD_FLQOS == (0x00200000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLQOS);
+       LASSERTF(OBD_MD_FLCOOKIE == (0x00800000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLCOOKIE);
+       LASSERTF(OBD_MD_FLGROUP == (0x01000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLGROUP);
+       LASSERTF(OBD_MD_FLFID == (0x02000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLFID);
+       LASSERTF(OBD_MD_FLEPOCH == (0x04000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLEPOCH);
+       LASSERTF(OBD_MD_FLGRANT == (0x08000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLGRANT);
+       LASSERTF(OBD_MD_FLDIREA == (0x10000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLDIREA);
+       LASSERTF(OBD_MD_FLUSRQUOTA == (0x20000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLUSRQUOTA);
+       LASSERTF(OBD_MD_FLGRPQUOTA == (0x40000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLGRPQUOTA);
+       LASSERTF(OBD_MD_FLMODEASIZE == (0x80000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLMODEASIZE);
+       LASSERTF(OBD_MD_MDS == (0x0000000100000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_MDS);
+       LASSERTF(OBD_MD_REINT == (0x0000000200000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_REINT);
+       LASSERTF(OBD_MD_MEA == (0x0000000400000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_MEA);
+       LASSERTF(OBD_MD_FLXATTR == (0x0000001000000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLXATTR);
+       LASSERTF(OBD_MD_FLXATTRLS == (0x0000002000000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLXATTRLS);
+       LASSERTF(OBD_MD_FLXATTRRM == (0x0000004000000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLXATTRRM);
+       LASSERTF(OBD_MD_FLACL == (0x0000008000000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLACL);
+       LASSERTF(OBD_MD_FLRMTPERM == (0x0000010000000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLRMTPERM);
+       LASSERTF(OBD_MD_FLMDSCAPA == (0x0000020000000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLMDSCAPA);
+       LASSERTF(OBD_MD_FLOSSCAPA == (0x0000040000000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLOSSCAPA);
+       LASSERTF(OBD_MD_FLCKSPLIT == (0x0000080000000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLCKSPLIT);
+       LASSERTF(OBD_MD_FLCROSSREF == (0x0000100000000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLCROSSREF);
+       LASSERTF(OBD_MD_FLGETATTRLOCK == (0x0000200000000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLGETATTRLOCK);
+       LASSERTF(OBD_MD_FLRMTLSETFACL == (0x0001000000000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLRMTLSETFACL);
+       LASSERTF(OBD_MD_FLRMTLGETFACL == (0x0002000000000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLRMTLGETFACL);
+       LASSERTF(OBD_MD_FLRMTRSETFACL == (0x0004000000000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLRMTRSETFACL);
+       LASSERTF(OBD_MD_FLRMTRGETFACL == (0x0008000000000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLRMTRGETFACL);
+       LASSERTF(OBD_MD_FLDATAVERSION == (0x0010000000000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_FLDATAVERSION);
+       CLASSERT(OBD_FL_INLINEDATA == 0x00000001);
+       CLASSERT(OBD_FL_OBDMDEXISTS == 0x00000002);
+       CLASSERT(OBD_FL_DELORPHAN == 0x00000004);
+       CLASSERT(OBD_FL_NORPC == 0x00000008);
+       CLASSERT(OBD_FL_IDONLY == 0x00000010);
+       CLASSERT(OBD_FL_RECREATE_OBJS == 0x00000020);
+       CLASSERT(OBD_FL_DEBUG_CHECK == 0x00000040);
+       CLASSERT(OBD_FL_NO_USRQUOTA == 0x00000100);
+       CLASSERT(OBD_FL_NO_GRPQUOTA == 0x00000200);
+       CLASSERT(OBD_FL_CREATE_CROW == 0x00000400);
+       CLASSERT(OBD_FL_SRVLOCK == 0x00000800);
+       CLASSERT(OBD_FL_CKSUM_CRC32 == 0x00001000);
+       CLASSERT(OBD_FL_CKSUM_ADLER == 0x00002000);
+       CLASSERT(OBD_FL_CKSUM_CRC32C == 0x00004000);
+       CLASSERT(OBD_FL_CKSUM_RSVD2 == 0x00008000);
+       CLASSERT(OBD_FL_CKSUM_RSVD3 == 0x00010000);
+       CLASSERT(OBD_FL_SHRINK_GRANT == 0x00020000);
+       CLASSERT(OBD_FL_MMAP == 0x00040000);
+       CLASSERT(OBD_FL_RECOV_RESEND == 0x00080000);
+       CLASSERT(OBD_FL_NOSPC_BLK == 0x00100000);
+       CLASSERT(OBD_FL_LOCAL_MASK == 0xf0000000);
 
-        /* Checks for struct lov_ost_data_v1 */
-        LASSERTF((int)sizeof(struct lov_ost_data_v1) == 24, "found %lld\n",
-                 (long long)(int)sizeof(struct lov_ost_data_v1));
-        LASSERTF((int)offsetof(struct lov_ost_data_v1, l_object_id) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_ost_data_v1, l_object_id));
-        LASSERTF((int)sizeof(((struct lov_ost_data_v1 *)0)->l_object_id) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_ost_data_v1 *)0)->l_object_id));
-        LASSERTF((int)offsetof(struct lov_ost_data_v1, l_object_seq) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_ost_data_v1, l_object_seq));
-        LASSERTF((int)sizeof(((struct lov_ost_data_v1 *)0)->l_object_seq) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_ost_data_v1 *)0)->l_object_seq));
-        LASSERTF((int)offsetof(struct lov_ost_data_v1, l_ost_gen) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_ost_data_v1, l_ost_gen));
-        LASSERTF((int)sizeof(((struct lov_ost_data_v1 *)0)->l_ost_gen) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_ost_data_v1 *)0)->l_ost_gen));
-        LASSERTF((int)offsetof(struct lov_ost_data_v1, l_ost_idx) == 20, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_ost_data_v1, l_ost_idx));
-        LASSERTF((int)sizeof(((struct lov_ost_data_v1 *)0)->l_ost_idx) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_ost_data_v1 *)0)->l_ost_idx));
+       /* Checks for struct lov_ost_data_v1 */
+       LASSERTF((int)sizeof(struct lov_ost_data_v1) == 24, "found %lld\n",
+                (long long)(int)sizeof(struct lov_ost_data_v1));
+       LASSERTF((int)offsetof(struct lov_ost_data_v1, l_object_id) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct lov_ost_data_v1, l_object_id));
+       LASSERTF((int)sizeof(((struct lov_ost_data_v1 *)0)->l_object_id) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_ost_data_v1 *)0)->l_object_id));
+       LASSERTF((int)offsetof(struct lov_ost_data_v1, l_object_seq) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct lov_ost_data_v1, l_object_seq));
+       LASSERTF((int)sizeof(((struct lov_ost_data_v1 *)0)->l_object_seq) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_ost_data_v1 *)0)->l_object_seq));
+       LASSERTF((int)offsetof(struct lov_ost_data_v1, l_ost_gen) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct lov_ost_data_v1, l_ost_gen));
+       LASSERTF((int)sizeof(((struct lov_ost_data_v1 *)0)->l_ost_gen) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_ost_data_v1 *)0)->l_ost_gen));
+       LASSERTF((int)offsetof(struct lov_ost_data_v1, l_ost_idx) == 20, "found %lld\n",
+                (long long)(int)offsetof(struct lov_ost_data_v1, l_ost_idx));
+       LASSERTF((int)sizeof(((struct lov_ost_data_v1 *)0)->l_ost_idx) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_ost_data_v1 *)0)->l_ost_idx));
 
-        /* Checks for struct lov_mds_md_v1 */
-        LASSERTF((int)sizeof(struct lov_mds_md_v1) == 32, "found %lld\n",
-                 (long long)(int)sizeof(struct lov_mds_md_v1));
-        LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_magic) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_mds_md_v1, lmm_magic));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_magic) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_magic));
-        LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_pattern) == 4, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_mds_md_v1, lmm_pattern));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_pattern) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_pattern));
-        LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_object_id) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_mds_md_v1, lmm_object_id));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_object_id) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_object_id));
-        LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_object_seq) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_mds_md_v1, lmm_object_seq));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_object_seq) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_object_seq));
-        LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_stripe_size) == 24, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_mds_md_v1, lmm_stripe_size));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_stripe_size) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_stripe_size));
-        LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_stripe_count) == 28, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_mds_md_v1, lmm_stripe_count));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_stripe_count) == 2, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_stripe_count));
-        LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_layout_gen) == 30, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_mds_md_v1, lmm_layout_gen));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_layout_gen) == 2, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_layout_gen));
-        LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_objects[0]) == 32, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_mds_md_v1, lmm_objects[0]));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_objects[0]) == 24, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_objects[0]));
-        CLASSERT(LOV_MAGIC_V1 == 0x0BD10BD0);
+       /* Checks for struct lov_mds_md_v1 */
+       LASSERTF((int)sizeof(struct lov_mds_md_v1) == 32, "found %lld\n",
+                (long long)(int)sizeof(struct lov_mds_md_v1));
+       LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_magic) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v1, lmm_magic));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_magic) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_magic));
+       LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_pattern) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v1, lmm_pattern));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_pattern) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_pattern));
+       LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_object_id) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v1, lmm_object_id));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_object_id) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_object_id));
+       LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_object_seq) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v1, lmm_object_seq));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_object_seq) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_object_seq));
+       LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_stripe_size) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v1, lmm_stripe_size));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_stripe_size) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_stripe_size));
+       LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_stripe_count) == 28, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v1, lmm_stripe_count));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_stripe_count) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_stripe_count));
+       LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_layout_gen) == 30, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v1, lmm_layout_gen));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_layout_gen) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_layout_gen));
+       LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_objects[0]) == 32, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v1, lmm_objects[0]));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_objects[0]) == 24, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_objects[0]));
+       CLASSERT(LOV_MAGIC_V1 == 0x0BD10BD0);
 
-        /* Checks for struct lov_mds_md_v3 */
-        LASSERTF((int)sizeof(struct lov_mds_md_v3) == 48, "found %lld\n",
-                 (long long)(int)sizeof(struct lov_mds_md_v3));
-        LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_magic) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_mds_md_v3, lmm_magic));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_magic) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_magic));
-        LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_pattern) == 4, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_mds_md_v3, lmm_pattern));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_pattern) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_pattern));
-        LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_object_id) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_mds_md_v3, lmm_object_id));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_object_id) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_object_id));
-        LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_object_seq) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_mds_md_v3, lmm_object_seq));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_object_seq) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_object_seq));
-        LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_stripe_size) == 24, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_mds_md_v3, lmm_stripe_size));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_stripe_size) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_stripe_size));
-        LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_stripe_count) == 28, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_mds_md_v3, lmm_stripe_count));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_stripe_count) == 2, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_stripe_count));
-        LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_layout_gen) == 30, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_mds_md_v3, lmm_layout_gen));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_layout_gen) == 2, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_layout_gen));
-        CLASSERT(LOV_MAXPOOLNAME == 16);
-        LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_pool_name[16]) == 48, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_mds_md_v3, lmm_pool_name[16]));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_pool_name[16]) == 1, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_pool_name[16]));
-        LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_objects[0]) == 48, "found %lld\n",
-                 (long long)(int)offsetof(struct lov_mds_md_v3, lmm_objects[0]));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_objects[0]) == 24, "found %lld\n",
-                 (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_objects[0]));
-        CLASSERT(LOV_MAGIC_V3 == 0x0BD30BD0);
-        LASSERTF(LOV_PATTERN_RAID0 == 0x00000001UL, "found 0x%.8xUL\n",
-                 (unsigned)LOV_PATTERN_RAID0);
-        LASSERTF(LOV_PATTERN_RAID1 == 0x00000002UL, "found 0x%.8xUL\n",
-                 (unsigned)LOV_PATTERN_RAID1);
-        LASSERTF(LOV_PATTERN_FIRST == 0x00000100UL, "found 0x%.8xUL\n",
-                 (unsigned)LOV_PATTERN_FIRST);
-        LASSERTF(LOV_PATTERN_CMOBD == 0x00000200UL, "found 0x%.8xUL\n",
-                 (unsigned)LOV_PATTERN_CMOBD);
+       /* Checks for struct lov_mds_md_v3 */
+       LASSERTF((int)sizeof(struct lov_mds_md_v3) == 48, "found %lld\n",
+                (long long)(int)sizeof(struct lov_mds_md_v3));
+       LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_magic) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v3, lmm_magic));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_magic) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_magic));
+       LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_pattern) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v3, lmm_pattern));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_pattern) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_pattern));
+       LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_object_id) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v3, lmm_object_id));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_object_id) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_object_id));
+       LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_object_seq) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v3, lmm_object_seq));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_object_seq) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_object_seq));
+       LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_stripe_size) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v3, lmm_stripe_size));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_stripe_size) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_stripe_size));
+       LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_stripe_count) == 28, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v3, lmm_stripe_count));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_stripe_count) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_stripe_count));
+       LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_layout_gen) == 30, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v3, lmm_layout_gen));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_layout_gen) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_layout_gen));
+       CLASSERT(LOV_MAXPOOLNAME == 16);
+       LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_pool_name[16]) == 48, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v3, lmm_pool_name[16]));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_pool_name[16]) == 1, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_pool_name[16]));
+       LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_objects[0]) == 48, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v3, lmm_objects[0]));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_objects[0]) == 24, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_objects[0]));
+       CLASSERT(LOV_MAGIC_V3 == 0x0BD30BD0);
+       LASSERTF(LOV_PATTERN_RAID0 == 0x00000001UL, "found 0x%.8xUL\n",
+               (unsigned)LOV_PATTERN_RAID0);
+       LASSERTF(LOV_PATTERN_RAID1 == 0x00000002UL, "found 0x%.8xUL\n",
+               (unsigned)LOV_PATTERN_RAID1);
+       LASSERTF(LOV_PATTERN_FIRST == 0x00000100UL, "found 0x%.8xUL\n",
+               (unsigned)LOV_PATTERN_FIRST);
+       LASSERTF(LOV_PATTERN_CMOBD == 0x00000200UL, "found 0x%.8xUL\n",
+               (unsigned)LOV_PATTERN_CMOBD);
 
-        /* Checks for struct obd_statfs */
-        LASSERTF((int)sizeof(struct obd_statfs) == 144, "found %lld\n",
-                 (long long)(int)sizeof(struct obd_statfs));
-        LASSERTF((int)offsetof(struct obd_statfs, os_type) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_type));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_type) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_type));
-        LASSERTF((int)offsetof(struct obd_statfs, os_blocks) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_blocks));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_blocks) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_blocks));
-        LASSERTF((int)offsetof(struct obd_statfs, os_bfree) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_bfree));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_bfree) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_bfree));
-        LASSERTF((int)offsetof(struct obd_statfs, os_bavail) == 24, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_bavail));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_bavail) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_bavail));
-        LASSERTF((int)offsetof(struct obd_statfs, os_ffree) == 40, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_ffree));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_ffree) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_ffree));
-        LASSERTF((int)offsetof(struct obd_statfs, os_fsid) == 48, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_fsid));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_fsid) == 40, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_fsid));
-        LASSERTF((int)offsetof(struct obd_statfs, os_bsize) == 88, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_bsize));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_bsize) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_bsize));
-        LASSERTF((int)offsetof(struct obd_statfs, os_namelen) == 92, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_namelen));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_namelen) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_namelen));
-        LASSERTF((int)offsetof(struct obd_statfs, os_state) == 104, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_state));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_state) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_state));
-        LASSERTF((int)offsetof(struct obd_statfs, os_fprecreated) == 108, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_fprecreated));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_fprecreated) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_fprecreated));
-        LASSERTF((int)offsetof(struct obd_statfs, os_spare2) == 112, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_spare2));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_spare2) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_spare2));
-        LASSERTF((int)offsetof(struct obd_statfs, os_spare3) == 116, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_spare3));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_spare3) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_spare3));
-        LASSERTF((int)offsetof(struct obd_statfs, os_spare4) == 120, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_spare4));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_spare4) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_spare4));
-        LASSERTF((int)offsetof(struct obd_statfs, os_spare5) == 124, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_spare5));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_spare5) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_spare5));
-        LASSERTF((int)offsetof(struct obd_statfs, os_spare6) == 128, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_spare6));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_spare6) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_spare6));
-        LASSERTF((int)offsetof(struct obd_statfs, os_spare7) == 132, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_spare7));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_spare7) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_spare7));
-        LASSERTF((int)offsetof(struct obd_statfs, os_spare8) == 136, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_spare8));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_spare8) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_spare8));
-        LASSERTF((int)offsetof(struct obd_statfs, os_spare9) == 140, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_statfs, os_spare9));
-        LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_spare9) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_statfs *)0)->os_spare9));
+       /* Checks for struct obd_statfs */
+       LASSERTF((int)sizeof(struct obd_statfs) == 144, "found %lld\n",
+                (long long)(int)sizeof(struct obd_statfs));
+       LASSERTF((int)offsetof(struct obd_statfs, os_type) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_type));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_type) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_type));
+       LASSERTF((int)offsetof(struct obd_statfs, os_blocks) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_blocks));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_blocks) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_blocks));
+       LASSERTF((int)offsetof(struct obd_statfs, os_bfree) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_bfree));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_bfree) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_bfree));
+       LASSERTF((int)offsetof(struct obd_statfs, os_bavail) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_bavail));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_bavail) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_bavail));
+       LASSERTF((int)offsetof(struct obd_statfs, os_ffree) == 40, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_ffree));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_ffree) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_ffree));
+       LASSERTF((int)offsetof(struct obd_statfs, os_fsid) == 48, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_fsid));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_fsid) == 40, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_fsid));
+       LASSERTF((int)offsetof(struct obd_statfs, os_bsize) == 88, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_bsize));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_bsize) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_bsize));
+       LASSERTF((int)offsetof(struct obd_statfs, os_namelen) == 92, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_namelen));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_namelen) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_namelen));
+       LASSERTF((int)offsetof(struct obd_statfs, os_state) == 104, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_state));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_state) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_state));
+       LASSERTF((int)offsetof(struct obd_statfs, os_fprecreated) == 108, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_fprecreated));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_fprecreated) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_fprecreated));
+       LASSERTF((int)offsetof(struct obd_statfs, os_spare2) == 112, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_spare2));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_spare2) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_spare2));
+       LASSERTF((int)offsetof(struct obd_statfs, os_spare3) == 116, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_spare3));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_spare3) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_spare3));
+       LASSERTF((int)offsetof(struct obd_statfs, os_spare4) == 120, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_spare4));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_spare4) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_spare4));
+       LASSERTF((int)offsetof(struct obd_statfs, os_spare5) == 124, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_spare5));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_spare5) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_spare5));
+       LASSERTF((int)offsetof(struct obd_statfs, os_spare6) == 128, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_spare6));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_spare6) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_spare6));
+       LASSERTF((int)offsetof(struct obd_statfs, os_spare7) == 132, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_spare7));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_spare7) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_spare7));
+       LASSERTF((int)offsetof(struct obd_statfs, os_spare8) == 136, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_spare8));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_spare8) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_spare8));
+       LASSERTF((int)offsetof(struct obd_statfs, os_spare9) == 140, "found %lld\n",
+                (long long)(int)offsetof(struct obd_statfs, os_spare9));
+       LASSERTF((int)sizeof(((struct obd_statfs *)0)->os_spare9) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_statfs *)0)->os_spare9));
 
-        /* Checks for struct obd_ioobj */
-        LASSERTF((int)sizeof(struct obd_ioobj) == 24, "found %lld\n",
-                 (long long)(int)sizeof(struct obd_ioobj));
-        LASSERTF((int)offsetof(struct obd_ioobj, ioo_id) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_ioobj, ioo_id));
-        LASSERTF((int)sizeof(((struct obd_ioobj *)0)->ioo_id) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_ioobj *)0)->ioo_id));
-        LASSERTF((int)offsetof(struct obd_ioobj, ioo_seq) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_ioobj, ioo_seq));
-        LASSERTF((int)sizeof(((struct obd_ioobj *)0)->ioo_seq) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_ioobj *)0)->ioo_seq));
-        LASSERTF((int)offsetof(struct obd_ioobj, ioo_type) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_ioobj, ioo_type));
-        LASSERTF((int)sizeof(((struct obd_ioobj *)0)->ioo_type) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_ioobj *)0)->ioo_type));
-        LASSERTF((int)offsetof(struct obd_ioobj, ioo_bufcnt) == 20, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_ioobj, ioo_bufcnt));
-        LASSERTF((int)sizeof(((struct obd_ioobj *)0)->ioo_bufcnt) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_ioobj *)0)->ioo_bufcnt));
+       /* Checks for struct obd_ioobj */
+       LASSERTF((int)sizeof(struct obd_ioobj) == 24, "found %lld\n",
+                (long long)(int)sizeof(struct obd_ioobj));
+       LASSERTF((int)offsetof(struct obd_ioobj, ioo_oid.oi_id) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct obd_ioobj, ioo_oid.oi_id));
+       LASSERTF((int)sizeof(((struct obd_ioobj *)0)->ioo_oid.oi_id) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_ioobj *)0)->ioo_oid.oi_id));
+       LASSERTF((int)offsetof(struct obd_ioobj, ioo_oid.oi_seq) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct obd_ioobj, ioo_oid.oi_seq));
+       LASSERTF((int)sizeof(((struct obd_ioobj *)0)->ioo_oid.oi_seq) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_ioobj *)0)->ioo_oid.oi_seq));
+       LASSERTF((int)offsetof(struct obd_ioobj, ioo_type) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct obd_ioobj, ioo_type));
+       LASSERTF((int)sizeof(((struct obd_ioobj *)0)->ioo_type) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_ioobj *)0)->ioo_type));
+       LASSERTF((int)offsetof(struct obd_ioobj, ioo_bufcnt) == 20, "found %lld\n",
+                (long long)(int)offsetof(struct obd_ioobj, ioo_bufcnt));
+       LASSERTF((int)sizeof(((struct obd_ioobj *)0)->ioo_bufcnt) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_ioobj *)0)->ioo_bufcnt));
 
-        /* Checks for union lquota_id */
-        LASSERTF((int)sizeof(union lquota_id) == 16, "found %lld\n",
-                 (long long)(int)sizeof(union lquota_id));
+       /* Checks for union lquota_id */
+       LASSERTF((int)sizeof(union lquota_id) == 16, "found %lld\n",
+                (long long)(int)sizeof(union lquota_id));
 
-        LASSERTF(QUOTABLOCK_BITS == 10, "found %lld\n",
-                 (long long)QUOTABLOCK_BITS);
-        LASSERTF(QUOTABLOCK_SIZE == 1024, "found %lld\n",
-                 (long long)QUOTABLOCK_SIZE);
+       LASSERTF(QUOTABLOCK_BITS == 10, "found %lld\n",
+                (long long)QUOTABLOCK_BITS);
+       LASSERTF(QUOTABLOCK_SIZE == 1024, "found %lld\n",
+                (long long)QUOTABLOCK_SIZE);
 
-        /* Checks for struct obd_quotactl */
-        LASSERTF((int)sizeof(struct obd_quotactl) == 112, "found %lld\n",
-                 (long long)(int)sizeof(struct obd_quotactl));
-        LASSERTF((int)offsetof(struct obd_quotactl, qc_cmd) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_quotactl, qc_cmd));
-        LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_cmd) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_cmd));
-        LASSERTF((int)offsetof(struct obd_quotactl, qc_type) == 4, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_quotactl, qc_type));
-        LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_type) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_type));
-        LASSERTF((int)offsetof(struct obd_quotactl, qc_id) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_quotactl, qc_id));
-        LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_id) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_id));
-        LASSERTF((int)offsetof(struct obd_quotactl, qc_stat) == 12, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_quotactl, qc_stat));
-        LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_stat) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_stat));
-        LASSERTF((int)offsetof(struct obd_quotactl, qc_dqinfo) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_quotactl, qc_dqinfo));
-        LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_dqinfo) == 24, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_dqinfo));
-        LASSERTF((int)offsetof(struct obd_quotactl, qc_dqblk) == 40, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_quotactl, qc_dqblk));
-        LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_dqblk) == 72, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_dqblk));
+       /* Checks for struct obd_quotactl */
+       LASSERTF((int)sizeof(struct obd_quotactl) == 112, "found %lld\n",
+                (long long)(int)sizeof(struct obd_quotactl));
+       LASSERTF((int)offsetof(struct obd_quotactl, qc_cmd) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct obd_quotactl, qc_cmd));
+       LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_cmd) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_cmd));
+       LASSERTF((int)offsetof(struct obd_quotactl, qc_type) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct obd_quotactl, qc_type));
+       LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_type) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_type));
+       LASSERTF((int)offsetof(struct obd_quotactl, qc_id) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct obd_quotactl, qc_id));
+       LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_id) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_id));
+       LASSERTF((int)offsetof(struct obd_quotactl, qc_stat) == 12, "found %lld\n",
+                (long long)(int)offsetof(struct obd_quotactl, qc_stat));
+       LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_stat) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_stat));
+       LASSERTF((int)offsetof(struct obd_quotactl, qc_dqinfo) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct obd_quotactl, qc_dqinfo));
+       LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_dqinfo) == 24, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_dqinfo));
+       LASSERTF((int)offsetof(struct obd_quotactl, qc_dqblk) == 40, "found %lld\n",
+                (long long)(int)offsetof(struct obd_quotactl, qc_dqblk));
+       LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_dqblk) == 72, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_dqblk));
 
-        /* Checks for struct obd_dqinfo */
-        LASSERTF((int)sizeof(struct obd_dqinfo) == 24, "found %lld\n",
-                 (long long)(int)sizeof(struct obd_dqinfo));
-        LASSERTF((int)offsetof(struct obd_dqinfo, dqi_bgrace) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_dqinfo, dqi_bgrace));
-        LASSERTF((int)sizeof(((struct obd_dqinfo *)0)->dqi_bgrace) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_dqinfo *)0)->dqi_bgrace));
-        LASSERTF((int)offsetof(struct obd_dqinfo, dqi_igrace) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_dqinfo, dqi_igrace));
-        LASSERTF((int)sizeof(((struct obd_dqinfo *)0)->dqi_igrace) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_dqinfo *)0)->dqi_igrace));
-        LASSERTF((int)offsetof(struct obd_dqinfo, dqi_flags) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_dqinfo, dqi_flags));
-        LASSERTF((int)sizeof(((struct obd_dqinfo *)0)->dqi_flags) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_dqinfo *)0)->dqi_flags));
-        LASSERTF((int)offsetof(struct obd_dqinfo, dqi_valid) == 20, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_dqinfo, dqi_valid));
-        LASSERTF((int)sizeof(((struct obd_dqinfo *)0)->dqi_valid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_dqinfo *)0)->dqi_valid));
+       /* Checks for struct obd_dqinfo */
+       LASSERTF((int)sizeof(struct obd_dqinfo) == 24, "found %lld\n",
+                (long long)(int)sizeof(struct obd_dqinfo));
+       LASSERTF((int)offsetof(struct obd_dqinfo, dqi_bgrace) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct obd_dqinfo, dqi_bgrace));
+       LASSERTF((int)sizeof(((struct obd_dqinfo *)0)->dqi_bgrace) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_dqinfo *)0)->dqi_bgrace));
+       LASSERTF((int)offsetof(struct obd_dqinfo, dqi_igrace) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct obd_dqinfo, dqi_igrace));
+       LASSERTF((int)sizeof(((struct obd_dqinfo *)0)->dqi_igrace) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_dqinfo *)0)->dqi_igrace));
+       LASSERTF((int)offsetof(struct obd_dqinfo, dqi_flags) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct obd_dqinfo, dqi_flags));
+       LASSERTF((int)sizeof(((struct obd_dqinfo *)0)->dqi_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_dqinfo *)0)->dqi_flags));
+       LASSERTF((int)offsetof(struct obd_dqinfo, dqi_valid) == 20, "found %lld\n",
+                (long long)(int)offsetof(struct obd_dqinfo, dqi_valid));
+       LASSERTF((int)sizeof(((struct obd_dqinfo *)0)->dqi_valid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_dqinfo *)0)->dqi_valid));
 
-        /* Checks for struct obd_dqblk */
-        LASSERTF((int)sizeof(struct obd_dqblk) == 72, "found %lld\n",
-                 (long long)(int)sizeof(struct obd_dqblk));
-        LASSERTF((int)offsetof(struct obd_dqblk, dqb_bhardlimit) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_dqblk, dqb_bhardlimit));
-        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_bhardlimit) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_bhardlimit));
-        LASSERTF((int)offsetof(struct obd_dqblk, dqb_bsoftlimit) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_dqblk, dqb_bsoftlimit));
-        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_bsoftlimit) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_bsoftlimit));
-        LASSERTF((int)offsetof(struct obd_dqblk, dqb_curspace) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_dqblk, dqb_curspace));
-        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_curspace) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_curspace));
-        LASSERTF((int)offsetof(struct obd_dqblk, dqb_ihardlimit) == 24, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_dqblk, dqb_ihardlimit));
-        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_ihardlimit) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_ihardlimit));
-        LASSERTF((int)offsetof(struct obd_dqblk, dqb_isoftlimit) == 32, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_dqblk, dqb_isoftlimit));
-        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_isoftlimit) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_isoftlimit));
-        LASSERTF((int)offsetof(struct obd_dqblk, dqb_curinodes) == 40, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_dqblk, dqb_curinodes));
-        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_curinodes) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_curinodes));
-        LASSERTF((int)offsetof(struct obd_dqblk, dqb_btime) == 48, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_dqblk, dqb_btime));
-        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_btime) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_btime));
-        LASSERTF((int)offsetof(struct obd_dqblk, dqb_itime) == 56, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_dqblk, dqb_itime));
-        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_itime) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_itime));
-        LASSERTF((int)offsetof(struct obd_dqblk, dqb_valid) == 64, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_dqblk, dqb_valid));
-        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_valid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_valid));
-        LASSERTF((int)offsetof(struct obd_dqblk, dqb_padding) == 68, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_dqblk, dqb_padding));
-        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_padding) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_padding));
-        LASSERTF(Q_QUOTACHECK == 0x800100, "found 0x%.8x\n",
-                 Q_QUOTACHECK);
-        LASSERTF(Q_INITQUOTA == 0x800101, "found 0x%.8x\n",
-                 Q_INITQUOTA);
-        LASSERTF(Q_GETOINFO == 0x800102, "found 0x%.8x\n",
-                 Q_GETOINFO);
-        LASSERTF(Q_GETOQUOTA == 0x800103, "found 0x%.8x\n",
-                 Q_GETOQUOTA);
-        LASSERTF(Q_FINVALIDATE == 0x800104, "found 0x%.8x\n",
-                 Q_FINVALIDATE);
+       /* Checks for struct obd_dqblk */
+       LASSERTF((int)sizeof(struct obd_dqblk) == 72, "found %lld\n",
+                (long long)(int)sizeof(struct obd_dqblk));
+       LASSERTF((int)offsetof(struct obd_dqblk, dqb_bhardlimit) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct obd_dqblk, dqb_bhardlimit));
+       LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_bhardlimit) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_bhardlimit));
+       LASSERTF((int)offsetof(struct obd_dqblk, dqb_bsoftlimit) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct obd_dqblk, dqb_bsoftlimit));
+       LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_bsoftlimit) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_bsoftlimit));
+       LASSERTF((int)offsetof(struct obd_dqblk, dqb_curspace) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct obd_dqblk, dqb_curspace));
+       LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_curspace) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_curspace));
+       LASSERTF((int)offsetof(struct obd_dqblk, dqb_ihardlimit) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct obd_dqblk, dqb_ihardlimit));
+       LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_ihardlimit) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_ihardlimit));
+       LASSERTF((int)offsetof(struct obd_dqblk, dqb_isoftlimit) == 32, "found %lld\n",
+                (long long)(int)offsetof(struct obd_dqblk, dqb_isoftlimit));
+       LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_isoftlimit) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_isoftlimit));
+       LASSERTF((int)offsetof(struct obd_dqblk, dqb_curinodes) == 40, "found %lld\n",
+                (long long)(int)offsetof(struct obd_dqblk, dqb_curinodes));
+       LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_curinodes) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_curinodes));
+       LASSERTF((int)offsetof(struct obd_dqblk, dqb_btime) == 48, "found %lld\n",
+                (long long)(int)offsetof(struct obd_dqblk, dqb_btime));
+       LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_btime) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_btime));
+       LASSERTF((int)offsetof(struct obd_dqblk, dqb_itime) == 56, "found %lld\n",
+                (long long)(int)offsetof(struct obd_dqblk, dqb_itime));
+       LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_itime) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_itime));
+       LASSERTF((int)offsetof(struct obd_dqblk, dqb_valid) == 64, "found %lld\n",
+                (long long)(int)offsetof(struct obd_dqblk, dqb_valid));
+       LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_valid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_valid));
+       LASSERTF((int)offsetof(struct obd_dqblk, dqb_padding) == 68, "found %lld\n",
+                (long long)(int)offsetof(struct obd_dqblk, dqb_padding));
+       LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_padding) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_padding));
+       LASSERTF(Q_QUOTACHECK == 0x800100, "found 0x%.8x\n",
+               Q_QUOTACHECK);
+       LASSERTF(Q_INITQUOTA == 0x800101, "found 0x%.8x\n",
+               Q_INITQUOTA);
+       LASSERTF(Q_GETOINFO == 0x800102, "found 0x%.8x\n",
+               Q_GETOINFO);
+       LASSERTF(Q_GETOQUOTA == 0x800103, "found 0x%.8x\n",
+               Q_GETOQUOTA);
+       LASSERTF(Q_FINVALIDATE == 0x800104, "found 0x%.8x\n",
+               Q_FINVALIDATE);
 
-        /* Checks for struct lquota_acct_rec */
-        LASSERTF((int)sizeof(struct lquota_acct_rec) == 16, "found %lld\n",
-                 (long long)(int)sizeof(struct lquota_acct_rec));
-        LASSERTF((int)offsetof(struct lquota_acct_rec, bspace) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct lquota_acct_rec, bspace));
-        LASSERTF((int)sizeof(((struct lquota_acct_rec *)0)->bspace) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lquota_acct_rec *)0)->bspace));
-        LASSERTF((int)offsetof(struct lquota_acct_rec, ispace) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct lquota_acct_rec, ispace));
-        LASSERTF((int)sizeof(((struct lquota_acct_rec *)0)->ispace) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lquota_acct_rec *)0)->ispace));
+       /* Checks for struct lquota_acct_rec */
+       LASSERTF((int)sizeof(struct lquota_acct_rec) == 16, "found %lld\n",
+                (long long)(int)sizeof(struct lquota_acct_rec));
+       LASSERTF((int)offsetof(struct lquota_acct_rec, bspace) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct lquota_acct_rec, bspace));
+       LASSERTF((int)sizeof(((struct lquota_acct_rec *)0)->bspace) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lquota_acct_rec *)0)->bspace));
+       LASSERTF((int)offsetof(struct lquota_acct_rec, ispace) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct lquota_acct_rec, ispace));
+       LASSERTF((int)sizeof(((struct lquota_acct_rec *)0)->ispace) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lquota_acct_rec *)0)->ispace));
 
-        /* Checks for struct lquota_glb_rec */
-        LASSERTF((int)sizeof(struct lquota_glb_rec) == 32, "found %lld\n",
-                 (long long)(int)sizeof(struct lquota_glb_rec));
-        LASSERTF((int)offsetof(struct lquota_glb_rec, qbr_hardlimit) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct lquota_glb_rec, qbr_hardlimit));
-        LASSERTF((int)sizeof(((struct lquota_glb_rec *)0)->qbr_hardlimit) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lquota_glb_rec *)0)->qbr_hardlimit));
-        LASSERTF((int)offsetof(struct lquota_glb_rec, qbr_softlimit) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct lquota_glb_rec, qbr_softlimit));
-        LASSERTF((int)sizeof(((struct lquota_glb_rec *)0)->qbr_softlimit) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lquota_glb_rec *)0)->qbr_softlimit));
-        LASSERTF((int)offsetof(struct lquota_glb_rec, qbr_time) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct lquota_glb_rec, qbr_time));
-        LASSERTF((int)sizeof(((struct lquota_glb_rec *)0)->qbr_time) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lquota_glb_rec *)0)->qbr_time));
-        LASSERTF((int)offsetof(struct lquota_glb_rec, qbr_granted) == 24, "found %lld\n",
-                 (long long)(int)offsetof(struct lquota_glb_rec, qbr_granted));
-        LASSERTF((int)sizeof(((struct lquota_glb_rec *)0)->qbr_granted) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lquota_glb_rec *)0)->qbr_granted));
+       /* Checks for struct lquota_glb_rec */
+       LASSERTF((int)sizeof(struct lquota_glb_rec) == 32, "found %lld\n",
+                (long long)(int)sizeof(struct lquota_glb_rec));
+       LASSERTF((int)offsetof(struct lquota_glb_rec, qbr_hardlimit) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct lquota_glb_rec, qbr_hardlimit));
+       LASSERTF((int)sizeof(((struct lquota_glb_rec *)0)->qbr_hardlimit) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lquota_glb_rec *)0)->qbr_hardlimit));
+       LASSERTF((int)offsetof(struct lquota_glb_rec, qbr_softlimit) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct lquota_glb_rec, qbr_softlimit));
+       LASSERTF((int)sizeof(((struct lquota_glb_rec *)0)->qbr_softlimit) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lquota_glb_rec *)0)->qbr_softlimit));
+       LASSERTF((int)offsetof(struct lquota_glb_rec, qbr_time) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct lquota_glb_rec, qbr_time));
+       LASSERTF((int)sizeof(((struct lquota_glb_rec *)0)->qbr_time) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lquota_glb_rec *)0)->qbr_time));
+       LASSERTF((int)offsetof(struct lquota_glb_rec, qbr_granted) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct lquota_glb_rec, qbr_granted));
+       LASSERTF((int)sizeof(((struct lquota_glb_rec *)0)->qbr_granted) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lquota_glb_rec *)0)->qbr_granted));
 
-        /* Checks for struct lquota_slv_rec */
-        LASSERTF((int)sizeof(struct lquota_slv_rec) == 8, "found %lld\n",
-                 (long long)(int)sizeof(struct lquota_slv_rec));
-        LASSERTF((int)offsetof(struct lquota_slv_rec, qsr_granted) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct lquota_slv_rec, qsr_granted));
-        LASSERTF((int)sizeof(((struct lquota_slv_rec *)0)->qsr_granted) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lquota_slv_rec *)0)->qsr_granted));
+       /* Checks for struct lquota_slv_rec */
+       LASSERTF((int)sizeof(struct lquota_slv_rec) == 8, "found %lld\n",
+                (long long)(int)sizeof(struct lquota_slv_rec));
+       LASSERTF((int)offsetof(struct lquota_slv_rec, qsr_granted) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct lquota_slv_rec, qsr_granted));
+       LASSERTF((int)sizeof(((struct lquota_slv_rec *)0)->qsr_granted) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lquota_slv_rec *)0)->qsr_granted));
 
-        /* Checks for struct idx_info */
-        LASSERTF((int)sizeof(struct idx_info) == 80, "found %lld\n",
-                 (long long)(int)sizeof(struct idx_info));
-        LASSERTF((int)offsetof(struct idx_info, ii_magic) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct idx_info, ii_magic));
-        LASSERTF((int)sizeof(((struct idx_info *)0)->ii_magic) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct idx_info *)0)->ii_magic));
-        LASSERTF((int)offsetof(struct idx_info, ii_flags) == 4, "found %lld\n",
-                 (long long)(int)offsetof(struct idx_info, ii_flags));
-        LASSERTF((int)sizeof(((struct idx_info *)0)->ii_flags) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct idx_info *)0)->ii_flags));
-        LASSERTF((int)offsetof(struct idx_info, ii_count) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct idx_info, ii_count));
-        LASSERTF((int)sizeof(((struct idx_info *)0)->ii_count) == 2, "found %lld\n",
-                 (long long)(int)sizeof(((struct idx_info *)0)->ii_count));
-        LASSERTF((int)offsetof(struct idx_info, ii_pad0) == 10, "found %lld\n",
-                 (long long)(int)offsetof(struct idx_info, ii_pad0));
-        LASSERTF((int)sizeof(((struct idx_info *)0)->ii_pad0) == 2, "found %lld\n",
-                 (long long)(int)sizeof(((struct idx_info *)0)->ii_pad0));
-        LASSERTF((int)offsetof(struct idx_info, ii_attrs) == 12, "found %lld\n",
-                 (long long)(int)offsetof(struct idx_info, ii_attrs));
-        LASSERTF((int)sizeof(((struct idx_info *)0)->ii_attrs) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct idx_info *)0)->ii_attrs));
-        LASSERTF((int)offsetof(struct idx_info, ii_fid) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct idx_info, ii_fid));
-        LASSERTF((int)sizeof(((struct idx_info *)0)->ii_fid) == 16, "found %lld\n",
-                 (long long)(int)sizeof(((struct idx_info *)0)->ii_fid));
-        LASSERTF((int)offsetof(struct idx_info, ii_version) == 32, "found %lld\n",
-                 (long long)(int)offsetof(struct idx_info, ii_version));
-        LASSERTF((int)sizeof(((struct idx_info *)0)->ii_version) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct idx_info *)0)->ii_version));
-        LASSERTF((int)offsetof(struct idx_info, ii_hash_start) == 40, "found %lld\n",
-                 (long long)(int)offsetof(struct idx_info, ii_hash_start));
-        LASSERTF((int)sizeof(((struct idx_info *)0)->ii_hash_start) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct idx_info *)0)->ii_hash_start));
-        LASSERTF((int)offsetof(struct idx_info, ii_hash_end) == 48, "found %lld\n",
-                 (long long)(int)offsetof(struct idx_info, ii_hash_end));
-        LASSERTF((int)sizeof(((struct idx_info *)0)->ii_hash_end) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct idx_info *)0)->ii_hash_end));
-        LASSERTF((int)offsetof(struct idx_info, ii_keysize) == 56, "found %lld\n",
-                 (long long)(int)offsetof(struct idx_info, ii_keysize));
-        LASSERTF((int)sizeof(((struct idx_info *)0)->ii_keysize) == 2, "found %lld\n",
-                 (long long)(int)sizeof(((struct idx_info *)0)->ii_keysize));
-        LASSERTF((int)offsetof(struct idx_info, ii_recsize) == 58, "found %lld\n",
-                 (long long)(int)offsetof(struct idx_info, ii_recsize));
-        LASSERTF((int)sizeof(((struct idx_info *)0)->ii_recsize) == 2, "found %lld\n",
-                 (long long)(int)sizeof(((struct idx_info *)0)->ii_recsize));
-        LASSERTF((int)offsetof(struct idx_info, ii_pad1) == 60, "found %lld\n",
-                 (long long)(int)offsetof(struct idx_info, ii_pad1));
-        LASSERTF((int)sizeof(((struct idx_info *)0)->ii_pad1) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct idx_info *)0)->ii_pad1));
-        LASSERTF((int)offsetof(struct idx_info, ii_pad2) == 64, "found %lld\n",
-                 (long long)(int)offsetof(struct idx_info, ii_pad2));
-        LASSERTF((int)sizeof(((struct idx_info *)0)->ii_pad2) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct idx_info *)0)->ii_pad2));
-        LASSERTF((int)offsetof(struct idx_info, ii_pad3) == 72, "found %lld\n",
-                 (long long)(int)offsetof(struct idx_info, ii_pad3));
-        LASSERTF((int)sizeof(((struct idx_info *)0)->ii_pad3) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct idx_info *)0)->ii_pad3));
-        CLASSERT(IDX_INFO_MAGIC == 0x3D37CC37);
+       /* Checks for struct idx_info */
+       LASSERTF((int)sizeof(struct idx_info) == 80, "found %lld\n",
+                (long long)(int)sizeof(struct idx_info));
+       LASSERTF((int)offsetof(struct idx_info, ii_magic) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct idx_info, ii_magic));
+       LASSERTF((int)sizeof(((struct idx_info *)0)->ii_magic) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct idx_info *)0)->ii_magic));
+       LASSERTF((int)offsetof(struct idx_info, ii_flags) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct idx_info, ii_flags));
+       LASSERTF((int)sizeof(((struct idx_info *)0)->ii_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct idx_info *)0)->ii_flags));
+       LASSERTF((int)offsetof(struct idx_info, ii_count) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct idx_info, ii_count));
+       LASSERTF((int)sizeof(((struct idx_info *)0)->ii_count) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct idx_info *)0)->ii_count));
+       LASSERTF((int)offsetof(struct idx_info, ii_pad0) == 10, "found %lld\n",
+                (long long)(int)offsetof(struct idx_info, ii_pad0));
+       LASSERTF((int)sizeof(((struct idx_info *)0)->ii_pad0) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct idx_info *)0)->ii_pad0));
+       LASSERTF((int)offsetof(struct idx_info, ii_attrs) == 12, "found %lld\n",
+                (long long)(int)offsetof(struct idx_info, ii_attrs));
+       LASSERTF((int)sizeof(((struct idx_info *)0)->ii_attrs) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct idx_info *)0)->ii_attrs));
+       LASSERTF((int)offsetof(struct idx_info, ii_fid) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct idx_info, ii_fid));
+       LASSERTF((int)sizeof(((struct idx_info *)0)->ii_fid) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct idx_info *)0)->ii_fid));
+       LASSERTF((int)offsetof(struct idx_info, ii_version) == 32, "found %lld\n",
+                (long long)(int)offsetof(struct idx_info, ii_version));
+       LASSERTF((int)sizeof(((struct idx_info *)0)->ii_version) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct idx_info *)0)->ii_version));
+       LASSERTF((int)offsetof(struct idx_info, ii_hash_start) == 40, "found %lld\n",
+                (long long)(int)offsetof(struct idx_info, ii_hash_start));
+       LASSERTF((int)sizeof(((struct idx_info *)0)->ii_hash_start) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct idx_info *)0)->ii_hash_start));
+       LASSERTF((int)offsetof(struct idx_info, ii_hash_end) == 48, "found %lld\n",
+                (long long)(int)offsetof(struct idx_info, ii_hash_end));
+       LASSERTF((int)sizeof(((struct idx_info *)0)->ii_hash_end) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct idx_info *)0)->ii_hash_end));
+       LASSERTF((int)offsetof(struct idx_info, ii_keysize) == 56, "found %lld\n",
+                (long long)(int)offsetof(struct idx_info, ii_keysize));
+       LASSERTF((int)sizeof(((struct idx_info *)0)->ii_keysize) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct idx_info *)0)->ii_keysize));
+       LASSERTF((int)offsetof(struct idx_info, ii_recsize) == 58, "found %lld\n",
+                (long long)(int)offsetof(struct idx_info, ii_recsize));
+       LASSERTF((int)sizeof(((struct idx_info *)0)->ii_recsize) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct idx_info *)0)->ii_recsize));
+       LASSERTF((int)offsetof(struct idx_info, ii_pad1) == 60, "found %lld\n",
+                (long long)(int)offsetof(struct idx_info, ii_pad1));
+       LASSERTF((int)sizeof(((struct idx_info *)0)->ii_pad1) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct idx_info *)0)->ii_pad1));
+       LASSERTF((int)offsetof(struct idx_info, ii_pad2) == 64, "found %lld\n",
+                (long long)(int)offsetof(struct idx_info, ii_pad2));
+       LASSERTF((int)sizeof(((struct idx_info *)0)->ii_pad2) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct idx_info *)0)->ii_pad2));
+       LASSERTF((int)offsetof(struct idx_info, ii_pad3) == 72, "found %lld\n",
+                (long long)(int)offsetof(struct idx_info, ii_pad3));
+       LASSERTF((int)sizeof(((struct idx_info *)0)->ii_pad3) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct idx_info *)0)->ii_pad3));
+       CLASSERT(IDX_INFO_MAGIC == 0x3D37CC37);
 
-        /* Checks for struct lu_idxpage */
-        LASSERTF((int)sizeof(struct lu_idxpage) == 16, "found %lld\n",
-                 (long long)(int)sizeof(struct lu_idxpage));
-        LASSERTF((int)offsetof(struct lu_idxpage, lip_magic) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_idxpage, lip_magic));
-        LASSERTF((int)sizeof(((struct lu_idxpage *)0)->lip_magic) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_idxpage *)0)->lip_magic));
-        LASSERTF((int)offsetof(struct lu_idxpage, lip_flags) == 4, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_idxpage, lip_flags));
-        LASSERTF((int)sizeof(((struct lu_idxpage *)0)->lip_flags) == 2, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_idxpage *)0)->lip_flags));
-        LASSERTF((int)offsetof(struct lu_idxpage, lip_nr) == 6, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_idxpage, lip_nr));
-        LASSERTF((int)sizeof(((struct lu_idxpage *)0)->lip_nr) == 2, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_idxpage *)0)->lip_nr));
-        LASSERTF((int)offsetof(struct lu_idxpage, lip_pad0) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct lu_idxpage, lip_pad0));
-        LASSERTF((int)sizeof(((struct lu_idxpage *)0)->lip_pad0) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct lu_idxpage *)0)->lip_pad0));
-        CLASSERT(LIP_MAGIC == 0x8A6D6B6C);
-        LASSERTF(LIP_HDR_SIZE == 16, "found %lld\n",
-                 (long long)LIP_HDR_SIZE);
-        LASSERTF(II_FL_NOHASH == 1, "found %lld\n",
-                 (long long)II_FL_NOHASH);
-        LASSERTF(II_FL_VARKEY == 2, "found %lld\n",
-                 (long long)II_FL_VARKEY);
-        LASSERTF(II_FL_VARREC == 4, "found %lld\n",
-                 (long long)II_FL_VARREC);
-        LASSERTF(II_FL_NONUNQ == 8, "found %lld\n",
-                 (long long)II_FL_NONUNQ);
+       /* Checks for struct lu_idxpage */
+       LASSERTF((int)sizeof(struct lu_idxpage) == 16, "found %lld\n",
+                (long long)(int)sizeof(struct lu_idxpage));
+       LASSERTF((int)offsetof(struct lu_idxpage, lip_magic) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct lu_idxpage, lip_magic));
+       LASSERTF((int)sizeof(((struct lu_idxpage *)0)->lip_magic) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_idxpage *)0)->lip_magic));
+       LASSERTF((int)offsetof(struct lu_idxpage, lip_flags) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct lu_idxpage, lip_flags));
+       LASSERTF((int)sizeof(((struct lu_idxpage *)0)->lip_flags) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_idxpage *)0)->lip_flags));
+       LASSERTF((int)offsetof(struct lu_idxpage, lip_nr) == 6, "found %lld\n",
+                (long long)(int)offsetof(struct lu_idxpage, lip_nr));
+       LASSERTF((int)sizeof(((struct lu_idxpage *)0)->lip_nr) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_idxpage *)0)->lip_nr));
+       LASSERTF((int)offsetof(struct lu_idxpage, lip_pad0) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct lu_idxpage, lip_pad0));
+       LASSERTF((int)sizeof(((struct lu_idxpage *)0)->lip_pad0) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lu_idxpage *)0)->lip_pad0));
+       CLASSERT(LIP_MAGIC == 0x8A6D6B6C);
+       LASSERTF(LIP_HDR_SIZE == 16, "found %lld\n",
+                (long long)LIP_HDR_SIZE);
+       LASSERTF(II_FL_NOHASH == 1, "found %lld\n",
+                (long long)II_FL_NOHASH);
+       LASSERTF(II_FL_VARKEY == 2, "found %lld\n",
+                (long long)II_FL_VARKEY);
+       LASSERTF(II_FL_VARREC == 4, "found %lld\n",
+                (long long)II_FL_VARREC);
+       LASSERTF(II_FL_NONUNQ == 8, "found %lld\n",
+                (long long)II_FL_NONUNQ);
 
-        /* Checks for struct niobuf_remote */
-        LASSERTF((int)sizeof(struct niobuf_remote) == 16, "found %lld\n",
-                 (long long)(int)sizeof(struct niobuf_remote));
-        LASSERTF((int)offsetof(struct niobuf_remote, offset) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct niobuf_remote, offset));
-        LASSERTF((int)sizeof(((struct niobuf_remote *)0)->offset) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct niobuf_remote *)0)->offset));
-        LASSERTF((int)offsetof(struct niobuf_remote, len) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct niobuf_remote, len));
-        LASSERTF((int)sizeof(((struct niobuf_remote *)0)->len) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct niobuf_remote *)0)->len));
-        LASSERTF((int)offsetof(struct niobuf_remote, flags) == 12, "found %lld\n",
-                 (long long)(int)offsetof(struct niobuf_remote, flags));
-        LASSERTF((int)sizeof(((struct niobuf_remote *)0)->flags) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct niobuf_remote *)0)->flags));
-        LASSERTF(OBD_BRW_READ == 0x01, "found 0x%.8x\n",
-                 OBD_BRW_READ);
-        LASSERTF(OBD_BRW_WRITE == 0x02, "found 0x%.8x\n",
-                 OBD_BRW_WRITE);
-        LASSERTF(OBD_BRW_SYNC == 0x08, "found 0x%.8x\n",
-                 OBD_BRW_SYNC);
-        LASSERTF(OBD_BRW_CHECK == 0x10, "found 0x%.8x\n",
-                 OBD_BRW_CHECK);
-        LASSERTF(OBD_BRW_FROM_GRANT == 0x20, "found 0x%.8x\n",
-                 OBD_BRW_FROM_GRANT);
-        LASSERTF(OBD_BRW_GRANTED == 0x40, "found 0x%.8x\n",
-                 OBD_BRW_GRANTED);
-        LASSERTF(OBD_BRW_NOCACHE == 0x80, "found 0x%.8x\n",
-                 OBD_BRW_NOCACHE);
-        LASSERTF(OBD_BRW_NOQUOTA == 0x100, "found 0x%.8x\n",
-                 OBD_BRW_NOQUOTA);
-        LASSERTF(OBD_BRW_SRVLOCK == 0x200, "found 0x%.8x\n",
-                 OBD_BRW_SRVLOCK);
-        LASSERTF(OBD_BRW_ASYNC == 0x400, "found 0x%.8x\n",
-                 OBD_BRW_ASYNC);
-        LASSERTF(OBD_BRW_MEMALLOC == 0x800, "found 0x%.8x\n",
-                 OBD_BRW_MEMALLOC);
+       /* Checks for struct niobuf_remote */
+       LASSERTF((int)sizeof(struct niobuf_remote) == 16, "found %lld\n",
+                (long long)(int)sizeof(struct niobuf_remote));
+       LASSERTF((int)offsetof(struct niobuf_remote, offset) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct niobuf_remote, offset));
+       LASSERTF((int)sizeof(((struct niobuf_remote *)0)->offset) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct niobuf_remote *)0)->offset));
+       LASSERTF((int)offsetof(struct niobuf_remote, len) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct niobuf_remote, len));
+       LASSERTF((int)sizeof(((struct niobuf_remote *)0)->len) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct niobuf_remote *)0)->len));
+       LASSERTF((int)offsetof(struct niobuf_remote, flags) == 12, "found %lld\n",
+                (long long)(int)offsetof(struct niobuf_remote, flags));
+       LASSERTF((int)sizeof(((struct niobuf_remote *)0)->flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct niobuf_remote *)0)->flags));
+       LASSERTF(OBD_BRW_READ == 0x01, "found 0x%.8x\n",
+               OBD_BRW_READ);
+       LASSERTF(OBD_BRW_WRITE == 0x02, "found 0x%.8x\n",
+               OBD_BRW_WRITE);
+       LASSERTF(OBD_BRW_SYNC == 0x08, "found 0x%.8x\n",
+               OBD_BRW_SYNC);
+       LASSERTF(OBD_BRW_CHECK == 0x10, "found 0x%.8x\n",
+               OBD_BRW_CHECK);
+       LASSERTF(OBD_BRW_FROM_GRANT == 0x20, "found 0x%.8x\n",
+               OBD_BRW_FROM_GRANT);
+       LASSERTF(OBD_BRW_GRANTED == 0x40, "found 0x%.8x\n",
+               OBD_BRW_GRANTED);
+       LASSERTF(OBD_BRW_NOCACHE == 0x80, "found 0x%.8x\n",
+               OBD_BRW_NOCACHE);
+       LASSERTF(OBD_BRW_NOQUOTA == 0x100, "found 0x%.8x\n",
+               OBD_BRW_NOQUOTA);
+       LASSERTF(OBD_BRW_SRVLOCK == 0x200, "found 0x%.8x\n",
+               OBD_BRW_SRVLOCK);
+       LASSERTF(OBD_BRW_ASYNC == 0x400, "found 0x%.8x\n",
+               OBD_BRW_ASYNC);
+       LASSERTF(OBD_BRW_MEMALLOC == 0x800, "found 0x%.8x\n",
+               OBD_BRW_MEMALLOC);
 
-        /* Checks for struct ost_body */
-        LASSERTF((int)sizeof(struct ost_body) == 208, "found %lld\n",
-                 (long long)(int)sizeof(struct ost_body));
-        LASSERTF((int)offsetof(struct ost_body, oa) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct ost_body, oa));
-        LASSERTF((int)sizeof(((struct ost_body *)0)->oa) == 208, "found %lld\n",
-                 (long long)(int)sizeof(((struct ost_body *)0)->oa));
+       /* Checks for struct ost_body */
+       LASSERTF((int)sizeof(struct ost_body) == 208, "found %lld\n",
+                (long long)(int)sizeof(struct ost_body));
+       LASSERTF((int)offsetof(struct ost_body, oa) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct ost_body, oa));
+       LASSERTF((int)sizeof(((struct ost_body *)0)->oa) == 208, "found %lld\n",
+                (long long)(int)sizeof(((struct ost_body *)0)->oa));
 
-        /* Checks for struct ll_fid */
-        LASSERTF((int)sizeof(struct ll_fid) == 16, "found %lld\n",
-                 (long long)(int)sizeof(struct ll_fid));
-        LASSERTF((int)offsetof(struct ll_fid, id) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct ll_fid, id));
-        LASSERTF((int)sizeof(((struct ll_fid *)0)->id) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct ll_fid *)0)->id));
-        LASSERTF((int)offsetof(struct ll_fid, generation) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct ll_fid, generation));
-        LASSERTF((int)sizeof(((struct ll_fid *)0)->generation) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ll_fid *)0)->generation));
-        LASSERTF((int)offsetof(struct ll_fid, f_type) == 12, "found %lld\n",
-                 (long long)(int)offsetof(struct ll_fid, f_type));
-        LASSERTF((int)sizeof(((struct ll_fid *)0)->f_type) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ll_fid *)0)->f_type));
+       /* Checks for struct ll_fid */
+       LASSERTF((int)sizeof(struct ll_fid) == 16, "found %lld\n",
+                (long long)(int)sizeof(struct ll_fid));
+       LASSERTF((int)offsetof(struct ll_fid, id) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct ll_fid, id));
+       LASSERTF((int)sizeof(((struct ll_fid *)0)->id) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct ll_fid *)0)->id));
+       LASSERTF((int)offsetof(struct ll_fid, generation) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct ll_fid, generation));
+       LASSERTF((int)sizeof(((struct ll_fid *)0)->generation) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct ll_fid *)0)->generation));
+       LASSERTF((int)offsetof(struct ll_fid, f_type) == 12, "found %lld\n",
+                (long long)(int)offsetof(struct ll_fid, f_type));
+       LASSERTF((int)sizeof(((struct ll_fid *)0)->f_type) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct ll_fid *)0)->f_type));
 
-        /* Checks for struct mdt_body */
-        LASSERTF((int)sizeof(struct mdt_body) == 216, "found %lld\n",
-                 (long long)(int)sizeof(struct mdt_body));
-        LASSERTF((int)offsetof(struct mdt_body, fid1) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, fid1));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->fid1) == 16, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->fid1));
-        LASSERTF((int)offsetof(struct mdt_body, fid2) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, fid2));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->fid2) == 16, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->fid2));
-        LASSERTF((int)offsetof(struct mdt_body, handle) == 32, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, handle));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->handle) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->handle));
-        LASSERTF((int)offsetof(struct mdt_body, valid) == 40, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, valid));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->valid) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->valid));
-        LASSERTF((int)offsetof(struct mdt_body, size) == 48, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, size));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->size) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->size));
-        LASSERTF((int)offsetof(struct mdt_body, mtime) == 56, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, mtime));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->mtime) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->mtime));
-        LASSERTF((int)offsetof(struct mdt_body, atime) == 64, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, atime));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->atime) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->atime));
-        LASSERTF((int)offsetof(struct mdt_body, ctime) == 72, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, ctime));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->ctime) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->ctime));
-        LASSERTF((int)offsetof(struct mdt_body, blocks) == 80, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, blocks));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->blocks) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->blocks));
-        LASSERTF((int)offsetof(struct mdt_body, ino) == 96, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, ino));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->ino) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->ino));
-        LASSERTF((int)offsetof(struct mdt_body, fsuid) == 104, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, fsuid));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->fsuid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->fsuid));
-        LASSERTF((int)offsetof(struct mdt_body, fsgid) == 108, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, fsgid));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->fsgid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->fsgid));
-        LASSERTF((int)offsetof(struct mdt_body, capability) == 112, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, capability));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->capability) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->capability));
-        LASSERTF((int)offsetof(struct mdt_body, mode) == 116, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, mode));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->mode) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->mode));
-        LASSERTF((int)offsetof(struct mdt_body, uid) == 120, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, uid));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->uid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->uid));
-        LASSERTF((int)offsetof(struct mdt_body, gid) == 124, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, gid));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->gid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->gid));
-        LASSERTF((int)offsetof(struct mdt_body, flags) == 128, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, flags));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->flags) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->flags));
-        LASSERTF((int)offsetof(struct mdt_body, rdev) == 132, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, rdev));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->rdev) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->rdev));
-        LASSERTF((int)offsetof(struct mdt_body, nlink) == 136, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, nlink));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->nlink) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->nlink));
-        LASSERTF((int)offsetof(struct mdt_body, generation) == 140, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, generation));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->generation) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->generation));
-        LASSERTF((int)offsetof(struct mdt_body, suppgid) == 144, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, suppgid));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->suppgid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->suppgid));
-        LASSERTF((int)offsetof(struct mdt_body, eadatasize) == 148, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, eadatasize));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->eadatasize) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->eadatasize));
-        LASSERTF((int)offsetof(struct mdt_body, aclsize) == 152, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, aclsize));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->aclsize) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->aclsize));
-        LASSERTF((int)offsetof(struct mdt_body, max_mdsize) == 156, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, max_mdsize));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->max_mdsize) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->max_mdsize));
-        LASSERTF((int)offsetof(struct mdt_body, max_cookiesize) == 160, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, max_cookiesize));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->max_cookiesize) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->max_cookiesize));
-        LASSERTF((int)offsetof(struct mdt_body, uid_h) == 164, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, uid_h));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->uid_h) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->uid_h));
-        LASSERTF((int)offsetof(struct mdt_body, gid_h) == 168, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, gid_h));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->gid_h) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->gid_h));
-        LASSERTF((int)offsetof(struct mdt_body, padding_5) == 172, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, padding_5));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_5) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_5));
-        LASSERTF((int)offsetof(struct mdt_body, padding_6) == 176, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, padding_6));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_6) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_6));
-        LASSERTF((int)offsetof(struct mdt_body, padding_7) == 184, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, padding_7));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_7) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_7));
-        LASSERTF((int)offsetof(struct mdt_body, padding_8) == 192, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, padding_8));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_8) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_8));
-        LASSERTF((int)offsetof(struct mdt_body, padding_9) == 200, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, padding_9));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_9) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_9));
-        LASSERTF((int)offsetof(struct mdt_body, padding_10) == 208, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_body, padding_10));
-        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_10) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_10));
-        LASSERTF(MDS_FMODE_CLOSED == 000000000000UL, "found 0%.11oUL\n",
-                 MDS_FMODE_CLOSED);
-        LASSERTF(MDS_FMODE_EXEC == 000000000004UL, "found 0%.11oUL\n",
-                 MDS_FMODE_EXEC);
-        LASSERTF(MDS_FMODE_EPOCH == 000001000000UL, "found 0%.11oUL\n",
-                 MDS_FMODE_EPOCH);
-        LASSERTF(MDS_FMODE_TRUNC == 000002000000UL, "found 0%.11oUL\n",
-                 MDS_FMODE_TRUNC);
-        LASSERTF(MDS_FMODE_SOM == 000004000000UL, "found 0%.11oUL\n",
-                 MDS_FMODE_SOM);
-        LASSERTF(MDS_OPEN_CREATED == 000000000010UL, "found 0%.11oUL\n",
-                 MDS_OPEN_CREATED);
-        LASSERTF(MDS_OPEN_CROSS == 000000000020UL, "found 0%.11oUL\n",
-                 MDS_OPEN_CROSS);
-        LASSERTF(MDS_OPEN_CREAT == 000000000100UL, "found 0%.11oUL\n",
-                 MDS_OPEN_CREAT);
-        LASSERTF(MDS_OPEN_EXCL == 000000000200UL, "found 0%.11oUL\n",
-                 MDS_OPEN_EXCL);
-        LASSERTF(MDS_OPEN_TRUNC == 000000001000UL, "found 0%.11oUL\n",
-                 MDS_OPEN_TRUNC);
-        LASSERTF(MDS_OPEN_APPEND == 000000002000UL, "found 0%.11oUL\n",
-                 MDS_OPEN_APPEND);
-        LASSERTF(MDS_OPEN_SYNC == 000000010000UL, "found 0%.11oUL\n",
-                 MDS_OPEN_SYNC);
-        LASSERTF(MDS_OPEN_DIRECTORY == 000000200000UL, "found 0%.11oUL\n",
-                 MDS_OPEN_DIRECTORY);
-        LASSERTF(MDS_OPEN_BY_FID == 000040000000UL, "found 0%.11oUL\n",
-                 MDS_OPEN_BY_FID);
-        LASSERTF(MDS_OPEN_DELAY_CREATE == 000100000000UL, "found 0%.11oUL\n",
-                 MDS_OPEN_DELAY_CREATE);
-        LASSERTF(MDS_OPEN_OWNEROVERRIDE == 000200000000UL, "found 0%.11oUL\n",
-                 MDS_OPEN_OWNEROVERRIDE);
-        LASSERTF(MDS_OPEN_JOIN_FILE == 000400000000UL, "found 0%.11oUL\n",
-                 MDS_OPEN_JOIN_FILE);
-        LASSERTF(MDS_OPEN_LOCK == 004000000000UL, "found 0%.11oUL\n",
-                 MDS_OPEN_LOCK);
-        LASSERTF(MDS_OPEN_HAS_EA == 010000000000UL, "found 0%.11oUL\n",
-                 MDS_OPEN_HAS_EA);
-        LASSERTF(MDS_OPEN_HAS_OBJS == 020000000000UL, "found 0%.11oUL\n",
-                 MDS_OPEN_HAS_OBJS);
-        LASSERTF(MDS_OPEN_NORESTORE == 00000000000100000000000ULL, "found 0%.22lloULL\n",
-                 (long long)MDS_OPEN_NORESTORE);
-        LASSERTF(MDS_OPEN_NEWSTRIPE == 00000000000200000000000ULL, "found 0%.22lloULL\n",
-                 (long long)MDS_OPEN_NEWSTRIPE);
-        LASSERTF(MDS_OPEN_VOLATILE == 00000000000400000000000ULL, "found 0%.22lloULL\n",
-                 (long long)MDS_OPEN_VOLATILE);
-        LASSERTF(LUSTRE_SYNC_FL == 0x00000008, "found 0x%.8x\n",
-                 LUSTRE_SYNC_FL);
-        LASSERTF(LUSTRE_IMMUTABLE_FL == 0x00000010, "found 0x%.8x\n",
-                 LUSTRE_IMMUTABLE_FL);
-        LASSERTF(LUSTRE_APPEND_FL == 0x00000020, "found 0x%.8x\n",
-                 LUSTRE_APPEND_FL);
-        LASSERTF(LUSTRE_NOATIME_FL == 0x00000080, "found 0x%.8x\n",
-                 LUSTRE_NOATIME_FL);
-        LASSERTF(LUSTRE_DIRSYNC_FL == 0x00010000, "found 0x%.8x\n",
-                 LUSTRE_DIRSYNC_FL);
-        LASSERTF(MDS_INODELOCK_LOOKUP == 0x000001, "found 0x%.8x\n",
-                 MDS_INODELOCK_LOOKUP);
-        LASSERTF(MDS_INODELOCK_UPDATE == 0x000002, "found 0x%.8x\n",
-                 MDS_INODELOCK_UPDATE);
-        LASSERTF(MDS_INODELOCK_OPEN == 0x000004, "found 0x%.8x\n",
-                 MDS_INODELOCK_OPEN);
-        LASSERTF(MDS_INODELOCK_LAYOUT == 0x000008, "found 0x%.8x\n",
-                 MDS_INODELOCK_LAYOUT);
+       /* Checks for struct mdt_body */
+       LASSERTF((int)sizeof(struct mdt_body) == 216, "found %lld\n",
+                (long long)(int)sizeof(struct mdt_body));
+       LASSERTF((int)offsetof(struct mdt_body, fid1) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, fid1));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->fid1) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->fid1));
+       LASSERTF((int)offsetof(struct mdt_body, fid2) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, fid2));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->fid2) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->fid2));
+       LASSERTF((int)offsetof(struct mdt_body, handle) == 32, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, handle));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->handle) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->handle));
+       LASSERTF((int)offsetof(struct mdt_body, valid) == 40, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, valid));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->valid) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->valid));
+       LASSERTF((int)offsetof(struct mdt_body, size) == 48, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, size));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->size) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->size));
+       LASSERTF((int)offsetof(struct mdt_body, mtime) == 56, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mtime));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mtime) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mtime));
+       LASSERTF((int)offsetof(struct mdt_body, atime) == 64, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, atime));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->atime) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->atime));
+       LASSERTF((int)offsetof(struct mdt_body, ctime) == 72, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, ctime));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->ctime) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->ctime));
+       LASSERTF((int)offsetof(struct mdt_body, blocks) == 80, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, blocks));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->blocks) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->blocks));
+       LASSERTF((int)offsetof(struct mdt_body, ino) == 96, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, ino));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->ino) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->ino));
+       LASSERTF((int)offsetof(struct mdt_body, fsuid) == 104, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, fsuid));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->fsuid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->fsuid));
+       LASSERTF((int)offsetof(struct mdt_body, fsgid) == 108, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, fsgid));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->fsgid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->fsgid));
+       LASSERTF((int)offsetof(struct mdt_body, capability) == 112, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, capability));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->capability) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->capability));
+       LASSERTF((int)offsetof(struct mdt_body, mode) == 116, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mode));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mode) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mode));
+       LASSERTF((int)offsetof(struct mdt_body, uid) == 120, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, uid));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->uid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->uid));
+       LASSERTF((int)offsetof(struct mdt_body, gid) == 124, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, gid));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->gid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->gid));
+       LASSERTF((int)offsetof(struct mdt_body, flags) == 128, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, flags));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->flags));
+       LASSERTF((int)offsetof(struct mdt_body, rdev) == 132, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, rdev));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->rdev) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->rdev));
+       LASSERTF((int)offsetof(struct mdt_body, nlink) == 136, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, nlink));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->nlink) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->nlink));
+       LASSERTF((int)offsetof(struct mdt_body, generation) == 140, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, generation));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->generation) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->generation));
+       LASSERTF((int)offsetof(struct mdt_body, suppgid) == 144, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, suppgid));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->suppgid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->suppgid));
+       LASSERTF((int)offsetof(struct mdt_body, eadatasize) == 148, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, eadatasize));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->eadatasize) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->eadatasize));
+       LASSERTF((int)offsetof(struct mdt_body, aclsize) == 152, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, aclsize));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->aclsize) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->aclsize));
+       LASSERTF((int)offsetof(struct mdt_body, max_mdsize) == 156, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, max_mdsize));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->max_mdsize) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->max_mdsize));
+       LASSERTF((int)offsetof(struct mdt_body, max_cookiesize) == 160, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, max_cookiesize));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->max_cookiesize) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->max_cookiesize));
+       LASSERTF((int)offsetof(struct mdt_body, uid_h) == 164, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, uid_h));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->uid_h) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->uid_h));
+       LASSERTF((int)offsetof(struct mdt_body, gid_h) == 168, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, gid_h));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->gid_h) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->gid_h));
+       LASSERTF((int)offsetof(struct mdt_body, padding_5) == 172, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, padding_5));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_5) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->padding_5));
+       LASSERTF((int)offsetof(struct mdt_body, padding_6) == 176, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, padding_6));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_6) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->padding_6));
+       LASSERTF((int)offsetof(struct mdt_body, padding_7) == 184, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, padding_7));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_7) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->padding_7));
+       LASSERTF((int)offsetof(struct mdt_body, padding_8) == 192, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, padding_8));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_8) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->padding_8));
+       LASSERTF((int)offsetof(struct mdt_body, padding_9) == 200, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, padding_9));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_9) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->padding_9));
+       LASSERTF((int)offsetof(struct mdt_body, padding_10) == 208, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, padding_10));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_10) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->padding_10));
+       LASSERTF(MDS_FMODE_CLOSED == 000000000000UL, "found 0%.11oUL\n",
+               MDS_FMODE_CLOSED);
+       LASSERTF(MDS_FMODE_EXEC == 000000000004UL, "found 0%.11oUL\n",
+               MDS_FMODE_EXEC);
+       LASSERTF(MDS_FMODE_EPOCH == 000001000000UL, "found 0%.11oUL\n",
+               MDS_FMODE_EPOCH);
+       LASSERTF(MDS_FMODE_TRUNC == 000002000000UL, "found 0%.11oUL\n",
+               MDS_FMODE_TRUNC);
+       LASSERTF(MDS_FMODE_SOM == 000004000000UL, "found 0%.11oUL\n",
+               MDS_FMODE_SOM);
+       LASSERTF(MDS_OPEN_CREATED == 000000000010UL, "found 0%.11oUL\n",
+               MDS_OPEN_CREATED);
+       LASSERTF(MDS_OPEN_CROSS == 000000000020UL, "found 0%.11oUL\n",
+               MDS_OPEN_CROSS);
+       LASSERTF(MDS_OPEN_CREAT == 000000000100UL, "found 0%.11oUL\n",
+               MDS_OPEN_CREAT);
+       LASSERTF(MDS_OPEN_EXCL == 000000000200UL, "found 0%.11oUL\n",
+               MDS_OPEN_EXCL);
+       LASSERTF(MDS_OPEN_TRUNC == 000000001000UL, "found 0%.11oUL\n",
+               MDS_OPEN_TRUNC);
+       LASSERTF(MDS_OPEN_APPEND == 000000002000UL, "found 0%.11oUL\n",
+               MDS_OPEN_APPEND);
+       LASSERTF(MDS_OPEN_SYNC == 000000010000UL, "found 0%.11oUL\n",
+               MDS_OPEN_SYNC);
+       LASSERTF(MDS_OPEN_DIRECTORY == 000000200000UL, "found 0%.11oUL\n",
+               MDS_OPEN_DIRECTORY);
+       LASSERTF(MDS_OPEN_BY_FID == 000040000000UL, "found 0%.11oUL\n",
+               MDS_OPEN_BY_FID);
+       LASSERTF(MDS_OPEN_DELAY_CREATE == 000100000000UL, "found 0%.11oUL\n",
+               MDS_OPEN_DELAY_CREATE);
+       LASSERTF(MDS_OPEN_OWNEROVERRIDE == 000200000000UL, "found 0%.11oUL\n",
+               MDS_OPEN_OWNEROVERRIDE);
+       LASSERTF(MDS_OPEN_JOIN_FILE == 000400000000UL, "found 0%.11oUL\n",
+               MDS_OPEN_JOIN_FILE);
+       LASSERTF(MDS_OPEN_LOCK == 004000000000UL, "found 0%.11oUL\n",
+               MDS_OPEN_LOCK);
+       LASSERTF(MDS_OPEN_HAS_EA == 010000000000UL, "found 0%.11oUL\n",
+               MDS_OPEN_HAS_EA);
+       LASSERTF(MDS_OPEN_HAS_OBJS == 020000000000UL, "found 0%.11oUL\n",
+               MDS_OPEN_HAS_OBJS);
+       LASSERTF(MDS_OPEN_NORESTORE == 00000000000100000000000ULL, "found 0%.22lloULL\n",
+                       (long long)MDS_OPEN_NORESTORE);
+       LASSERTF(MDS_OPEN_NEWSTRIPE == 00000000000200000000000ULL, "found 0%.22lloULL\n",
+                       (long long)MDS_OPEN_NEWSTRIPE);
+       LASSERTF(MDS_OPEN_VOLATILE == 00000000000400000000000ULL, "found 0%.22lloULL\n",
+                       (long long)MDS_OPEN_VOLATILE);
+       LASSERTF(LUSTRE_SYNC_FL == 0x00000008, "found 0x%.8x\n",
+               LUSTRE_SYNC_FL);
+       LASSERTF(LUSTRE_IMMUTABLE_FL == 0x00000010, "found 0x%.8x\n",
+               LUSTRE_IMMUTABLE_FL);
+       LASSERTF(LUSTRE_APPEND_FL == 0x00000020, "found 0x%.8x\n",
+               LUSTRE_APPEND_FL);
+       LASSERTF(LUSTRE_NOATIME_FL == 0x00000080, "found 0x%.8x\n",
+               LUSTRE_NOATIME_FL);
+       LASSERTF(LUSTRE_DIRSYNC_FL == 0x00010000, "found 0x%.8x\n",
+               LUSTRE_DIRSYNC_FL);
+       LASSERTF(MDS_INODELOCK_LOOKUP == 0x000001, "found 0x%.8x\n",
+               MDS_INODELOCK_LOOKUP);
+       LASSERTF(MDS_INODELOCK_UPDATE == 0x000002, "found 0x%.8x\n",
+               MDS_INODELOCK_UPDATE);
+       LASSERTF(MDS_INODELOCK_OPEN == 0x000004, "found 0x%.8x\n",
+               MDS_INODELOCK_OPEN);
+       LASSERTF(MDS_INODELOCK_LAYOUT == 0x000008, "found 0x%.8x\n",
+               MDS_INODELOCK_LAYOUT);
 
-        /* Checks for struct mdt_ioepoch */
-        LASSERTF((int)sizeof(struct mdt_ioepoch) == 24, "found %lld\n",
-                 (long long)(int)sizeof(struct mdt_ioepoch));
-        LASSERTF((int)offsetof(struct mdt_ioepoch, handle) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_ioepoch, handle));
-        LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->handle) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_ioepoch *)0)->handle));
-        LASSERTF((int)offsetof(struct mdt_ioepoch, ioepoch) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_ioepoch, ioepoch));
-        LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->ioepoch) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_ioepoch *)0)->ioepoch));
-        LASSERTF((int)offsetof(struct mdt_ioepoch, flags) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_ioepoch, flags));
-        LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->flags) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_ioepoch *)0)->flags));
-        LASSERTF((int)offsetof(struct mdt_ioepoch, padding) == 20, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_ioepoch, padding));
-        LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->padding) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_ioepoch *)0)->padding));
+       /* Checks for struct mdt_ioepoch */
+       LASSERTF((int)sizeof(struct mdt_ioepoch) == 24, "found %lld\n",
+                (long long)(int)sizeof(struct mdt_ioepoch));
+       LASSERTF((int)offsetof(struct mdt_ioepoch, handle) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_ioepoch, handle));
+       LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->handle) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_ioepoch *)0)->handle));
+       LASSERTF((int)offsetof(struct mdt_ioepoch, ioepoch) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_ioepoch, ioepoch));
+       LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->ioepoch) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_ioepoch *)0)->ioepoch));
+       LASSERTF((int)offsetof(struct mdt_ioepoch, flags) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_ioepoch, flags));
+       LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_ioepoch *)0)->flags));
+       LASSERTF((int)offsetof(struct mdt_ioepoch, padding) == 20, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_ioepoch, padding));
+       LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->padding) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_ioepoch *)0)->padding));
 
-        /* Checks for struct mdt_remote_perm */
-        LASSERTF((int)sizeof(struct mdt_remote_perm) == 32, "found %lld\n",
-                 (long long)(int)sizeof(struct mdt_remote_perm));
-        LASSERTF((int)offsetof(struct mdt_remote_perm, rp_uid) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_remote_perm, rp_uid));
-        LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_uid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_uid));
-        LASSERTF((int)offsetof(struct mdt_remote_perm, rp_gid) == 4, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_remote_perm, rp_gid));
-        LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_gid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_gid));
-        LASSERTF((int)offsetof(struct mdt_remote_perm, rp_fsuid) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_remote_perm, rp_fsuid));
-        LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_fsuid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_fsuid));
-        LASSERTF((int)offsetof(struct mdt_remote_perm, rp_fsgid) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_remote_perm, rp_fsgid));
-        LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_fsgid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_fsgid));
-        LASSERTF((int)offsetof(struct mdt_remote_perm, rp_access_perm) == 24, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_remote_perm, rp_access_perm));
-        LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_access_perm) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_access_perm));
-        LASSERTF((int)offsetof(struct mdt_remote_perm, rp_padding) == 28, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_remote_perm, rp_padding));
-        LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_padding) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_padding));
-        LASSERTF(CFS_SETUID_PERM == 0x00000001UL, "found 0x%.8xUL\n",
-                 (unsigned)CFS_SETUID_PERM);
-        LASSERTF(CFS_SETGID_PERM == 0x00000002UL, "found 0x%.8xUL\n",
-                 (unsigned)CFS_SETGID_PERM);
-        LASSERTF(CFS_SETGRP_PERM == 0x00000004UL, "found 0x%.8xUL\n",
-                 (unsigned)CFS_SETGRP_PERM);
-        LASSERTF(CFS_RMTACL_PERM == 0x00000008UL, "found 0x%.8xUL\n",
-                 (unsigned)CFS_RMTACL_PERM);
-        LASSERTF(CFS_RMTOWN_PERM == 0x00000010UL, "found 0x%.8xUL\n",
-                 (unsigned)CFS_RMTOWN_PERM);
+       /* Checks for struct mdt_remote_perm */
+       LASSERTF((int)sizeof(struct mdt_remote_perm) == 32, "found %lld\n",
+                (long long)(int)sizeof(struct mdt_remote_perm));
+       LASSERTF((int)offsetof(struct mdt_remote_perm, rp_uid) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_remote_perm, rp_uid));
+       LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_uid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_uid));
+       LASSERTF((int)offsetof(struct mdt_remote_perm, rp_gid) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_remote_perm, rp_gid));
+       LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_gid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_gid));
+       LASSERTF((int)offsetof(struct mdt_remote_perm, rp_fsuid) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_remote_perm, rp_fsuid));
+       LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_fsuid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_fsuid));
+       LASSERTF((int)offsetof(struct mdt_remote_perm, rp_fsgid) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_remote_perm, rp_fsgid));
+       LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_fsgid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_fsgid));
+       LASSERTF((int)offsetof(struct mdt_remote_perm, rp_access_perm) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_remote_perm, rp_access_perm));
+       LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_access_perm) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_access_perm));
+       LASSERTF((int)offsetof(struct mdt_remote_perm, rp_padding) == 28, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_remote_perm, rp_padding));
+       LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_padding) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_padding));
+       LASSERTF(CFS_SETUID_PERM == 0x00000001UL, "found 0x%.8xUL\n",
+               (unsigned)CFS_SETUID_PERM);
+       LASSERTF(CFS_SETGID_PERM == 0x00000002UL, "found 0x%.8xUL\n",
+               (unsigned)CFS_SETGID_PERM);
+       LASSERTF(CFS_SETGRP_PERM == 0x00000004UL, "found 0x%.8xUL\n",
+               (unsigned)CFS_SETGRP_PERM);
+       LASSERTF(CFS_RMTACL_PERM == 0x00000008UL, "found 0x%.8xUL\n",
+               (unsigned)CFS_RMTACL_PERM);
+       LASSERTF(CFS_RMTOWN_PERM == 0x00000010UL, "found 0x%.8xUL\n",
+               (unsigned)CFS_RMTOWN_PERM);
 
-        /* Checks for struct mdt_rec_setattr */
-        LASSERTF((int)sizeof(struct mdt_rec_setattr) == 136, "found %lld\n",
-                 (long long)(int)sizeof(struct mdt_rec_setattr));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_opcode) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_opcode));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_opcode) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_opcode));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_cap) == 4, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_cap));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_cap) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_cap));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_fsuid) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_fsuid));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_fsuid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_fsuid));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_fsuid_h) == 12, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_fsuid_h));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_fsuid_h) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_fsuid_h));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_fsgid) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_fsgid));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_fsgid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_fsgid));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_fsgid_h) == 20, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_fsgid_h));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_fsgid_h) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_fsgid_h));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_suppgid) == 24, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_suppgid));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_suppgid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_suppgid));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_suppgid_h) == 28, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_suppgid_h));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_suppgid_h) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_suppgid_h));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_padding_1) == 32, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_padding_1));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_padding_1) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_padding_1));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_padding_1_h) == 36, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_padding_1_h));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_padding_1_h) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_padding_1_h));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_fid) == 40, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_fid));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_fid) == 16, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_fid));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_valid) == 56, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_valid));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_valid) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_valid));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_uid) == 64, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_uid));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_uid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_uid));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_gid) == 68, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_gid));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_gid) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_gid));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_size) == 72, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_size));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_size) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_size));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_blocks) == 80, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_blocks));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_blocks) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_blocks));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_mtime) == 88, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_mtime));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_mtime) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_mtime));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_atime) == 96, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_atime));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_atime) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_atime));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_ctime) == 104, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_ctime));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_ctime) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_ctime));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_attr_flags) == 112, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_attr_flags));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_attr_flags) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_attr_flags));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_mode) == 116, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_mode));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_mode) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_mode));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_bias) == 120, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_bias));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_bias) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_bias));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_padding_3) == 124, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_padding_3));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_padding_3) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_padding_3));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_padding_4) == 128, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_padding_4));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_padding_4) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_padding_4));
-        LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_padding_5) == 132, "found %lld\n",
-                 (long long)(int)offsetof(struct mdt_rec_setattr, sa_padding_5));
-        LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_padding_5) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_padding_5));
+       /* Checks for struct mdt_rec_setattr */
+       LASSERTF((int)sizeof(struct mdt_rec_setattr) == 136, "found %lld\n",
+                (long long)(int)sizeof(struct mdt_rec_setattr));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_opcode) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_opcode));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_opcode) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_opcode));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_cap) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_cap));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_cap) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_cap));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_fsuid) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_fsuid));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_fsuid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_fsuid));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_fsuid_h) == 12, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_fsuid_h));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_fsuid_h) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_fsuid_h));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_fsgid) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_fsgid));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_fsgid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_fsgid));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_fsgid_h) == 20, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_fsgid_h));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_fsgid_h) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_fsgid_h));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_suppgid) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_suppgid));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_suppgid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_suppgid));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_suppgid_h) == 28, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_suppgid_h));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_suppgid_h) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_suppgid_h));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_padding_1) == 32, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_padding_1));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_padding_1) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_padding_1));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_padding_1_h) == 36, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_padding_1_h));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_padding_1_h) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_padding_1_h));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_fid) == 40, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_fid));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_fid) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_fid));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_valid) == 56, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_valid));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_valid) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_valid));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_uid) == 64, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_uid));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_uid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_uid));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_gid) == 68, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_gid));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_gid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_gid));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_size) == 72, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_size));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_size) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_size));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_blocks) == 80, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_blocks));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_blocks) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_blocks));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_mtime) == 88, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_mtime));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_mtime) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_mtime));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_atime) == 96, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_atime));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_atime) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_atime));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_ctime) == 104, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_ctime));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_ctime) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_ctime));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_attr_flags) == 112, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_attr_flags));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_attr_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_attr_flags));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_mode) == 116, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_mode));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_mode) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_mode));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_bias) == 120, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_setattr, sa_bias));
+       LASSERTF((int)sizeof(((struct mdt_rec_setattr *)0)->sa_bias) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_setattr *)0)->sa_bias));
+       LASSERTF((int)offsetof(struct mdt_rec_setattr, sa_padding_3) == 124, "found %lld\n",</