Whamcloud - gitweb
LU-241 Support crc32c with hardware accelerated instruction as one of lustre checksums
[fs/lustre-release.git] / lustre / utils / wiretest.c
index cab0cc7..79fca5c 100644 (file)
@@ -30,6 +30,9 @@
  * Use is subject to license terms.
  */
 /*
+ * Copyright (c) 2011 Whamcloud, Inc.
+ */
+/*
  * This file is part of Lustre, http://www.lustre.org/
  * Lustre is a trademark of Sun Microsystems, Inc.
  */
@@ -62,8 +65,8 @@ void lustre_assert_wire_constants(void)
 {
         /* Wire protocol assertions generated by 'wirecheck'
          * (make -C lustre/utils newwiretest)
-         * running on Linux vl1 2.6.18-prep #3 SMP Mon Apr 19 06:11:00 CDT 2010 x86_64 x86_64 x86_64 
-         * with gcc version 4.1.2 20070626 (Red Hat 4.1.2-14) */
+         * running on Linux centos5.localhost 2.6.18-prep #3 SMP Mon Mar 22 08:28:01 EDT 2010 x86_64 
+         * with gcc version 4.1.2 20071124 (Red Hat 4.1.2-42) */
 
 
         /* Constants... */
@@ -407,7 +410,7 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_pre_versions[4]));
 
         /* Checks for struct obd_connect_data */
-        LASSERTF((int)sizeof(struct obd_connect_data) == 72, " found %lld\n",
+        LASSERTF((int)sizeof(struct obd_connect_data) == 192, " found %lld\n",
                  (long long)(int)sizeof(struct obd_connect_data));
         LASSERTF((int)offsetof(struct obd_connect_data, ocd_connect_flags) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct obd_connect_data, ocd_connect_flags));
@@ -453,43 +456,66 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)offsetof(struct obd_connect_data, ocd_cksum_types));
         LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_cksum_types) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_cksum_types));
-        LASSERTF((int)offsetof(struct obd_connect_data, padding1) == 56, " found %lld\n",
+        LASSERTF((int)offsetof(struct obd_connect_data, ocd_max_easize) == 56, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, ocd_max_easize));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_max_easize) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_max_easize));
+        LASSERTF((int)offsetof(struct obd_connect_data, padding) == 60, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, padding));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding));
+        LASSERTF((int)offsetof(struct obd_connect_data, ocd_maxbytes) == 64, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, ocd_maxbytes));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_maxbytes) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_maxbytes));
+        LASSERTF((int)offsetof(struct obd_connect_data, padding1) == 72, " found %lld\n",
                  (long long)(int)offsetof(struct obd_connect_data, padding1));
         LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding1) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obd_connect_data *)0)->padding1));
-        LASSERTF((int)offsetof(struct obd_connect_data, padding2) == 64, " found %lld\n",
+        LASSERTF((int)offsetof(struct obd_connect_data, padding2) == 80, " found %lld\n",
                  (long long)(int)offsetof(struct obd_connect_data, padding2));
         LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding2) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obd_connect_data *)0)->padding2));
