summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2013-02-05 15:59:36 -0800
committerBrian Behlendorf <[email protected]>2013-02-05 16:13:27 -0800
commit4bf3909e5186a978ea9bf5fb1409aa9777d40a35 (patch)
tree521b619c638af4200e6ce130db4809b74c157d31
parenta0625691b39468d04eb716919e237f96a3987b48 (diff)
Disable automatic log dumping
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 <[email protected]>
-rw-r--r--cmd/Makefile.am3
-rw-r--r--module/spl/spl-debug.c5
2 files changed, 5 insertions, 3 deletions
diff --git a/cmd/Makefile.am b/cmd/Makefile.am
index c1e841dfe..fed6feec2 100644
--- a/cmd/Makefile.am
+++ b/cmd/Makefile.am
@@ -3,7 +3,8 @@ include $(top_srcdir)/config/Rules.am
DEFAULT_INCLUDES += \
-I$(top_srcdir)/lib
-sbin_PROGRAMS = spl splat
+noinst_PROGRAMS = spl
+sbin_PROGRAMS = splat
spl_SOURCES = spl.c
diff --git a/module/spl/spl-debug.c b/module/spl/spl-debug.c
index 0dd59db56..3c3dab0c8 100644
--- a/module/spl/spl-debug.c
+++ b/module/spl/spl-debug.c
@@ -1099,10 +1099,11 @@ void spl_debug_bug(char *file, const char *func, const int line, int flags)
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)