]> git.proxmox.com Git - mirror_spl.git/blame - modules/spl/spl-err.c
Frist minor batch of fixes. Catch a dropped ;, and use SBUG instead of BUG.
[mirror_spl.git] / modules / spl / spl-err.c
CommitLineData
05ae387b 1#include <sys/sysmacros.h>
2#include <sys/cmn_err.h>
3#include "config.h"
4
5static char ce_prefix[CE_IGNORE][10] = { "", "NOTICE: ", "WARNING: ", "" };
6static char ce_suffix[CE_IGNORE][2] = { "", "\n", "\n", "" };
7
8void
9vpanic(const char *fmt, va_list ap)
10{
11 char msg[MAXMSGLEN];
12
13 vsnprintf(msg, MAXMSGLEN - 1, fmt, ap);
14 panic(msg);
15} /* vpanic() */
16EXPORT_SYMBOL(vpanic);
17
18void
19cmn_err(int ce, const char *fmt, ...)
20{
21 char msg[MAXMSGLEN];
22 va_list ap;
23
24 va_start(ap, fmt);
25 vsnprintf(msg, MAXMSGLEN - 1, fmt, ap);
26 va_end(ap);
27
28 printk("%s", msg);
29} /* cmn_err() */
30EXPORT_SYMBOL(cmn_err);
31
32void
33vcmn_err(int ce, const char *fmt, va_list ap)
34{
35 char msg[MAXMSGLEN];
36
37 if (ce == CE_PANIC)
38 vpanic(fmt, ap);
39
40 if (ce != CE_NOTE) { /* suppress noise in stress testing */
41 vsnprintf(msg, MAXMSGLEN - 1, fmt, ap);
42 printk("%s%s%s", ce_prefix[ce], msg, ce_suffix[ce]);
43 }
44} /* vcmn_err() */
45EXPORT_SYMBOL(vcmn_err);