break;
}
- if (unlikely(*(string_buf + needed - 1) != '\n'))
- printk(KERN_INFO "format at %s:%d:%s doesn't end in newline\n",
- file, line, fn);
-
header.ph_len = known_size + needed;
debug_buf = (char *)page_address(tage->page) + tage->used;
#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)
} /* 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)
{
if (ce == CE_PANIC)
vpanic(fmt, ap);
- if (ce != CE_NOTE) { /* suppress noise in stress testing */
+ if (ce != CE_NOTE) {
vsnprintf(msg, MAXMSGLEN - 1, fmt, ap);
- CERROR("%s%s%s", ce_prefix[ce], msg, ce_suffix[ce]);
+
+ if (fmt[0] == '!')
+ CDEBUG(D_INFO, "%s%s%s",
+ ce_prefix[ce], msg, ce_suffix[ce]);
+ else
+ CERROR("%s%s%s", ce_prefix[ce], msg, ce_suffix[ce]);
}
} /* vcmn_err() */
EXPORT_SYMBOL(vcmn_err);
+
+void
+cmn_err(int ce, const char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ vcmn_err(ce, fmt, ap);
+ va_end(ap);
+} /* cmn_err() */
+EXPORT_SYMBOL(cmn_err);
+