]> git.proxmox.com Git - mirror_spl-debian.git/blobdiff - module/spl/spl-err.c
Imported Upstream version 0.6.3+git20140731
[mirror_spl-debian.git] / module / spl / spl-err.c
index b6d15f01918f1ff68e25f0150a0939a0c504c9d6..2706f9bd13996fc0955d0f69aeb85538fcd905ec 100644 (file)
@@ -39,6 +39,27 @@ static char ce_prefix[CE_IGNORE][10] = { "", "NOTICE: ", "WARNING: ", "" };
 static char ce_suffix[CE_IGNORE][2] = { "", "\n", "\n", "" };
 #endif
 
+int
+spl_PANIC(char *filename, const char *functionname,
+    int lineno, const char *fmt, ...) {
+       char msg[MAXMSGLEN];
+       va_list ap;
+
+       va_start(ap, fmt);
+       if (vsnprintf(msg, sizeof (msg), fmt, ap) == sizeof (msg))
+               msg[sizeof (msg) - 1] = '\0';
+       va_end(ap);
+#ifdef NDEBUG
+       printk(KERN_EMERG "%s", msg);
+#else
+       spl_debug_msg(NULL, 0, 0,
+            filename, functionname, lineno, "%s", msg);
+#endif
+       spl_debug_bug(filename, functionname, lineno, 0);
+       return 1;
+}
+EXPORT_SYMBOL(spl_PANIC);
+
 void
 vpanic(const char *fmt, va_list ap)
 {