[libvirt] Release of libvirt-1.3.1
by Daniel Veillard
As planned I just tagged the release in git and pushed signed tarball
and rpms to the usual place:
ftp://libvirt.org/libvirt/
I also tagged and pushed a python release though there is no change from
1.3.0:
ftp://libvirt.org/libvirt/python/
This is a moderately large release with close to 300 commits packed
in, one security patch for CVE-2015-5313, and some user visible feature
improvement. There is also a lot of refactoring in code, makefiles etc
along with other improvements and the …
[View More]usual flow of bug fixes:
Features:
- Various improvements for the Xen libxl driver (Jim Fehlig)
- rbd: Add support for wiping and cloning images to storage driver (Wido den Hollander)
- PCI hostdev improvements and fixes (Andrea Bolognani)
Security:
- CVE-2015-5313: storage: don't allow '/' in filesystem volume names (Eric Blake)
Documentation:
- virsh: Update description of lxc-enter-namespace (Guido Günther)
- virsh: Document the --timestamp option (Andrea Bolognani)
- docs: update to properly reflect meaning of fields in log filter (Laine Stump)
- virStorageVolWipe: Document that wiping journaled FS is useless (Michal Privoznik)
- storage: Add comments for backend APIs (John Ferlan)
Portability:
- build: fix distdir with wireshark disabled (Cole Robinson)
- wireshark: Install into DESTDIR (Michal Privoznik)
- cgroup: don't include sys/mount.h if not needed (Jasper Lievisse Adriaanse)
- tools: Disable virt-login-shell on mingw (Michal Privoznik)
- sysconf: Include unistd.h (Michal Privoznik)
- Allow building lxc without virt-login-shell (Cédric Bosdonnat)
- build: disable vbox on cygwin (Eric Blake)
- virNetDevMacVLanTapSetup: Work around older systems (Michal Privoznik)
Bug Fixes:
- security: Do not restore labels on device tree binary (Jiri Denemark)
- security: Do not restore kernel and initrd labels (Jiri Denemark)
- cgroup: Fix possible bug as a result of code motion for vcpu cgroup setup (John Ferlan)
- Revert "lxc_cgroup: Add check for NULL cgroup before AddTask call" (John Ferlan)
- Revert "util: cgroups do not implicitly add task to new machine cgroup" (John Ferlan)
- Revert "qemu: do not put a task into machine cgroup" (John Ferlan)
- virt-aa-helper: don't deny writes to readonly mounts (Cédric Bosdonnat)
- conf: Initialize 'deflate' for balloon parse XML (John Ferlan)
- wireshark: Drop DESTDIR from install path (Michal Privoznik)
- qemuProcessCleanupChardevDevice: Don't unlink NULL paths (Michal Privoznik)
- xenconfig: check return value of regcomp (Jim Fehlig)
- Xen: use correct domctl version in domaininfolist union (Jim Fehlig)
- testutils: Fix coverity warning with REGENERATE_OUTPUT (Cole Robinson)
- rpc: socket: Don't repeatedly attempt to launch daemon (Cole Robinson)
- rpc: socket: Explicitly error if we exceed retry count (Cole Robinson)
- rpc: Don't rewrite msg->fds on every read dispatch (Ben Gray)
- util: eliminate bogus error log in virNetDevVPortProfileGetStatus (Laine Stump)
- qemu: Set virtio channel state sooner (Michal Privoznik)
- virDomainGetTime: Deny on RO connections (Michal Privoznik)
- virDomainInterfaceAddresses: Allow API on RO connection too (Michal Privoznik)
- Don't clear libvirt-internal paths when parsing status XML (Martin Kletzander)
- virDomainMigrateUnmanagedParams: Don't blindly dereference @dconnuri (Michal Privoznik)
- Fix USB model defaults for ppc64 (Martin Kletzander)
- Avoid wild securityManager pointer in tests (Martin Kletzander)
- tests: Fix running schematests directly from topdir (Cole Robinson)
- qemu: Fix crash when defining XML with bogus emulator (Cole Robinson)
- tests.nwfilterebiptablestest: swap actual and expected (Pavel Hrdina)
- qemu: Fix NBD migration with default listenAddress (Jiri Denemark)
- virLogVMessage: Don't leak rawinitmsg (Michal Privoznik)
- virLogHostnameString: Don't leak hostname (Michal Privoznik)
- virsh: Interrupt *event --loop on disconnect (Jiri Denemark)
- virsh: Pass ctl to virshCatchDisconnect (Jiri Denemark)
- qemu: Don't bother user with libvirt-internal paths (Martin Kletzander)
- rbd: Do not append Ceph monitor port number 6789 if not provided (Wido den Hollander)
- rbd: Do not error out on a single image during pool refresh (Wido den Hollander)
- rbd: Only close RBD image if it has been opened (Wido den Hollander)
- fix LSB part of virtlogd runlevel script (Olaf Hering)
- virtlogd: fix lock file path in initscript (Michael Chapman)
- spec: chkconfig(8) and service(8) are in /sbin/, not /bin/ (Michael Chapman)
- spec: dbus-devel is needed as build dependency if polkit support is enabled (Michael Chapman)
- storage: Clean up error path for create buildPool failure (John Ferlan)
- libvirt-domain: fix dxml passing in virDomainMigrateToURI2 (Ján Tomko)
- schema: interleave domain name and uuid with other elements (Ján Tomko)
- qemu: Fix return value of qemuDomainGetBlockJobInfo (Michal Privoznik)
- storage: do not leak storage pool XML filename (Michael Chapman)
- qemu: do not leak NBD disk data in migration cookie (Michael Chapman)
- qemu: do not copy out non-existent block job info (Michael Chapman)
- vz: BUG: fix connecting hang in case of init failure (Maxim Nestratov)
- storage: Fix startup issue for logical pool (John Ferlan)
- qemu: Fix event generated for qemuDomainRevertToSnapshot (pause->run) (John Ferlan)
- storage: Check FS pool source during virStorageBackendFileSystemIsMounted (John Ferlan)
- qemuMonitorJSONEjectMedia: Don't leak stringified reply (Michal Privoznik)
- virNetDevMacVLanTapSetup: Drop @multiqueue argument (Michal Privoznik)
- qemu: Warn when using vhost-user without shared memory (Martin Kletzander)
- storage: Ignore block devices that fail format detection (John Ferlan)
- storage: Set ret = -1 on failures in virStorageBackendUpdateVolTargetInfo (John Ferlan)
- qemu: cgroup: Don't use priv->ncpupids to iterate domain vCPUs (Peter Krempa)
- qemu: cpu hotplug: Fix error handling logic (Peter Krempa)
- qemu: qemuDomainSetVcpusAgent: re-check agent before calling it the again (Peter Krempa)
- libxl: copy persistent domain definition while starting a guest (Pavel Hrdina)
- xen: fix timer bug found by updated test (Pavel Hrdina)
Improvements:
- qemu: Print better warning in qemuAgentNotifyEvent (Yaniv Kaul)
- build: Kill tools/wireshark Makefiles (Cole Robinson)
- Expand $(wildcard) correctly (Michal Privoznik)
- qemu: add support of optional 'autodeflate' attribute (Dmitry Andreev)
- qemu: add capability check for memballoon 'deflate-on-oom' feature (Dmitry Andreev)
- conf: introduce 'autodeflate' attribute for memballoon device (Dmitry Andreev)
- rpc: socket: Minor cleanups (Cole Robinson)
- Add missing virxdrdefs.h include to log_protocol (Roman Bogorodskiy)
- virsh: Fix alignment in VIRSH_COMMON_OPT_CONFIG definition (Andrea Bolognani)
- virsh: Create macro for common "interface" option (John Ferlan)
- virsh: Create macro for common "network" option (John Ferlan)
- virsh: Create macros for common "vol" options (John Ferlan)
- virsh: Create macro for common "file" option (John Ferlan)
- virsh: Create macro for common "current" option (John Ferlan)
- virsh: Create macro for common "live" option (John Ferlan)
- virsh: Create macro for common "config" option (John Ferlan)
- virsh: Create macro for common "persistent" option (John Ferlan)
- virsh: Create macro for common "domain" option (John Ferlan)
- virsh: Adjustments for the VIRSH_COMMON_OPT_POOL (John Ferlan)
- virsh: Convert VSH_POOL_ macro to VIRSH_COMMON_OPT_ (John Ferlan)
- qemu: use enum when setting PCI "multi" value, not 0 or 1 (Laine Stump)
- qemu: auto-add a USB2 controller set for Q35 machines (Laine Stump)
- qemu: define virDomainDevAddUSBController() (Laine Stump)
- conf: add virDomainDefAddController() (Laine Stump)
- qemu: prefer 00:1D.x and 00:1A.x for USB2 controllers on Q35 (Laine Stump)
- qemu: don't assume slot 0 is unused/reserved. (Laine Stump)
- Unify int types handling in protocol files (Jasper Lievisse Adriaanse)
- Use struct sockpeercred when available (Jasper Lievisse Adriaanse)
- build: Kill docs/schemas/Makefile.am (Cole Robinson)
- build: Kill include/libvirt/Makefile.am (Cole Robinson)
- wireshark: Fix header of get_message_len() (Michal Privoznik)
- wireshark: Replace WIRESHARK_COMPAT with actual version comparison (Michal Privoznik)
- wireshark: s/tvb_length/tvb_captured_length/ (Michal Privoznik)
- wireshark: s/ep_alloc/wmem_alloc/ (Michal Privoznik)
- wireshark: s/proto_tree_add_text/proto_tree_add_item/ (Michal Privoznik)
- qemu: Introduce QEMU_CAPS_VSERPORT_CHANGE (Michal Privoznik)
- qemu: change qemuFindAgentConfig return type (Michal Privoznik)
- Fix LSB requirements in service script and sync them (Martin Kletzander)
- virsh: Add timestamps to network events (Andrea Bolognani)
- virsh: Add timestamps to QEMU monitor events (Andrea Bolognani)
- Provide parse flags to PostParse functions (Martin Kletzander)
- qemu: command: wire up usage of q35/ich9 disable s3/s4 (Cole Robinson)
- qemu: caps: check for q35/ICH9 disable S3/S4 (Cole Robinson)
- qemu: caps: Rename CAPS_DISABLE_S[34] to CAPS_PIIX_DISABLE_S[34] (Cole Robinson)
- qemu: capabilities: s/Pixx/Piix/g (Cole Robinson)
- examples: Use one top level makefile (Cole Robinson)
- cfg.mk: Drop period after filename for indent failures (Cole Robinson)
- virt-host-validate-common: Print warning on missing IOMMU (Michal Privoznik)
- tests: qemuxml2xml: Wire up QEMUCaps usage (Cole Robinson)
- tests: add genericxml2xmltest (Cole Robinson)
- tests: qemuxml2xml: drop early file loading (Cole Robinson)
- tests: Share domain XML2XML compare helper (Cole Robinson)
- tests: Add newlines with VIR_TEST_REGENERATE_OUTPUT (Cole Robinson)
- libxl: support vif outgoing bandwidth QoS (Jim Fehlig)
- xenconfig: support vif bandwidth in xm and xl parser and formatter (Jim Fehlig)
- xenconfig: support vif bandwidth in sexpr parser and formatter (Jim Fehlig)
- util: add missing newline (Laine Stump)
- tests: qemuxml2argv: Add tests for USB controller on q35 (Andrea Bolognani)
- tests: qemuxml2xml: Convert fprintf to VIR_TEST_DEBUG (Cole Robinson)
- qemu: Handle SecurityManagerVerify in post parse (Cole Robinson)
- qemu: Handle CanonicalizeMachine in post parse (Cole Robinson)
- qemu: domain: split out post parse default device handling (Cole Robinson)
- domain: separate out function for post parse timer validation (Cole Robinson)
- domain: separate out function for post parse console compat (Cole Robinson)
- qemu: Refactor qemuMigrationFinish (Jiri Denemark)
- qemu: Report more migration statistics (Jiri Denemark)
- qemu: Create a proper type for migration status enum (Jiri Denemark)
- qemu: Rename qemuMonitorMigrationStatus struct (Jiri Denemark)
- qemu: Reorder migration status enum (Jiri Denemark)
- tests.testutils: use virTestDifferenceFull in virtTestCompareToFile (Pavel Hrdina)
- tests.testutils: use VIR_TEST_REGENERATE_OUTPUT for virTestDifferenceFull (Pavel Hrdina)
- tests: add helper for VIR_TEST_REGENERATE_OUTPUT flag (Pavel Hrdina)
- xen: move virDomainDefPostParse to xenParseSxpr (Pavel Hrdina)
- Remove non-breaking space in comment (Martin Kletzander)
- virsh: Add timestamps to events (Jiri Denemark)
- virsh: Refactor event printing (Jiri Denemark)
- pci: Log debug messages when manipulating the inactive list (Andrea Bolognani)
- qemu: Add debug message to spice migration (Jiri Denemark)
- qemu: snapshot: Skip 'transaction' command when no disks are selected (Peter Krempa)
- qemu: Specify format= iff disk source is not empty (Michal Privoznik)
- conf: Rework code around 'append' attribute (Dmitry Mishin)
- Use tristate constants for new 'append' field (Dmitry Mishin)
- docs: Describe new 'append' attribute for chardevs source (Dmitry Mishin)
- Fix formatting for virDomainGetCPUStats docstring (Martin Kletzander)
- maint: update to latest gnulib (Eric Blake)
- util: reduce debug log in virPCIGetVirtualFunctions() (Laine Stump)
- util: improve error reporting in virNetDevVPortProfileGetStatus (Laine Stump)
- util: report the MAC address that couldn't be set (Laine Stump)
- rbd: Return VIR_STORAGE_FILE_RAW as format for RBD volumes (Wido den Hollander)
- tests: Make test-wrap-argv.pl executable (Michal Privoznik)
- tools: Include PIE_LDFLAGS at the correct place (Michal Privoznik)
- qemu: Process new 'append' attribute for char dev with output to a file (Dmitry Mishin)
- conf: Add new 'append' attribute for chardevs with file source (Dmitry Mishin)
- tests: add qemu 2.6 caps test (Dmitry Mishin)
- vz: support additional flags in domain undefine (Maxim Nestratov)
- vz: move prlsdkCleanupBridgedNet after domain deletion (Maxim Nestratov)
- vz: delete domains when undefine is called (Maxim Nestratov)
- hostdev: Emit debug messages while handling PCI hostdevs (Andrea Bolognani)
- hostdev: Only rollback detach of managed devices on error (Andrea Bolognani)
- hostdev: Mark PCI devices as inactive as they're detached (Andrea Bolognani)
- pci: Introduce virPCIStubDriver enumeration (Andrea Bolognani)
- pci: Remove 'reprobe' parameter from virPCIDeviceUnbind() (Andrea Bolognani)
- pci: Remove redundant parameter from virPCIDeviceBindToStub() (Andrea Bolognani)
- Revert "admin: Rename virAdmConnect to virAdmDaemon" (Erik Skultety)
- Xen: support maxvcpus in xm and xl config (Jim Fehlig)
- virsh: Add --delete-snapshots flag for undefine and vol-delete (John Ferlan)
- libvirt: Add virStorageVolDeleteFlags to virStorageVolDelete (John Ferlan)
- storage: Add virCheckFlags to virStorageBackendRBDDeleteVol (John Ferlan)
- lxc_cgroup: Add check for NULL cgroup before AddTask call (John Ferlan)
- Xen: remove xendConfigVersion from driver private struct (Jim Fehlig)
- Xen: xenconfig: remove xendConfigVersion from public sexpr functions (Jim Fehlig)
- Xen: xend: remove use of XEND_CONFIG_VERSION (Jim Fehlig)
- Xen: xen_driver: remove use of XEND_CONFIG_VERSION (Jim Fehlig)
- Xen: xenconfig: remove use of XEND_CONFIG_VERSION in xen_sxpr (Jim Fehlig)
- Xen: tests: use latest XEND_CONFIG_VERSION in xml2sexpr tests (Jim Fehlig)
- Xen: xenconfig: remove disks from '(image)' sexpr (Jim Fehlig)
- Xen: tests: use latest XEND_CONFIG_VERSION in sexpr2xml tests (Jim Fehlig)
- Xen: xenconfig: remove xendConfigVersion from public functions (Jim Fehlig)
- Xen: xenconfig: remove use of XEND_CONFIG_VERSION in xen_xm (Jim Fehlig)
- Xen: xenconfig: remove XEND_CONFIG_VERSION in common code (Jim Fehlig)
- Xen: tests: use latest XEND_CONFIG_VERSION in xm/xl tests (Jim Fehlig)
- Xen: tests: remove old xml2sexpr tests (Jim Fehlig)
- Xen: tests: remove old sexpr2xml tests (Jim Fehlig)
- Xen: tests: remove net-ioemu xm config test (Jim Fehlig)
- Xen: tests: remove old xm config tests (Jim Fehlig)
- virsh: Add build flags to pool-create[-as] and pool-start (John Ferlan)
- virsh: Create a macro for pool-define-as and pool-create-as options (John Ferlan)
- virsh: Create macro for "overwrite" and no-overwrite" options (John Ferlan)
- virsh: Create macro for "file" option (John Ferlan)
- virsh: Create macro for "pool" option (John Ferlan)
- storage: Add flags to allow building pool during create processing (John Ferlan)
- mark virDomainVirtioSerialAddrSetAddController as static. (Ján Tomko)
- Remove dead code from qemuDomainAttachControllerDevice (Ján Tomko)
- qemu_hotplug: remove qemuDomainAttachDeviceControllerLive (Ján Tomko)
- storage: Attempt to refresh volume after successful wipe volume (John Ferlan)
- virStorageBackendWipeLocal: remove bytes_wiped argument (Ján Tomko)
- storage: drop 'Extent' from virStorageBackendWipeExtentLocal (Ján Tomko)
- storage: move buffer allocation inside virStorageBackendWipeExtentLocal (Ján Tomko)
- storage: fix return values of virStorageBackendWipeExtentLocal (Ján Tomko)
- qemu: Replace Mlock with MemLock in function names (Andrea Bolognani)
- qemu: Allow qemuDomainAdjustMaxMemLock() to restore previous value (Andrea Bolognani)
- qemu: Reduce memlock limit after detaching PCI hostdev (Andrea Bolognani)
- qemu: Use qemuDomainAdjustMaxMemLock() (Andrea Bolognani)
- qemu: Add qemuDomainAdjustMaxMemLock() (Andrea Bolognani)
- process: Add virProcessGetMaxMemLock() (Andrea Bolognani)
- process: Allow virProcessPrLimit() to get current limit (Andrea Bolognani)
- qemu: Search all nodes for shared memory access (Martin Kletzander)
- pci: Use virPCIDeviceAddress in virPCIDevice (Andrea Bolognani)
- libxl: Use libxentoollog in preference to libxenctrl if available. (Ian Campbell)
- libxl: implement virDomainGetJobStats (Joao Martins)
- libxl: implement virDomainGetJobInfo (Joao Martins)
- storage: Add helper to compare logical pool def against pvs output (John Ferlan)
- storage: Create helper for virStorageBackendLogicalFindPoolSources (John Ferlan)
- storage: Refactor virStorageBackendFileSystemGetPoolSource (John Ferlan)
- storage: Create helper to generate FS pool source value (John Ferlan)
- qemu: add bootindex option to hostdev network interface commandline (Laine Stump)
- security_stack: remove extra Security from function names (Ján Tomko)
- security_selinux: remove extra Security from function names (Ján Tomko)
- security_dac: remove extra Security from function names (Ján Tomko)
- qemuMonitorJSONEjectMedia: don't stringify the replay at all (Pavel Hrdina)
- pci: Use 'addr' instead of 'dev' for virPCIDeviceAddressPtr (Andrea Bolognani)
- qemu cgroups: move new threads to new cgroup after cpuset is set up (Henning Schild)
- qemu: do not put a task into machine cgroup (Henning Schild)
- util: cgroups do not implicitly add task to new machine cgroup (Henning Schild)
- util: Fixup virnetdevmacvlan.h ATTRIBUTE_NONNULL's (John Ferlan)
- test: qemuxml2argv: Mock virMemoryMaxValue to remove 32/64 bit difference (Peter Krempa)
- qemu: Enable multiqueue for macvtaps (Michal Privoznik)
- virNetDevMacVLanCreateWithVPortProfile: Rework to support multiple FDs (Michal Privoznik)
- virNetDevMacVLanTapSetup: Allow enabling of IFF_MULTI_QUEUE (Michal Privoznik)
- virNetDevMacVLanTapSetup: Rework to support multiple FDs (Michal Privoznik)
- virNetDevMacVLanTapOpen: Rework to support multiple FDs (Michal Privoznik)
- virNetDevMacVLanTapOpen: Slightly rework (Michal Privoznik)
- virNetDevMacVLanCreateWithVPortProfile: Turn vnet_hdr into flag (Michal Privoznik)
- log: include hostname in initial log message (Daniel P. Berrange)
- storage: Add debug message (John Ferlan)
- storage: Handle readflags errors (John Ferlan)
- storage: Add readflags for backend error processing (John Ferlan)
- tests: scsihost: Use fakerootdir instead of fakesysfsdir (Andrea Bolognani)
- tests: Use more specific names for variables (Andrea Bolognani)
- tests: Rename LIBVIRT_FAKE_SYSFS_DIR to LIBVIRT_FAKE_ROOT_DIR (Andrea Bolognani)
- tests: cgroupmock: Use the temporary directory as fake root (Andrea Bolognani)
- tests: pcimock: Use the temporary directory as fake root (Andrea Bolognani)
- tests: pcimock: Remove check for fakesysfsdir (Andrea Bolognani)
- tests: scsihost: Don't set LIBVIRT_FAKE_SYSFS_DIR (Andrea Bolognani)
- qemu: driver: Refactor qemuDomainHelperGetVcpus (Peter Krempa)
- qemu: Add helper to retrieve vCPU pid (Peter Krempa)
- qemu: Replace checking for vcpu<->pid mapping availability with a helper (Peter Krempa)
- qemu: Drop checking vcpu threads in emulator bandwidth getter/setter (Peter Krempa)
- qemu: cgroup: Remove now unreachable check (Peter Krempa)
- conf: Add helper to get pointer to a certain vCPU definition (Peter Krempa)
- conf: ABI: Split up and improve vcpu info ABI checking (Peter Krempa)
- conf: turn def->vcpus into a structure (Peter Krempa)
- qemu: refactor qemuDomainHotunplugVcpus (Peter Krempa)
- qemu: Refactor qemuDomainHotplugVcpus (Peter Krempa)
- qemu: cpu hotplug: Move loops to qemuDomainSetVcpusFlags (Peter Krempa)
- qemu: monitor: Remove weird return values from qemuMonitorSetCPU (Peter Krempa)
- qemu: Split up vCPU hotplug and hotunplug (Peter Krempa)
- qemu: Extract vCPU onlining/offlining via agent into a separate function (Peter Krempa)
- qemu: domain: Add helper to access vm->privateData->agent (Peter Krempa)
- conf: Turn def->maxvcpus into size_t (Peter Krempa)
- conf: Replace read accesses to def->vcpus with accessor (Peter Krempa)
- conf: Move vcpu count check into helper (Peter Krempa)
- conf: Replace writes to def->vcpus with accessor (Peter Krempa)
- conf: Replace read access to def->maxvcpus with accessor (Peter Krempa)
- conf: Add helper to check whether domain has offline vCPUs (Peter Krempa)
- conf: Extract update of vcpu count if maxvcpus is decreased (Peter Krempa)
- conf: Use local copy of maxvcpus in virDomainVcpuParse (Peter Krempa)
- conf: Replace writes to def->maxvcpus with accessor (Peter Krempa)
- xen: use virDomainDefPostParse for parsing XM/XL/SEXPR cofings (Pavel Hrdina)
- lxc: use virDomainDefPostParse for parsing LXC config string (Pavel Hrdina)
- vmware/vmx: use virDomainDefPostParse after parsing vmx config (Pavel Hrdina)
- virsh: rename vshCommandOptString to vshCommandOptStringQuiet (Ján Tomko)
- security_selinux: fix indentation (Ján Tomko)
- security_dac: check if virSecurityDACGetIds returns negative (Ján Tomko)
Thanks everybody for helping with this release, be it with bug reports
patches, reviews, documentation and ideas !
Enjoy !
Daniel
--
Daniel Veillard | Open Source and Standards, Red Hat
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | virtualization library http://libvirt.org/
[View Less]
9 years, 2 months
[libvirt] Trying to debug "Received unexpected event 3" from libvirt
by Yaniv Kaul
Hi,
I'm trying to debug this issue, which may be affecting my inability to
perform live snapshot.
1. I'm not sure what 'Waking up a tragedian" in the debug log means - what
exactly is a tragedian?
2. In any case, it'd be great if the WARN would mention mon->await_event -
is it the event libvirt is actually waiting for?
(Both from qemu/qemu_agent.c)
3. I reckon event 3 is QEMU_AGENT_EVENT_RESET ? (from qemu/qemu_agent.h)
4. I'm also getting 'End of file while reading data: Input/output …
[View More]error'
messages, not sure what they mean yet.
(using 1.2.18.2-1 on FC23, trying to live-snapshot VMs (with Centos 6 & 7
in them, all with qemu guest agent, AFAIK).
TIA,
Y.
[View Less]
9 years, 2 months
[libvirt] [PATCH 0/3] Misc fixes
by Cédric Bosdonnat
Hi all,
Here are a few patches without strong connection together. The first one
only allows us not to package virt-login-shell even with lxc driver
enabled. The other ones are related to mounts security.
I'm wondering if changing the default dropped capabilities in the lxc
driver is acceptable... dropping sys_admin makes sense, but it can
introduce incompatibilities for users needing it as they will need to
explicitely enable it.
Cédric Bosdonnat (3):
Allow building lxc without virt-login-…
[View More]shell
virt-aa-helper: don't deny writes to readonly mounts
lxc: drop sys_admin caps by default
configure.ac | 14 ++++++++++++++
src/lxc/lxc_container.c | 1 +
src/security/virt-aa-helper.c | 5 ++++-
tools/Makefile.am | 12 ++++++------
4 files changed, 25 insertions(+), 7 deletions(-)
--
2.1.4
[View Less]
9 years, 2 months
[libvirt] [PATCH v2 0/4] Adjustment to recent cgroup/cpuset changes (for 1.3.1)
by John Ferlan
v1: http://www.redhat.com/archives/libvir-list/2016-January/msg00511.html
As discussed during the replies of the v1 - revert Henning's first
two patches, plus the one I made as a result of those.
Patch 4/4 is already ACK'd
John Ferlan (4):
Revert "qemu: do not put a task into machine cgroup"
Revert "util: cgroups do not implicitly add task to new machine
cgroup"
Revert "lxc_cgroup: Add check for NULL cgroup before AddTask call"
cgroup: Fix possible bug as a result of code motion …
[View More]for vcpu cgroup
setup
src/lxc/lxc_cgroup.c | 13 +------------
src/qemu/qemu_cgroup.c | 9 +--------
src/qemu/qemu_process.c | 12 ++++++------
src/util/vircgroup.c | 22 ++++++++++++++++++++++
4 files changed, 30 insertions(+), 26 deletions(-)
--
2.5.0
[View Less]
9 years, 2 months
[libvirt] [PATCH] security: Do not restore labels on device tree binary
by Jiri Denemark
A device tree binary file specified by /domain/os/dtb element is a
read-only resource similar to kernel and initrd files. We shouldn't
restore its label when destroying a domain to avoid breaking other
domains configure with the same device tree.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/security/security_dac.c | 4 ----
src/security/security_selinux.c | 4 ----
2 files changed, 8 deletions(-)
diff --git a/src/security/security_dac.c b/src/security/security_dac.c
…
[View More]index 378b922..a09aba5 100644
--- a/src/security/security_dac.c
+++ b/src/security/security_dac.c
@@ -1128,10 +1128,6 @@ virSecurityDACRestoreAllLabel(virSecurityManagerPtr mgr,
virSecurityDACRestoreFileLabel(priv, def->os.loader->nvram) < 0)
rc = -1;
- if (def->os.dtb &&
- virSecurityDACRestoreFileLabel(priv, def->os.dtb) < 0)
- rc = -1;
-
return rc;
}
diff --git a/src/security/security_selinux.c b/src/security/security_selinux.c
index 475cdbc..9e98635 100644
--- a/src/security/security_selinux.c
+++ b/src/security/security_selinux.c
@@ -2034,10 +2034,6 @@ virSecuritySELinuxRestoreAllLabel(virSecurityManagerPtr mgr,
virSecuritySELinuxRestoreFileLabel(mgr, def->os.loader->nvram) < 0)
rc = -1;
- if (def->os.dtb &&
- virSecuritySELinuxRestoreFileLabel(mgr, def->os.dtb) < 0)
- rc = -1;
-
return rc;
}
--
2.7.0
[View Less]
9 years, 2 months
[libvirt] [PATCH] Fix make check with gcc version 5
by Martin Kletzander
When building with gcc-5 (particularly gcc-5.3.0 now) and having pdwtags
installed (package dwarves) make check fails with the following error:
$ make lock_protocol-struct
GEN lock_protocol-struct
--- lock_protocol-structs 2016-01-13 15:04:59.318809607 +0100
+++ lock_protocol-struct-t3 2016-01-13 15:05:17.703501234 +0100
@@ -26,10 +26,6 @@
virLockSpaceProtocolNonNullString name;
u_int flags;
};
-enum …
[View More]virLockSpaceProtocolAcquireResourceFlags {
- VIR_LOCK_SPACE_PROTOCOL_ACQUIRE_RESOURCE_SHARED = 1,
- VIR_LOCK_SPACE_PROTOCOL_ACQUIRE_RESOURCE_AUTOCREATE = 2,
-};
struct virLockSpaceProtocolAcquireResourceArgs {
virLockSpaceProtocolNonNullString path;
virLockSpaceProtocolNonNullString name;
Makefile:10415: recipe for target 'lock_protocol-struct' failed
make: *** [lock_protocol-struct] Error 1
That happens because without any specific options gcc doesn't keep enum
information in the resulting binary object. I managed to isolate the
parameters of gcc that caused this issue to disappear, however I
remember that they influenced the resulting binaries quite a bit and
were definitely not something we would want to add as mandatory to the
build process.
So to deal with this cleanly, let's take that enum and separate it out
to its own header file. Since it is only used in the lockd driver and
the protocol, lock_driver_lockd.h feels like a suitable name.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
src/Makefile.am | 1 +
src/lock_protocol-structs | 4 ----
src/locking/lock_driver_lockd.c | 2 ++
src/locking/lock_driver_lockd.h | 30 ++++++++++++++++++++++++++++++
src/locking/lock_protocol.x | 6 +-----
5 files changed, 34 insertions(+), 9 deletions(-)
create mode 100644 src/locking/lock_driver_lockd.h
diff --git a/src/Makefile.am b/src/Makefile.am
index aa5ab6929b91..0e0db9bac6da 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -249,6 +249,7 @@ MAINTAINERCLEANFILES += $(LOCK_DAEMON_GENERATED)
LOCK_DRIVER_LOCKD_SOURCES = \
locking/lock_driver_lockd.c \
+ locking/lock_driver_lockd.h \
$(NULL)
LOCK_DAEMON_SOURCES = \
diff --git a/src/lock_protocol-structs b/src/lock_protocol-structs
index 8e8b84fb3b50..41be9ce34717 100644
--- a/src/lock_protocol-structs
+++ b/src/lock_protocol-structs
@@ -26,10 +26,6 @@ struct virLockSpaceProtocolDeleteResourceArgs {
virLockSpaceProtocolNonNullString name;
u_int flags;
};
-enum virLockSpaceProtocolAcquireResourceFlags {
- VIR_LOCK_SPACE_PROTOCOL_ACQUIRE_RESOURCE_SHARED = 1,
- VIR_LOCK_SPACE_PROTOCOL_ACQUIRE_RESOURCE_AUTOCREATE = 2,
-};
struct virLockSpaceProtocolAcquireResourceArgs {
virLockSpaceProtocolNonNullString path;
virLockSpaceProtocolNonNullString name;
diff --git a/src/locking/lock_driver_lockd.c b/src/locking/lock_driver_lockd.c
index 5b89ca142b0b..181261170506 100644
--- a/src/locking/lock_driver_lockd.c
+++ b/src/locking/lock_driver_lockd.c
@@ -34,6 +34,8 @@
#include "configmake.h"
#include "virstring.h"
+#include "lock_driver_lockd.h"
+
#define VIR_FROM_THIS VIR_FROM_LOCKING
VIR_LOG_INIT("locking.lock_driver_lockd");
diff --git a/src/locking/lock_driver_lockd.h b/src/locking/lock_driver_lockd.h
new file mode 100644
index 000000000000..baf346adaf6c
--- /dev/null
+++ b/src/locking/lock_driver_lockd.h
@@ -0,0 +1,30 @@
+/*
+ * lock_driver_lockd.h: Locking for domain lifecycle operations
+ *
+ * Copyright (C) 2010-2011 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef __VIR_LOCK_DRIVER_LOCKD_H__
+# define __VIR_LOCK_DRIVER_LOCKD_H__
+
+enum virLockSpaceProtocolAcquireResourceFlags {
+ VIR_LOCK_SPACE_PROTOCOL_ACQUIRE_RESOURCE_SHARED = 1,
+ VIR_LOCK_SPACE_PROTOCOL_ACQUIRE_RESOURCE_AUTOCREATE = 2,
+};
+
+#endif /* __VIR_LOCK_DRIVER_LOCKD_H__ */
diff --git a/src/locking/lock_protocol.x b/src/locking/lock_protocol.x
index a77a78490cb6..6d4cec39e244 100644
--- a/src/locking/lock_protocol.x
+++ b/src/locking/lock_protocol.x
@@ -2,6 +2,7 @@
*/
%#include "internal.h"
+%#include "lock_driver_lockd.h"
typedef opaque virLockSpaceProtocolUUID[VIR_UUID_BUFLEN];
@@ -50,11 +51,6 @@ struct virLockSpaceProtocolDeleteResourceArgs {
unsigned int flags;
};
-enum virLockSpaceProtocolAcquireResourceFlags {
- VIR_LOCK_SPACE_PROTOCOL_ACQUIRE_RESOURCE_SHARED = 1,
- VIR_LOCK_SPACE_PROTOCOL_ACQUIRE_RESOURCE_AUTOCREATE = 2
-};
-
struct virLockSpaceProtocolAcquireResourceArgs {
virLockSpaceProtocolNonNullString path;
virLockSpaceProtocolNonNullString name;
--
2.7.0
[View Less]
9 years, 2 months
[libvirt] [PATCH] security: Do not restore kernel and initrd labels
by Jiri Denemark
Kernel/initrd files are essentially read-only shareable images and thus
should be handled in the same way. We already use the appropriate label
for kernel/initrd files when starting a domain, but when a domain gets
destroyed we would remove the labels which would make other running
domains using the same files very unhappy.
https://bugzilla.redhat.com/show_bug.cgi?id=921135
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/security/security_dac.c | 8 --------
src/…
[View More]security/security_selinux.c | 8 --------
2 files changed, 16 deletions(-)
diff --git a/src/security/security_dac.c b/src/security/security_dac.c
index 80709fe..378b922 100644
--- a/src/security/security_dac.c
+++ b/src/security/security_dac.c
@@ -1128,14 +1128,6 @@ virSecurityDACRestoreAllLabel(virSecurityManagerPtr mgr,
virSecurityDACRestoreFileLabel(priv, def->os.loader->nvram) < 0)
rc = -1;
- if (def->os.kernel &&
- virSecurityDACRestoreFileLabel(priv, def->os.kernel) < 0)
- rc = -1;
-
- if (def->os.initrd &&
- virSecurityDACRestoreFileLabel(priv, def->os.initrd) < 0)
- rc = -1;
-
if (def->os.dtb &&
virSecurityDACRestoreFileLabel(priv, def->os.dtb) < 0)
rc = -1;
diff --git a/src/security/security_selinux.c b/src/security/security_selinux.c
index 721c451..475cdbc 100644
--- a/src/security/security_selinux.c
+++ b/src/security/security_selinux.c
@@ -2034,14 +2034,6 @@ virSecuritySELinuxRestoreAllLabel(virSecurityManagerPtr mgr,
virSecuritySELinuxRestoreFileLabel(mgr, def->os.loader->nvram) < 0)
rc = -1;
- if (def->os.kernel &&
- virSecuritySELinuxRestoreFileLabel(mgr, def->os.kernel) < 0)
- rc = -1;
-
- if (def->os.initrd &&
- virSecuritySELinuxRestoreFileLabel(mgr, def->os.initrd) < 0)
- rc = -1;
-
if (def->os.dtb &&
virSecuritySELinuxRestoreFileLabel(mgr, def->os.dtb) < 0)
rc = -1;
--
2.7.0
[View Less]
9 years, 2 months
[libvirt] Entering freeze for libvirt-1.3.1
by Daniel Veillard
As suggested this w.e., I just tagged the release candidate 1 in git
and pushed signed tarball and rpms to the usual place:
ftp://libvirt.org/libvirt/
This works fine with my limited testing, but obviously more people
need to give it some trial especially on other platforms.
The output from CentOS CI is mostly green which is a good sign
with just libvirt-daemon-rpm and virt-manager-test in the red, someone
probably need to have a look before we release.
The rc2 should come in 2 days …
[View More]on Thursday, and unless there is
some blocker I plan to push 1.3.1 over the week-end,
so please give it some testing !
Thanks,
Daniel
--
Daniel Veillard | Open Source and Standards, Red Hat
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | virtualization library http://libvirt.org/
[View Less]
9 years, 2 months
[libvirt] Quantifying libvirt errors in launching the libguestfs appliance
by Richard W.M. Jones
As people may know, we frequently encounter errors caused by libvirt
when running the libguestfs appliance.
I wanted to find out exactly how frequently these happen and classify
the errors, so I ran the 'virt-df' tool overnight 1700 times. This
tool runs several parallel qemu:///session libvirt connections both
creating a short-lived appliance guest.
Note that I have added Cole's patch to fix https://bugzilla.redhat.com/1271183
"XML-RPC error : Cannot write data: Transport endpoint is not …
[View More]connected"
Results:
The test failed 538 times (32% of the time), which is pretty dismal.
To be fair, virt-df is aggressive about how it launches parallel
libvirt connections. Most other virt-* tools use only a single
libvirt connection and are consequently more reliable.
Of the failures, 518 (96%) were of the form:
process exited while connecting to monitor: qemu: could not load kernel '/home/rjones/d/libguestfs/tmp/.guestfs-1000/appliance.d/kernel': Permission denied
which is https://bugzilla.redhat.com/921135 or maybe
https://bugzilla.redhat.com/1269975. It's not clear to me if these
bugs have different causes, but if they do then potentially we're
seeing a mix of both since my test has no way to distinguish them.
19 of the failures (4%) were of the form:
process exited while connecting to monitor: fread() failed
which I believe is a previously unknown bug. I have filed it as
https://bugzilla.redhat.com/1298122
Finally there was 1 failure:
Unable to read from monitor: Connection reset by peer
which I believe is also a new bug. I have filed it as
https://bugzilla.redhat.com/1298124
I would be good if libvirt could routinely test the case of multiple
parallel launches of qemu:///session, since it still contains bugs
even after Cole's fixes.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top
[View Less]
9 years, 2 months
[libvirt] [REPOST 0/4] Adjustment to recent cgroup/cpuset changes (for 1.3.1)
by John Ferlan
Reposting my cgroup fixes series:
http://www.redhat.com/archives/libvir-list/2016-January/msg00236.html
partially because I originally forgot to CC the author (Henning Schild)
of the original series for which these patch fix a couple of issues
discovered during regression testing (virt-test memtune failures in
Red Hat regression environment), but also to bring them up to date
with the top of libvirt git.
NB: I did send Henning the changes after the fact, but my resend using
the same message-…
[View More]id skills so that replies are left in the onlist series
are lacking. Henning has looked at the first patch - with a response here:
http://www.redhat.com/archives/libvir-list/2016-January/msg00443.html
Finally, I think these changes should go into 1.3.1 since that's when the
regression was introduced.
John Ferlan (4):
cgroup: Fix possible bug as a result of code motion for vcpu cgroup
setup
qemu: Add check for NULL cgroup return from virCgroupNewMachine
Revert "qemu: do not put a task into machine cgroup"
qemu: Put the emulator cgroup pid into the right task file
src/qemu/qemu_cgroup.c | 18 +++++++++++++-----
src/qemu/qemu_process.c | 12 ++++++------
2 files changed, 19 insertions(+), 11 deletions(-)
--
2.5.0
[View Less]
9 years, 2 months