[libvirt] [PATCH v2 0/8] Use virtlogd for chardevs & support logging
John Ferlan
jferlan at redhat.com
Fri Mar 4 14:34:10 UTC 2016
On 02/29/2016 08:33 AM, Daniel P. Berrange wrote:
> This series of patches does two things
>
> * Converts the type=file chardev over to use virtlogd
> (assuming use of virtlogd is enabled in qemu.conf)
>
> * Adds a <log file="..."/> element to all chardev
> sources, allowing data to be captured to a logfile
>
> Both of these are important features wanted by openstack.
> The first thing fixes a long standing security issue that
> a guest OS can trivially exhuast host disk space by outputing
> lots of data to its serial port.
>
> The second thing allows OpenStack to record boot up
> messages for a guest's serial console, while still
> allowing interactive serial console ussage. ie the
> serial port will be configured with type=tcp, and
> the new <log> element used to record the data.
>
> Both these thing required changes in QEMU, which have
> been merged for the forthcoming QEMU 2.6 release.
>
> Changed in v2:
>
> * Split patch 4 up into 4 separate patches
> * Fix memory leaks
> * Use common function for building log manager cli args
> * Add missing XML docs
>
> Daniel P. Berrange (8):
> logging: allow inode/offset params to be NULL
> conf: allow use of a logfile with chardev backends
> qemu: add support for logging chardev output to a file
> qemu: don't append -chardev arg until after value is formatted
> qemu: move functions for handling FD passing
> logging: support truncation of logfiles when opening
> qemu: use virtlogd for character device log files
> qemu: support use of virtlogd with file based chardevs
>
> docs/formatdomain.html.in | 14 +
> docs/schemas/domaincommon.rng | 12 +
> src/conf/domain_conf.c | 30 +++
> src/conf/domain_conf.h | 2 +
> src/logging/log_daemon_dispatch.c | 3 +-
> src/logging/log_handler.c | 6 +-
> src/logging/log_handler.h | 2 +-
> src/logging/log_manager.c | 6 +-
> src/logging/log_manager.h | 2 +
> src/logging/log_protocol.x | 4 +
> src/qemu/qemu_capabilities.c | 2 +
> src/qemu/qemu_capabilities.h | 1 +
> src/qemu/qemu_command.c | 282 ++++++++++++++-------
> src/qemu/qemu_command.h | 9 +-
> src/qemu/qemu_domain.c | 6 +
> src/qemu/qemu_domain.h | 3 +
> src/qemu/qemu_driver.c | 2 +-
> src/qemu/qemu_process.c | 4 +-
> .../qemuxml2argv-serial-file-log.args | 25 ++
> .../qemuxml2argv-serial-file-log.xml | 39 +++
> tests/qemuxml2argvtest.c | 4 +-
> 21 files changed, 353 insertions(+), 105 deletions(-)
> create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-file-log.args
> create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-file-log.xml
>
As you know patch 3 (qemu_capabilities.{c|h} & 7 (qemu_command.c) will
require handling merge conflicts...
ACK series modulo a couple of nits pointed out.
John
More information about the libvir-list
mailing list