From 4bf3909e5186a978ea9bf5fb1409aa9777d40a35 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Tue, 5 Feb 2013 15:59:36 -0800 Subject: [PATCH] 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 --- cmd/Makefile.am | 3 ++- module/spl/spl-debug.c | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/cmd/Makefile.am b/cmd/Makefile.am index c1e841d..fed6fee 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 0dd59db..3c3dab0 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) -- 2.40.0