Whamcloud - gitweb
Commit wiretest.c as built on i386 for use on other platforms, instead of
authoradilger <adilger>
Wed, 29 Oct 2003 22:25:56 +0000 (22:25 +0000)
committeradilger <adilger>
Wed, 29 Oct 2003 22:25:56 +0000 (22:25 +0000)
(duh) building it on each platform.
b=1343

lustre/utils/wirehdr.c
lustre/utils/wiretest.c [new file with mode: 0644]

index 0f71339..24bde94 100644 (file)
@@ -4,7 +4,7 @@
 #include <linux/lustre_idl.h>
 
 #undef LASSERT
-#define LASSERT(cond) if (!(cond)) printf("failed " #cond "\n");
+#define LASSERT(cond) if (!(cond)) { printf("failed " #cond "\n"); exit(1); }
 
 void lustre_assert_wire_constants(void);
 
diff --git a/lustre/utils/wiretest.c b/lustre/utils/wiretest.c
new file mode 100644 (file)
index 0000000..9460aa8
--- /dev/null
@@ -0,0 +1,595 @@
+#include <stdio.h>
+#include <liblustre.h>
+#include <linux/lustre_lib.h>
+#include <linux/lustre_idl.h>
+
+#undef LASSERT
+#define LASSERT(cond) if (!(cond)) { printf("failed " #cond "\n"); exit(1); }
+
+void lustre_assert_wire_constants(void);
+
+int main()
+{
+       lustre_assert_wire_constants();
+
+       return 0;
+}
+void lustre_assert_wire_constants (void)
+{
+        /* Wire protocol assertions generated by 'wirecheck' */
+
+        /* Constants... */
+        LASSERT (PTLRPC_MSG_MAGIC == 0x0BD00BD0);
+        LASSERT (PTLRPC_MSG_VERSION == 0x00000003);
+        LASSERT (PTL_RPC_MSG_REQUEST == 4711);
+        LASSERT (PTL_RPC_MSG_ERR == 4712);
+        LASSERT (PTL_RPC_MSG_REPLY == 4713);
+        LASSERT (MSG_LAST_REPLAY == 1);
+        LASSERT (MSG_RESENT == 2);
+        LASSERT (MSG_CONNECT_RECOVERING == 1);
+        LASSERT (MSG_CONNECT_RECONNECT == 2);
+        LASSERT (MSG_CONNECT_REPLAYABLE == 4);
+        LASSERT (OST_REPLY == 0);
+        LASSERT (OST_GETATTR == 1);
+        LASSERT (OST_SETATTR == 2);
+        LASSERT (OST_READ == 3);
+        LASSERT (OST_WRITE == 4);
+        LASSERT (OST_CREATE == 5);
+        LASSERT (OST_DESTROY == 6);
+        LASSERT (OST_GET_INFO == 7);
+        LASSERT (OST_CONNECT == 8);
+        LASSERT (OST_DISCONNECT == 9);
+        LASSERT (OST_PUNCH == 10);
+        LASSERT (OST_OPEN == 11);
+        LASSERT (OST_CLOSE == 12);
+        LASSERT (OST_STATFS == 13);
+        LASSERT (OST_SAN_READ == 14);
+        LASSERT (OST_SAN_WRITE == 15);
+        LASSERT (OST_SYNC == 16);
+        LASSERT (OST_LAST_OPC == 18);
+        LASSERT (OST_FIRST_OPC == 0);
+        LASSERT (OBD_FL_INLINEDATA == 1);
+        LASSERT (OBD_FL_OBDMDEXISTS == 2);
+        LASSERT (OBD_OBJECT_EOF == 0xffffffffffffffffULL);
+        LASSERT (OST_REQ_HAS_OA1 == 1);
+        LASSERT (MDS_GETATTR == 33);
+        LASSERT (MDS_GETATTR_NAME == 34);
+        LASSERT (MDS_CLOSE == 35);
+        LASSERT (MDS_REINT == 36);
+        LASSERT (MDS_READPAGE == 37);
+        LASSERT (MDS_CONNECT == 38);
+        LASSERT (MDS_DISCONNECT == 39);
+        LASSERT (MDS_GETSTATUS == 40);
+        LASSERT (MDS_STATFS == 41);
+        LASSERT (MDS_GETLOVINFO == 42);
+        LASSERT (MDS_LAST_OPC == 46);
+        LASSERT (MDS_FIRST_OPC == 33);
+        LASSERT (REINT_SETATTR == 1);
+        LASSERT (REINT_CREATE == 2);
+        LASSERT (REINT_LINK == 3);
+        LASSERT (REINT_UNLINK == 4);
+        LASSERT (REINT_RENAME == 5);
+        LASSERT (REINT_OPEN == 6);
+        LASSERT (REINT_MAX == 6);
+        LASSERT (DISP_IT_EXECD == 1);
+        LASSERT (DISP_LOOKUP_EXECD == 2);
+        LASSERT (DISP_LOOKUP_NEG == 4);
+        LASSERT (DISP_LOOKUP_POS == 8);
+        LASSERT (DISP_OPEN_CREATE == 16);
+        LASSERT (DISP_OPEN_OPEN == 32);
+        LASSERT (MDS_STATUS_CONN == 1);
+        LASSERT (MDS_STATUS_LOV == 2);
+        LASSERT (MDS_OPEN_HAS_EA == 1073741824);
+        LASSERT (LDLM_ENQUEUE == 101);
+        LASSERT (LDLM_CONVERT == 102);
+        LASSERT (LDLM_CANCEL == 103);
+        LASSERT (LDLM_BL_CALLBACK == 104);
+        LASSERT (LDLM_CP_CALLBACK == 105);
+        LASSERT (LDLM_LAST_OPC == 106);
+        LASSERT (LDLM_FIRST_OPC == 101);
+        LASSERT (PTLBD_QUERY == 200);
+        LASSERT (PTLBD_READ == 201);
+        LASSERT (PTLBD_WRITE == 202);
+        LASSERT (PTLBD_FLUSH == 203);
+        LASSERT (PTLBD_CONNECT == 204);
+        LASSERT (PTLBD_DISCONNECT == 205);
+        LASSERT (PTLBD_LAST_OPC == 206);
+        LASSERT (PTLBD_FIRST_OPC == 200);
+        LASSERT (OBD_PING == 400);
+        /* Sizes and Offsets */
+
+
+        /* Checks for struct lustre_handle */
+        LASSERT ((int)sizeof(struct lustre_handle) == 8);
+        LASSERT (offsetof (struct lustre_handle, cookie) == 0);
+        LASSERT ((int)sizeof(((struct lustre_handle *)0)->cookie) == 8);
+
+        /* Checks for struct lustre_msg */
+        LASSERT ((int)sizeof(struct lustre_msg) == 64);
+        LASSERT (offsetof (struct lustre_msg, handle) == 0);
+        LASSERT ((int)sizeof(((struct lustre_msg *)0)->handle) == 8);
+        LASSERT (offsetof (struct lustre_msg, magic) == 8);
+        LASSERT ((int)sizeof(((struct lustre_msg *)0)->magic) == 4);
+        LASSERT (offsetof (struct lustre_msg, type) == 12);
+        LASSERT ((int)sizeof(((struct lustre_msg *)0)->type) == 4);
+        LASSERT (offsetof (struct lustre_msg, version) == 16);
+        LASSERT ((int)sizeof(((struct lustre_msg *)0)->version) == 4);
+        LASSERT (offsetof (struct lustre_msg, opc) == 20);
+        LASSERT ((int)sizeof(((struct lustre_msg *)0)->opc) == 4);
+        LASSERT (offsetof (struct lustre_msg, last_xid) == 24);
+        LASSERT ((int)sizeof(((struct lustre_msg *)0)->last_xid) == 8);
+        LASSERT (offsetof (struct lustre_msg, last_committed) == 32);
+        LASSERT ((int)sizeof(((struct lustre_msg *)0)->last_committed) == 8);
+        LASSERT (offsetof (struct lustre_msg, transno) == 40);
+        LASSERT ((int)sizeof(((struct lustre_msg *)0)->transno) == 8);
+        LASSERT (offsetof (struct lustre_msg, status) == 48);
+        LASSERT ((int)sizeof(((struct lustre_msg *)0)->status) == 4);
+        LASSERT (offsetof (struct lustre_msg, flags) == 52);
+        LASSERT ((int)sizeof(((struct lustre_msg *)0)->flags) == 4);
+        LASSERT (offsetof (struct lustre_msg, bufcount) == 60);
+        LASSERT ((int)sizeof(((struct lustre_msg *)0)->bufcount) == 4);
+        LASSERT (offsetof (struct lustre_msg, buflens[7]) == 92);
+        LASSERT ((int)sizeof(((struct lustre_msg *)0)->buflens[7]) == 4);
+
+        /* Checks for struct obdo */
+        LASSERT ((int)sizeof(struct obdo) == 164);
+        LASSERT (offsetof (struct obdo, o_id) == 0);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_id) == 8);
+        LASSERT (offsetof (struct obdo, o_gr) == 8);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_gr) == 8);
+        LASSERT (offsetof (struct obdo, o_atime) == 16);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_atime) == 8);
+        LASSERT (offsetof (struct obdo, o_mtime) == 24);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_mtime) == 8);
+        LASSERT (offsetof (struct obdo, o_ctime) == 32);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_ctime) == 8);
+        LASSERT (offsetof (struct obdo, o_size) == 40);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_size) == 8);
+        LASSERT (offsetof (struct obdo, o_blocks) == 48);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_blocks) == 8);
+        LASSERT (offsetof (struct obdo, o_rdev) == 56);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_rdev) == 8);
+        LASSERT (offsetof (struct obdo, o_blksize) == 64);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_blksize) == 4);
+        LASSERT (offsetof (struct obdo, o_mode) == 68);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_mode) == 4);
+        LASSERT (offsetof (struct obdo, o_uid) == 72);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_uid) == 4);
+        LASSERT (offsetof (struct obdo, o_gid) == 76);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_gid) == 4);
+        LASSERT (offsetof (struct obdo, o_flags) == 80);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_flags) == 4);
+        LASSERT (offsetof (struct obdo, o_nlink) == 84);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_nlink) == 4);
+        LASSERT (offsetof (struct obdo, o_generation) == 88);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_generation) == 4);
+        LASSERT (offsetof (struct obdo, o_valid) == 92);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_valid) == 4);
+        LASSERT (offsetof (struct obdo, o_obdflags) == 96);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_obdflags) == 4);
+        LASSERT (offsetof (struct obdo, o_easize) == 100);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_easize) == 4);
+        LASSERT (offsetof (struct obdo, o_inline) == 104);
+        LASSERT ((int)sizeof(((struct obdo *)0)->o_inline) == 60);
+        LASSERT (OBD_MD_FLALL == -1);
+        LASSERT (OBD_MD_FLID == 1);
+        LASSERT (OBD_MD_FLATIME == 2);
+        LASSERT (OBD_MD_FLMTIME == 4);
+        LASSERT (OBD_MD_FLCTIME == 8);
+        LASSERT (OBD_MD_FLSIZE == 16);
+        LASSERT (OBD_MD_FLBLOCKS == 32);
+        LASSERT (OBD_MD_FLBLKSZ == 64);
+        LASSERT (OBD_MD_FLMODE == 128);
+        LASSERT (OBD_MD_FLTYPE == 256);
+        LASSERT (OBD_MD_FLUID == 512);
+        LASSERT (OBD_MD_FLGID == 1024);
+        LASSERT (OBD_MD_FLFLAGS == 2048);
+        LASSERT (OBD_MD_FLOBDFLG == 4096);
+        LASSERT (OBD_MD_FLNLINK == 8192);
+        LASSERT (OBD_MD_FLGENER == 16384);
+        LASSERT (OBD_MD_FLINLINE == 32768);
+        LASSERT (OBD_MD_FLRDEV == 65536);
+        LASSERT (OBD_MD_FLEASIZE == 131072);
+        LASSERT (OBD_MD_LINKNAME == 262144);
+        LASSERT (OBD_MD_FLHANDLE == 524288);
+        LASSERT (OBD_MD_FLCKSUM == 1048576);
+        LASSERT (OBD_MD_FLQOS == 2097152);
+        LASSERT (OBD_MD_FLOSCOPQ == 4194304);
+        LASSERT (OBD_MD_FLCOOKIE == 8388608);
+        LASSERT (OBD_MD_FLGROUP == 16777216);
+
+        /* Checks for struct lov_mds_md_v1 */
+        LASSERT ((int)sizeof(struct lov_mds_md_v1) == 32);
+        LASSERT (offsetof (struct lov_mds_md_v1, lmm_magic) == 0);
+        LASSERT ((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_magic) == 4);
+        LASSERT (offsetof (struct lov_mds_md_v1, lmm_pattern) == 4);
+        LASSERT ((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_pattern) == 4);
+        LASSERT (offsetof (struct lov_mds_md_v1, lmm_object_id) == 8);
+        LASSERT ((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_object_id) == 8);
+        LASSERT (offsetof (struct lov_mds_md_v1, lmm_object_gr) == 16);
+        LASSERT ((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_object_gr) == 8);
+        LASSERT (offsetof (struct lov_mds_md_v1, lmm_stripe_size) == 24);
+        LASSERT ((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_stripe_size) == 4);
+        LASSERT (offsetof (struct lov_mds_md_v1, lmm_stripe_count) == 28);
+        LASSERT ((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_stripe_count) == 4);
+        LASSERT (offsetof (struct lov_mds_md_v1, lmm_objects) == 32);
+        LASSERT ((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_objects) == 0);
+
+        /* Checks for struct lov_ost_data_v1 */
+        LASSERT ((int)sizeof(struct lov_ost_data_v1) == 24);
+        LASSERT (offsetof (struct lov_ost_data_v1, l_object_id) == 0);
+        LASSERT ((int)sizeof(((struct lov_ost_data_v1 *)0)->l_object_id) == 8);
+        LASSERT (offsetof (struct lov_ost_data_v1, l_object_gr) == 8);
+        LASSERT ((int)sizeof(((struct lov_ost_data_v1 *)0)->l_object_gr) == 8);
+        LASSERT (offsetof (struct lov_ost_data_v1, l_ost_gen) == 16);
+        LASSERT ((int)sizeof(((struct lov_ost_data_v1 *)0)->l_ost_gen) == 4);
+        LASSERT (offsetof (struct lov_ost_data_v1, l_ost_idx) == 20);
+        LASSERT ((int)sizeof(((struct lov_ost_data_v1 *)0)->l_ost_idx) == 4);
+        LASSERT (LOV_MAGIC_V0 == 198183888);
+        LASSERT (LOV_MAGIC_V1 == 198249424);
+        LASSERT (LOV_PATTERN_RAID0 == 1);
+        LASSERT (LOV_PATTERN_RAID1 == 2);
+
+        /* Checks for struct obd_statfs */
+        LASSERT ((int)sizeof(struct obd_statfs) == 144);
+        LASSERT (offsetof (struct obd_statfs, os_type) == 0);
+        LASSERT ((int)sizeof(((struct obd_statfs *)0)->os_type) == 8);
+        LASSERT (offsetof (struct obd_statfs, os_blocks) == 8);
+        LASSERT ((int)sizeof(((struct obd_statfs *)0)->os_blocks) == 8);
+        LASSERT (offsetof (struct obd_statfs, os_bfree) == 16);
+        LASSERT ((int)sizeof(((struct obd_statfs *)0)->os_bfree) == 8);
+        LASSERT (offsetof (struct obd_statfs, os_bavail) == 24);
+        LASSERT ((int)sizeof(((struct obd_statfs *)0)->os_bavail) == 8);
+        LASSERT (offsetof (struct obd_statfs, os_ffree) == 40);
+        LASSERT ((int)sizeof(((struct obd_statfs *)0)->os_ffree) == 8);
+        LASSERT (offsetof (struct obd_statfs, os_fsid) == 48);
+        LASSERT ((int)sizeof(((struct obd_statfs *)0)->os_fsid) == 40);
+        LASSERT (offsetof (struct obd_statfs, os_bsize) == 88);
+        LASSERT ((int)sizeof(((struct obd_statfs *)0)->os_bsize) == 4);
+        LASSERT (offsetof (struct obd_statfs, os_namelen) == 92);
+        LASSERT ((int)sizeof(((struct obd_statfs *)0)->os_namelen) == 4);
+        LASSERT (offsetof (struct obd_statfs, os_spare) == 104);
+        LASSERT ((int)sizeof(((struct obd_statfs *)0)->os_spare) == 40);
+
+        /* Checks for struct obd_ioobj */
+        LASSERT ((int)sizeof(struct obd_ioobj) == 24);
+        LASSERT (offsetof (struct obd_ioobj, ioo_id) == 0);
+        LASSERT ((int)sizeof(((struct obd_ioobj *)0)->ioo_id) == 8);
+        LASSERT (offsetof (struct obd_ioobj, ioo_gr) == 8);
+        LASSERT ((int)sizeof(((struct obd_ioobj *)0)->ioo_gr) == 8);
+        LASSERT (offsetof (struct obd_ioobj, ioo_type) == 16);
+        LASSERT ((int)sizeof(((struct obd_ioobj *)0)->ioo_type) == 4);
+        LASSERT (offsetof (struct obd_ioobj, ioo_bufcnt) == 20);
+        LASSERT ((int)sizeof(((struct obd_ioobj *)0)->ioo_bufcnt) == 4);
+
+        /* Checks for struct niobuf_remote */
+        LASSERT ((int)sizeof(struct niobuf_remote) == 16);
+        LASSERT (offsetof (struct niobuf_remote, offset) == 0);
+        LASSERT ((int)sizeof(((struct niobuf_remote *)0)->offset) == 8);
+        LASSERT (offsetof (struct niobuf_remote, len) == 8);
+        LASSERT ((int)sizeof(((struct niobuf_remote *)0)->len) == 4);
+        LASSERT (offsetof (struct niobuf_remote, flags) == 12);
+        LASSERT ((int)sizeof(((struct niobuf_remote *)0)->flags) == 4);
+        LASSERT (OBD_BRW_READ == 1);
+        LASSERT (OBD_BRW_WRITE == 2);
+        LASSERT (OBD_BRW_CREATE == 4);
+        LASSERT (OBD_BRW_SYNC == 8);
+
+        /* Checks for struct ost_body */
+        LASSERT ((int)sizeof(struct ost_body) == 164);
+        LASSERT (offsetof (struct ost_body, oa) == 0);
+        LASSERT ((int)sizeof(((struct ost_body *)0)->oa) == 164);
+
+        /* Checks for struct ll_fid */
+        LASSERT ((int)sizeof(struct ll_fid) == 16);
+        LASSERT (offsetof (struct ll_fid, id) == 0);
+        LASSERT ((int)sizeof(((struct ll_fid *)0)->id) == 8);
+        LASSERT (offsetof (struct ll_fid, generation) == 8);
+        LASSERT ((int)sizeof(((struct ll_fid *)0)->generation) == 4);
+        LASSERT (offsetof (struct ll_fid, f_type) == 12);
+        LASSERT ((int)sizeof(((struct ll_fid *)0)->f_type) == 4);
+
+        /* Checks for struct mds_status_req */
+        LASSERT ((int)sizeof(struct mds_status_req) == 8);
+        LASSERT (offsetof (struct mds_status_req, flags) == 0);
+        LASSERT ((int)sizeof(((struct mds_status_req *)0)->flags) == 4);
+        LASSERT (offsetof (struct mds_status_req, repbuf) == 4);
+        LASSERT ((int)sizeof(((struct mds_status_req *)0)->repbuf) == 4);
+
+        /* Checks for struct mds_body */
+        LASSERT ((int)sizeof(struct mds_body) == 124);
+        LASSERT (offsetof (struct mds_body, fid1) == 0);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->fid1) == 16);
+        LASSERT (offsetof (struct mds_body, fid2) == 16);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->fid2) == 16);
+        LASSERT (offsetof (struct mds_body, handle) == 32);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->handle) == 8);
+        LASSERT (offsetof (struct mds_body, size) == 40);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->size) == 8);
+        LASSERT (offsetof (struct mds_body, blocks) == 48);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->blocks) == 8);
+        LASSERT (offsetof (struct mds_body, ino) == 56);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->ino) == 4);
+        LASSERT (offsetof (struct mds_body, valid) == 60);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->valid) == 4);
+        LASSERT (offsetof (struct mds_body, fsuid) == 64);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->fsuid) == 4);
+        LASSERT (offsetof (struct mds_body, fsgid) == 68);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->fsgid) == 4);
+        LASSERT (offsetof (struct mds_body, capability) == 72);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->capability) == 4);
+        LASSERT (offsetof (struct mds_body, mode) == 76);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->mode) == 4);
+        LASSERT (offsetof (struct mds_body, uid) == 80);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->uid) == 4);
+        LASSERT (offsetof (struct mds_body, gid) == 84);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->gid) == 4);
+        LASSERT (offsetof (struct mds_body, mtime) == 88);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->mtime) == 4);
+        LASSERT (offsetof (struct mds_body, ctime) == 92);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->ctime) == 4);
+        LASSERT (offsetof (struct mds_body, atime) == 96);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->atime) == 4);
+        LASSERT (offsetof (struct mds_body, flags) == 100);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->flags) == 4);
+        LASSERT (offsetof (struct mds_body, rdev) == 104);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->rdev) == 4);
+        LASSERT (offsetof (struct mds_body, nlink) == 108);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->nlink) == 4);
+        LASSERT (offsetof (struct mds_body, generation) == 112);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->generation) == 4);
+        LASSERT (offsetof (struct mds_body, suppgid) == 116);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->suppgid) == 4);
+        LASSERT (offsetof (struct mds_body, eadatasize) == 120);
+        LASSERT ((int)sizeof(((struct mds_body *)0)->eadatasize) == 4);
+
+        /* Checks for struct mds_rec_setattr */
+        LASSERT ((int)sizeof(struct mds_rec_setattr) == 92);
+        LASSERT (offsetof (struct mds_rec_setattr, sa_opcode) == 0);
+        LASSERT ((int)sizeof(((struct mds_rec_setattr *)0)->sa_opcode) == 4);
+        LASSERT (offsetof (struct mds_rec_setattr, sa_fsuid) == 4);
+        LASSERT ((int)sizeof(((struct mds_rec_setattr *)0)->sa_fsuid) == 4);
+        LASSERT (offsetof (struct mds_rec_setattr, sa_fsgid) == 8);
+        LASSERT ((int)sizeof(((struct mds_rec_setattr *)0)->sa_fsgid) == 4);
+        LASSERT (offsetof (struct mds_rec_setattr, sa_cap) == 12);
+        LASSERT ((int)sizeof(((struct mds_rec_setattr *)0)->sa_cap) == 4);
+        LASSERT (offsetof (struct mds_rec_setattr, sa_reserved) == 16);
+        LASSERT ((int)sizeof(((struct mds_rec_setattr *)0)->sa_reserved) == 4);
+        LASSERT (offsetof (struct mds_rec_setattr, sa_valid) == 20);
+        LASSERT ((int)sizeof(((struct mds_rec_setattr *)0)->sa_valid) == 4);
+        LASSERT (offsetof (struct mds_rec_setattr, sa_fid) == 24);
+        LASSERT ((int)sizeof(((struct mds_rec_setattr *)0)->sa_fid) == 16);
+        LASSERT (offsetof (struct mds_rec_setattr, sa_mode) == 40);
+        LASSERT ((int)sizeof(((struct mds_rec_setattr *)0)->sa_mode) == 4);
+        LASSERT (offsetof (struct mds_rec_setattr, sa_uid) == 44);
+        LASSERT ((int)sizeof(((struct mds_rec_setattr *)0)->sa_uid) == 4);
+        LASSERT (offsetof (struct mds_rec_setattr, sa_gid) == 48);
+        LASSERT ((int)sizeof(((struct mds_rec_setattr *)0)->sa_gid) == 4);
+        LASSERT (offsetof (struct mds_rec_setattr, sa_attr_flags) == 52);
+        LASSERT ((int)sizeof(((struct mds_rec_setattr *)0)->sa_attr_flags) == 4);
+        LASSERT (offsetof (struct mds_rec_setattr, sa_size) == 56);
+        LASSERT ((int)sizeof(((struct mds_rec_setattr *)0)->sa_size) == 8);
+        LASSERT (offsetof (struct mds_rec_setattr, sa_atime) == 64);
+        LASSERT ((int)sizeof(((struct mds_rec_setattr *)0)->sa_atime) == 8);
+        LASSERT (offsetof (struct mds_rec_setattr, sa_mtime) == 72);
+        LASSERT ((int)sizeof(((struct mds_rec_setattr *)0)->sa_mtime) == 8);
+        LASSERT (offsetof (struct mds_rec_setattr, sa_ctime) == 80);
+        LASSERT ((int)sizeof(((struct mds_rec_setattr *)0)->sa_ctime) == 8);
+        LASSERT (offsetof (struct mds_rec_setattr, sa_suppgid) == 88);
+        LASSERT ((int)sizeof(((struct mds_rec_setattr *)0)->sa_suppgid) == 4);
+
+        /* Checks for struct mds_rec_create */
+        LASSERT ((int)sizeof(struct mds_rec_create) == 76);
+        LASSERT (offsetof (struct mds_rec_create, cr_opcode) == 0);
+        LASSERT ((int)sizeof(((struct mds_rec_create *)0)->cr_opcode) == 4);
+        LASSERT (offsetof (struct mds_rec_create, cr_fsuid) == 4);
+        LASSERT ((int)sizeof(((struct mds_rec_create *)0)->cr_fsuid) == 4);
+        LASSERT (offsetof (struct mds_rec_create, cr_fsgid) == 8);
+        LASSERT ((int)sizeof(((struct mds_rec_create *)0)->cr_fsgid) == 4);
+        LASSERT (offsetof (struct mds_rec_create, cr_cap) == 12);
+        LASSERT ((int)sizeof(((struct mds_rec_create *)0)->cr_cap) == 4);
+        LASSERT (offsetof (struct mds_rec_create, cr_flags) == 16);
+        LASSERT ((int)sizeof(((struct mds_rec_create *)0)->cr_flags) == 4);
+        LASSERT (offsetof (struct mds_rec_create, cr_mode) == 20);
+        LASSERT ((int)sizeof(((struct mds_rec_create *)0)->cr_mode) == 4);
+        LASSERT (offsetof (struct mds_rec_create, cr_fid) == 24);
+        LASSERT ((int)sizeof(((struct mds_rec_create *)0)->cr_fid) == 16);
+        LASSERT (offsetof (struct mds_rec_create, cr_replayfid) == 40);
+        LASSERT ((int)sizeof(((struct mds_rec_create *)0)->cr_replayfid) == 16);
+        LASSERT (offsetof (struct mds_rec_create, cr_time) == 56);
+        LASSERT ((int)sizeof(((struct mds_rec_create *)0)->cr_time) == 8);
+        LASSERT (offsetof (struct mds_rec_create, cr_rdev) == 64);
+        LASSERT ((int)sizeof(((struct mds_rec_create *)0)->cr_rdev) == 8);
+        LASSERT (offsetof (struct mds_rec_create, cr_suppgid) == 72);
+        LASSERT ((int)sizeof(((struct mds_rec_create *)0)->cr_suppgid) == 4);
+
+        /* Checks for struct mds_rec_link */
+        LASSERT ((int)sizeof(struct mds_rec_link) == 64);
+        LASSERT (offsetof (struct mds_rec_link, lk_opcode) == 0);
+        LASSERT ((int)sizeof(((struct mds_rec_link *)0)->lk_opcode) == 4);
+        LASSERT (offsetof (struct mds_rec_link, lk_fsuid) == 4);
+        LASSERT ((int)sizeof(((struct mds_rec_link *)0)->lk_fsuid) == 4);
+        LASSERT (offsetof (struct mds_rec_link, lk_fsgid) == 8);
+        LASSERT ((int)sizeof(((struct mds_rec_link *)0)->lk_fsgid) == 4);
+        LASSERT (offsetof (struct mds_rec_link, lk_cap) == 12);
+        LASSERT ((int)sizeof(((struct mds_rec_link *)0)->lk_cap) == 4);
+        LASSERT (offsetof (struct mds_rec_link, lk_suppgid1) == 16);
+        LASSERT ((int)sizeof(((struct mds_rec_link *)0)->lk_suppgid1) == 4);
+        LASSERT (offsetof (struct mds_rec_link, lk_suppgid2) == 20);
+        LASSERT ((int)sizeof(((struct mds_rec_link *)0)->lk_suppgid2) == 4);
+        LASSERT (offsetof (struct mds_rec_link, lk_fid1) == 24);
+        LASSERT ((int)sizeof(((struct mds_rec_link *)0)->lk_fid1) == 16);
+        LASSERT (offsetof (struct mds_rec_link, lk_fid2) == 40);
+        LASSERT ((int)sizeof(((struct mds_rec_link *)0)->lk_fid2) == 16);
+        LASSERT (offsetof (struct mds_rec_link, lk_time) == 56);
+        LASSERT ((int)sizeof(((struct mds_rec_link *)0)->lk_time) == 8);
+
+        /* Checks for struct mds_rec_unlink */
+        LASSERT ((int)sizeof(struct mds_rec_unlink) == 64);
+        LASSERT (offsetof (struct mds_rec_unlink, ul_opcode) == 0);
+        LASSERT ((int)sizeof(((struct mds_rec_unlink *)0)->ul_opcode) == 4);
+        LASSERT (offsetof (struct mds_rec_unlink, ul_fsuid) == 4);
+        LASSERT ((int)sizeof(((struct mds_rec_unlink *)0)->ul_fsuid) == 4);
+        LASSERT (offsetof (struct mds_rec_unlink, ul_fsgid) == 8);
+        LASSERT ((int)sizeof(((struct mds_rec_unlink *)0)->ul_fsgid) == 4);
+        LASSERT (offsetof (struct mds_rec_unlink, ul_cap) == 12);
+        LASSERT ((int)sizeof(((struct mds_rec_unlink *)0)->ul_cap) == 4);
+        LASSERT (offsetof (struct mds_rec_unlink, ul_suppgid) == 16);
+        LASSERT ((int)sizeof(((struct mds_rec_unlink *)0)->ul_suppgid) == 4);
+        LASSERT (offsetof (struct mds_rec_unlink, ul_mode) == 20);
+        LASSERT ((int)sizeof(((struct mds_rec_unlink *)0)->ul_mode) == 4);
+        LASSERT (offsetof (struct mds_rec_unlink, ul_fid1) == 24);
+        LASSERT ((int)sizeof(((struct mds_rec_unlink *)0)->ul_fid1) == 16);
+        LASSERT (offsetof (struct mds_rec_unlink, ul_fid2) == 40);
+        LASSERT ((int)sizeof(((struct mds_rec_unlink *)0)->ul_fid2) == 16);
+        LASSERT (offsetof (struct mds_rec_unlink, ul_time) == 56);
+        LASSERT ((int)sizeof(((struct mds_rec_unlink *)0)->ul_time) == 8);
+
+        /* Checks for struct mds_rec_rename */
+        LASSERT ((int)sizeof(struct mds_rec_rename) == 64);
+        LASSERT (offsetof (struct mds_rec_rename, rn_opcode) == 0);
+        LASSERT ((int)sizeof(((struct mds_rec_rename *)0)->rn_opcode) == 4);
+        LASSERT (offsetof (struct mds_rec_rename, rn_fsuid) == 4);
+        LASSERT ((int)sizeof(((struct mds_rec_rename *)0)->rn_fsuid) == 4);
+        LASSERT (offsetof (struct mds_rec_rename, rn_fsgid) == 8);
+        LASSERT ((int)sizeof(((struct mds_rec_rename *)0)->rn_fsgid) == 4);
+        LASSERT (offsetof (struct mds_rec_rename, rn_cap) == 12);
+        LASSERT ((int)sizeof(((struct mds_rec_rename *)0)->rn_cap) == 4);
+        LASSERT (offsetof (struct mds_rec_rename, rn_suppgid1) == 16);
+        LASSERT ((int)sizeof(((struct mds_rec_rename *)0)->rn_suppgid1) == 4);
+        LASSERT (offsetof (struct mds_rec_rename, rn_suppgid2) == 20);
+        LASSERT ((int)sizeof(((struct mds_rec_rename *)0)->rn_suppgid2) == 4);
+        LASSERT (offsetof (struct mds_rec_rename, rn_fid1) == 24);
+        LASSERT ((int)sizeof(((struct mds_rec_rename *)0)->rn_fid1) == 16);
+        LASSERT (offsetof (struct mds_rec_rename, rn_fid2) == 40);
+        LASSERT ((int)sizeof(((struct mds_rec_rename *)0)->rn_fid2) == 16);
+        LASSERT (offsetof (struct mds_rec_rename, rn_time) == 56);
+        LASSERT ((int)sizeof(((struct mds_rec_rename *)0)->rn_time) == 8);
+
+        /* Checks for struct lov_desc */
+        LASSERT ((int)sizeof(struct lov_desc) == 72);
+        LASSERT (offsetof (struct lov_desc, ld_tgt_count) == 0);
+        LASSERT ((int)sizeof(((struct lov_desc *)0)->ld_tgt_count) == 4);
+        LASSERT (offsetof (struct lov_desc, ld_active_tgt_count) == 4);
+        LASSERT ((int)sizeof(((struct lov_desc *)0)->ld_active_tgt_count) == 4);
+        LASSERT (offsetof (struct lov_desc, ld_default_stripe_count) == 8);
+        LASSERT ((int)sizeof(((struct lov_desc *)0)->ld_default_stripe_count) == 4);
+        LASSERT (offsetof (struct lov_desc, ld_pattern) == 12);
+        LASSERT ((int)sizeof(((struct lov_desc *)0)->ld_pattern) == 4);
+        LASSERT (offsetof (struct lov_desc, ld_default_stripe_size) == 16);
+        LASSERT ((int)sizeof(((struct lov_desc *)0)->ld_default_stripe_size) == 8);
+        LASSERT (offsetof (struct lov_desc, ld_default_stripe_offset) == 24);
+        LASSERT ((int)sizeof(((struct lov_desc *)0)->ld_default_stripe_offset) == 8);
+        LASSERT (offsetof (struct lov_desc, ld_uuid) == 32);
+        LASSERT ((int)sizeof(((struct lov_desc *)0)->ld_uuid) == 37);
+
+        /* Checks for struct ldlm_res_id */
+        LASSERT ((int)sizeof(struct ldlm_res_id) == 32);
+        LASSERT (offsetof (struct ldlm_res_id, name[4]) == 32);
+        LASSERT ((int)sizeof(((struct ldlm_res_id *)0)->name[4]) == 8);
+
+        /* Checks for struct ldlm_extent */
+        LASSERT ((int)sizeof(struct ldlm_extent) == 16);
+        LASSERT (offsetof (struct ldlm_extent, start) == 0);
+        LASSERT ((int)sizeof(((struct ldlm_extent *)0)->start) == 8);
+        LASSERT (offsetof (struct ldlm_extent, end) == 8);
+        LASSERT ((int)sizeof(((struct ldlm_extent *)0)->end) == 8);
+
+        /* Checks for struct ldlm_flock */
+        LASSERT ((int)sizeof(struct ldlm_flock) == 28);
+        LASSERT (offsetof (struct ldlm_flock, start) == 0);
+        LASSERT ((int)sizeof(((struct ldlm_flock *)0)->start) == 8);
+        LASSERT (offsetof (struct ldlm_flock, end) == 8);
+        LASSERT ((int)sizeof(((struct ldlm_flock *)0)->end) == 8);
+        LASSERT (offsetof (struct ldlm_flock, pid) == 16);
+        LASSERT ((int)sizeof(((struct ldlm_flock *)0)->pid) == 4);
+        LASSERT (offsetof (struct ldlm_flock, blocking_pid) == 20);
+        LASSERT ((int)sizeof(((struct ldlm_flock *)0)->blocking_pid) == 4);
+
+        /* Checks for struct ldlm_intent */
+        LASSERT ((int)sizeof(struct ldlm_intent) == 8);
+        LASSERT (offsetof (struct ldlm_intent, opc) == 0);
+        LASSERT ((int)sizeof(((struct ldlm_intent *)0)->opc) == 8);
+
+        /* Checks for struct ldlm_resource_desc */
+        LASSERT ((int)sizeof(struct ldlm_resource_desc) == 52);
+        LASSERT (offsetof (struct ldlm_resource_desc, lr_type) == 0);
+        LASSERT ((int)sizeof(((struct ldlm_resource_desc *)0)->lr_type) == 4);
+        LASSERT (offsetof (struct ldlm_resource_desc, lr_name) == 4);
+        LASSERT ((int)sizeof(((struct ldlm_resource_desc *)0)->lr_name) == 32);
+        LASSERT (offsetof (struct ldlm_resource_desc, lr_version[4]) == 52);
+        LASSERT ((int)sizeof(((struct ldlm_resource_desc *)0)->lr_version[4]) == 4);
+
+        /* Checks for struct ldlm_lock_desc */
+        LASSERT ((int)sizeof(struct ldlm_lock_desc) == 104);
+        LASSERT (offsetof (struct ldlm_lock_desc, l_resource) == 0);
+        LASSERT ((int)sizeof(((struct ldlm_lock_desc *)0)->l_resource) == 52);
+        LASSERT (offsetof (struct ldlm_lock_desc, l_req_mode) == 52);
+        LASSERT ((int)sizeof(((struct ldlm_lock_desc *)0)->l_req_mode) == 4);
+        LASSERT (offsetof (struct ldlm_lock_desc, l_granted_mode) == 56);
+        LASSERT ((int)sizeof(((struct ldlm_lock_desc *)0)->l_granted_mode) == 4);
+        LASSERT (offsetof (struct ldlm_lock_desc, l_policy_data) == 60);
+        LASSERT ((int)sizeof(((struct ldlm_lock_desc *)0)->l_policy_data) == 28);
+        LASSERT (offsetof (struct ldlm_lock_desc, l_version[4]) == 104);
+        LASSERT ((int)sizeof(((struct ldlm_lock_desc *)0)->l_version[4]) == 4);
+
+        /* Checks for struct ldlm_request */
+        LASSERT ((int)sizeof(struct ldlm_request) == 124);
+        LASSERT (offsetof (struct ldlm_request, lock_flags) == 0);
+        LASSERT ((int)sizeof(((struct ldlm_request *)0)->lock_flags) == 4);
+        LASSERT (offsetof (struct ldlm_request, lock_desc) == 4);
+        LASSERT ((int)sizeof(((struct ldlm_request *)0)->lock_desc) == 104);
+        LASSERT (offsetof (struct ldlm_request, lock_handle1) == 108);
+        LASSERT ((int)sizeof(((struct ldlm_request *)0)->lock_handle1) == 8);
+        LASSERT (offsetof (struct ldlm_request, lock_handle2) == 116);
+        LASSERT ((int)sizeof(((struct ldlm_request *)0)->lock_handle2) == 8);
+
+        /* Checks for struct ldlm_reply */
+        LASSERT ((int)sizeof(struct ldlm_reply) == 92);
+        LASSERT (offsetof (struct ldlm_reply, lock_flags) == 0);
+        LASSERT ((int)sizeof(((struct ldlm_reply *)0)->lock_flags) == 4);
+        LASSERT (offsetof (struct ldlm_reply, lock_mode) == 4);
+        LASSERT ((int)sizeof(((struct ldlm_reply *)0)->lock_mode) == 4);
+        LASSERT (offsetof (struct ldlm_reply, lock_resource_name) == 8);
+        LASSERT ((int)sizeof(((struct ldlm_reply *)0)->lock_resource_name) == 32);
+        LASSERT (offsetof (struct ldlm_reply, lock_handle) == 40);
+        LASSERT ((int)sizeof(((struct ldlm_reply *)0)->lock_handle) == 8);
+        LASSERT (offsetof (struct ldlm_reply, lock_policy_data) == 48);
+        LASSERT ((int)sizeof(((struct ldlm_reply *)0)->lock_policy_data) == 28);
+        LASSERT (offsetof (struct ldlm_reply, lock_policy_res1) == 76);
+        LASSERT ((int)sizeof(((struct ldlm_reply *)0)->lock_policy_res1) == 8);
+        LASSERT (offsetof (struct ldlm_reply, lock_policy_res2) == 84);
+        LASSERT ((int)sizeof(((struct ldlm_reply *)0)->lock_policy_res2) == 8);
+
+        /* Checks for struct ptlbd_op */
+        LASSERT ((int)sizeof(struct ptlbd_op) == 12);
+        LASSERT (offsetof (struct ptlbd_op, op_cmd) == 0);
+        LASSERT ((int)sizeof(((struct ptlbd_op *)0)->op_cmd) == 2);
+        LASSERT (offsetof (struct ptlbd_op, op_lun) == 2);
+        LASSERT ((int)sizeof(((struct ptlbd_op *)0)->op_lun) == 2);
+        LASSERT (offsetof (struct ptlbd_op, op_niob_cnt) == 4);
+        LASSERT ((int)sizeof(((struct ptlbd_op *)0)->op_niob_cnt) == 2);
+        LASSERT (offsetof (struct ptlbd_op, op__padding) == 6);
+        LASSERT ((int)sizeof(((struct ptlbd_op *)0)->op__padding) == 2);
+        LASSERT (offsetof (struct ptlbd_op, op_block_cnt) == 8);
+        LASSERT ((int)sizeof(((struct ptlbd_op *)0)->op_block_cnt) == 4);
+
+        /* Checks for struct ptlbd_niob */
+        LASSERT ((int)sizeof(struct ptlbd_niob) == 24);
+        LASSERT (offsetof (struct ptlbd_niob, n_xid) == 0);
+        LASSERT ((int)sizeof(((struct ptlbd_niob *)0)->n_xid) == 8);
+        LASSERT (offsetof (struct ptlbd_niob, n_block_nr) == 8);
+        LASSERT ((int)sizeof(((struct ptlbd_niob *)0)->n_block_nr) == 8);
+        LASSERT (offsetof (struct ptlbd_niob, n_offset) == 16);
+        LASSERT ((int)sizeof(((struct ptlbd_niob *)0)->n_offset) == 4);
+        LASSERT (offsetof (struct ptlbd_niob, n_length) == 20);
+        LASSERT ((int)sizeof(((struct ptlbd_niob *)0)->n_length) == 4);
+
+        /* Checks for struct ptlbd_rsp */
+        LASSERT ((int)sizeof(struct ptlbd_rsp) == 4);
+        LASSERT (offsetof (struct ptlbd_rsp, r_status) == 0);
+        LASSERT ((int)sizeof(((struct ptlbd_rsp *)0)->r_status) == 2);
+        LASSERT (offsetof (struct ptlbd_rsp, r_error_cnt) == 2);
+        LASSERT ((int)sizeof(((struct ptlbd_rsp *)0)->r_error_cnt) == 2);
+}
+