Whamcloud - gitweb
b=21563 Metadata performance has degraded for some operations between 1.6.5 and 1.8.1
[fs/lustre-release.git] / lustre / ptlrpc / wiretest.c
index a70858b..20acff7 100644 (file)
@@ -1,3 +1,39 @@
+/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
+ * vim:expandtab:shiftwidth=8:tabstop=8:
+ *
+ * GPL HEADER START
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * 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).
+ *
+ * You should have received a copy of the GNU General Public License
+ * version 2 along with this program; If not, see
+ * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ *
+ * GPL HEADER END
+ */
+/*
+ * Copyright  2008 Sun Microsystems, Inc. All rights reserved
+ * Use is subject to license terms.
+ */
+/*
+ * This file is part of Lustre, http://www.lustre.org/
+ * Lustre is a trademark of Sun Microsystems, Inc.
+ */
+
 #define DEBUG_SUBSYSTEM S_RPC
 #ifndef __KERNEL__
 # include <liblustre.h>
 #include <obd_class.h>
 #include <lustre_net.h>
 #include <lustre_disk.h>
-
 void lustre_assert_wire_constants(void)
 {
         /* Wire protocol assertions generated by 'wirecheck'
          * (make -C lustre/utils newwiretest)
-         * running on Linux xlab.hostel 2.6.23.12-52.fc7 #1 SMP Tue Dec 18 21:18:02 EST 2007 i686 i68
-         * with gcc version 3.4.6 20060404 (Red Hat 3.4.6-7) */
+         * running on Linux localhost.localdomain 2.6.18-prep #3 SMP Sun Nov 23 08:04:44 EST 2008 i68
+         * with gcc version 4.1.1 20061011 (Red Hat 4.1.1-30) */
 
 
         /* Constants... */
@@ -133,7 +168,15 @@ void lustre_assert_wire_constants(void)
                  (long long)MDS_QUOTACHECK);
         LASSERTF(MDS_QUOTACTL == 48, " found %lld\n",
                  (long long)MDS_QUOTACTL);
-        LASSERTF(MDS_LAST_OPC == 51, " found %lld\n",
+        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_LAST_OPC == 53, " found %lld\n",
                  (long long)MDS_LAST_OPC);
         LASSERTF(REINT_SETATTR == 1, " found %lld\n",
                  (long long)REINT_SETATTR);
@@ -147,7 +190,9 @@ void lustre_assert_wire_constants(void)
                  (long long)REINT_RENAME);
         LASSERTF(REINT_OPEN == 6, " found %lld\n",
                  (long long)REINT_OPEN);
-        LASSERTF(REINT_MAX == 7, " found %lld\n",
+        LASSERTF(REINT_SETXATTR == 7, " found %lld\n",
+                 (long long)REINT_SETXATTR);
+        LASSERTF(REINT_MAX == 8, " found %lld\n",
                  (long long)REINT_MAX);
         LASSERTF(MGS_CONNECT == 250, " found %lld\n",
                  (long long)MGS_CONNECT);
@@ -349,7 +394,7 @@ void lustre_assert_wire_constants(void)
         LASSERT(offsetof(struct lustre_msg_v1, lm_magic) == offsetof(struct lustre_msg_v2, lm_magic));
 
         /* Checks for struct ptlrpc_body */
-        LASSERTF((int)sizeof(struct ptlrpc_body) == 88, " found %lld\n",
+        LASSERTF((int)sizeof(struct ptlrpc_body) == 152, " found %lld\n",
                  (long long)(int)sizeof(struct ptlrpc_body));
         LASSERTF((int)offsetof(struct ptlrpc_body, pb_handle) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct ptlrpc_body, pb_handle));
@@ -415,6 +460,14 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)offsetof(struct ptlrpc_body, pb_limit));
         LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_limit) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_limit));
