Re: [libvirt] [Qemu-devel] Qemu migration with vhost-user-blk on top of local storage
by Stefan Hajnoczi
On Wed, Jan 09, 2019 at 06:23:42PM +0800, wuzhouhui wrote:
> Hi everyone,
>
> I'm working qemu with vhost target (e.g. spdk), and I attempt to migrate VM with
> 2 local storages. One local storage is a regular file, e.g. /tmp/c74.qcow2, and
> the other is a malloc bdev that spdk created. This malloc bdev will exported to
> VM via vhost-user-blk. When I execute following command:
>
> virsh migrate --live --persistent --unsafe --undefinesource --copy-storage-all \
> --p2p --auto-converge --verbose --desturi qemu+tcp://<uri>/system vm0
>
> The libvirt reports:
>
> qemu-2.12.1: error: internal error: unable to execute QEMU command \
> 'nbd-server-add': Cannot find device=drive-virtio-disk1 nor \
> node_name=drive-virtio-disk1
Please post your libvirt domain XML.
> Does it means that qemu with spdk on top of local storage don't support migration?
>
> QEMU: 2.12.1
> SPDK: 18.10
vhost-user-blk bypasses the QEMU block layer, so NBD storage migration
at the QEMU level will not work for the vhost-user-blk disk.
Stefan
1 year, 1 month
[libvirt] [PATCH v3] openvswitch: Add new port VLAN mode "dot1q-tunnel"
by luzhipeng@uniudc.com
From: ZhiPeng Lu <luzhipeng(a)uniudc.com>
Signed-off-by: ZhiPeng Lu <luzhipeng(a)uniudc.com>
---
v1->v2:
1. Fix "make syntax-check" failure
v2->v3:
1. remove other_config when updating vlan
docs/formatnetwork.html.in | 17 +++++++++--------
docs/schemas/networkcommon.rng | 1 +
src/conf/netdev_vlan_conf.c | 2 +-
src/util/virnetdevopenvswitch.c | 7 +++++++
src/util/virnetdevvlan.h | 1 +
5 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/docs/formatnetwork.html.in b/docs/formatnetwork.html.in
index 363a72b..3c1ae62 100644
--- a/docs/formatnetwork.html.in
+++ b/docs/formatnetwork.html.in
@@ -688,16 +688,17 @@
</p>
<p>
For network connections using Open vSwitch it is also possible
- to configure 'native-tagged' and 'native-untagged' VLAN modes
+ to configure 'native-tagged' and 'native-untagged' and 'dot1q-tunnel'
+ VLAN modes.
<span class="since">Since 1.1.0.</span> This is done with the
- optional <code>nativeMode</code> attribute on
- the <code><tag></code> subelement: <code>nativeMode</code>
- may be set to 'tagged' or 'untagged'. The <code>id</code>
- attribute of the <code><tag></code> subelement
- containing <code>nativeMode</code> sets which VLAN is considered
- to be the "native" VLAN for this interface, and
+ optional <code>nativeMode</code> attribute on the
+ <code><tag></code> subelement: <code>nativeMode</code>
+ may be set to 'tagged' or 'untagged' or 'dot1q-tunnel'.
+ The <code>id</code> attribute of the <code><tag></code>
+ subelement containing <code>nativeMode</code> sets which VLAN is
+ considered to be the "native" VLAN for this interface, and
the <code>nativeMode</code> attribute determines whether or not
- traffic for that VLAN will be tagged.
+ traffic for that VLAN will be tagged or QinQ.
</p>
<p>
<code><vlan></code> elements can also be specified in
diff --git a/docs/schemas/networkcommon.rng b/docs/schemas/networkcommon.rng
index 2699555..11c48ff 100644
--- a/docs/schemas/networkcommon.rng
+++ b/docs/schemas/networkcommon.rng
@@ -223,6 +223,7 @@
<choice>
<value>tagged</value>
<value>untagged</value>
+ <value>dot1q-tunnel</value>
</choice>
</attribute>
</optional>
diff --git a/src/conf/netdev_vlan_conf.c b/src/conf/netdev_vlan_conf.c
index dff49c6..79710d9 100644
--- a/src/conf/netdev_vlan_conf.c
+++ b/src/conf/netdev_vlan_conf.c
@@ -29,7 +29,7 @@
#define VIR_FROM_THIS VIR_FROM_NONE
VIR_ENUM_IMPL(virNativeVlanMode, VIR_NATIVE_VLAN_MODE_LAST,
- "default", "tagged", "untagged")
+ "default", "tagged", "untagged", "dot1q-tunnel")
int
virNetDevVlanParse(xmlNodePtr node, xmlXPathContextPtr ctxt, virNetDevVlanPtr def)
diff --git a/src/util/virnetdevopenvswitch.c b/src/util/virnetdevopenvswitch.c
index 8fe06fd..9fec30b 100644
--- a/src/util/virnetdevopenvswitch.c
+++ b/src/util/virnetdevopenvswitch.c
@@ -91,6 +91,11 @@ virNetDevOpenvswitchConstructVlans(virCommandPtr cmd, virNetDevVlanPtr virtVlan)
virCommandAddArg(cmd, "vlan_mode=native-untagged");
virCommandAddArgFormat(cmd, "tag=%d", virtVlan->nativeTag);
break;
+ case VIR_NATIVE_VLAN_MODE_DOT1Q_TUNNEL:
+ virCommandAddArg(cmd, "vlan_mode=dot1q-tunnel");
+ virCommandAddArg(cmd, "other_config:qinq-ethtype=802.1q");
+ virCommandAddArgFormat(cmd, "tag=%d", virtVlan->nativeTag);
+ break;
case VIR_NATIVE_VLAN_MODE_DEFAULT:
default:
break;
@@ -504,6 +509,8 @@ int virNetDevOpenvswitchUpdateVlan(const char *ifname,
"--", "--if-exists", "clear", "Port", ifname, "tag",
"--", "--if-exists", "clear", "Port", ifname, "trunk",
"--", "--if-exists", "clear", "Port", ifname, "vlan_mode",
+ "--", "--if-exists", "remove", "Port", ifname, "other_config",
+ "qinq-ethtype", NULL,
"--", "--if-exists", "set", "Port", ifname, NULL);
if (virNetDevOpenvswitchConstructVlans(cmd, virtVlan) < 0)
diff --git a/src/util/virnetdevvlan.h b/src/util/virnetdevvlan.h
index be85f59..0667f9d 100644
--- a/src/util/virnetdevvlan.h
+++ b/src/util/virnetdevvlan.h
@@ -29,6 +29,7 @@ typedef enum {
VIR_NATIVE_VLAN_MODE_DEFAULT = 0,
VIR_NATIVE_VLAN_MODE_TAGGED,
VIR_NATIVE_VLAN_MODE_UNTAGGED,
+ VIR_NATIVE_VLAN_MODE_DOT1Q_TUNNEL,
VIR_NATIVE_VLAN_MODE_LAST
} virNativeVlanMode;
--
1.8.3.1
1 year, 1 month
[libvirt] [PATCH] Fix compile error for stable 1.2.9
by Yang hongyang
Seems a backport miss. An extra member is passed to struct
virLXCBasicMountInfo.
Signed-off-by: Yang hongyang <hongyang.yang(a)easystack.cn>
---
src/lxc/lxc_container.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
index 28dabec..1c65fa9 100644
--- a/src/lxc/lxc_container.c
+++ b/src/lxc/lxc_container.c
@@ -760,7 +760,7 @@ typedef struct {
static const virLXCBasicMountInfo lxcBasicMounts[] = {
{ "proc", "/proc", "proc", MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false },
- { "/proc/sys", "/proc/sys", NULL, MS_BIND|MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_RDONLY, false, false, false },
+ { "/proc/sys", "/proc/sys", NULL, MS_BIND|MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_RDONLY, false, false },
{ "sysfs", "/sys", "sysfs", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_RDONLY, false, false },
{ "securityfs", "/sys/kernel/security", "securityfs", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_RDONLY, true, true },
#if WITH_SELINUX
--
1.7.1
1 year, 1 month
[libvirt] Supporting vhost-net and macvtap in libvirt for QEMU
by Anthony Liguori
Disclaimer: I am neither an SR-IOV nor a vhost-net expert, but I've CC'd
people that are who can throw tomatoes at me for getting bits wrong :-)
I wanted to start a discussion about supporting vhost-net in libvirt.
vhost-net has not yet been merged into qemu but I expect it will be soon
so it's a good time to start this discussion.
There are two modes worth supporting for vhost-net in libvirt. The
first mode is where vhost-net backs to a tun/tap device. This is
behaves in very much the same way that -net tap behaves in qemu today.
Basically, the difference is that the virtio backend is in the kernel
instead of in qemu so there should be some performance improvement.
Current, libvirt invokes qemu with -net tap,fd=X where X is an already
open fd to a tun/tap device. I suspect that after we merge vhost-net,
libvirt could support vhost-net in this mode by just doing -net
vhost,fd=X. I think the only real question for libvirt is whether to
provide a user visible switch to use vhost or to just always use vhost
when it's available and it makes sense. Personally, I think the later
makes sense.
The more interesting invocation of vhost-net though is one where the
vhost-net device backs directly to a physical network card. In this
mode, vhost should get considerably better performance than the current
implementation. I don't know the syntax yet, but I think it's
reasonable to assume that it will look something like -net
tap,dev=eth0. The effect will be that eth0 is dedicated to the guest.
On most modern systems, there is a small number of network devices so
this model is not all that useful except when dealing with SR-IOV
adapters. In that case, each physical device can be exposed as many
virtual devices (VFs). There are a few restrictions here though. The
biggest is that currently, you can only change the number of VFs by
reloading a kernel module so it's really a parameter that must be set at
startup time.
I think there are a few ways libvirt could support vhost-net in this
second mode. The simplest would be to introduce a new tag similar to
<source network='br0'>. In fact, if you probed the device type for the
network parameter, you could probably do something like <source
network='eth0'> and have it Just Work.
Another model would be to have libvirt see an SR-IOV adapter as a
network pool whereas it handled all of the VF management. Considering
how inflexible SR-IOV is today, I'm not sure whether this is the best model.
Has anyone put any more thought into this problem or how this should be
modeled in libvirt? Michael, could you share your current thinking for
-net syntax?
--
Regards,
Anthony Liguori
1 year, 1 month
Add SELinux policy for Virt
by Nikola Knazekova
Hi,
I created SELinux policy for Libvirt drivers, as part of Decentralized SELinux Policy (DSP) project.
DSP guidelines is available: https://fedoraproject.org/wiki/SELinux/IndependentPolicy
Discussion about the first version of SELinux policy for Libvirt is available on gitlab:
https://gitlab.com/libvirt/libvirt/-/merge_requests/65
SELinux policy was created for:
Hypervisor drivers:
- virtqemud (QEMU/KVM)
- virtlxcd (LXC)
- virtvboxd (VirtualBox)
Secondary drivers:
- virtstoraged (host storage mgmt)
- virtnetworkd (virtual network mgmt)
- virtinterface (network interface mgmt)
- virtnodedevd (physical device mgmt)
- virtsecretd (security credential mgmt)
- virtnwfilterd (ip[6]tables/ebtables mgmt)
- virtproxyd (proxy daemon)
SELinux policy for virtvxz and virtxend has not been created yet, because I wasn't able to reproduce AVC messages.
These drivers run in unconfined_domain until the AVC messages are reproduced internally and policy for these drivers is made.
Can you please look at it?
Thanks
Nikola
3 years, 5 months
[RFCv3 00/25] RFC: Generate parsexml/formatbuf functions based on directives
by Shi Lei
V2 here: [https://listman.redhat.com/archives/libvir-list/2020-September/msg00204.html]
Differ from V2:
* Add tests for xmlgen to illustrate all the different features we can use
and make sure its proper functions in the future.
* Add docs/xmlgen.rst to explain the usage of all directives and the tool
itself.
* Now xmlgen can check whether the first item of enum ends with _NONE, _DEFAULT
or _ABSENT and generate proper code. So we no longer need to add extra
'default' item for enum.
* Now xmlgen can provide extra [tips] when we execute its command-line to show
generated code for preview.
* Enable/disable hooks by macros rather than by special directives.
* Add virStrToBoolYesNo/virStrToBoolTrueFalse/virStrToBoolOnOff
and explicitly check both the true and false values.
* Stronger check for python3-clang and libclang.so to make sure it can work.
* Add python3-clang to the libvirt.spec.in and the mingw-libvirt.spec.in.
Thanks!
Shi Lei (25):
scripts: Add a tool to generate xml parse/format functions
maint: Check python3-clang and libclang
maint: Call xmlgen automatically when c-head-files change
docs: Add xmlgen.rst to explain how to use it
build-aux: Only check *.[ch] for sc_prohibit_useless_translation
tests: Add tests for xmlgen
util: Add some xml-helper-functions to cooperate with xmlgen
util: Add helper aliases and functions for 'bool' and 'time_t' to cooperate with xmlgen
util: Add parsexml/formatbuf helper functions for virSocketAddr
util: Add virUUID type and parse/format functions
conf: Extract error-checking code from virNetworkDNSTxtDefParseXML
conf: Replace virNetworkDNSTxtDefParseXML(hardcoded) with namesake(generated)
conf: Generate virNetworkDNSTxtDefFormatBuf
conf: Extract error-checking code from virNetworkDNSSrvDefParseXML
conf: Replace virNetworkDNSSrvDefParseXML(hardcoded) with namesake(generated)
conf: Generate virNetworkDNSSrvDefFormatBuf
conf: Extract error-checking code from virNetworkDNSHostDefParseXML
conf: Replace virNetworkDNSHostDefParseXML(hardcoded) with namesake(generated)
conf: Generate virNetworkDNSHostDefFormatBuf
conf: Extract virNetworkDNSForwarderParseXML from virNetworkDNSParseXML
conf: Replace virNetworkDNSForwarderParseXML(hardcoded) with namesake(generated)
conf: Generate virNetworkDNSForwarderFormatBuf
conf: Extract error-checking code from virNetworkDNSDefParseXML
conf: Replace virNetworkDNSDefParseXML(hardcoded) with namesake(generated)
conf: Generate virNetworkDNSDefFormatBuf
build-aux/syntax-check.mk | 2 +-
docs/meson.build | 1 +
docs/xmlgen.rst | 684 +++++++++++++
libvirt.spec.in | 1 +
meson.build | 10 +
mingw-libvirt.spec.in | 1 +
po/POTFILES.in | 2 +
scripts/meson.build | 8 +
scripts/xmlgen/directive.py | 1192 ++++++++++++++++++++++
scripts/xmlgen/go | 29 +
scripts/xmlgen/main.py | 534 ++++++++++
scripts/xmlgen/utils.py | 121 +++
src/conf/meson.build | 37 +
src/conf/network_conf.c | 463 ++-------
src/conf/network_conf.h | 59 +-
src/internal.h | 8 +
src/libvirt_private.syms | 13 +
src/meson.build | 6 +
src/util/meson.build | 36 +
src/util/virbuffer.c | 44 +
src/util/virbuffer.h | 8 +-
src/util/virsocketaddr.c | 42 +
src/util/virsocketaddr.h | 23 +-
src/util/virstring.c | 102 ++
src/util/virstring.h | 15 +
src/util/viruuid.c | 31 +
src/util/viruuid.h | 18 +
src/util/virxml.c | 120 +++
src/util/virxml.h | 6 +
tests/meson.build | 3 +
tests/xmlgenin/conf/array.h | 17 +
tests/xmlgenin/conf/empty.h | 7 +
tests/xmlgenin/conf/enum-first-item.h | 12 +
tests/xmlgenin/conf/external.h | 9 +
tests/xmlgenin/conf/genformat-separate.h | 11 +
tests/xmlgenin/conf/genformat.h | 11 +
tests/xmlgenin/conf/genparse.h | 11 +
tests/xmlgenin/conf/namespace.h | 12 +
tests/xmlgenin/conf/required.h | 9 +
tests/xmlgenin/conf/skipparse.h | 10 +
tests/xmlgenin/conf/specify.h | 13 +
tests/xmlgenin/conf/xmlattr.h | 10 +
tests/xmlgenin/conf/xmlelem.h | 10 +
tests/xmlgenin/conf/xmlgroup.h | 8 +
tests/xmlgenin/conf/xmlswitch.h | 17 +
tests/xmlgenin/util/enums.h | 58 ++
tests/xmlgenin/util/structs.h | 67 ++
tests/xmlgenout/array.txt | 364 +++++++
tests/xmlgenout/empty.txt | 181 ++++
tests/xmlgenout/enum-first-item.txt | 297 ++++++
tests/xmlgenout/external.txt | 205 ++++
tests/xmlgenout/genformat-separate.txt | 190 ++++
tests/xmlgenout/genformat.txt | 142 +++
tests/xmlgenout/genparse.txt | 154 +++
tests/xmlgenout/namespace.txt | 222 ++++
tests/xmlgenout/required.txt | 236 +++++
tests/xmlgenout/skipparse.txt | 223 ++++
tests/xmlgenout/specify.txt | 291 ++++++
tests/xmlgenout/xmlattr.txt | 252 +++++
tests/xmlgenout/xmlelem.txt | 243 +++++
tests/xmlgenout/xmlgroup.txt | 204 ++++
tests/xmlgenout/xmlswitch.txt | 470 +++++++++
tests/xmlgentest.c | 107 ++
tools/meson.build | 3 +
64 files changed, 7289 insertions(+), 406 deletions(-)
create mode 100644 docs/xmlgen.rst
create mode 100644 scripts/xmlgen/directive.py
create mode 100755 scripts/xmlgen/go
create mode 100755 scripts/xmlgen/main.py
create mode 100644 scripts/xmlgen/utils.py
create mode 100644 tests/xmlgenin/conf/array.h
create mode 100644 tests/xmlgenin/conf/empty.h
create mode 100644 tests/xmlgenin/conf/enum-first-item.h
create mode 100644 tests/xmlgenin/conf/external.h
create mode 100644 tests/xmlgenin/conf/genformat-separate.h
create mode 100644 tests/xmlgenin/conf/genformat.h
create mode 100644 tests/xmlgenin/conf/genparse.h
create mode 100644 tests/xmlgenin/conf/namespace.h
create mode 100644 tests/xmlgenin/conf/required.h
create mode 100644 tests/xmlgenin/conf/skipparse.h
create mode 100644 tests/xmlgenin/conf/specify.h
create mode 100644 tests/xmlgenin/conf/xmlattr.h
create mode 100644 tests/xmlgenin/conf/xmlelem.h
create mode 100644 tests/xmlgenin/conf/xmlgroup.h
create mode 100644 tests/xmlgenin/conf/xmlswitch.h
create mode 100644 tests/xmlgenin/util/enums.h
create mode 100644 tests/xmlgenin/util/structs.h
create mode 100644 tests/xmlgenout/array.txt
create mode 100644 tests/xmlgenout/empty.txt
create mode 100644 tests/xmlgenout/enum-first-item.txt
create mode 100644 tests/xmlgenout/external.txt
create mode 100644 tests/xmlgenout/genformat-separate.txt
create mode 100644 tests/xmlgenout/genformat.txt
create mode 100644 tests/xmlgenout/genparse.txt
create mode 100644 tests/xmlgenout/namespace.txt
create mode 100644 tests/xmlgenout/required.txt
create mode 100644 tests/xmlgenout/skipparse.txt
create mode 100644 tests/xmlgenout/specify.txt
create mode 100644 tests/xmlgenout/xmlattr.txt
create mode 100644 tests/xmlgenout/xmlelem.txt
create mode 100644 tests/xmlgenout/xmlgroup.txt
create mode 100644 tests/xmlgenout/xmlswitch.txt
create mode 100644 tests/xmlgentest.c
--
2.25.1
3 years, 6 months
[PATCH v2 00/14] news update since v6.9 to v7.0
by Han Han
Diff from v1:
- Drop the news "Introduce VIR_DOMAIN_CHECKPOINT_REDEFINE_VALIDATE flag"
- Move the news of virt-aa-helper to bug fix part
- Update some descriptions of news
v1: https://listman.redhat.com/archives/libvir-list/2021-April/msg00456.html
Thanks for the advice from Peter Krempa and Erik Skultety.
Han Han (14):
news: make SEV attrs 'cbitpos' & 'reducedPhysBits' optional
news: support device stats collection for SR-IOV VF hostdev
news: virt-aa-helper: allow guest to create hard links for mounted
9pfs paths
news: cpu_map: Add EPYC-Rome cpu model
news: cpu: Support for XML validation in cpu comparison
logging: allow max_len=0 to disable log rollover
news: qemu: Set noqueue qdisc for TAP devices
news: qemu: Introduce virtio free page reporting feature
news: qemu: virtiofs can be used without NUMA nodes
news: qemu: Add 'fmode' and 'dmode' options for 9pfs
news: Introduce "migrate_tls_force" to qemu.conf
qemu: support kvm-poll-control performance hint
news: cpu_map: Add Snowridge cpu model
news: qemu: Add support for NFS disk protocol
NEWS.rst | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 74 insertions(+)
--
2.31.1
3 years, 6 months
[PATCH v3 00/15] Introduce virtio-mem <memory/> model
by Michal Privoznik
v3 of:
https://listman.redhat.com/archives/libvir-list/2021-February/msg00961.html
diff to v2:
- Dropped code that forbade use of virtio-mem and memballoon at the same
time;
- This meant that I had to adjust memory accounting,
qemuDomainSetMemoryFlags() - see patches 11/15 and 12/15 which are new.
- Fixed small nits raised by Peter in his review of v2
Michal Prívozník (15):
virhostmem: Introduce virHostMemGetTHPSize()
qemu_process: Deduplicate code in qemuProcessNeedHugepagesPath()
qemu_process: Drop needless check in
qemuProcessNeedMemoryBackingPath()
qemu_capabilities: Introduce QEMU_CAPS_DEVICE_VIRTIO_MEM_PCI
conf: Introduce virtio-mem <memory/> model
qemu: Build command line for virtio-mem
qemu: Wire up <memory/> live update
qemu: Wire up MEMORY_DEVICE_SIZE_CHANGE event
Introduce MEMORY_DEVICE_SIZE_CHANGE event
qemu: Refresh the actual size of virtio-mem on monitor reconnect
qemu: Account for both memballoon and virtio-mem
qemuDomainSetMemoryFlags: Take virtio-mem into consideration
virsh: Introduce update-memory-device command
news: document recent virtio memory addition
kbase: Document virtio-mem
NEWS.rst | 7 +
docs/formatdomain.rst | 45 +++-
docs/kbase/index.rst | 4 +
docs/kbase/memorydevices.rst | 150 +++++++++++
docs/kbase/meson.build | 1 +
docs/manpages/virsh.rst | 30 +++
docs/schemas/domaincommon.rng | 16 ++
examples/c/misc/event-test.c | 17 ++
include/libvirt/libvirt-domain.h | 23 ++
src/conf/domain_conf.c | 115 ++++++++-
src/conf/domain_conf.h | 15 ++
src/conf/domain_event.c | 84 +++++++
src/conf/domain_event.h | 10 +
src/conf/domain_validate.c | 39 +++
src/libvirt_private.syms | 5 +
src/qemu/qemu_alias.c | 10 +-
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 13 +-
src/qemu/qemu_domain.c | 50 +++-
src/qemu/qemu_domain.h | 1 +
src/qemu/qemu_domain_address.c | 38 ++-
src/qemu/qemu_driver.c | 233 +++++++++++++++++-
src/qemu/qemu_hotplug.c | 18 ++
src/qemu/qemu_hotplug.h | 5 +
src/qemu/qemu_monitor.c | 37 +++
src/qemu/qemu_monitor.h | 27 ++
src/qemu/qemu_monitor_json.c | 97 ++++++--
src/qemu/qemu_monitor_json.h | 5 +
src/qemu/qemu_process.c | 118 ++++++++-
src/qemu/qemu_validate.c | 8 +
src/remote/remote_daemon_dispatch.c | 30 +++
src/remote/remote_driver.c | 32 +++
src/remote/remote_protocol.x | 15 +-
src/remote_protocol-structs | 7 +
src/security/security_apparmor.c | 1 +
src/security/security_dac.c | 2 +
src/security/security_selinux.c | 2 +
src/util/virhostmem.c | 63 +++++
src/util/virhostmem.h | 3 +
tests/domaincapsmock.c | 9 +
.../caps_5.1.0.x86_64.xml | 1 +
.../caps_5.2.0.x86_64.xml | 1 +
.../caps_6.0.0.x86_64.xml | 1 +
...mory-hotplug-virtio-mem.x86_64-latest.args | 49 ++++
.../memory-hotplug-virtio-mem.xml | 67 +++++
tests/qemuxml2argvtest.c | 1 +
...emory-hotplug-virtio-mem.x86_64-latest.xml | 1 +
tests/qemuxml2xmltest.c | 1 +
tools/virsh-domain.c | 169 +++++++++++++
50 files changed, 1612 insertions(+), 67 deletions(-)
create mode 100644 docs/kbase/memorydevices.rst
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-virtio-mem.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-virtio-mem.xml
create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-virtio-mem.x86_64-latest.xml
--
2.26.2
3 years, 6 months