Long ago infrastructure was added to the SPL to keep an internal
debug log of the last few seconds of activity. This was helpful
during the early development, but these days it is no longer
needed. I haven't had to resort to this debug buffer to resolve
an issue for several years now.
Today better more generic tools like systemtap and ftrace have
evolved to the point where they can be used for this purpose.
Along with the stack trace dumped to the system console, and in
rare cases a crash dump we almost always have the debug we need.
Therefore, I'm disabling the code which automatically dumps
this log to disk during an assertion except for the case where
spl_debug_panic_on_bug is set (disabled by default).
This should be viewed as a first step towards either.
a) Retiring this infrastructure and complexity entirely, or
b) Integrating this logging more properly with ftrace.
As part of this change I'm also removing from the packages the
undocumented spl utility which is used to decode the binary logs.
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
DEFAULT_INCLUDES += \
-I$(top_srcdir)/lib
-sbin_PROGRAMS = spl splat
+noinst_PROGRAMS = spl
+sbin_PROGRAMS = splat
spl_SOURCES = spl.c
spl_panic_in_progress = 1;
spl_debug_dumpstack(NULL);
- spl_debug_dumplog(flags);
- if (spl_debug_panic_on_bug)
+ if (spl_debug_panic_on_bug) {
+ spl_debug_dumplog(flags);
panic("SPL PANIC");
+ }
set_task_state(current, TASK_UNINTERRUPTIBLE);
while (1)