+        LASSERTF((int)offsetof(struct ptlrpc_body, pb_pre_versions) == 88, " found %lld\n",
+                 (long long)(int)offsetof(struct ptlrpc_body, pb_pre_versions));
+        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_pre_versions) == 32, " found %lld\n",
+                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_pre_versions));
+        LASSERTF((int)offsetof(struct ptlrpc_body, pb_padding) == 120, " found %lld\n",
+                 (long long)(int)offsetof(struct ptlrpc_body, pb_padding));
+        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_padding) == 32, " found %lld\n",
+                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_padding));
 
         /* Checks for struct obd_connect_data */
         LASSERTF((int)sizeof(struct obd_connect_data) == 72, " found %lld\n",
@@ -486,8 +539,8 @@ void lustre_assert_wire_constants(void)
         CLASSERT(OBD_CONNECT_JOIN == 0x2000ULL);
         CLASSERT(OBD_CONNECT_ATTRFID == 0x4000ULL);
         CLASSERT(OBD_CONNECT_NODEVOH == 0x8000ULL);
-        CLASSERT(OBD_CONNECT_LCL_CLIENT == 0x10000ULL);
-        CLASSERT(OBD_CONNECT_RMT_CLIENT == 0x20000ULL);
+        CLASSERT(OBD_CONNECT_RMT_CLIENT == 0x10000ULL);
+        CLASSERT(OBD_CONNECT_RMT_CLIENT_FORCE == 0x20000ULL);
         CLASSERT(OBD_CONNECT_BRW_SIZE == 0x40000ULL);
         CLASSERT(OBD_CONNECT_QUOTA64 == 0x80000ULL);
         CLASSERT(OBD_CONNECT_MDS_CAPA == 0x100000ULL);
@@ -498,7 +551,9 @@ void lustre_assert_wire_constants(void)
         CLASSERT(OBD_CONNECT_LRU_RESIZE == 0x02000000ULL);
         CLASSERT(OBD_CONNECT_MDS_MDS == 0x04000000ULL);
         CLASSERT(OBD_CONNECT_REAL == 0x08000000ULL);
+        CLASSERT(OBD_CONNECT_FID == 0x40000000ULL);
         CLASSERT(OBD_CONNECT_CKSUM == 0x20000000ULL);
+        CLASSERT(OBD_CONNECT_VBR == 0x80000000ULL);
 
         /* Checks for struct obdo */
         LASSERTF((int)sizeof(struct obdo) == 208, " found %lld\n",
@@ -667,6 +722,7 @@ void lustre_assert_wire_constants(void)
         CLASSERT(OBD_FL_TRUNCLOCK == (0x00000800));
         CLASSERT(OBD_FL_CKSUM_CRC32 == (0x00001000));
         CLASSERT(OBD_FL_CKSUM_ADLER == (0x00002000));
+        CLASSERT(OBD_FL_SHRINK_GRANT == (0x00020000));
         CLASSERT(OBD_CKSUM_CRC32 == 1);
         CLASSERT(OBD_CKSUM_ADLER == 2);
 
@@ -728,6 +784,67 @@ void lustre_assert_wire_constants(void)
         LASSERTF(LOV_PATTERN_RAID1 == 2, " found %lld\n",
                  (long long)LOV_PATTERN_RAID1);
 
+        /* 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_gr) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct lov_mds_md_v3, lmm_object_gr));
+        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_object_gr) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_object_gr));
+        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) == 4, " 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_pool_name) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct lov_mds_md_v3, lmm_pool_name));
+        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_pool_name) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_pool_name));
+        LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_objects) == 48, " found %lld\n",
+                 (long long)(int)offsetof(struct lov_mds_md_v3, lmm_objects));
+        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_objects) == 0, " found %lld\n",
+                 (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_objects));
+
+        /* 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_gr) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct lov_ost_data_v1, l_object_gr));
+        LASSERTF((int)sizeof(((struct lov_ost_data_v1 *)0)->l_object_gr) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lov_ost_data_v1 *)0)->l_object_gr));
+        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));
+        CLASSERT(LOV_MAGIC_V3 == 0x0BD30BD0);
+        LASSERTF(LOV_PATTERN_RAID0 == 1, " found %lld\n",
+                 (long long)LOV_PATTERN_RAID0);
+        LASSERTF(LOV_PATTERN_RAID1 == 2, " found %lld\n",
+                 (long long)LOV_PATTERN_RAID1);
+
         /* Checks for struct lov_mds_md_join */
         LASSERTF((int)sizeof(struct lov_mds_md_join) == 56, " found %lld\n",
                  (long long)(int)sizeof(struct lov_mds_md_join));
@@ -1611,6 +1728,38 @@ void lustre_assert_wire_constants(void)
         LASSERTF((int)sizeof(((struct ost_lvb *)0)->lvb_blocks) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct ost_lvb *)0)->lvb_blocks));
 
