Whamcloud - gitweb
LU-12923 lnet: Replace CLASSERT() with BUILD_BUG_ON()
[fs/lustre-release.git] / lnet / utils / wirecheck.c
index 2d5d1b2..98aaee9 100644 (file)
@@ -41,7 +41,7 @@
 #include <unistd.h>
 #include <sys/types.h>
 #include <sys/wait.h>
-#include <lnet/types.h>
+#include <linux/lnet/lnet-types.h>
 
 #ifndef HAVE_STRNLEN
 #define strnlen(s, i) strlen(s)
@@ -61,12 +61,12 @@ do {                                            \
 
 #define CHECK_DEFINE(a)                                                 \
 do {                                                                    \
-        printf ("        CLASSERT ("#a" == "STRINGIFY(a)");\n");        \
+        printf ("        BUILD_BUG_ON("#a" != "STRINGIFY(a)");\n");     \
 } while (0)
 
-#define CHECK_VALUE(a)                                  \
-do {                                                    \
-        printf ("        CLASSERT ("#a" == %d);\n", a); \
+#define CHECK_VALUE(a)                                     \
+do {                                                       \
+        printf ("        BUILD_BUG_ON("#a" != %d);\n", a); \
 } while (0)
 
 #define CHECK_MEMBER_OFFSET(s,m)                \
@@ -103,58 +103,97 @@ check_lnet_handle_wire(void)
 void
 check_lnet_magicversion (void)
 {
-        CHECK_STRUCT (lnet_magicversion_t);
-        CHECK_MEMBER (lnet_magicversion_t, magic);
-        CHECK_MEMBER (lnet_magicversion_t, version_major);
-        CHECK_MEMBER (lnet_magicversion_t, version_minor);
+       CHECK_STRUCT(struct lnet_magicversion);
+       CHECK_MEMBER(struct lnet_magicversion, magic);
+       CHECK_MEMBER(struct lnet_magicversion, version_major);
+       CHECK_MEMBER(struct lnet_magicversion, version_minor);
 }
 
 void
 check_lnet_hdr (void)
 {
-        CHECK_STRUCT (lnet_hdr_t);
-        CHECK_MEMBER (lnet_hdr_t, dest_nid);
-        CHECK_MEMBER (lnet_hdr_t, src_nid);
-        CHECK_MEMBER (lnet_hdr_t, dest_pid);
-        CHECK_MEMBER (lnet_hdr_t, src_pid);
-        CHECK_MEMBER (lnet_hdr_t, type);
-        CHECK_MEMBER (lnet_hdr_t, payload_length);
-        CHECK_MEMBER (lnet_hdr_t, msg);
+       CHECK_STRUCT(struct lnet_hdr);
+       CHECK_MEMBER(struct lnet_hdr, dest_nid);
+       CHECK_MEMBER(struct lnet_hdr, src_nid);
+       CHECK_MEMBER(struct lnet_hdr, dest_pid);
+       CHECK_MEMBER(struct lnet_hdr, src_pid);
+       CHECK_MEMBER(struct lnet_hdr, type);
+       CHECK_MEMBER(struct lnet_hdr, payload_length);
+       CHECK_MEMBER(struct lnet_hdr, msg);
 
         BLANK_LINE ();
         COMMENT ("Ack");
-        CHECK_MEMBER (lnet_hdr_t, msg.ack.dst_wmd);
-        CHECK_MEMBER (lnet_hdr_t, msg.ack.match_bits);
-        CHECK_MEMBER (lnet_hdr_t, msg.ack.mlength);
+       CHECK_MEMBER(struct lnet_hdr, msg.ack.dst_wmd);
+       CHECK_MEMBER(struct lnet_hdr, msg.ack.match_bits);
+       CHECK_MEMBER(struct lnet_hdr, msg.ack.mlength);
 
         BLANK_LINE ();
         COMMENT ("Put");
-        CHECK_MEMBER (lnet_hdr_t, msg.put.ack_wmd);
-        CHECK_MEMBER (lnet_hdr_t, msg.put.match_bits);
-        CHECK_MEMBER (lnet_hdr_t, msg.put.hdr_data);
-        CHECK_MEMBER (lnet_hdr_t, msg.put.ptl_index);
-        CHECK_MEMBER (lnet_hdr_t, msg.put.offset);
+       CHECK_MEMBER(struct lnet_hdr, msg.put.ack_wmd);
+       CHECK_MEMBER(struct lnet_hdr, msg.put.match_bits);
+       CHECK_MEMBER(struct lnet_hdr, msg.put.hdr_data);
+       CHECK_MEMBER(struct lnet_hdr, msg.put.ptl_index);
+       CHECK_MEMBER(struct lnet_hdr, msg.put.offset);
 
         BLANK_LINE ();
         COMMENT ("Get");
-        CHECK_MEMBER (lnet_hdr_t, msg.get.return_wmd);
-        CHECK_MEMBER (lnet_hdr_t, msg.get.match_bits);
-        CHECK_MEMBER (lnet_hdr_t, msg.get.ptl_index);
-        CHECK_MEMBER (lnet_hdr_t, msg.get.src_offset);
-        CHECK_MEMBER (lnet_hdr_t, msg.get.sink_length);
+       CHECK_MEMBER(struct lnet_hdr, msg.get.return_wmd);
+       CHECK_MEMBER(struct lnet_hdr, msg.get.match_bits);
+       CHECK_MEMBER(struct lnet_hdr, msg.get.ptl_index);
+       CHECK_MEMBER(struct lnet_hdr, msg.get.src_offset);
+       CHECK_MEMBER(struct lnet_hdr, msg.get.sink_length);
 
         BLANK_LINE ();
         COMMENT ("Reply");
-        CHECK_MEMBER (lnet_hdr_t, msg.reply.dst_wmd);
+       CHECK_MEMBER(struct lnet_hdr, msg.reply.dst_wmd);
 
         BLANK_LINE ();
         COMMENT ("Hello");
-        CHECK_MEMBER (lnet_hdr_t, msg.hello.incarnation);
-        CHECK_MEMBER (lnet_hdr_t, msg.hello.type);
+       CHECK_MEMBER(struct lnet_hdr, msg.hello.incarnation);
+       CHECK_MEMBER(struct lnet_hdr, msg.hello.type);
 }
 
 void
-system_string (char *cmdline, char *str, int len)
+check_lnet_ni_status(void)
+{
+       BLANK_LINE();
+       COMMENT("Checks for struct lnet_ni_status and related constants");
+
+       CHECK_DEFINE(LNET_NI_STATUS_INVALID);
+       CHECK_DEFINE(LNET_NI_STATUS_UP);
+       CHECK_DEFINE(LNET_NI_STATUS_DOWN);
+
+       CHECK_STRUCT(struct lnet_ni_status);
+       CHECK_MEMBER(struct lnet_ni_status, ns_nid);
+       CHECK_MEMBER(struct lnet_ni_status, ns_status);
+       CHECK_MEMBER(struct lnet_ni_status, ns_unused);
+}
+
+void
+check_lnet_ping_info(void)
+{
+       BLANK_LINE();
+       COMMENT("Checks for struct lnet_ping_info and related constants");
+
+       CHECK_DEFINE(LNET_PROTO_PING_MAGIC);
+       CHECK_VALUE(LNET_PING_FEAT_INVAL);
+       CHECK_VALUE(LNET_PING_FEAT_BASE);
+       CHECK_VALUE(LNET_PING_FEAT_NI_STATUS);
+       CHECK_VALUE(LNET_PING_FEAT_RTE_DISABLED);
+       CHECK_VALUE(LNET_PING_FEAT_MULTI_RAIL);
+       CHECK_VALUE(LNET_PING_FEAT_DISCOVERY);
+       CHECK_VALUE(LNET_PING_FEAT_BITS);
+
+       CHECK_STRUCT(struct lnet_ping_info);
+       CHECK_MEMBER(struct lnet_ping_info, pi_magic);
+       CHECK_MEMBER(struct lnet_ping_info, pi_features);
+       CHECK_MEMBER(struct lnet_ping_info, pi_pid);
+       CHECK_MEMBER(struct lnet_ping_info, pi_nnis);
+       CHECK_MEMBER(struct lnet_ping_info, pi_ni);
+}
+
+void
+system_string(char *cmdline, char *str, int len)
 {
         int   fds[2];
         int   rc;
@@ -237,9 +276,11 @@ main (int argc, char **argv)
         CHECK_VALUE (LNET_MSG_REPLY);
         CHECK_VALUE (LNET_MSG_HELLO);
 
-        check_lnet_handle_wire ();
-        check_lnet_magicversion ();
-        check_lnet_hdr ();
+       check_lnet_handle_wire();
+       check_lnet_magicversion();
+       check_lnet_hdr();
+       check_lnet_ni_status();
+       check_lnet_ping_info();
 
         printf ("}\n\n");