cc7449ccd6
compiled out when doing performance runs. - Bite the bullet and fully autoconfize the debug options in the configure time parameters. By default all the debug support is disable in the core SPL build, but available to modules which enable it when building against the SPL. To enable particular SPL debug support use the follow configure options: --enable-debug Internal ASSERTs --enable-debug-kmem Detailed memory accounting --enable-debug-mutex Detailed mutex tracking --enable-debug_kstat Kstat info exported to /proc --enable-debug-callb Additional callb debug git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@111 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
54 lines
1.0 KiB
C
54 lines
1.0 KiB
C
#include <sys/sysmacros.h>
|
|
#include <sys/cmn_err.h>
|
|
#include "config.h"
|
|
|
|
#ifdef DEBUG_SUBSYSTEM
|
|
#undef DEBUG_SUBSYSTEM
|
|
#endif
|
|
|
|
#define DEBUG_SUBSYSTEM S_GENERIC
|
|
|
|
#ifndef NDEBUG
|
|
static char ce_prefix[CE_IGNORE][10] = { "", "NOTICE: ", "WARNING: ", "" };
|
|
static char ce_suffix[CE_IGNORE][2] = { "", "\n", "\n", "" };
|
|
#endif
|
|
|
|
void
|
|
vpanic(const char *fmt, va_list ap)
|
|
{
|
|
char msg[MAXMSGLEN];
|
|
|
|
vsnprintf(msg, MAXMSGLEN - 1, fmt, ap);
|
|
panic(msg);
|
|
} /* vpanic() */
|
|
EXPORT_SYMBOL(vpanic);
|
|
|
|
void
|
|
cmn_err(int ce, const char *fmt, ...)
|
|
{
|
|
char msg[MAXMSGLEN];
|
|
va_list ap;
|
|
|
|
va_start(ap, fmt);
|
|
vsnprintf(msg, MAXMSGLEN - 1, fmt, ap);
|
|
va_end(ap);
|
|
|
|
CERROR("%s", msg);
|
|
} /* cmn_err() */
|
|
EXPORT_SYMBOL(cmn_err);
|
|
|
|
void
|
|
vcmn_err(int ce, const char *fmt, va_list ap)
|
|
{
|
|
char msg[MAXMSGLEN];
|
|
|
|
if (ce == CE_PANIC)
|
|
vpanic(fmt, ap);
|
|
|
|
if (ce != CE_NOTE) { /* suppress noise in stress testing */
|
|
vsnprintf(msg, MAXMSGLEN - 1, fmt, ap);
|
|
CERROR("%s%s%s", ce_prefix[ce], msg, ce_suffix[ce]);
|
|
}
|
|
} /* vcmn_err() */
|
|
EXPORT_SYMBOL(vcmn_err);
|