+        /* Checks for struct cfg_marker */
+        LASSERTF((int)sizeof(struct cfg_marker) == 160, " found %lld\n",
+                 (long long)(int)sizeof(struct cfg_marker));
+        LASSERTF((int)offsetof(struct cfg_marker, cm_step) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct cfg_marker, cm_step));
+        LASSERTF((int)sizeof(((struct cfg_marker *)0)->cm_step) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct cfg_marker *)0)->cm_step));
+        LASSERTF((int)offsetof(struct cfg_marker, cm_flags) == 4, " found %lld\n",
+                 (long long)(int)offsetof(struct cfg_marker, cm_flags));
+        LASSERTF((int)sizeof(((struct cfg_marker *)0)->cm_flags) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct cfg_marker *)0)->cm_flags));
+        LASSERTF((int)offsetof(struct cfg_marker, cm_vers) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct cfg_marker, cm_vers));
+        LASSERTF((int)sizeof(((struct cfg_marker *)0)->cm_vers) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct cfg_marker *)0)->cm_vers));
+        LASSERTF((int)offsetof(struct cfg_marker, cm_createtime) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct cfg_marker, cm_createtime));
+        LASSERTF((int)sizeof(((struct cfg_marker *)0)->cm_createtime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct cfg_marker *)0)->cm_createtime));
+        LASSERTF((int)offsetof(struct cfg_marker, cm_canceltime) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct cfg_marker, cm_canceltime));
+        LASSERTF((int)sizeof(((struct cfg_marker *)0)->cm_canceltime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct cfg_marker *)0)->cm_canceltime));
+        LASSERTF((int)offsetof(struct cfg_marker, cm_tgtname) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct cfg_marker, cm_tgtname));
+        LASSERTF((int)sizeof(((struct cfg_marker *)0)->cm_tgtname) == 64, " found %lld\n",
+                 (long long)(int)sizeof(((struct cfg_marker *)0)->cm_tgtname));
+        LASSERTF((int)offsetof(struct cfg_marker, cm_comment) == 96, " found %lld\n",
+                 (long long)(int)offsetof(struct cfg_marker, cm_comment));
+        LASSERTF((int)sizeof(((struct cfg_marker *)0)->cm_comment) == 64, " found %lld\n",
+                 (long long)(int)sizeof(((struct cfg_marker *)0)->cm_comment));
+
         /* Checks for struct llog_logid */
         LASSERTF((int)sizeof(struct llog_logid) == 20, " found %lld\n",
                  (long long)(int)sizeof(struct llog_logid));
@@ -1740,10 +1889,10 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)offsetof(struct llog_create_rec, lcr_oid));
         LASSERTF((int)sizeof(((struct llog_create_rec *)0)->lcr_oid) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct llog_create_rec *)0)->lcr_oid));
-        LASSERTF((int)offsetof(struct llog_create_rec, lcr_ogen) == 40, " found %lld\n",
-                 (long long)(int)offsetof(struct llog_create_rec, lcr_ogen));
-        LASSERTF((int)sizeof(((struct llog_create_rec *)0)->lcr_ogen) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct llog_create_rec *)0)->lcr_ogen));
+        LASSERTF((int)offsetof(struct llog_create_rec, lcr_ogr) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_create_rec, lcr_ogr));
+        LASSERTF((int)sizeof(((struct llog_create_rec *)0)->lcr_ogr) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_create_rec *)0)->lcr_ogr));
         LASSERTF((int)offsetof(struct llog_create_rec, padding) == 44, " found %lld\n",
                  (long long)(int)offsetof(struct llog_create_rec, padding));
         LASSERTF((int)sizeof(((struct llog_create_rec *)0)->padding) == 4, " found %lld\n",
@@ -1784,14 +1933,14 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)offsetof(struct llog_unlink_rec, lur_oid));
         LASSERTF((int)sizeof(((struct llog_unlink_rec *)0)->lur_oid) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct llog_unlink_rec *)0)->lur_oid));
