[libvirt] [PATCH] qemu: enalbe hotplugging of macvtap device with multiqueue
by Shanzhi Yu
in commit 81a110, multiqueue for macvtap is enabled but forget
to support hotplugging enabled
Signed-off-by: Shanzhi Yu <shyu(a)redhat.com>
---
src/qemu/qemu_hotplug.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index dc76268..b580283 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -892,10 +892,11 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
goto cleanup;
}
- /* Currently nothing besides TAP devices supports multiqueue. */
+ /* Currently only TAP/macvtap devices supports multiqueue. */
if (net->driver.virtio.queues > 0 &&
!(actualType == VIR_DOMAIN_NET_TYPE_NETWORK ||
- actualType == VIR_DOMAIN_NET_TYPE_BRIDGE)) {
+ actualType == VIR_DOMAIN_NET_TYPE_BRIDGE ||
+ actualType == VIR_DOMAIN_NET_TYPE_DIRECT)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Multiqueue network is not supported for: %s"),
virDomainNetTypeToString(actualType));
--
1.8.3.1
8 years, 9 months
[libvirt] Wiki account
by Christophe Fergeau
Hey,
I thought I already had a wiki account, but after a few failures to
login or retrieve a password, it seems I don't, so I would like to get
one for username 'teuf'
Thanks,
Christophe
8 years, 9 months
[libvirt] [RFC] [libvirt-gconfig] Suggestion about (maybe) re-factoring GVirtConfigDomainGraphics
by Fabiano Fidêncio
Howdy!
I've been trying to use libvirt-gobject and libvirt-gconfig, on
virt-viewer, for accessing VMs and looking at their config, instead of
using libvrit and parsing XML directly and turns out, that
libvirt-gconfig is not exactly handful for a "read-only" use case (as
virt-viewer's one).
Let me try to explain pointing to some code as example and then I'll
give my suggestions.
For example, let's take a look on
https://git.fedorahosted.org/cgit/virt-viewer.git/tree/src/virt-viewer.c#...
In this function, the first thing done is to get the type of the
graphic device (SPICE or VNC) and here is the first problem. There is
no straightforward way for doing this on libvirt-gconfig (or is
there?).
Seems easier to continue getting the type using libxml and then use
the specific spice/vnc functions for getting the properties. And here
is the second problem, because I'll always need to have an if/else
statement for getting the properties. Something like:
if (g_str_equal(type, "vnc"))
port = gvir_config_domain_graphics_vnc_get_port(domain);
else if (g_str_equal(type, "spice"))
port = gvir_config_domain_graphics_spice_get_port(domain);
This kind of usage makes me think that libvirt-gconfig is missing some
abstraction class, parent of GVirConfigDomainGraphics{Spice,Vnc,...)
which could provide virtual functions like:
gtype = gvir_config_domain_graphics_get_gtype(domain);
port = gvir_config_domain_graphics_get_port(domain);
Thinking a bit about it and taking a look in the
GVirConfigDomainGraphics code, is possible to see a possibility for 2
new classes:
GVirConfigDomainGraphicsLocal and GVirConfigDomainGraphicsRemote.
Then we could have something like:
GVirtConfigDomainGraphics
|_
| GVirtConfigDomainGraphicsLocal
| |_
| | GVirtConfigDomainGraphicsLocalDesktop
| |_
| GVirtConfigDomainGraphicsLocalSdl
|_
GVirtConfigDomainGraphicsRemote
|_
| GVirtConfigDomainGraphicsRemoteSpice
|_
| GVirtConfigDomainGraphicsRemoteVnc
|_
GVirtConfigDomainGraphicsRemoteRdp
I do know that Local and Remote are not exactly accurate names, but is
the best that I could come up with.
So, would be acceptable to introduce these two new classes and then
have the specific graphics classes inheriting from those? Does this
make sense for you, people?
I'm more than happy in provide the code for this, but not before we
discuss and set a decision about the approach. :-)
I'm looking forward for some feedback.
--
Fabiano Fidêncio
8 years, 9 months
[libvirt] [PATCH v5 0/10] add close callback for drivers with persistent connection
by Nikolay Shirokovskiy
Currently close callback API can only inform us of closing the connection
between remote driver and daemon. But what if a driver running in the
daemon itself can have another persistent connection? In this case
we want to be informed of that connection changes state too.
This patch series extends meaning of current close callback API so
that now it notifies of closing of any internal persistent connection.
The overall approach is to move close callback support to drivers.
Changes from v4:
================
1. New patch "remote: factor out feature checks on connection open" to get
rid of code dups.
2. "daemon: add connection close rpc" now checks if peer supports
rpc for close callbacks. If it is not then we handle only disconnections
to peer as before.
Changes from v3:
================
Add patch [3] "close callback: make unregister clean after connect close event."
Make register/unregister methods of connection close callback object
return void. This solves the problem of patch [8] "daemon: add connection close rpc"
([7] in previous version) of consistent unregistering. All checks are
moved outside of the methods. I hesitate whether to add or not means
that track connection close callback object consinstency and finally
decided to add (checks and warnings inside methods). The reason is that
without these checks we get memory leaks which are rather difficult
to find out. Unfortunately this change touch a number of patches as
the first change is done in the first patch of the series.
Changes from v2:
================
Split patches further to make it more comprehensible.
Nikolay Shirokovskiy (10):
factor out virConnectCloseCallbackDataPtr methods
virConnectCloseCallbackData: fix connection object refcount
close callback: make unregister clean after connect close event
virConnectCloseCallbackData: factor out callback disarming
close callback API: remove unnecessary locks
virConnectCloseCallbackDataDispose: remove unnecessary locks
close callback: move it to driver
remote: factor out feature checks on connection open
daemon: add connection close rpc
vz: implement connection close notification
daemon/libvirtd.h | 1 +
daemon/remote.c | 85 ++++++++++++++++++++++
src/datatypes.c | 118 +++++++++++++++++++++++-------
src/datatypes.h | 16 ++++-
src/driver-hypervisor.h | 12 ++++
src/libvirt-host.c | 46 ++----------
src/libvirt_internal.h | 5 ++
src/remote/remote_driver.c | 167 ++++++++++++++++++++++++++++++++-----------
src/remote/remote_protocol.x | 24 ++++++-
src/remote_protocol-structs | 6 ++
src/vz/vz_driver.c | 59 +++++++++++++++
src/vz/vz_sdk.c | 4 ++
src/vz/vz_utils.h | 3 +
13 files changed, 433 insertions(+), 113 deletions(-)
--
1.8.3.1
8 years, 9 months
[libvirt] [PATCHv2 0/3] reorder qemu cgroups operations
by Henning Schild
This is a much shorter series focusing on the key point, the second patch.
The first patch is somehing that was found when looking at the code and is
just a cosmetic change. The third patch just cleans up. They where both
already ACKed.
Patch 2 was also already ACKed but conflicted with another pending change.
It should be reviewed in its new context. Note the new order with the
"manual" affinity setting code.
@Peter:
qemuProcessInitCpuAffinity and qemuProcessSetupEmulator have a lot in
in common. I guess there is potential for further simplification.
The series is based on 92ec2e5e9b79b7df4d575040224bd606ab0b6dd8 with
these two patches on top:
http://www.redhat.com/archives/libvir-list/2016-February/msg01211.html
Henning Schild (3):
vircgroup: one central point for adding tasks to cgroups
qemu_cgroup: put qemu right into emulator sub-cgroup
qemu_cgroup: use virCgroupAddTask instead of virCgroupMoveTask
src/libvirt_private.syms | 1 -
src/qemu/qemu_process.c | 10 ++---
src/util/vircgroup.c | 105 +----------------------------------------------
src/util/vircgroup.h | 3 --
4 files changed, 6 insertions(+), 113 deletions(-)
--
2.4.10
8 years, 9 months
[libvirt] [PATCH 0/2] Remove old buggy check when pinning iothreads/emulators
by Peter Krempa
Peter Krempa (2):
qemu: process: Move emulator thread setting code into one function
qemu: Allow setting pinning of emulator/iohtread with automatic
placement
src/qemu/qemu_cgroup.c | 66 -----------------------------------------
src/qemu/qemu_cgroup.h | 1 -
src/qemu/qemu_driver.c | 14 ---------
src/qemu/qemu_process.c | 78 +++++++++++++++++++++++++++++++++++++++----------
4 files changed, 62 insertions(+), 97 deletions(-)
--
2.6.2
8 years, 9 months
[libvirt] [PATCH v3 0/7] NSS module for libvirt
by Michal Privoznik
v3 of:
https://www.redhat.com/archives/libvir-list/2016-February/msg00693.html
diff to v2:
- don't link against libvirt.la rather than create a separate small lib to link
with
- teach nsstest to check multiple addresses
Note that patches 1..4 have been ACKed already, but I'm sending them anyway for
completeness.
Michal Privoznik (7):
Export virLease* functions for leases file handling
virjson: Resolve const correctness
Initial support for NSS plugin skeleton
libvirt.spec.in: Introduce libvirt-nss package
nss: Implement _nss_libvirt_gethostbyname3_r
Implement _nss_libvirt_gethostbyname4_r
nss: Introduce a test
cfg.mk | 2 +-
config-post.h | 21 ++
configure.ac | 2 +
libvirt.spec.in | 21 ++
m4/virt-nss.m4 | 51 +++++
po/POTFILES.in | 1 +
src/Makefile.am | 67 +++++++
src/libvirt_private.syms | 6 +
src/network/leaseshelper.c | 271 +------------------------
src/util/virfile.c | 2 +-
src/util/virjson.c | 58 +++---
src/util/virjson.h | 54 ++---
src/util/virlease.c | 304 ++++++++++++++++++++++++++++
src/util/virlease.h | 44 ++++
tests/Makefile.am | 20 +-
tests/nssdata/virbr0.status | 20 ++
tests/nssmock.c | 140 +++++++++++++
tests/nsstest.c | 188 +++++++++++++++++
tools/Makefile.am | 44 ++++
tools/nss/libvirt_nss.c | 476 ++++++++++++++++++++++++++++++++++++++++++++
tools/nss/libvirt_nss.h | 52 +++++
tools/nss/libvirt_nss.syms | 12 ++
22 files changed, 1527 insertions(+), 329 deletions(-)
create mode 100644 m4/virt-nss.m4
create mode 100644 src/util/virlease.c
create mode 100644 src/util/virlease.h
create mode 100644 tests/nssdata/virbr0.status
create mode 100644 tests/nssmock.c
create mode 100644 tests/nsstest.c
create mode 100644 tools/nss/libvirt_nss.c
create mode 100644 tools/nss/libvirt_nss.h
create mode 100644 tools/nss/libvirt_nss.syms
--
2.4.10
8 years, 9 months
[libvirt] [PATCH v2 0/2] qemu: add spice opengl support
by Marc-André Lureau
Hi,
The following patches allow to enable OpenGl support with spice/qemu server.
Qemu should support this option starting from 2.6 (patches still under review).
v1->v2:
- move gl attribute as a sub-element
- update documentation
- comment TristateSwitch vs TristateBool usage
- fix caps test location
- fix syntax-check
Marc-André Lureau (2):
util: TristateBool and TristateSwitch are interchangeable
qemu: add spice opengl support
docs/formatdomain.html.in | 8 ++++
docs/schemas/domaincommon.rng | 8 ++++
src/conf/domain_conf.c | 26 ++++++++++++-
src/conf/domain_conf.h | 1 +
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 13 +++++++
src/util/virutil.h | 7 +++-
tests/qemucapabilitiesdata/caps_2.6.0-1.caps | 1 +
tests/qemucapabilitiesdata/caps_2.6.0-1.replies | 4 ++
.../qemuxml2argv-video-virtio-gpu-spice-gl.args | 24 ++++++++++++
.../qemuxml2argv-video-virtio-gpu-spice-gl.xml | 38 ++++++++++++++++++
tests/qemuxml2argvtest.c | 6 +++
.../qemuxml2xmlout-video-virtio-gpu-spice-gl.xml | 45 ++++++++++++++++++++++
tests/qemuxml2xmltest.c | 1 +
15 files changed, 183 insertions(+), 2 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-virtio-gpu-spice-gl.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-virtio-gpu-spice-gl.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-video-virtio-gpu-spice-gl.xml
--
2.5.0
8 years, 9 months
[libvirt] Release of libvirt-1.3.2
by Daniel Veillard
So as planned I pushed the release earlier today, it is tagged in
git and signed tarball and rpms are at the usual place:
ftp://libvirt.org/libvirt/
I also built a libvirt-python 1.3.2 release which can be found at
ftp://libvirt.org/libvirt/python
This is a relatively big release with around 375 commits done in the
last month and a half. There are user visible improvement listed as features
and a lot more improvements and refactoring under the hood. Of course this
also carries a large set of bug fixes, including serious ones but none
labelled as security, upgrade is still recommended !
Features:
- Various improvements for the Xen libxl driver (Joao Martins and Jim Fehlig)
- virt-admin improvement (Erik Skultety)
- Various improvements for the RDB volumes (Wido den Hollander)
Documentation:
- docs: mention ZFS on Linux support (Roman Bogorodskiy)
- docs: formatdomain: Document "spice" as a valid value for <graphics type=..> (Richard W.M. Jones)
- docs: Try harder to uninstall (Michal Privoznik)
- tests: Fix typo oaque -> opaque (Andrea Bolognani)
- docs: List possible GIC versions (Andrea Bolognani)
- Spell VMware with a lowercase w (Ján Tomko)
- leaseshelper: move comment about adding IPv6 leases (Ján Tomko)
Portability:
- build: accomodate selinux 2.5 header API change (Eric Blake)
- rbd: fix 32-bit build (Eric Blake)
- util: Use virBitmapIsBitSet in freebsd impl of virProcessSetAffinity (Peter Krempa)
- domsuspend: Fix warning on mingw build (Andrea Bolognani)
- virportallocatortest: Run on linux only (Michal Privoznik)
- Revert "tests: Don't link mock libraries against libvirt and gnulib" (Andrea Bolognani)
- tests: Don't link mock libraries against libvirt and gnulib (Andrea Bolognani)
- virDomainFormatSchedDef: Initialize @priority (Michal Privoznik)
- Fix '-pie' build with clang (Martin Kletzander)
- include: Handle case when builddir == srcdir (Michal Privoznik)
- tests: avoid realpath in test-lib.sh (Eric Blake)
- includes: Install libvirt-common.h (Michal Privoznik)
- docs: fix generation of docs from VPATH build (Daniel P. Berrange)
- Fix make check with gcc version 5 (Martin Kletzander)
Bug Fixes:
- storage: Fix error path in storagePoolDefineXML (John Ferlan)
- storage: Fix error path in virStoragePoolObjLoad (John Ferlan)
- qemu: error out on missing machine type in configs (Ján Tomko)
- Revert "Error out on missing machine type in machine configs" (Ján Tomko)
- libxl: unref objects in error paths (Jim Fehlig)
- storage: No need to check ret after VIR_APPEND_ELEMENT (John Ferlan)
- zfs: Resolve RESOURCE_LEAK (John Ferlan)
- netdev: Use virNetDevIsVirtualFunction() properly (Andrea Bolognani)
- Fix bug of attaching redirdev device (Osier Yang)
- libxl: small fix in parsing network (Chunyan Liu)
- qemuBuildCommandLine: Change the condition for -nographics (Michal Privoznik)
- xen: Check return value of virStringReplace (Michal Privoznik)
- vbox: Avoid signed and unsigned comparison (Michal Privoznik)
- qemu_process: mark auto-generated spice ports as reserved (Pavel Hrdina)
- adminDaemonListServers: Don't leak @srv_names array (Michal Privoznik)
- Check for active domain in virDomainObjWait (Jiri Denemark)
- qemu: Avoid calling qemuProcessStop without a job (Jiri Denemark)
- qemu: Process monitor EOF in a job (Jiri Denemark)
- qemu: qemuDomainGetStatsVcpu: Fix output for possible sparse vCPU settings (Peter Krempa)
- qemu: vcpupin: Don't overwrite errors from functions setting pinning (Peter Krempa)
- admin: Fix memory leak in remoteAdminConnectClose (Erik Skultety)
- esx: Avoid using vSphere SessionIsActive function (Matthias Bolte)
- Error out on missing machine type in machine configs (Ján Tomko)
- qemu: cgroup: fix cgroup permission logic (Bjoern Walk)
- virsh: Remove <backingStore> when changing cdrom media source (Peter Krempa)
- vircgroup: Update virCgroupDenyDevicePath stub (Michal Privoznik)
- qemu: cgroup: Avoid reporting errors from inaccessible NFS volumes (Peter Krempa)
- qemu: fix hot unplug of PCI devices with VFIO (Ludovic Beliveau)
- vz: fix race condition when adding domain to domains list (Mikhail Feoktistov)
- vz: fix notification subscription (Mikhail Feoktistov)
- conf: snapshot: Avoid autogenerating duplicate snapshot names (Peter Krempa)
- dbus: Don't unref NULL messages (Michal Privoznik)
- qemu: Connect to guest agent iff needed (Michal Privoznik)
- xenconfig: Properly check retval of virDomainGraphicsListenSetAddress (Michal Privoznik)
- leaseshelper: swap two parameters of virLeaseNew (Ján Tomko)
- vboxDumpDisplay: check return of virDomainGraphicsListenSetAddress (Ján Tomko)
- Check return value of vboxDumpVideo (Ján Tomko)
- qemu: vcpu: Reuse qemuProcessSetupVcpu in vcpu hotplug (Peter Krempa)
- remote: enforce VIR_TYPED_PARAM_STRING_OKAY flag on client side serialization (Joao Martins)
- vircgroup: Update virCgroupGetPercpuStats stump (Michal Privoznik)
- conf: Don't store vcpusched orthogonally to other vcpu info (Peter Krempa)
- qemu: snapshot: Avoid infinite loop if vCPUs can't be resumed (Peter Krempa)
- qemu: snapshot: Don't overwrite existing errors when thawing filesystems (Peter Krempa)
- util: Fix virCgroupNewMachine ATTRIBUTE_NONNULL args (John Ferlan)
- bhyve: Fix the build (Michal Privoznik)
- virSystemdGetMachineNameByPID: Initialize @reply (Michal Privoznik)
- virnetdevbandwidth: Compute quantum value (Michal Privoznik)
- systemd: Modernize machine naming (Martin Kletzander)
- bhyve: fix build (Roman Bogorodskiy)
- Fix build after recent patches (Peter Krempa)
- qemu: qemuDomainRename and virDomainObjListNumOfDomains ABBA deadlock fix (Nikolay Shirokovskiy)
- Revert "systemd: Escape only needed characters for machined" (Martin Kletzander)
- qemu: Don't crash when create fails early (Martin Kletzander)
- virsh: ensure SIGINT action is reset on all errors (Michael Chapman)
- conf: disallow empty cpusets for vcpu pinning when parsing XML (Peter Krempa)
- Fix libvirtd free() segfault when migrating guest with deleted open vswitch port (Jason J. Herne)
- vz: Fix invalid iteration of def->cputune.vcpupin (Peter Krempa)
- qemu: process: Disallow VMs with 0 vcpus (Peter Krempa)
- virt-host-validate: Fix error level for user namespace check (Michal Privoznik)
- virsh: Correctly detect inserted media in change-media command (Michal Privoznik)
- vmx: Adapt to emptyBackingString for cdrom-image (Michal Privoznik)
- qemu: snapshot: Correctly report qemu error on 'savevm' (Peter Krempa)
- lxc: fuse: Stub out Slab bits in /proc/meminfo (Cole Robinson)
- lxc: fuse: Fill in MemAvailable for /proc/meminfo (Cole Robinson)
- qemuDomainReboot: use fakeReboot=true only for acpi mode (Dmitry Andreev)
- build: predictably generate systemtap tapsets (bz 1173641) (Cole Robinson)
- leaseshelper: fix crash when no mac is specified (Ján Tomko)
- virLogManagerDomainReadLogFile: Don't do dummy allocs (Michal Privoznik)
- qemuProcessReadLog: Fix memmove arguments (Michal Privoznik)
- rbd: Set r variable so it can be returned should an error occur (Wido den Hollander)
Improvements:
- virsh: reject migration with both --live and --offline (Nitesh Konkar)
- tests: add parseFlags to qemuxml2argvtest (Ján Tomko)
- tests: add a test for persistent LXC XML parsing (Ján Tomko)
- testCompareDomXML2XMLFiles: add parseFlags parameter (Ján Tomko)
- openvz: Use virStringSplitCount instead of strtok_r (John Ferlan)
- hostdev: Remove temporary variable when checking for VF (Andrea Bolognani)
- util: Avoid calling closedir(NULL) (Jiri Denemark)
- vircgroupmock: Mock access("/sys/devices/system/cpu/present") (Michal Privoznik)
- libxl: implement virDomainInterfaceStats (Joao Martins)
- libxl: fix bogus indentation from commit fb2bd208 (Jim Fehlig)
- libxl: add support for rbd qdisk (Jim Fehlig)
- xenconfig: support xl<->xml conversion of rbd disk devices (Jim Fehlig)
- xenconfig: produce key=value disk config syntax in xl formatter (Jim Fehlig)
- xenconfig: replace text 'xm' with 'xl' in xlconfigtest (Jim Fehlig)
- hostdev: Minor style adjustments (Andrea Bolognani)
- cmdSaveImageEdit: Prefer VSH_EXCLUSIVE_OPTIONS over by hand check (Michal Privoznik)
- cmdNetworkUpdate: Prefer VSH_EXCLUSIVE_OPTIONS over if-else tree (Michal Privoznik)
- util: TristateBool and TristateSwitch are interchangeable (Marc-André Lureau)
- Miscellaneous for-loop syntax clean-ups (Martin Kletzander)
- qemu: add support for LSI SAS1068 (aka MPT Fusion) SCSI controller (Paolo Bonzini)
- virDomainDefFormatInternal: Drop useless check (Michal Privoznik)
- gic: Introduce VIR_GIC_VERSION_DEFAULT alias (Andrea Bolognani)
- security_selinux: Fix typo in error message (Laurent Bigonville)
- qemu: iothreadpin: Always set affinity when pinning iothread (Peter Krempa)
- qemu: emulatorpin: Always set affinity when pinning emulator thread (Peter Krempa)
- qemu: parse: drop redundant AddImplicitControllers (Cole Robinson)
- qemu: parse: rename qemuCaps->caps (Cole Robinson)
- domain: add implicit controllers from post parse (Cole Robinson)
- qemu: Simplify error handling in qemuProcessReconnect (Jiri Denemark)
- qemu: Start an async job for processGuestPanicEvent (Jiri Denemark)
- qemu: Start job in qemuDomainDestroyFlags early (Jiri Denemark)
- qemu: Introduce qemuProcessBeginStopJob (Jiri Denemark)
- qemu: Pass async job to qemuProcessInit (Jiri Denemark)
- qemu: End nested jobs properly (Jiri Denemark)
- qemu: Export qemuDomainObjBeginNestedJob (Jiri Denemark)
- virsh: cpupin: Extract getter code into a separate function (Peter Krempa)
- qemu: vcpupin: Always set affinity even when cgroups are supported (Peter Krempa)
- virsh: cmdVcpuPin: Simplify handling of API flags (Peter Krempa)
- test: qemuxml2argv: Drop QEMU_CAPS_DEVICE uses (Andrea Bolognani)
- vsh: use virBufferTrim in vshOutputLogFile (Ján Tomko)
- qemu: Introduce qemuBuildMonitorCommandLine (John Ferlan)
- qemu: Introduce qemuBuildSgaCommandLine (John Ferlan)
- qemu: Introduce qemuBuildSmbiosCommandLine (John Ferlan)
- qemu: Introduce qemuBuildNumaCommandLine (John Ferlan)
- qemu: Introduce qemuBuildIOThreadCommandLine (John Ferlan)
- qemu: Rename qemuBuildSmpArgStr to qemuBuildSmpCommandLine (John Ferlan)
- qemu: Introduce qemuBuildMemCommandLine (John Ferlan)
- qemu: Rename qemuBuildCpuArgStr to qemuBuildCpuCommandLine (John Ferlan)
- qemu: Rename qemuBuildMachineArgStr (John Ferlan)
- qemu: Make basic upfront checks before create command (John Ferlan)
- qemu: Remove local emulator (John Ferlan)
- qemu: Kill VIR_WRAPPER_SHELL_PREFIX (Peter Krempa)
- qemu: Move PORT definitions to qemu_conf.c (Cole Robinson)
- tests: Remove unused virtTestClearLineRegex (Cole Robinson)
- tests: lxcconf2xml: Drop XML blanking (Cole Robinson)
- tests: qemuargv2xml: Drop memory XML blanking (Cole Robinson)
- tests: qemuargv2xml: hardcode disk auth usage (Cole Robinson)
- tests: qemuargv2xml: Remove UUID randomness (Cole Robinson)
- tests: qemuargv2xml: Remove unneeded XML blanking (Cole Robinson)
- qemu: Remove unnecessary calculations in qemuDomainSaveMemory (Peter Krempa)
- qemu: monitor: Remove unused qemuMonitorMigrateToFile (Peter Krempa)
- Revert "storageVolCreateXMLFrom: Check if backend knows how to createVol" (Ján Tomko)
- syms: add forgotten virAdmConnectClass symbol (Erik Skultety)
- virt-admin: Introduce cmdSrvList (Erik Skultety)
- admin: Introduce adminDaemonConnectListServers API (Erik Skultety)
- admin: Introduce virAdmServer structure (Erik Skultety)
- admin: Move admin_server.{h,c} to admin.{h,c} (Erik Skultety)
- virnetdaemon: Store servers in a hash table (Erik Skultety)
- util: Refactor virHashForEach so it returns as soon as an iterator fails (Erik Skultety)
- util: Add a return value to void hash iterators (Erik Skultety)
- qemu: cgroup: Setup cgroups for bios/firmware images (Peter Krempa)
- qemu: cgroup: Extract guts of qemuSetupImageCgroupInternal (Peter Krempa)
- qemu: cgroup: Split up qemuSetImageCgroupInternal (Peter Krempa)
- qemu: cgroup: Switch to qemu(Setup|Teardown)ImageCgroup (Peter Krempa)
- util: cgroup: Allow ignoring EACCES in virCgroup(Allow|Deny)DevicePath (Peter Krempa)
- util: cgroup: Drop virCgroup(Allow|Deny)DeviceMajor (Peter Krempa)
- util: cgroup: Instrument virCgroupDenyDevice to handle -1 device number as * (Peter Krempa)
- qemu: migration: Refactor code now that we assume support for fd migration (Peter Krempa)
- qemu: cgroup: Remove abandoned function qemuAddToCgroup (Peter Krempa)
- conf: Use a temporary int variable to store GIC version (Andrea Bolognani)
- qemu: Move qemuDomainNetVLAN (John Ferlan)
- qemu: Move qemuAssign*Alias* API's into their own module (John Ferlan)
- qemu: Move qemuNetworkPrepareDevices (John Ferlan)
- qemu: Move and rename qemuOpenVhostNet (John Ferlan)
- qemu: Move qemuDomain*Address* functions (John Ferlan)
- qemu: Move qemuDomainSupports* functions (John Ferlan)
- qemu: Move qemuNetworkIfaceConnect to qemu_interface.c and rename (John Ferlan)
- qemu: Move qemuPhysIfaceConnect to qemu_interface.c and rename (John Ferlan)
- qemu: Move qemuVirCommandGetDevSet (John Ferlan)
- qemu: Move qemuBuildTPMDevStr (John Ferlan)
- qemu: Move qemuVirCommandGetFDSet (John Ferlan)
- qemu: Move qemuBuildTPMBackendStr (John Ferlan)
- tests: Add more GIC test cases (Andrea Bolognani)
- tests: Reorganize and simplify GIC test cases (Andrea Bolognani)
- qemu: Always enable GIC on ARM virt machines (Andrea Bolognani)
- qemu: Default to GIC v2 (Andrea Bolognani)
- conf: Use virGICVersion enumeration in virDomainDef (Andrea Bolognani)
- schema: List allowed GIC versions (Andrea Bolognani)
- gic: Introduce virGICVersion enumeration (Andrea Bolognani)
- vsh: Replace vshPrint macro with function (Peter Krempa)
- vsh: Simplify bailing out on OOM conditions (Peter Krempa)
- util: clean up and expand 802.1QbX negotiation logging (Laine Stump)
- network: consolidated info log for all network allocate/free operations (Laine Stump)
- network: consolidate connection count updates for device pool (Laine Stump)
- rbd: Use RBD fast-diff for querying actual volume allocation (Wido den Hollander)
- rbd: rbd_diff_iterate2() is available in librbd since 266 (Wido den Hollander)
- rbd: Add volStorageBackendRBDGetFeatures() for internal calls (Wido den Hollander)
- storageVolCreateXMLFrom: Check if backend knows how to createVol (Michal Privoznik)
- storageVolCreateXML: Swap order of two operations (Michal Privoznik)
- virsh: Teach vol-create-as to --print-xml (Michal Privoznik)
- cmdVolCreateAs: Rework to follow usual func pattern (Michal Privoznik)
- vz: remove unused struct field (Mikhail Feoktistov)
- vz: make output arguments in prlsdkGetDomainIds as optional (Mikhail Feoktistov)
- Change maintainers list (Maxim Nestratov)
- tests: Rename virmockdbus -> virdbusmock for consistency (Andrea Bolognani)
- tests: Don't use "lib" prefix for mock libraries (Andrea Bolognani)
- tests: Allow use of close() in mock libraries (Andrea Bolognani)
- tests: Split off the mock part of the port allocator test (Andrea Bolognani)
- conf: snapshot: Refactor virDomainSnapshotDefAssignExternalNames (Peter Krempa)
- conf: snapshot: Extract code to generate default external file names (Peter Krempa)
- conf: snapshot: Rename disksorter to virDomainSnapshotCompareDiskIndex (Peter Krempa)
- tests: Link mock libraries against gnulib and gnulib only (Andrea Bolognani)
- tests: Use plain close() in mock code (Andrea Bolognani)
- virhook: do not save the return value of virBuildPath (Ján Tomko)
- Clean up usage of 'ret' variable (Ján Tomko)
- Prohibit verbose strcat (Ján Tomko)
- vbox: remove more extra spaces (Ján Tomko)
- vbox: remove extra spaces from function headers (Ján Tomko)
- vbox: remove extra spaces from assignments (Ján Tomko)
- vbox: remove extra spaces from variable initializations (Ján Tomko)
- vbox: remove extra spaces from macro definitions (Ján Tomko)
- qemu: Split the command parsing routines into own module (John Ferlan)
- qemu: Check return status for virDomainGraphicsListenSetAddress (John Ferlan)
- qemu: Introduce qemuParseCommandLineVnc (John Ferlan)
- libxl: keepalive messages support (Joao Martins)
- libxl: add p2p migration (Joao Martins)
- tests: qemu: More aarch64 virtio and pci tests (Cole Robinson)
- tests: qemuxml2xml: assign device addresses (Cole Robinson)
- tests: utils: Add PreFormat callback for CompareXML2XML helper (Cole Robinson)
- virStringListLength: Ensure const correctness (Michal Privoznik)
- tests: qemuxml2xml: specify qemuCaps in test cases (Cole Robinson)
- tests: Unconditionally enable QEMU_CAPS_DEVICE (Cole Robinson)
- tests: qemuxml2argv: remove some QEMU_CAPS_DEVICE problem cases (Cole Robinson)
- util: Get rid of virStringListLen() (Martin Kletzander)
- tests: qemuxml2xml: Always use different output file (Cole Robinson)
- vboxDumpDisplay: realign variable initializations (Ján Tomko)
- vboxDumpDisplay: remove suspicious strlen (Ján Tomko)
- vboxDumpDisplay: reuse the keyUtf16 variable (Ján Tomko)
- vboxDumpDisplay: use VIR_APPEND_ELEMENT (Ján Tomko)
- vboxDumpDisplay: clean up VIR_STRDUP usage (Ján Tomko)
- vboxDumpDisplay: fill out the graphics structure earlier (Ján Tomko)
- vboxDumpDisplay: allocate the graphics structure upfront (Ján Tomko)
- vboxDumpDisplay: split out def->graphics allocation (Ján Tomko)
- vboxDumpDisplay: remove extra virReportOOMError (Ján Tomko)
- vboxDumpDisplay: add addDesktop bool (Ján Tomko)
- vboxDumpDisplay: more indentation reducing (Ján Tomko)
- vboxDumpDisplay: reduce indentation level (Ján Tomko)
- leaseshelper: split out virLeaseNew (Ján Tomko)
- qemu: iothread: Reuse qemuProcessSetupIOThread in iothread hotplug (Peter Krempa)
- qemu: iothread: Aggregate code to set IOThread tuning (Peter Krempa)
- qemu: vcpu: Aggregate code to set vCPU tuning (Peter Krempa)
- conf: Fix how iothread scheduler info is stored (Peter Krempa)
- conf: Extract code that formats <cputune> (Peter Krempa)
- conf: remove unused cpu pinning helpers and data structures (Peter Krempa)
- conf: Store cpu pinning data in def->vcpus (Peter Krempa)
- conf: Don't copy def->cpumask into cpu pinning info (Peter Krempa)
- qemu: Reuse qemuDomainDetectVcpuPids in cpu hot(un)plug (Peter Krempa)
- qemu: Differentiate error codes when VM exits in qemuDomainDetectVcpuPids (Peter Krempa)
- cgroup: Prepare for sparse vCPU topologies in virCgroupGetPercpuStats (Peter Krempa)
- conf: Move and optimize disk target duplicity checking (Peter Krempa)
- tests: Integrate startup checks to qemuxml2argvtest (Peter Krempa)
- qemu: process: Extract pre-start checks into a function (Peter Krempa)
- qemu: process: Reorder operations on early VM startup (Peter Krempa)
- qemu: hotplug: Check duplicate disk serial/wwn on hotplug too (Peter Krempa)
- conf: Extract code that checks disk serial/wwn conflict (Peter Krempa)
- qemu: hotplug: Extract common code to qemuDomainAttachDeviceDiskLive (Peter Krempa)
- qemu: hotplug: Use more common 'cleanup' label in qemuDomainAttachDeviceDiskLive (Peter Krempa)
- qemu: hotplug: Break up if/else statement into switch (Peter Krempa)
- qemu: hotplug: Remove unnecessary variable (Peter Krempa)
- qemu: hotplug: Use typecasted switch (Peter Krempa)
- nodedev: stub nodeDeviceSysfsGetPCIRelatedDevCaps (Roman Bogorodskiy)
- bhyve: fix preprocessor indentation (Roman Bogorodskiy)
- tests: qemuargv2xml: separate from qemuxml2argv data (Cole Robinson)
- tests: Run test-wrap-argv with REGENERATE_OUTPUT (Cole Robinson)
- rbd: Use %zu for uint64_t instead of casting to unsigned long long (Wido den Hollander)
- rbd: Code styling cleanup (Wido den Hollander)
- conf: Extract code for parsing thread resource scheduler info (Peter Krempa)
- conf: Add helper to return a bitmap of active iothread ids (Peter Krempa)
- util: bitmap: Introduce bitmap subtraction (Peter Krempa)
- conf: add caps to virDomainSnapshotDefFormat (Joao Martins)
- conf: add caps to virDomainObjFormat/SaveStatus (Daniel P. Berrange)
- qemu migration: factor out setting migration option (Nikolay Shirokovskiy)
- logical: Clarify pieces of lvs regex (John Ferlan)
- libxl: set net device prefix (Joao Martins)
- conf: add caps to virDomainSaveConfig (Joao Martins)
- conf: add caps to virDomainDefFormat* (Joao Martins)
- conf: add prefix in virDomainNetDefParseXML (Joao Martins)
- conf: add net device prefix to capabilities (Joao Martins)
- virsh: display if ZFS storage backend is enabled (Roman Bogorodskiy)
- configure: zfs: enable on Linux (Roman Bogorodskiy)
- storage: zfs: flexible use of 'volmode' option (Roman Bogorodskiy)
- util: Export remoteSerializeTypedParameters internally via util (Erik Skultety)
- util: Export remoteFreeTypedParameters internally via util (Erik Skultety)
- util: Export remoteDeserializeTypedParameters internally via util (Erik Skultety)
- util: Introduce virTypedParameterRemote datatype (Erik Skultety)
- systemd: Add virSystemdGetMachineNameByPID (Martin Kletzander)
- Simplify virDomainParseMemory (Ján Tomko)
- conf: Split out logic to determine whether cpupin was provided (Peter Krempa)
- qemu: domain: Prepare qemuDomainDetectVcpuPids for reuse (Peter Krempa)
- qemu: Move and rename qemuProcessDetectVcpuPIDs to qemuDomainDetectVcpuPids (Peter Krempa)
- qemu: cpu hotplug: Set vcpu state directly in the new structure (Peter Krempa)
- conf: Add helper to retrieve bitmap of active vcpus for a definition (Peter Krempa)
- cgroup: Clean up virCgroupGetPercpuStats (Peter Krempa)
- cfg.mk: Adjust sc_prohibit_int_ijk to support 'exempt from syntax-check' (Erik Skultety)
- qemuDomainResume: allow to resume domain with guest panicked (Dmitry Andreev)
- qemu: return -1 on error paths in qemuDomainSaveImageStartVM (Nikolay Shirokovskiy)
- logical: Clean up allocation when building regex on the fly (John Ferlan)
- logical: Use 'stripes' value for mirror/raid segtype (John Ferlan)
- logical: Use VIR_APPEND_ELEMENT instead of VIR_REALLOC_N (John Ferlan)
- virsh: improve waiting for block job readiness (Michael Chapman)
- virsh: be consistent with style of loop exit (Michael Chapman)
- virsh: avoid unnecessary progress updates (Michael Chapman)
- qemu: Mark some functions as static (Cole Robinson)
- fdstream: Realign (Michal Privoznik)
- qemu: Align dump options for watchdog and on_crash events (Boris Fiuczynski)
- logical: Create helper virStorageBackendLogicalParseVolExtents (John Ferlan)
- rbd: Open in Read-Only mode when refreshing a volume (Wido den Hollander)
- rbd: Implement buildVolFrom using RBD cloning (Wido den Hollander)
- rbd: Add support for wiping RBD volumes using TRIM. (Wido den Hollander)
- storage: Add TRIM algorithm to storage volume API (Wido den Hollander)
- rbd: Add support for wiping RBD volumes (Wido den Hollander)
- storage: Adjust fix virStorageBackendVolWipeLocal switch (Wido den Hollander)
- logical: Fix comment examples for virStorageBackendLogicalFindLVs (John Ferlan)
- pci: Use bool return type for some virPCIDeviceGet*() functions (Andrea Bolognani)
- gendispatch: Don't output spaces on empty line (Michal Privoznik)
- pci: Add debug messages when unbinding from stub driver (Andrea Bolognani)
- pci: Phase out virPCIDeviceReattachInit() (Andrea Bolognani)
- qemu: don't iterate vcpus using priv->nvcpupids in qemuProcessSetSchedParams (Peter Krempa)
- conf: disallow empty cpuset for emulatorpin (Peter Krempa)
- qemu: Don't use priv->ncpus to iterate cgroup setting (Peter Krempa)
- virnetdevopenvswitch: Don't call strlen() twice on the same string (Andrea Bolognani)
- virnetdevmacvlan: Provide stubs for build without macvtap (Michal Privoznik)
- util: keep/use a bitmap of in-use macvtap devices (Laine Stump)
- util: increase libnl buffer size (Leno Hou)
- device: cleanup input device code (Pavel Hrdina)
- tests: add some missing tests to qemuxml2xmltest (Pavel Hrdina)
- tests: use virtTestDifferenceFull in tests where we have output file (Pavel Hrdina)
- vircgroup: Finish renaming of virCgroupIsolateMount (Michal Privoznik)
- lxc: don't try to hide parent cgroups inside container (Daniel P. Berrange)
- qemu: add reporting of vCPU wait time (Daniel P. Berrange)
- virsh: fix cpu-stats command output format issue (Luyao Huang)
- util: buffer: Sanitize comment for virBufferAddBuffer (Peter Krempa)
- test: Touch up error message when attempting to pin invalid vCPU (Peter Krempa)
- tests: qemuxml2xml: Order pinning information numerically (Peter Krempa)
- virsh: cpu-stats: Remove unneeded flags (Peter Krempa)
- virsh: cpu-stats: Extract common printing code into a function (Peter Krempa)
- (qemu|lxc)DomainGetCPUStats: Clean up (Peter Krempa)
- qemu: process: refactor and rename qemuValidateCpuMax to qemuValidateCpuCount (Peter Krempa)
- virt-host-validate: Check those CGroups that we actually use (Michal Privoznik)
- qemu: monitor: Refactor error handling for 'savevm' (Peter Krempa)
- bhyve: bhyveload: respect boot dev and boot order (Roman Bogorodskiy)
- conf: expose virDomainBootType(From|To)String (Roman Bogorodskiy)
- util: reset MAC address of macvtap passthrough physdev after disassociate (Laine Stump)
- lxc: fuse: Fix /proc/meminfo size calculation (Cole Robinson)
- lxc: fuse: Unindent meminfo logic (Cole Robinson)
- libxl: Support cmdline= in xl config files (Ian Campbell)
- libxl: dispose libxl_dominfo after libxl_domain_info() (Joao Martins)
- Xen: add XENXL to virErrorDomain enum (Jim Fehlig)
- Xen: VIR_FROM_THIS cleanup (Jim Fehlig)
- qemu: Add support for migration iteration event (Jiri Denemark)
- Introduce migration iteration event (Jiri Denemark)
- virsh: Don't fetch status for all domains in cmdList (Michal Privoznik)
- docs: fix syntax-check long line error (Cole Robinson)
- leaseshelper: reduce indentation level in virLeaseReadCustomLeaseFile (Ján Tomko)
- leaseshelper: remove useless comparison (Ján Tomko)
- leaseshelper: split out virLeasePrintLeases (Ján Tomko)
- leaseshelper: split out custom leases file read (Ján Tomko)
- leaseshelper: store server_duid as an allocated string (Ján Tomko)
- storage: Add new flag for libvirt_parthelper (John Ferlan)
- conf: Add storage pool device attribute part_separator (John Ferlan)
- qemuTestDriverInit: fill driver with zeroes (Michal Privoznik)
- Post-release version bump to 1.3.2 (Michal Privoznik)
- NEWS: Don't prefix version numbers with 'v' (Andrea Bolognani)
- NEWS: Fix whitespace issues (Andrea Bolognani)
- NEWS: Move 2015 entries to a separate file (Andrea Bolognani)
So thanks everybody for your contributions for this release, be it with
patches, ideas, reviews, docs, etc ...
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/
8 years, 9 months
[libvirt] [RFC PATCH 0/2] ARM: add QMP command to query GIC version
by Peter Xu
For ARM platform, we still do not have any interface to query
whether current QEMU/host support specific GIC version. This
patchset is trying to add one QMP interface for that. By querying
the GIC capability using the new interface, one should know exactly
what GIC version(s) the platform will support. The capability bits
will be decided by both QEMU and host kernel.
The current patchset only provides interface for review. Its handler
is a fake one which returns empty always.
The command interface I am planning to add is something like this:
-> { "execute": "query-gic-capability" }
<- { "return": [ "gicv2", "gicv2-kvm", "gicv3-kvm" ] }
Currently, all the possible supported GIC versions are:
- gicv2: GIC version 2 without kernel IRQ chip
- gicv2-kvm: GIC version 2 with kernel IRQ chip
- gicv3: GIC version 3 without kernel IRQ chip (not supported)
- gicv3-kvm: GIC version 3 with kernel IRQ chip
Since "gicv3" is still not supported (to use GICv3, kernel irqchip
support is required for now, which corresponds to "gicv3-kvm"),
currently the maximum superset of the result should be:
["gicv2", "gicv2-kvm", "gicv3-kvm"]
Please help review whether the interface suits our need, also please
point out any error I have made.
One question: how should I make this command "ARM only"? I see that
in qmp-commands.hx, I can use something like "#if defined
TARGET_ARM" to block out ARM specified commands, however how should
I do the similiar thing in qapi-schema.json?
Thanks!
Peter
Peter Xu (2):
arm: gic: add GICType
arm: gic: add "query-gic-capability" interface
qapi-schema.json | 28 ++++++++++++++++++++++++++++
qmp-commands.hx | 25 +++++++++++++++++++++++++
qmp.c | 5 +++++
scripts/qapi.py | 1 +
4 files changed, 59 insertions(+)
--
2.4.3
8 years, 9 months