-        CLASSERT(OBD_CONNECT_RDONLY == 0x1ULL);
-        CLASSERT(OBD_CONNECT_INDEX == 0x2ULL);
-        CLASSERT(OBD_CONNECT_GRANT == 0x8ULL);
-        CLASSERT(OBD_CONNECT_SRVLOCK == 0x10ULL);
-        CLASSERT(OBD_CONNECT_VERSION == 0x20ULL);
-        CLASSERT(OBD_CONNECT_REQPORTAL == 0x40ULL);
-        CLASSERT(OBD_CONNECT_ACL == 0x80ULL);
-        CLASSERT(OBD_CONNECT_XATTR == 0x100ULL);
-        CLASSERT(OBD_CONNECT_REAL == 0x8000000ULL);
-        CLASSERT(OBD_CONNECT_CKSUM == 0x20000000ULL);
-        CLASSERT(OBD_CONNECT_TRUNCLOCK == 0x400ULL);
-        CLASSERT(OBD_CONNECT_IBITS == 0x1000ULL);
-        CLASSERT(OBD_CONNECT_JOIN == 0x2000ULL);
-        CLASSERT(OBD_CONNECT_ATTRFID == 0x4000ULL);
-        CLASSERT(OBD_CONNECT_NODEVOH == 0x8000ULL);
-        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);
-        CLASSERT(OBD_CONNECT_OSS_CAPA == 0x200000ULL);
-        CLASSERT(OBD_CONNECT_MDS_MDS == 0x4000000ULL);
-        CLASSERT(OBD_CONNECT_SOM == 0x800000ULL);
-        CLASSERT(OBD_CONNECT_AT == 0x1000000ULL);
-        CLASSERT(OBD_CONNECT_CANCELSET == 0x400000ULL);
-        CLASSERT(OBD_CONNECT_LRU_RESIZE == 0x2000000ULL);
-        CLASSERT(OBD_CONNECT_VBR == 0x80000000ULL);
-        CLASSERT(OBD_CONNECT_SKIP_ORPHAN == 0x400000000ULL);
-        CLASSERT(OBD_CONNECT_FULL20 == 0x1000000000ULL);
+        CLASSERT(OBD_CONNECT_RDONLY ==                    0x1ULL);
+        CLASSERT(OBD_CONNECT_INDEX ==                     0x2ULL);
+        CLASSERT(OBD_CONNECT_MDS ==                       0x4ULL);
+        CLASSERT(OBD_CONNECT_GRANT ==                     0x8ULL);
+        CLASSERT(OBD_CONNECT_SRVLOCK ==                  0x10ULL);
+        CLASSERT(OBD_CONNECT_VERSION ==                  0x20ULL);
+        CLASSERT(OBD_CONNECT_REQPORTAL ==                0x40ULL);
+        CLASSERT(OBD_CONNECT_ACL ==                      0x80ULL);
+        CLASSERT(OBD_CONNECT_XATTR ==                   0x100ULL);
+        CLASSERT(OBD_CONNECT_CROW ==                    0x200ULL);
+        CLASSERT(OBD_CONNECT_TRUNCLOCK ==               0x400ULL);
+        CLASSERT(OBD_CONNECT_TRANSNO ==                 0x800ULL);
+        CLASSERT(OBD_CONNECT_IBITS ==                  0x1000ULL);
+        CLASSERT(OBD_CONNECT_JOIN ==                   0x2000ULL);
+        CLASSERT(OBD_CONNECT_ATTRFID ==                0x4000ULL);
+        CLASSERT(OBD_CONNECT_NODEVOH ==                0x8000ULL);
+        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);
+        CLASSERT(OBD_CONNECT_OSS_CAPA ==             0x200000ULL);
+        CLASSERT(OBD_CONNECT_CANCELSET ==            0x400000ULL);
+        CLASSERT(OBD_CONNECT_SOM ==                  0x800000ULL);
+        CLASSERT(OBD_CONNECT_AT ==                  0x1000000ULL);
+        CLASSERT(OBD_CONNECT_LRU_RESIZE ==          0x2000000ULL);
+        CLASSERT(OBD_CONNECT_MDS_MDS ==             0x4000000ULL);
+        CLASSERT(OBD_CONNECT_REAL ==                0x8000000ULL);
+        CLASSERT(OBD_CONNECT_CHANGE_QS ==          0x10000000ULL);
+        CLASSERT(OBD_CONNECT_CKSUM ==              0x20000000ULL);
+        CLASSERT(OBD_CONNECT_FID ==                0x40000000ULL);
+        CLASSERT(OBD_CONNECT_VBR ==                0x80000000ULL);
+        CLASSERT(OBD_CONNECT_LOV_V3 ==            0x100000000ULL);
+        CLASSERT(OBD_CONNECT_GRANT_SHRINK ==      0x200000000ULL);
+        CLASSERT(OBD_CONNECT_SKIP_ORPHAN ==       0x400000000ULL);
+        CLASSERT(OBD_CONNECT_MAX_EASIZE ==        0x800000000ULL);
+        CLASSERT(OBD_CONNECT_FULL20 ==           0x1000000000ULL);
+        CLASSERT(OBD_CONNECT_LAYOUTLOCK ==       0x2000000000ULL);
+        CLASSERT(OBD_CONNECT_64BITHASH ==        0x4000000000ULL);
+        CLASSERT(OBD_CONNECT_MAXBYTES ==         0x8000000000ULL);
 
         /* Checks for struct obdo */
         LASSERTF((int)sizeof(struct obdo) == 208, " found %lld\n",
@@ -657,11 +683,13 @@ void lustre_assert_wire_constants(void)
         CLASSERT(OBD_FL_SRVLOCK == 2048);
         CLASSERT(OBD_FL_CKSUM_CRC32 == 4096);
         CLASSERT(OBD_FL_CKSUM_ADLER == 8192);
+        CLASSERT(OBD_FL_CKSUM_CRC32C == 16384);
         CLASSERT(OBD_FL_SHRINK_GRANT == 131072);
         CLASSERT(OBD_FL_MMAP == (0x00040000));
         CLASSERT(OBD_FL_RECOV_RESEND == (0x00080000));
         CLASSERT(OBD_CKSUM_CRC32 == 1);
         CLASSERT(OBD_CKSUM_ADLER == 2);
+        CLASSERT(OBD_CKSUM_CRC32C == 4);
 
         /* Checks for struct lov_mds_md_v1 */
         LASSERTF((int)sizeof(struct lov_mds_md_v1) == 32, " found %lld\n",
@@ -1732,25 +1760,25 @@ void lustre_assert_wire_constants(void)
         LASSERTF((int)sizeof(((struct ldlm_extent *)0)->gid) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct ldlm_extent *)0)->gid));
 
