[libvirt] [PATCH v3 0/4] util: Fixing libvirt errors on cavium/thunder-nicvf
by dann frazier
Following up on my offer to take the baton[*], here's a v3 of this series
that should address the provided feedback provided for Radoslaw's v2.
ThunderX is Cavium SoC. This platform contain SRIOV NIC.
Unlike other commonly known network devices it does not have VF functionality
duplicated in its PF. PF is purely management device (on HW level).
This creates several problems with existing libvirt code as in many places
libvirt assumes that each VF netdev has PF netdev assigned.
This patch series trying to address issues which can be easily fixed.
(mostly bug fixes found while working on full featured solution)
First patch in series is most important as it allows to unblock the netdev
detection and use <hostdev> on this platform.i <interface type="hostdev"
still does not work as it requires bigger changes both on netdev driver
and in libvirt itself.
More details about those issues can be found at:
https://bugs.linaro.org/show_bug.cgi?id=3778
https://bugs.launchpad.net/charm-nova-compute/+bug/1771662
v3:
- Reinstated error path in virNetDevGetPhysicalFunction()
- Add missing free of *pfname in error path
- Use proper < 0 comparisons when checking for errors
v2:
- error reporting taken out of virNetDevGetPhysicalFunction() and moved
to calling function virNetDevGetVirtualFunctionInfo()
- curly braces removed from single line
- net-> model check removed as STREQ_NULLABLE() follows
[*] https://www.redhat.com/archives/libvir-list/2019-January/msg00201.html
Radoslaw Biernacki (4):
util: fixing wrong assumption that PF has to have netdev assigned
util: Code simplification
util: Fix for NULL dereference
util: Fixing invalid error checking from virPCIGetNetname()
src/qemu/qemu_domain_address.c | 13 ++++----
src/util/virhostdev.c | 2 +-
src/util/virnetdev.c | 55 ++++++++++++----------------------
3 files changed, 25 insertions(+), 45 deletions(-)
--
2.20.1
5 years, 10 months
[libvirt] [PATCH 0/2] apparmor: support named profiles
by Jim Fehlig
Upstream apparmor is switching to named profiles. Many profiles have
already made the switch. Patch 1 changes the libvirtd profile to
account for dnsmasq's switch to a named profile.
Patch 2 is optional and changes the libvirtd profile to a named profile.
It will need a bit of coorindation with upstream apparmor since the dnsmasq
profile currently has 'peer=/usr/sbin/libvirtd'.
Jim Fehlig (2):
apparmor: Add support for named profiles
apparmor: convert libvirtd profile to a named profile
src/security/apparmor/usr.sbin.libvirtd | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
--
2.19.2
5 years, 10 months
[libvirt] [PATCH 0/3] Update some recent/previous x86_64 qemu capabilities
by John Ferlan
The existing 2.12 and 3.1 caps are based on a pre-release RC, so
update to at least the release version.
The 3.0 caps were missing the sev-guest (as were the 3.1 caps), so
hand massage the .replies output to make sure they're added.
There really "should be" some way to do these automagically...
With these in place review of Nikolay's upstream posting related
to using l2 cache will be "cleaner"...
John Ferlan (3):
qemu: Update x86_64 QEMU 2.12.0 capabilities
qemu: Update x86_64 QEMU 3.0.0 capabilities
qemu: Update x86_64 QEMU 3.1.0 capabilities
.../qemu_2.12.0.x86_64.xml | 37 +-
.../caps_2.12.0.x86_64.replies | 513 +++++++++---------
.../caps_2.12.0.x86_64.xml | 182 ++-----
.../caps_3.0.0.x86_64.replies | 73 +--
.../caps_3.0.0.x86_64.xml | 19 +-
.../caps_3.1.0.x86_64.replies | 93 ++--
.../caps_3.1.0.x86_64.xml | 28 +-
7 files changed, 412 insertions(+), 533 deletions(-)
--
2.20.1
5 years, 10 months
[libvirt] [PATCH] libxl: Set current memory value after successful balloon
by Jim Fehlig
The libxl driver does not set the new memory value in the active domain def
after a successful balloon. This results in the old memory value in
<currentMemory>. E.g.
virsh dumpxml test | grep currentMemory
<currentMemory unit='KiB'>20971520</currentMemory>
virsh setmem test 16777216 --live
virsh dumpxml test | grep currentMemory
<currentMemory unit='KiB'>20971520</currentMemory>
Set the new memory value in active domain def after a successful call to
libxl_set_memory_target().
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
src/libxl/libxl_driver.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index e30c9891d2..f11597b0d7 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -1676,6 +1676,7 @@ libxlDomainSetMemoryFlags(virDomainPtr dom, unsigned long newmem,
" with libxenlight"), vm->def->id);
goto endjob;
}
+ vm->def->mem.cur_balloon = newmem;
}
if (flags & VIR_DOMAIN_MEM_CONFIG) {
--
2.19.2
5 years, 10 months
[libvirt] [PATCH] qemu-options: Remove deprecated "-virtioconsole" option
by Thomas Huth
It's been deprecated since QEMU 3.0, and nobody complained so far, so
it is time to remove this option now.
Signed-off-by: Thomas Huth <thuth(a)redhat.com>
---
docs/qdev-device-use.txt | 4 ----
include/hw/boards.h | 1 -
qemu-deprecated.texi | 5 ----
qemu-options.hx | 10 --------
vl.c | 61 +-----------------------------------------------
5 files changed, 1 insertion(+), 80 deletions(-)
diff --git a/docs/qdev-device-use.txt b/docs/qdev-device-use.txt
index 98229b3..cc53e97 100644
--- a/docs/qdev-device-use.txt
+++ b/docs/qdev-device-use.txt
@@ -190,10 +190,6 @@ The appropriate DEVNAME depends on the machine type. For type "pc":
-device usb-braille,chardev=braille -chardev braille,id=braille
-* -virtioconsole becomes
- -device virtio-serial-pci,class=C,vectors=V,ioeventfd=IOEVENTFD,max_ports=N
- -device virtconsole,is_console=NUM,nr=NR,name=NAME
-
LEGACY-CHARDEV translates to -chardev HOST-OPTS... as follows:
* null becomes -chardev null
diff --git a/include/hw/boards.h b/include/hw/boards.h
index f82f284..5df67d2 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -181,7 +181,6 @@ struct MachineClass {
int default_cpus;
unsigned int no_serial:1,
no_parallel:1,
- use_virtcon:1,
no_floppy:1,
no_cdrom:1,
no_sdcard:1,
diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi
index 72b8191..5cc18b4 100644
--- a/qemu-deprecated.texi
+++ b/qemu-deprecated.texi
@@ -60,11 +60,6 @@ The @code{--no-frame} argument works with SDL 1.2 only. The other user
interfaces never implemented this in the first place. So this will be
removed together with SDL 1.2 support.
-@subsection -virtioconsole (since 3.0.0)
-
-Option @option{-virtioconsole} has been replaced by
-@option{-device virtconsole}.
-
@subsection -clock (since 3.0.0)
The @code{-clock} option is ignored since QEMU version 1.7.0. There is no
diff --git a/qemu-options.hx b/qemu-options.hx
index 269eda7..5330603 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -3635,16 +3635,6 @@ character to Control-t.
@end table
ETEXI
-DEF("virtioconsole", HAS_ARG, QEMU_OPTION_virtiocon, \
- "-virtioconsole c\n" \
- " set virtio console\n", QEMU_ARCH_ALL)
-STEXI
-@item -virtioconsole @var{c}
-@findex -virtioconsole
-Set virtio console.
-This option is deprecated, please use @option{-device virtconsole} instead.
-ETEXI
-
DEF("show-cursor", 0, QEMU_OPTION_show_cursor, \
"-show-cursor show cursor\n", QEMU_ARCH_ALL)
STEXI
diff --git a/vl.c b/vl.c
index a5ae5f2..595d610 100644
--- a/vl.c
+++ b/vl.c
@@ -164,7 +164,6 @@ int no_frame;
static int num_serial_hds;
static Chardev **serial_hds;
Chardev *parallel_hds[MAX_PARALLEL_PORTS];
-Chardev *virtcon_hds[MAX_VIRTIO_CONSOLES];
int win2k_install_hack = 0;
int singlestep = 0;
int smp_cpus;
@@ -215,7 +214,6 @@ bool xen_domid_restrict;
static int has_defaults = 1;
static int default_serial = 1;
static int default_parallel = 1;
-static int default_virtcon = 1;
static int default_monitor = 1;
static int default_floppy = 1;
static int default_cdrom = 1;
@@ -236,8 +234,6 @@ static struct {
{ .driver = "ide-drive", .flag = &default_cdrom },
{ .driver = "scsi-cd", .flag = &default_cdrom },
{ .driver = "scsi-hd", .flag = &default_cdrom },
- { .driver = "virtio-serial-pci", .flag = &default_virtcon },
- { .driver = "virtio-serial", .flag = &default_virtcon },
{ .driver = "VGA", .flag = &default_vga },
{ .driver = "isa-vga", .flag = &default_vga },
{ .driver = "cirrus-vga", .flag = &default_vga },
@@ -2374,7 +2370,6 @@ struct device_config {
DEV_BT, /* -bt */
DEV_SERIAL, /* -serial */
DEV_PARALLEL, /* -parallel */
- DEV_VIRTCON, /* -virtioconsole */
DEV_DEBUGCON, /* -debugcon */
DEV_GDB, /* -gdb, -s */
DEV_SCLP, /* s390 sclp */
@@ -2472,39 +2467,6 @@ static int parallel_parse(const char *devname)
return 0;
}
-static int virtcon_parse(const char *devname)
-{
- QemuOptsList *device = qemu_find_opts("device");
- static int index = 0;
- char label[32];
- QemuOpts *bus_opts, *dev_opts;
-
- if (strcmp(devname, "none") == 0)
- return 0;
- if (index == MAX_VIRTIO_CONSOLES) {
- error_report("too many virtio consoles");
- exit(1);
- }
-
- bus_opts = qemu_opts_create(device, NULL, 0, &error_abort);
- qemu_opt_set(bus_opts, "driver", "virtio-serial", &error_abort);
-
- dev_opts = qemu_opts_create(device, NULL, 0, &error_abort);
- qemu_opt_set(dev_opts, "driver", "virtconsole", &error_abort);
-
- snprintf(label, sizeof(label), "virtcon%d", index);
- virtcon_hds[index] = qemu_chr_new_mux_mon(label, devname);
- if (!virtcon_hds[index]) {
- error_report("could not connect virtio console"
- " to character backend '%s'", devname);
- return -1;
- }
- qemu_opt_set(dev_opts, "chardev", label, &error_abort);
-
- index++;
- return 0;
-}
-
static int debugcon_parse(const char *devname)
{
QemuOpts *opts;
@@ -3546,15 +3508,6 @@ int main(int argc, char **argv, char **envp)
exit(1);
}
break;
- case QEMU_OPTION_virtiocon:
- warn_report("This option is deprecated, "
- "use '-device virtconsole' instead");
- add_device_config(DEV_VIRTCON, optarg);
- default_virtcon = 0;
- if (strncmp(optarg, "mon:", 4) == 0) {
- default_monitor = 0;
- }
- break;
case QEMU_OPTION_parallel:
add_device_config(DEV_PARALLEL, optarg);
default_parallel = 0;
@@ -4171,9 +4124,6 @@ int main(int argc, char **argv, char **envp)
if (!has_defaults || machine_class->no_parallel) {
default_parallel = 0;
}
- if (!has_defaults || !machine_class->use_virtcon) {
- default_virtcon = 0;
- }
if (!has_defaults || machine_class->no_floppy) {
default_floppy = 0;
}
@@ -4206,8 +4156,7 @@ int main(int argc, char **argv, char **envp)
* usage, -nographic is just a no-op in this case.
*/
if (nographic
- && (default_parallel || default_serial
- || default_monitor || default_virtcon)) {
+ && (default_parallel || default_serial || default_monitor)) {
error_report("-nographic cannot be used with -daemonize");
exit(1);
}
@@ -4224,13 +4173,9 @@ int main(int argc, char **argv, char **envp)
add_device_config(DEV_PARALLEL, "null");
if (default_serial && default_monitor) {
add_device_config(DEV_SERIAL, "mon:stdio");
- } else if (default_virtcon && default_monitor) {
- add_device_config(DEV_VIRTCON, "mon:stdio");
} else {
if (default_serial)
add_device_config(DEV_SERIAL, "stdio");
- if (default_virtcon)
- add_device_config(DEV_VIRTCON, "stdio");
if (default_monitor)
monitor_parse("stdio", "readline", false);
}
@@ -4241,8 +4186,6 @@ int main(int argc, char **argv, char **envp)
add_device_config(DEV_PARALLEL, "vc:80Cx24C");
if (default_monitor)
monitor_parse("vc:80Cx24C", "readline", false);
- if (default_virtcon)
- add_device_config(DEV_VIRTCON, "vc:80Cx24C");
}
#if defined(CONFIG_VNC)
@@ -4473,8 +4416,6 @@ int main(int argc, char **argv, char **envp)
exit(1);
if (foreach_device_config(DEV_PARALLEL, parallel_parse) < 0)
exit(1);
- if (foreach_device_config(DEV_VIRTCON, virtcon_parse) < 0)
- exit(1);
if (foreach_device_config(DEV_DEBUGCON, debugcon_parse) < 0)
exit(1);
--
1.8.3.1
5 years, 10 months
[libvirt] [PATCH v3 0/5] add disk driver metadata_cache_size option
by Nikolay Shirokovskiy
As this patch series only works with -blockdev configurations it is better to
be pushed only after -blockdev is supported. Then 'news' and 'xml' patch need
to be updated to have correct libvirt version.
Diff from v2 [1]:
=================
- move caps patch to top
- add news patch
- add _CAPPED to capabilitity name to distinguish from
correspondent qemu capabilitiy
- better option explanation in formatdomain.html
- misc tests/english fixes as suggested
We have come to agreement with John in mailing list to support QEMU versions
which do not let use INT64_MAX as "maximum" value. But this will require
changing qemuBlockStorageSourceGetFormatQcow2Props and a lot of other functions
signature (which was not noticed during conversation). Thus I don't add such
a functionality. Anyway the patch requires -blockdev from QEMU so we could only
support single QEMU 3.0 version.
[1] https://www.redhat.com/archives/libvir-list/2018-November/msg00313.html
Nikolay Shirokovskiy (5):
qemu: caps: add QEMU_CAPS_QCOW2_L2_CACHE_SIZE_CAPPED
xml: add disk driver metadata_cache_size option
qemu: support metadata-cache-size for blockdev
news: add notice for new metadata cache size policy option
DO NOT APPLY: add xml2argv test for metadata_cache_size
docs/formatdomain.html.in | 11 ++++++
docs/news.xml | 11 ++++++
docs/schemas/domaincommon.rng | 11 ++++++
src/conf/domain_conf.c | 17 +++++++++
src/conf/domain_conf.h | 9 +++++
src/qemu/qemu_block.c | 5 ++-
src/qemu/qemu_capabilities.c | 5 +++
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 23 ++++++++++++
src/qemu/qemu_domain.c | 2 ++
src/util/virstoragefile.c | 1 +
src/util/virstoragefile.h | 1 +
.../qemuxml2argvdata/disk-metadata_cache_size.args | 39 ++++++++++++++++++++
.../qemuxml2argvdata/disk-metadata_cache_size.xml | 35 ++++++++++++++++++
tests/qemuxml2argvtest.c | 2 ++
.../disk-metadata_cache_size.xml | 41 ++++++++++++++++++++++
tests/qemuxml2xmltest.c | 2 ++
17 files changed, 215 insertions(+), 1 deletion(-)
create mode 100644 tests/qemuxml2argvdata/disk-metadata_cache_size.args
create mode 100644 tests/qemuxml2argvdata/disk-metadata_cache_size.xml
create mode 100644 tests/qemuxml2xmloutdata/disk-metadata_cache_size.xml
--
1.8.3.1
5 years, 10 months
[libvirt] [PATCH v2] virt-aa-helper: generate rules for gl enabled graphics devices
by Christian Ehrhardt
This adds the virt-aa-helper support for gl enabled graphics devices to
generate rules for the needed rendernode paths.
Example in domain xml:
<graphics type='spice'>
<gl enable='yes' rendernode='/dev/dri/bar'/>
</graphics>
results in:
"/dev/dri/bar" rw,
Special cases are:
- multiple devices with rendernodes -> all are added
- non explicit rendernodes -> follow recently added virHostGetDRMRenderNode
- rendernode without opengl (in egl-headless for example) -> still add
the node
Updates in V2:
- avoid leaking rendernode
- logically group patch hunks
- drop base /dev/dri access
- simplify detection of the need for a default rendernode
- add tests in tests/virt-aa-helper-test
- rebased to recent master
Fixes: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1757085
Signed-off-by: Christian Ehrhardt <christian.ehrhardt(a)canonical.com>
---
src/security/virt-aa-helper.c | 12 ++++++++++++
tests/virt-aa-helper-test | 6 ++++++
2 files changed, 18 insertions(+)
diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c
index 64a425671d..a84dd5a8c9 100644
--- a/src/security/virt-aa-helper.c
+++ b/src/security/virt-aa-helper.c
@@ -1062,6 +1062,18 @@ get_files(vahControl * ctl)
for (i = 0; i < ctl->def->ngraphics; i++) {
virDomainGraphicsDefPtr graphics = ctl->def->graphics[i];
size_t n;
+ const char *rendernode = virDomainGraphicsGetRenderNode(graphics);
+
+ if (rendernode)
+ vah_add_file(&buf, rendernode, "rw");
+ else
+ if (virDomainGraphicsNeedsAutoRenderNode(graphics)) {
+ char * defaultRenderNode = virHostGetDRMRenderNode();
+ if (defaultRenderNode) {
+ vah_add_file(&buf, defaultRenderNode, "rw");
+ VIR_FREE(defaultRenderNode);
+ }
+ }
for (n = 0; n < graphics->nListens; n++) {
virDomainGraphicsListenDef listenObj = graphics->listens[n];
diff --git a/tests/virt-aa-helper-test b/tests/virt-aa-helper-test
index fb400574dc..6e674bfe5c 100755
--- a/tests/virt-aa-helper-test
+++ b/tests/virt-aa-helper-test
@@ -378,6 +378,12 @@ testme "0" "input dev passthrough" "-r -u $valid_uuid" "$test_xml" "$disk2.*rw,$
sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e "s,<memory>524288</memory>,<memory>1048576</memory>,g" -e "s,</devices>,<memory model='nvdimm'><source><path>$disk2</path></source><target><size unit='KiB'>524288</size><node>0</node></target></memory></devices>,g" "$template_xml" > "$test_xml"
testme "0" "nvdimm" "-r -u $valid_uuid" "$test_xml" "$disk2.*rw,$"
+sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e "s,</devices>,<graphics type='egl-headless'><gl rendernode='/dev/dri/testegl1'/></graphics></devices>,g" "$template_xml" > "$test_xml"
+testme "0" "dri egl" "-r -u $valid_uuid" "$test_xml" "/dev/dri/testegl1.*rw,$"
+
+sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e "s,</devices>,<graphics type='spice'><gl enable='yes' rendernode='/dev/dri/testegl2'/></graphics></devices>,g" "$template_xml" > "$test_xml"
+testme "0" "dri spice" "-r -u $valid_uuid" "$test_xml" "/dev/dri/testegl2.*rw,$"
+
testme "0" "help" "-h"
echo "" >$output
--
2.17.1
5 years, 10 months
[libvirt] [PATCH python] rpm spec: remove %{extra_release} from spec
by Daniel P. Berrangé
The %{extra_release} field was previously populated by data from the old
autobuild.sh file but is no longer used.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
Pushed as a trivial patch
libvirt-python.spec.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libvirt-python.spec.in b/libvirt-python.spec.in
index 21dc713..5bcf1eb 100644
--- a/libvirt-python.spec.in
+++ b/libvirt-python.spec.in
@@ -34,7 +34,7 @@
Summary: The libvirt virtualization API python2 binding
Name: libvirt-python
Version: @PY_VERSION@
-Release: 1%{?dist}%{?extra_release}
+Release: 1%{?dist}
Source0: http://libvirt.org/sources/python/%{name}-%{version}.tar.gz
Url: http://libvirt.org
License: LGPLv2+
--
2.20.1
5 years, 10 months
[libvirt] [PATCH 0/4] Couple of apparmor related fixes
by Michal Privoznik
Firstly, the virt-aa-helper was never installed under /usr/lib or
/usr/lib64. Since it's introduction it lives under /usr/libexec and
therefore the profile name should reflect that.
Secondly, the profile misses some binaries we use.
And lastly, some other internal binaries are misplaced in the profile.
Michal Prívozník (4):
apparmor: Fix parthelper, iohelper and virt-aa-helper paths in
profiles
apparmor: Allow libvirt to spawn virt-aa-helper and libvirt_lxc
docs: Fix virt-aa-helper location
apparmor: Rename virt-aa-helper profile
docs/drvqemu.html.in | 2 +-
src/security/Makefile.inc.am | 10 +++++-----
...bvirt.virt-aa-helper => usr.libexec.virt-aa-helper} | 6 +++---
src/security/apparmor/usr.sbin.libvirtd | 6 ++++--
4 files changed, 13 insertions(+), 11 deletions(-)
rename src/security/apparmor/{usr.lib.libvirt.virt-aa-helper => usr.libexec.virt-aa-helper} (90%)
--
2.19.2
5 years, 10 months
[libvirt] [PATCH 00/10] RFC: conf: partially net model enum conversion
by Cole Robinson
This series is base on my virtio-transitional work, since it touches
a lot of the same code:
https://www.redhat.com/archives/libvir-list/2019-January/msg00593.html
This series partially converts the net->model value from a string
to an enum. We wrap the existing ->model string in accessor functions,
rename it to ->modelstr, add a ->model enum, and convert internal
driver usage bit by bit. At the end, all driver code that is acting
on specific network model values is comparing against an enum, not
a string.
This is only partial because of xen/libxl/xm and qemu drivers, which
if they don't know anything particular about the model string will
just place it on the qemu command line/xen config and see what happens.
So basically if I were to pass in
<model type='idontexist'/>
qemu would turn that into
-device idontexist,...
That behavior is untouched by this series. Unwinding it will take
some thought. For starters would be populating the enum with any
qemu/xen network model that a user could realistically have a working
config with. Then maybe tainting the VM if modelstr is used. Then
after some time the final round could be causing domains to fail to
start, but not fail to parse, so they don't disappear on upgrade but
still break in an obvious way that will generate
complaints/bugreports. But we should agree on a plan for it.
Other caveats:
* vz and bhyve drivers are not compile tested
* vmx and virtualbox drivers previously would do a case insensitive
compare on the model value passed in via the user XML. Current
patches don't preserve that. I don't know how much it matters
for these drivers for reading fresh XML vs roundtrip XML from
converted native formats (which _will_ correct the case issue).
If we want to fix this we will need to tolower() the modelstr
value in the XML parser. I think there's a gnulib function for
it but I haven't explored it deeply
Cole Robinson (10):
tests: Add several net model passthrough tests
conf: net: Add wrapper functions for <model> value
conf: net: Rename 'model' to 'modelstr'
conf: net: Add model enum, and netfront value
vz: convert to net model enum
bhyve: convert to net model enum
qemu: Partially convert to net model enum
vmx: convert to net model enum
vbox: Convert to net enum model
conf: Add VIR_DOMAIN_DEF_FEATURE_NET_MODEL_STRING
src/bhyve/bhyve_command.c | 15 +--
src/bhyve/bhyve_parse_command.c | 10 +-
src/conf/domain_conf.c | 105 ++++++++++++++----
src/conf/domain_conf.h | 35 +++++-
src/libvirt_private.syms | 4 +
src/libxl/libxl_conf.c | 8 +-
src/libxl/libxl_domain.c | 1 +
src/qemu/qemu_command.c | 33 +++---
src/qemu/qemu_domain.c | 32 +++---
src/qemu/qemu_domain_address.c | 14 +--
src/qemu/qemu_driver.c | 14 ++-
src/qemu/qemu_hotplug.c | 15 ++-
src/qemu/qemu_parse_command.c | 5 +-
src/security/virt-aa-helper.c | 3 +-
src/vbox/vbox_common.c | 29 +++--
src/vmx/vmx.c | 55 ++++-----
src/vz/vz_driver.c | 7 +-
src/vz/vz_sdk.c | 17 ++-
src/xenconfig/xen_common.c | 31 +++---
src/xenconfig/xen_sxpr.c | 30 ++---
tests/qemuxml2argvdata/net-many-models.args | 39 +++++++
tests/qemuxml2argvdata/net-many-models.xml | 37 ++++++
tests/qemuxml2argvtest.c | 1 +
tests/xlconfigdata/test-net-fakemodel.cfg | 24 ++++
tests/xlconfigdata/test-net-fakemodel.xml | 39 +++++++
tests/xlconfigtest.c | 1 +
.../test-paravirt-net-fakemodel.cfg | 13 +++
.../test-paravirt-net-fakemodel.xml | 40 +++++++
.../test-paravirt-net-modelstr.cfg | 13 +++
tests/xmconfigtest.c | 1 +
.../xml2sexpr-fv-net-many-models.sexpr | 1 +
.../xml2sexpr-fv-net-many-models.xml | 43 +++++++
tests/xml2sexprtest.c | 1 +
33 files changed, 534 insertions(+), 182 deletions(-)
create mode 100644 tests/qemuxml2argvdata/net-many-models.args
create mode 100644 tests/qemuxml2argvdata/net-many-models.xml
create mode 100644 tests/xlconfigdata/test-net-fakemodel.cfg
create mode 100644 tests/xlconfigdata/test-net-fakemodel.xml
create mode 100644 tests/xmconfigdata/test-paravirt-net-fakemodel.cfg
create mode 100644 tests/xmconfigdata/test-paravirt-net-fakemodel.xml
create mode 100644 tests/xmconfigdata/test-paravirt-net-modelstr.cfg
create mode 100644 tests/xml2sexprdata/xml2sexpr-fv-net-many-models.sexpr
create mode 100644 tests/xml2sexprdata/xml2sexpr-fv-net-many-models.xml
--
2.20.1
5 years, 10 months