The command line switch -A (ignore ASSERTs) has always been available
in zdb but was never connected up to the correct global variable.
There are times when you need zdb to ignore asserts and keep dumping
out whatever information it can get despite the ASSERT(s) failing.
It was always intended to be part of zdb but was incomplete.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Paul Zuchowski <pzuchowski@datto.com>
Closes #9610
#include <stdlib.h>
#include <stdarg.h>
+#ifndef _KERNEL
+int aok;
+#endif
+
static inline int
libspl_assert(const char *buf, const char *file, const char *func, int line)
{
fprintf(stderr, "%s\n", buf);
fprintf(stderr, "ASSERT at %s:%d:%s()", file, line, func);
+ if (aok) {
+ return (0);
+ }
abort();
}
fprintf(stderr, "\n");
fprintf(stderr, "ASSERT at %s:%d:%s()", file, line, func);
va_end(args);
+ if (aok) {
+ return;
+ }
abort();
}
* Emulation of kernel services in userland.
*/
-int aok;
uint64_t physmem;
char hw_serial[HW_HOSTID_LEN];
struct utsname hw_utsname;