-        /* Checks for struct ldlm_flock */
-        LASSERTF((int)sizeof(struct ldlm_flock) == 32, " found %lld\n",
-                 (long long)(int)sizeof(struct ldlm_flock));
-        LASSERTF((int)offsetof(struct ldlm_flockstart) == 0, " found %lld\n",
-                 (long long)(int)offsetof(struct ldlm_flockstart));
-        LASSERTF((int)sizeof(((struct ldlm_flock *)0)->start) == 8, " found %lld\n",
-                 (long long)(int)sizeof(((struct ldlm_flock *)0)->start));
-        LASSERTF((int)offsetof(struct ldlm_flockend) == 8, " found %lld\n",
-                 (long long)(int)offsetof(struct ldlm_flockend));
-        LASSERTF((int)sizeof(((struct ldlm_flock *)0)->end) == 8, " found %lld\n",
-                 (long long)(int)sizeof(((struct ldlm_flock *)0)->end));
-        LASSERTF((int)offsetof(struct ldlm_flock, blocking_pid) == 24, " found %lld\n",
-                 (long long)(int)offsetof(struct ldlm_flock, blocking_pid));
-        LASSERTF((int)sizeof(((struct ldlm_flock *)0)->blocking_pid) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct ldlm_flock *)0)->blocking_pid));
-        LASSERTF((int)offsetof(struct ldlm_flockpid) == 28, " found %lld\n",
-                 (long long)(int)offsetof(struct ldlm_flockpid));
-        LASSERTF((int)sizeof(((struct ldlm_flock *)0)->pid) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct ldlm_flock *)0)->pid));
+        /* Checks for struct ldlm_flock_wire */
+        LASSERTF((int)sizeof(struct ldlm_flock_wire) == 32, " found %lld\n",
+                 (long long)(int)sizeof(struct ldlm_flock_wire));
+        LASSERTF((int)offsetof(struct ldlm_flock_wire, lfw_start) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct ldlm_flock_wire, lfw_start));
+        LASSERTF((int)sizeof(((struct ldlm_flock_wire *)0)->lfw_start) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct ldlm_flock_wire *)0)->lfw_start));
+        LASSERTF((int)offsetof(struct ldlm_flock_wire, lfw_end) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct ldlm_flock_wire, lfw_end));
+        LASSERTF((int)sizeof(((struct ldlm_flock_wire *)0)->lfw_end) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct ldlm_flock_wire *)0)->lfw_end));
+        LASSERTF((int)offsetof(struct ldlm_flock_wire, lfw_owner) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct ldlm_flock_wire, lfw_owner));
+        LASSERTF((int)sizeof(((struct ldlm_flock_wire *)0)->lfw_owner) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct ldlm_flock_wire *)0)->lfw_owner));
+        LASSERTF((int)offsetof(struct ldlm_flock_wire, lfw_pid) == 28, " found %lld\n",
+                 (long long)(int)offsetof(struct ldlm_flock_wire, lfw_pid));
+        LASSERTF((int)sizeof(((struct ldlm_flock_wire *)0)->lfw_pid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct ldlm_flock_wire *)0)->lfw_pid));
 
         /* Checks for struct ldlm_inodebits */
         LASSERTF((int)sizeof(struct ldlm_inodebits) == 8, " found %lld\n",
@@ -2692,4 +2720,3 @@ void lustre_assert_wire_constants(void)
         LASSERTF((int)sizeof(((struct link_ea_entry *)0)->lee_name) == 0, " found %lld\n",
                  (long long)(int)sizeof(((struct link_ea_entry *)0)->lee_name));
 }
-