-        LASSERTF((int)offsetof(struct llog_unlink_rec, lur_ogen) == 24, " found %lld\n",
-                 (long long)(int)offsetof(struct llog_unlink_rec, lur_ogen));
-        LASSERTF((int)sizeof(((struct llog_unlink_rec *)0)->lur_ogen) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct llog_unlink_rec *)0)->lur_ogen));
-        LASSERTF((int)offsetof(struct llog_unlink_rec, padding) == 28, " found %lld\n",
-                 (long long)(int)offsetof(struct llog_unlink_rec, padding));
-        LASSERTF((int)sizeof(((struct llog_unlink_rec *)0)->padding) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct llog_unlink_rec *)0)->padding));
+        LASSERTF((int)offsetof(struct llog_unlink_rec, lur_ogr) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_unlink_rec, lur_ogr));
+        LASSERTF((int)sizeof(((struct llog_unlink_rec *)0)->lur_ogr) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_unlink_rec *)0)->lur_ogr));
+        LASSERTF((int)offsetof(struct llog_unlink_rec, lur_count) == 28, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_unlink_rec, lur_count));
+        LASSERTF((int)sizeof(((struct llog_unlink_rec *)0)->lur_count) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_unlink_rec *)0)->lur_count));
         LASSERTF((int)offsetof(struct llog_unlink_rec, lur_tail) == 32, " found %lld\n",
                  (long long)(int)offsetof(struct llog_unlink_rec, lur_tail));
         LASSERTF((int)sizeof(((struct llog_unlink_rec *)0)->lur_tail) == 8, " found %lld\n",
@@ -1808,10 +1957,10 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)offsetof(struct llog_setattr_rec, lsr_oid));
         LASSERTF((int)sizeof(((struct llog_setattr_rec *)0)->lsr_oid) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct llog_setattr_rec *)0)->lsr_oid));
-        LASSERTF((int)offsetof(struct llog_setattr_rec, lsr_ogen) == 24, " found %lld\n",
-                 (long long)(int)offsetof(struct llog_setattr_rec, lsr_ogen));
-        LASSERTF((int)sizeof(((struct llog_setattr_rec *)0)->lsr_ogen) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct llog_setattr_rec *)0)->lsr_ogen));
+        LASSERTF((int)offsetof(struct llog_setattr_rec, lsr_ogr) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_setattr_rec, lsr_ogr));
+        LASSERTF((int)sizeof(((struct llog_setattr_rec *)0)->lsr_ogr) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_setattr_rec *)0)->lsr_ogr));
         LASSERTF((int)offsetof(struct llog_setattr_rec, lsr_uid) == 28, " found %lld\n",
                  (long long)(int)offsetof(struct llog_setattr_rec, lsr_uid));
         LASSERTF((int)sizeof(((struct llog_setattr_rec *)0)->lsr_uid) == 4, " found %lld\n",
@@ -1829,6 +1978,46 @@ void lustre_assert_wire_constants(void)
         LASSERTF((int)sizeof(((struct llog_setattr_rec *)0)->lsr_tail) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct llog_setattr_rec *)0)->lsr_tail));
 
+        /* Checks for struct llog_setattr64_rec */
+        LASSERTF((int)sizeof(struct llog_setattr64_rec) == 56, " found %lld\n",
+                 (long long)(int)sizeof(struct llog_setattr64_rec));
+        LASSERTF((int)offsetof(struct llog_setattr64_rec, lsr_hdr) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_setattr64_rec, lsr_hdr));
+        LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->lsr_hdr) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_setattr64_rec *)0)->lsr_hdr));
+        LASSERTF((int)offsetof(struct llog_setattr64_rec, lsr_oid) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_setattr64_rec, lsr_oid));
+        LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->lsr_oid) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_setattr64_rec *)0)->lsr_oid));
+        LASSERTF((int)offsetof(struct llog_setattr64_rec, lsr_ogr) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_setattr64_rec, lsr_ogr));
+        LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->lsr_ogr) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_setattr64_rec *)0)->lsr_ogr));
+        LASSERTF((int)offsetof(struct llog_setattr64_rec, padding) == 28, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_setattr64_rec, padding));
+        LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->padding) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_setattr64_rec *)0)->padding));
+        LASSERTF((int)offsetof(struct llog_setattr64_rec, lsr_uid) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_setattr64_rec, lsr_uid));
+        LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->lsr_uid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_setattr64_rec *)0)->lsr_uid));
+        LASSERTF((int)offsetof(struct llog_setattr64_rec, lsr_uid_h) == 36, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_setattr64_rec, lsr_uid_h));
+        LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->lsr_uid_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_setattr64_rec *)0)->lsr_uid_h));
+        LASSERTF((int)offsetof(struct llog_setattr64_rec, lsr_gid) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_setattr64_rec, lsr_gid));
+        LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->lsr_gid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_setattr64_rec *)0)->lsr_gid));
+        LASSERTF((int)offsetof(struct llog_setattr64_rec, lsr_gid_h) == 44, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_setattr64_rec, lsr_gid_h));
+        LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->lsr_gid_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_setattr64_rec *)0)->lsr_gid_h));
+        LASSERTF((int)offsetof(struct llog_setattr64_rec, lsr_tail) == 48, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_setattr64_rec, lsr_tail));
+        LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->lsr_tail) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_setattr64_rec *)0)->lsr_tail));
+
         /* Checks for struct llog_size_change_rec */
         LASSERTF((int)sizeof(struct llog_size_change_rec) == 48, " found %lld\n",
                  (long long)(int)sizeof(struct llog_size_change_rec));
