[libvirt] [PATCH 7/7 v2] Remove global log buffer feature entirely

Eric Blake eblake at redhat.com
Mon Mar 17 17:27:21 UTC 2014


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 at 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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140317/84734015/attachment-0001.sig>


More information about the libvir-list mailing list