On 03/10/2014 09:01 AM, Daniel P. Berrange wrote:
A earlier commit changed the global log buffer so that it only
records messages that are explicitly requested via the log
filters setting. This removes the performance burden, and
improves the signal/noise ratio for messages in the global
buffer. At the same time though, it is somewhat pointless, since
all the recorded log messages are already going to be sent to an
explicit log output like syslog, stderr or the journal. The
global log buffer is thus just duplicating this data on stderr
upon crash.
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
daemon/libvirtd-config.c | 3 -
daemon/libvirtd-config.h | 1 -
daemon/libvirtd.c | 2 -
daemon/libvirtd.conf | 10 +-
docs/logging.html.in | 10 --
src/libvirt_private.syms | 2 -
src/locking/lock_daemon.c | 2 -
src/locking/lock_daemon_config.c | 2 -
src/locking/lock_daemon_config.h | 1 -
src/locking/virtlockd.conf | 10 +-
src/rpc/virnetserver.c | 45 -------
src/util/virlog.c | 264 +--------------------------------------
src/util/virlog.h | 2 -
13 files changed, 13 insertions(+), 341 deletions(-)
+++ b/daemon/libvirtd.conf
@@ -345,11 +345,11 @@
#log_outputs="3:syslog:libvirtd"
#
-# Log debug buffer size: default 64
-# The daemon keeps an internal debug log buffer which will be dumped in case
-# of crash or upon receiving a SIGUSR2 signal. This setting allows to override
-# the default buffer size in kilobytes.
-# If value is 0 or less the debug log buffer is deactivated
+# Log debug buffer size:
+#
+# This configuration option is no longer used, since the global
+# log buffer functionality has been removed. Please configure
+# suitable log_outputs/log_filters settings to obtain logs.
#log_buffer_size = 64
Yay, this fixes my concern from v1.
@@ -412,23 +384,6 @@ virNetServerPtr virNetServerNew(size_t
min_workers,
sig_action.sa_handler = SIG_IGN;
sigaction(SIGPIPE, &sig_action, NULL);
- /*
- * catch fatal errors to dump a log, also hook to USR2 for dynamic
- * debugging purposes or testing
- */
- sig_action.sa_sigaction = virNetServerFatalSignal;
- sig_action.sa_flags = SA_SIGINFO;
- sigaction(SIGFPE, &sig_action, NULL);
- sigaction(SIGSEGV, &sig_action, NULL);
- sigaction(SIGILL, &sig_action, NULL);
- sigaction(SIGABRT, &sig_action, NULL);
-#ifdef SIGBUS
- sigaction(SIGBUS, &sig_action, NULL);
-#endif
-#ifdef SIGUSR2
- sigaction(SIGUSR2, &sig_action, NULL);
-#endif
This says we now let fatal errors be handled normally; but the old code
merely tried to dump the log then re-raise the fatal error. So I can
live with this (I still think it might be nicer to try and output a
bug-reporting address before crashing, but I'm not going to insist).
ACK
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org