@@ -2201,7 +2390,78 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)offsetof(struct lustre_disk_data, ldd_params));
         LASSERTF((int)sizeof(((struct lustre_disk_data *)0)->ldd_params) == 4096, " found %lld\n",
                  (long long)(int)sizeof(((struct lustre_disk_data *)0)->ldd_params));
-#ifdef LIBLUSTRE_POSIX_ACL
+
+        /* Checks for struct ll_user_fiemap */
+        LASSERTF((int)sizeof(struct ll_user_fiemap) == 32, " found %lld\n",
+                 (long long)(int)sizeof(struct ll_user_fiemap));
+        LASSERTF((int)offsetof(struct ll_user_fiemap, fm_start) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_user_fiemap, fm_start));
+        LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_start) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_start));
+        LASSERTF((int)offsetof(struct ll_user_fiemap, fm_length) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_user_fiemap, fm_length));
+        LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_length) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_length));
+        LASSERTF((int)offsetof(struct ll_user_fiemap, fm_flags) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_user_fiemap, fm_flags));
+        LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_flags) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_flags));
+        LASSERTF((int)offsetof(struct ll_user_fiemap, fm_mapped_extents) == 20, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_user_fiemap, fm_mapped_extents));
+        LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_mapped_extents) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_mapped_extents));
+        LASSERTF((int)offsetof(struct ll_user_fiemap, fm_extent_count) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_user_fiemap, fm_extent_count));
+        LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_extent_count) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_extent_count));
+        LASSERTF((int)offsetof(struct ll_user_fiemap, fm_reserved) == 28, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_user_fiemap, fm_reserved));
+        LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_reserved) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_reserved));
+        LASSERTF((int)offsetof(struct ll_user_fiemap, fm_extents) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_user_fiemap, fm_extents));
+        LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_extents) == 0, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_extents));
+        CLASSERT(FIEMAP_FLAG_SYNC == 0x00000001);
+        CLASSERT(FIEMAP_FLAG_XATTR == 0x00000002);
+        CLASSERT(FIEMAP_FLAG_DEVICE_ORDER == 0x40000000);
+
+        /* Checks for struct ll_fiemap_extent */
+        LASSERTF((int)sizeof(struct ll_fiemap_extent) == 56, " found %lld\n",
+                 (long long)(int)sizeof(struct ll_fiemap_extent));
+        LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_logical) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_fiemap_extent, fe_logical));
+        LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_logical) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_logical));
+        LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_physical) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_fiemap_extent, fe_physical));
+        LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_physical) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_physical));
+        LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_length) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_fiemap_extent, fe_length));
+        LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_length) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_length));
+        LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_flags) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_fiemap_extent, fe_flags));
+        LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_flags) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_flags));
+        LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_device) == 44, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_fiemap_extent, fe_device));
+        LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_device) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_device));
+        CLASSERT(FIEMAP_EXTENT_LAST == 0x00000001);
+        CLASSERT(FIEMAP_EXTENT_UNKNOWN == 0x00000002);
+        CLASSERT(FIEMAP_EXTENT_DELALLOC == 0x00000004);
+        CLASSERT(FIEMAP_EXTENT_ENCODED == 0x00000008);
+        CLASSERT(FIEMAP_EXTENT_DATA_ENCRYPTED == 0x00000080);
+        CLASSERT(FIEMAP_EXTENT_NOT_ALIGNED == 0x00000100);
+        CLASSERT(FIEMAP_EXTENT_DATA_INLINE == 0x00000200);
+        CLASSERT(FIEMAP_EXTENT_DATA_TAIL == 0x00000400);
+        CLASSERT(FIEMAP_EXTENT_UNWRITTEN == 0x00000800);
+        CLASSERT(FIEMAP_EXTENT_MERGED == 0x00001000);
+        CLASSERT(FIEMAP_EXTENT_NO_DIRECT == 0x40000000);
+        CLASSERT(FIEMAP_EXTENT_NET == 0x80000000);
+#if defined(LIBLUSTRE_POSIX_ACL) && defined(CONFIG_FS_POSIX_ACL)
 
         /* Checks for type posix_acl_xattr_entry */
         LASSERTF((int)sizeof(xattr_acl_entry) == 8, " found %lld\n",