Remove assert/verify support from zfs_context, moved to assert.h
This commit is contained in:
parent
91e7f37737
commit
bcbf74fead
|
@ -102,59 +102,12 @@ extern void vpanic(const char *, __va_list);
|
||||||
|
|
||||||
#define fm_panic panic
|
#define fm_panic panic
|
||||||
|
|
||||||
/* This definition is copied from assert.h. */
|
/*
|
||||||
#ifndef verify
|
* VERIFY/ASSERT
|
||||||
#if defined(__STDC__)
|
*
|
||||||
#if __STDC_VERSION__ - 0 >= 199901L
|
* The verify/assert support moved to libspl/include/assert.h so only
|
||||||
#define verify(EX) (void)((EX) || \
|
* one version of the code needs to be maintained for all of user space.
|
||||||
(__assert_c99(#EX, __FILE__, __LINE__, __func__), 0))
|
*/
|
||||||
#else
|
|
||||||
#define verify(EX) (void)((EX) || (__assert(#EX, __FILE__, __LINE__), 0))
|
|
||||||
#endif /* __STDC_VERSION__ - 0 >= 199901L */
|
|
||||||
#else
|
|
||||||
#define verify(EX) (void)((EX) || (_assert("EX", __FILE__, __LINE__), 0))
|
|
||||||
#endif /* __STDC__ */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#undef VERIFY
|
|
||||||
#undef ASSERT
|
|
||||||
|
|
||||||
#define VERIFY verify
|
|
||||||
#define ASSERT assert
|
|
||||||
|
|
||||||
extern void __assert(const char *, const char *, int);
|
|
||||||
|
|
||||||
#ifdef lint
|
|
||||||
#define VERIFY3_IMPL(x, y, z, t) if (x == z) ((void)0)
|
|
||||||
#else
|
|
||||||
/* BEGIN CSTYLED */
|
|
||||||
#define VERIFY3_IMPL(LEFT, OP, RIGHT, TYPE) do { \
|
|
||||||
const TYPE __left = (TYPE)(LEFT); \
|
|
||||||
const TYPE __right = (TYPE)(RIGHT); \
|
|
||||||
if (!(__left OP __right)) { \
|
|
||||||
char *__buf = alloca(256); \
|
|
||||||
(void) snprintf(__buf, 256, "%s %s %s (0x%llx %s 0x%llx)", \
|
|
||||||
#LEFT, #OP, #RIGHT, \
|
|
||||||
(u_longlong_t)__left, #OP, (u_longlong_t)__right); \
|
|
||||||
__assert(__buf, __FILE__, __LINE__); \
|
|
||||||
} \
|
|
||||||
_NOTE(CONSTCOND) } while (0)
|
|
||||||
/* END CSTYLED */
|
|
||||||
#endif /* lint */
|
|
||||||
|
|
||||||
#define VERIFY3S(x, y, z) VERIFY3_IMPL(x, y, z, int64_t)
|
|
||||||
#define VERIFY3U(x, y, z) VERIFY3_IMPL(x, y, z, uint64_t)
|
|
||||||
#define VERIFY3P(x, y, z) VERIFY3_IMPL(x, y, z, uintptr_t)
|
|
||||||
|
|
||||||
#ifdef NDEBUG
|
|
||||||
#define ASSERT3S(x, y, z) ((void)0)
|
|
||||||
#define ASSERT3U(x, y, z) ((void)0)
|
|
||||||
#define ASSERT3P(x, y, z) ((void)0)
|
|
||||||
#else
|
|
||||||
#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)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* DTrace SDT probes have different signatures in userland than they do in
|
* DTrace SDT probes have different signatures in userland than they do in
|
||||||
|
|
Loading…
Reference in New Issue