--- /dev/null
+#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);
+}
+