]> granicus.if.org Git - spl/commitdiff
Add ASSERT3B/VERIFY3B/USEC2NSEC/NSEC2USEC macros
authorPrakash Surya <prakash.surya@delphix.com>
Mon, 10 Jul 2017 19:44:23 +0000 (12:44 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 13 Jul 2017 17:19:15 +0000 (13:19 -0400)
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Prakash Surya <prakash.surya@delphix.com>
Closes #627

include/sys/debug.h
include/sys/time.h

index a37740036446a26776e08f679c60cb5f945e36db..98ccbaf05ad74a9b372a9cb0f69ed0b0e5c8df20 100644 (file)
  * PANIC()     - Panic the node and print message.
  * ASSERT()    - Assert X is true, if not panic.
  * ASSERTV()   - Wraps a variable declaration which is only used by ASSERT().
+ * ASSERT3B()  - Assert boolean X OP Y is true, if not panic.
  * ASSERT3S()  - Assert signed X OP Y is true, if not panic.
  * ASSERT3U()  - Assert unsigned X OP Y is true, if not panic.
  * ASSERT3P()  - Assert pointer X OP Y is true, if not panic.
  * ASSERT0()   - Assert value is zero, if not panic.
  * VERIFY()    - Verify X is true, if not panic.
+ * VERIFY3B()  - Verify boolean X OP Y is true, if not panic.
  * VERIFY3S()  - Verify signed X OP Y is true, if not panic.
  * VERIFY3U()  - Verify unsigned X OP Y is true, if not panic.
  * VERIFY3P()  - Verify pointer X OP Y is true, if not panic.
@@ -67,6 +69,7 @@ void spl_dumpstack(void);
            "failed (" FMT " " #OP " " FMT ")\n",                       \
            CAST (LEFT), CAST (RIGHT)))
 
+#define        VERIFY3B(x,y,z) VERIFY3_IMPL(x, y, z, boolean_t, "%d", (boolean_t))
 #define        VERIFY3S(x,y,z) VERIFY3_IMPL(x, y, z, int64_t, "%lld", (long long))
 #define        VERIFY3U(x,y,z) VERIFY3_IMPL(x, y, z, uint64_t, "%llu",         \
                                    (unsigned long long))
@@ -88,6 +91,7 @@ void spl_dumpstack(void);
 #define        SPL_DEBUG_STR           ""
 #define        ASSERT(x)               ((void)0)
 #define        ASSERTV(x)
+#define        ASSERT3B(x,y,z)         ((void)0)
 #define        ASSERT3S(x,y,z)         ((void)0)
 #define        ASSERT3U(x,y,z)         ((void)0)
 #define        ASSERT3P(x,y,z)         ((void)0)
@@ -103,6 +107,7 @@ void spl_dumpstack(void);
 #define        SPL_DEBUG_STR           " (DEBUG mode)"
 #define        ASSERT(cond)            VERIFY(cond)
 #define        ASSERTV(x)              x
+#define        ASSERT3B(x,y,z)         VERIFY3B(x, y, z)
 #define        ASSERT3S(x,y,z)         VERIFY3S(x, y, z)
 #define        ASSERT3U(x,y,z)         VERIFY3U(x, y, z)
 #define        ASSERT3P(x,y,z)         VERIFY3P(x, y, z)
index 611f5dd2d8d1d0aadc635277fa0cc89f423f34c8..ddda6deadaeac87ee52c7034073bada84a82af15 100644 (file)
 #define        MSEC2NSEC(m)    ((hrtime_t)(m) * (NANOSEC / MILLISEC))
 #define        NSEC2MSEC(n)    ((n) / (NANOSEC / MILLISEC))
 
-#define NSEC2SEC(n)     ((n) / (NANOSEC / SEC))
-#define SEC2NSEC(m)     ((hrtime_t)(m) * (NANOSEC / SEC))  
+#define        USEC2NSEC(m)    ((hrtime_t)(m) * (NANOSEC / MICROSEC))
+#define        NSEC2USEC(n)    ((n) / (NANOSEC / MICROSEC))
+
+#define        NSEC2SEC(n)     ((n) / (NANOSEC / SEC))
+#define        SEC2NSEC(m)     ((hrtime_t)(m) * (NANOSEC / SEC))
 
 static const int hz = HZ;