Devel
Threads by month
- ----- 2026 -----
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- 36 participants
- 40134 discussions
Introduce support for VIR_MIGRATE_PEER2PEER in libvirt migration.
Most of the changes occur at the source and no modifications at
the receiver.
In P2P mode there is only the Perform phase so we must handle the
connection with the destination and actually perform the
migration. libxlDomainPerformP2P implements the connection to the
destination and libxlDoMigrateP2P implements the actual migration
logic with virConnectPtr. In this function we take care of doing
all phases of migration in the destination similar to
virDomainMigrateVersion3Full. We appropriately save the last
error reported in each of the phases to provide proper reporting.
We don't yet support VIR_MIGRATE_TUNNELED and we always use V3
with extensible params, thus it also makes the implementation
simpler.
It is worth noting that the receiver didn't have any changes, and
since it's still the v3 sequence thus it is possible to migrate
from a P2P to non-P2P host.
Signed-off-by: Joao Martins <joao.m.martins(a)oracle.com>
---
Note: v4 series requires the patch
("remote: set VIR_TYPED_PARAM_STRING_OKAY on migration") [0]
to make migration work again, but it's not reviewed yet.
[https://www.redhat.com/archives/libvir-list/2016-February/msg00317.html]
Changes since v3:
- Put keep alive support into a separate patch and do it with
proper configuration.
- Fixed spelling errors on commit message.
Changes since v2:
- Remove Connect Close callback
Changes since v1:
- Move Begin step to libxlDoMigrateP2P to have all 4 steps
together.
- Remove if before VIR_FREE(dom_xml)
---
src/libxl/libxl_driver.c | 13 ++-
src/libxl/libxl_migration.c | 197 ++++++++++++++++++++++++++++++++++++++++++++
src/libxl/libxl_migration.h | 11 +++
3 files changed, 218 insertions(+), 3 deletions(-)
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 2a6c2de..9e3f568 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -5011,6 +5011,7 @@ libxlConnectSupportsFeature(virConnectPtr conn, int feature)
switch (feature) {
case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
case VIR_DRV_FEATURE_MIGRATION_PARAMS:
+ case VIR_DRV_FEATURE_MIGRATION_P2P:
return 1;
default:
return 0;
@@ -5336,9 +5337,15 @@ libxlDomainMigratePerform3Params(virDomainPtr dom,
if (virDomainMigratePerform3ParamsEnsureACL(dom->conn, vm->def) < 0)
goto cleanup;
- if (libxlDomainMigrationPerform(driver, vm, dom_xml, dconnuri,
- uri, dname, flags) < 0)
- goto cleanup;
+ if (flags & VIR_MIGRATE_PEER2PEER) {
+ if (libxlDomainMigrationPerformP2P(driver, vm, dom->conn, dom_xml,
+ dconnuri, uri, dname, flags) < 0)
+ goto cleanup;
+ } else {
+ if (libxlDomainMigrationPerform(driver, vm, dom_xml, dconnuri,
+ uri, dname, flags) < 0)
+ goto cleanup;
+ }
ret = 0;
diff --git a/src/libxl/libxl_migration.c b/src/libxl/libxl_migration.c
index 641bd4e..5993abc 100644
--- a/src/libxl/libxl_migration.c
+++ b/src/libxl/libxl_migration.c
@@ -42,6 +42,7 @@
#include "libxl_conf.h"
#include "libxl_migration.h"
#include "locking/domain_lock.h"
+#include "virtypedparam.h"
#define VIR_FROM_THIS VIR_FROM_LIBXL
@@ -456,6 +457,202 @@ libxlDomainMigrationPrepare(virConnectPtr dconn,
return ret;
}
+/* This function is a simplification of virDomainMigrateVersion3Full
+ * excluding tunnel support and restricting it to migration v3
+ * with params since it was the first to be introduced in libxl.
+ */
+static int
+libxlDoMigrateP2P(libxlDriverPrivatePtr driver,
+ virDomainObjPtr vm,
+ virConnectPtr sconn,
+ const char *xmlin,
+ virConnectPtr dconn,
+ const char *dconnuri ATTRIBUTE_UNUSED,
+ const char *dname,
+ const char *uri,
+ unsigned int flags)
+{
+ virDomainPtr ddomain = NULL;
+ virTypedParameterPtr params = NULL;
+ int nparams = 0;
+ int maxparams = 0;
+ char *uri_out = NULL;
+ char *dom_xml = NULL;
+ unsigned long destflags;
+ bool cancelled = true;
+ virErrorPtr orig_err = NULL;
+ int ret = -1;
+
+ dom_xml = libxlDomainMigrationBegin(sconn, vm, xmlin);
+ if (!dom_xml)
+ goto cleanup;
+
+ if (virTypedParamsAddString(¶ms, &nparams, &maxparams,
+ VIR_MIGRATE_PARAM_DEST_XML, dom_xml) < 0)
+ goto cleanup;
+
+ if (dname &&
+ virTypedParamsAddString(¶ms, &nparams, &maxparams,
+ VIR_MIGRATE_PARAM_DEST_NAME, dname) < 0)
+ goto cleanup;
+
+ if (uri &&
+ virTypedParamsAddString(¶ms, &nparams, &maxparams,
+ VIR_MIGRATE_PARAM_URI, uri) < 0)
+ goto cleanup;
+
+ /* We don't require the destination to have P2P support
+ * as it looks to be normal migration from the receiver perpective.
+ */
+ destflags = flags & ~(VIR_MIGRATE_PEER2PEER);
+
+ VIR_DEBUG("Prepare3");
+ virObjectUnlock(vm);
+ ret = dconn->driver->domainMigratePrepare3Params
+ (dconn, params, nparams, NULL, 0, NULL, NULL, &uri_out, destflags);
+ virObjectLock(vm);
+
+ if (ret == -1)
+ goto cleanup;
+
+ if (uri_out) {
+ if (virTypedParamsReplaceString(¶ms, &nparams,
+ VIR_MIGRATE_PARAM_URI, uri_out) < 0) {
+ orig_err = virSaveLastError();
+ goto finish;
+ }
+ } else {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("domainMigratePrepare3 did not set uri"));
+ goto finish;
+ }
+
+ VIR_DEBUG("Perform3 uri=%s", NULLSTR(uri_out));
+ ret = libxlDomainMigrationPerform(driver, vm, NULL, NULL,
+ uri_out, NULL, flags);
+
+ if (ret < 0)
+ orig_err = virSaveLastError();
+
+ cancelled = (ret < 0);
+
+ finish:
+ VIR_DEBUG("Finish3 ret=%d", ret);
+ if (virTypedParamsGetString(params, nparams,
+ VIR_MIGRATE_PARAM_DEST_NAME, NULL) <= 0 &&
+ virTypedParamsReplaceString(¶ms, &nparams,
+ VIR_MIGRATE_PARAM_DEST_NAME,
+ vm->def->name) < 0) {
+ ddomain = NULL;
+ } else {
+ virObjectUnlock(vm);
+ ddomain = dconn->driver->domainMigrateFinish3Params
+ (dconn, params, nparams, NULL, 0, NULL, NULL,
+ destflags, cancelled);
+ virObjectLock(vm);
+ }
+
+ cancelled = (ddomain == NULL);
+
+ /* If Finish3Params set an error, and we don't have an earlier
+ * one we need to preserve it in case confirm3 overwrites
+ */
+ if (!orig_err)
+ orig_err = virSaveLastError();
+
+ VIR_DEBUG("Confirm3 cancelled=%d vm=%p", cancelled, vm);
+ ret = libxlDomainMigrationConfirm(driver, vm, flags, cancelled);
+
+ if (ret < 0)
+ VIR_WARN("Guest %s probably left in 'paused' state on source",
+ vm->def->name);
+
+ cleanup:
+ if (ddomain) {
+ virObjectUnref(ddomain);
+ ret = 0;
+ } else {
+ ret = -1;
+ }
+
+ if (orig_err) {
+ virSetError(orig_err);
+ virFreeError(orig_err);
+ }
+
+ VIR_FREE(dom_xml);
+ VIR_FREE(uri_out);
+ virTypedParamsFree(params, nparams);
+ return ret;
+}
+
+static int virConnectCredType[] = {
+ VIR_CRED_AUTHNAME,
+ VIR_CRED_PASSPHRASE,
+};
+
+static virConnectAuth virConnectAuthConfig = {
+ .credtype = virConnectCredType,
+ .ncredtype = ARRAY_CARDINALITY(virConnectCredType),
+};
+
+/* On P2P mode there is only the Perform3 phase and we need to handle
+ * the connection with the destination libvirtd and perform the migration.
+ * Here we first tackle the first part of it, and libxlDoMigrationP2P handles
+ * the migration process with an established virConnectPtr to the destination.
+ */
+int
+libxlDomainMigrationPerformP2P(libxlDriverPrivatePtr driver,
+ virDomainObjPtr vm,
+ virConnectPtr sconn,
+ const char *xmlin,
+ const char *dconnuri,
+ const char *uri_str ATTRIBUTE_UNUSED,
+ const char *dname,
+ unsigned int flags)
+{
+ int ret = -1;
+ bool useParams;
+ virConnectPtr dconn = NULL;
+ virErrorPtr orig_err = NULL;
+
+ virObjectUnlock(vm);
+ dconn = virConnectOpenAuth(dconnuri, &virConnectAuthConfig, 0);
+ virObjectLock(vm);
+
+ if (dconn == NULL) {
+ virReportError(VIR_ERR_OPERATION_FAILED,
+ _("Failed to connect to remote libvirt URI %s: %s"),
+ dconnuri, virGetLastErrorMessage());
+ return ret;
+ }
+
+ virObjectUnlock(vm);
+ useParams = VIR_DRV_SUPPORTS_FEATURE(dconn->driver, dconn,
+ VIR_DRV_FEATURE_MIGRATION_PARAMS);
+ virObjectLock(vm);
+
+ if (!useParams) {
+ virReportError(VIR_ERR_OPERATION_FAILED, "%s",
+ _("Destination libvirt does not support migration with extensible parameters"));
+ goto cleanup;
+ }
+
+ ret = libxlDoMigrateP2P(driver, vm, sconn, xmlin, dconn, dconnuri,
+ dname, uri_str, flags);
+
+ cleanup:
+ orig_err = virSaveLastError();
+ virObjectUnlock(vm);
+ virObjectUnref(dconn);
+ virObjectLock(vm);
+ if (orig_err) {
+ virSetError(orig_err);
+ virFreeError(orig_err);
+ }
+ return ret;
+}
+
int
libxlDomainMigrationPerform(libxlDriverPrivatePtr driver,
virDomainObjPtr vm,
diff --git a/src/libxl/libxl_migration.h b/src/libxl/libxl_migration.h
index 20b45d8..0f83bb4 100644
--- a/src/libxl/libxl_migration.h
+++ b/src/libxl/libxl_migration.h
@@ -28,6 +28,7 @@
# define LIBXL_MIGRATION_FLAGS \
(VIR_MIGRATE_LIVE | \
+ VIR_MIGRATE_PEER2PEER | \
VIR_MIGRATE_UNDEFINE_SOURCE | \
VIR_MIGRATE_PAUSED)
@@ -56,6 +57,16 @@ libxlDomainMigrationPrepare(virConnectPtr dconn,
unsigned int flags);
int
+libxlDomainMigrationPerformP2P(libxlDriverPrivatePtr driver,
+ virDomainObjPtr vm,
+ virConnectPtr sconn,
+ const char *dom_xml,
+ const char *dconnuri,
+ const char *uri_str,
+ const char *dname,
+ unsigned int flags);
+
+int
libxlDomainMigrationPerform(libxlDriverPrivatePtr driver,
virDomainObjPtr vm,
const char *dom_xml,
--
2.1.4
2
3
09 Feb '16
The virStringListLength function does not ever modify the passed
string list. It merely counts the items in it. Make sure that we
reflect this bit in the function header.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
This is hugely driven by a compilation error observed after the latest Martin
revert (ea913d185df9). I'm seeing this compilation error:
util/virpolkit.c: In function 'virPolkitCheckAuth':
util/virpolkit.c:93:47: error: passing argument 1 of 'virStringListLength' from incompatible pointer type [-Werror]
virStringListLength(details) / 2,
^
In file included from util/virpolkit.c:33:0:
util/virstring.h:204:8: note: expected 'char **' but argument is of type 'const char **'
size_t virStringListLength(char **strings);
But for some reason, implicit typecast from char ** to const char ** nor const
char * const * is allowed by gcc. I don't really understand why, so if anybody
has some explanation, please do explain.
src/lxc/lxc_native.c | 2 +-
src/storage/storage_driver.c | 2 +-
src/util/virprocess.c | 2 +-
src/util/virstoragefile.c | 2 +-
src/util/virstring.c | 2 +-
src/util/virstring.h | 2 +-
tests/virstringtest.c | 4 ++--
7 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/lxc/lxc_native.c b/src/lxc/lxc_native.c
index 78f9c67..ef92c7d 100644
--- a/src/lxc/lxc_native.c
+++ b/src/lxc/lxc_native.c
@@ -611,7 +611,7 @@ lxcNetworkWalkCallback(const char *name, virConfValuePtr value, void *data)
family = AF_INET6;
ipparts = virStringSplit(value->str, "/", 2);
- if (virStringListLength(ipparts) != 2 ||
+ if (virStringListLength((const char * const *)ipparts) != 2 ||
virSocketAddrParse(&ip->address, ipparts[0], family) < 0 ||
virStrToLong_ui(ipparts[1], NULL, 10, &ip->prefix) < 0) {
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index ed5395b..8ee2840 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -3209,7 +3209,7 @@ virStorageAddISCSIPoolSourceHost(virDomainDiskDefPtr def,
if (!(tokens = virStringSplit(def->src->srcpool->volume, ":", 0)))
goto cleanup;
- if (virStringListLength(tokens) != 4) {
+ if (virStringListLength((const char * const *)tokens) != 4) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("unexpected iscsi volume name '%s'"),
def->src->srcpool->volume);
diff --git a/src/util/virprocess.c b/src/util/virprocess.c
index 277b3bc..c7ffa42 100644
--- a/src/util/virprocess.c
+++ b/src/util/virprocess.c
@@ -965,7 +965,7 @@ int virProcessGetStartTime(pid_t pid,
tokens = virStringSplit(tmp, " ", 0);
- if (virStringListLength(tokens) < 20) {
+ if (virStringListLength((const char * const *)tokens) < 20) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Cannot find start time in %s"),
filename);
diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
index 101070f..5a4e101 100644
--- a/src/util/virstoragefile.c
+++ b/src/util/virstoragefile.c
@@ -1283,7 +1283,7 @@ virStorageFileParseChainIndex(const char *diskTarget,
if (name && diskTarget)
strings = virStringSplit(name, "[", 2);
- if (virStringListLength(strings) != 2)
+ if (virStringListLength((const char * const *) strings) != 2)
goto cleanup;
if (virStrToLong_uip(strings[1], &suffix, 10, &idx) < 0 ||
diff --git a/src/util/virstring.c b/src/util/virstring.c
index fc4f5ba..7ec42aa 100644
--- a/src/util/virstring.c
+++ b/src/util/virstring.c
@@ -765,7 +765,7 @@ virStrndup(char **dest,
}
-size_t virStringListLength(char **strings)
+size_t virStringListLength(const char * const *strings)
{
size_t i = 0;
diff --git a/src/util/virstring.h b/src/util/virstring.h
index cdf1058..16ed3b2 100644
--- a/src/util/virstring.h
+++ b/src/util/virstring.h
@@ -201,7 +201,7 @@ int virVasprintfInternal(bool report, int domcode, const char *filename,
# define VIR_STRNDUP_QUIET(dst, src, n) virStrndup(&(dst), src, n, false, \
0, NULL, NULL, 0)
-size_t virStringListLength(char **strings);
+size_t virStringListLength(const char * const *strings);
/**
* virVasprintf
diff --git a/tests/virstringtest.c b/tests/virstringtest.c
index 38d0126..7a1dcfd 100644
--- a/tests/virstringtest.c
+++ b/tests/virstringtest.c
@@ -336,10 +336,10 @@ testStringSearch(const void *opaque)
goto cleanup;
}
- if (virStringListLength(matches) != nmatches) {
+ if (virStringListLength((const char * const *)matches) != nmatches) {
fprintf(stderr, "expected %zu matches on %s but got %zd matches\n",
data->expectNMatches, data->str,
- virStringListLength(matches));
+ virStringListLength((const char * const *)matches));
goto cleanup;
}
--
2.4.10
3
2
09 Feb '16
Commit 8cd1d54 ("util: Export remoteSerializeTypedParameters
internally via util") consolidates both daemon and remote
driver typed param serialization functions. Though as is
no flags are passed which lets virTypedParamsSerialize to
ignore all strings (to be sent), thus leading to fail
migration on drivers on Prepare phase, as already reported
by the Xen test CI[0] with:
error: internal error: no domain XML passed
This patch proposes setting VIR_TYPED_PARAM_STRING_OKAY
to avoid leading such failures.
[0]
http://lists.xenproject.org/archives/html/xen-devel/2016-02/msg01012.html
Signed-off-by: Joao Martins <joao.m.martins(a)oracle.com>
---
src/remote/remote_driver.c | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index 58787cd..7cf61cf 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -6886,7 +6886,8 @@ remoteDomainMigrateBegin3Params(virDomainPtr domain,
if (virTypedParamsSerialize(params, nparams,
(virTypedParameterRemotePtr *) &args.params.params_val,
- &args.params.params_len, 0) < 0) {
+ &args.params.params_len,
+ VIR_TYPED_PARAM_STRING_OKAY) < 0) {
xdr_free((xdrproc_t) xdr_remote_domain_migrate_begin3_params_args,
(char *) &args);
goto cleanup;
@@ -6953,7 +6954,8 @@ remoteDomainMigratePrepare3Params(virConnectPtr dconn,
if (virTypedParamsSerialize(params, nparams,
(virTypedParameterRemotePtr *) &args.params.params_val,
- &args.params.params_len, 0) < 0) {
+ &args.params.params_len,
+ VIR_TYPED_PARAM_STRING_OKAY) < 0) {
xdr_free((xdrproc_t) xdr_remote_domain_migrate_prepare3_params_args,
(char *) &args);
goto cleanup;
@@ -7040,7 +7042,8 @@ remoteDomainMigratePrepareTunnel3Params(virConnectPtr dconn,
if (virTypedParamsSerialize(params, nparams,
(virTypedParameterRemotePtr *) &args.params.params_val,
- &args.params.params_len, 0) < 0) {
+ &args.params.params_len,
+ VIR_TYPED_PARAM_STRING_OKAY) < 0) {
xdr_free((xdrproc_t) xdr_remote_domain_migrate_prepare_tunnel3_params_args,
(char *) &args);
goto cleanup;
@@ -7129,7 +7132,8 @@ remoteDomainMigratePerform3Params(virDomainPtr dom,
if (virTypedParamsSerialize(params, nparams,
(virTypedParameterRemotePtr *) &args.params.params_val,
- &args.params.params_len, 0) < 0) {
+ &args.params.params_len,
+ VIR_TYPED_PARAM_STRING_OKAY) < 0) {
xdr_free((xdrproc_t) xdr_remote_domain_migrate_perform3_params_args,
(char *) &args);
goto cleanup;
@@ -7201,7 +7205,8 @@ remoteDomainMigrateFinish3Params(virConnectPtr dconn,
if (virTypedParamsSerialize(params, nparams,
(virTypedParameterRemotePtr *) &args.params.params_val,
- &args.params.params_len, 0) < 0) {
+ &args.params.params_len,
+ VIR_TYPED_PARAM_STRING_OKAY) < 0) {
xdr_free((xdrproc_t) xdr_remote_domain_migrate_finish3_params_args,
(char *) &args);
goto cleanup;
@@ -7275,7 +7280,8 @@ remoteDomainMigrateConfirm3Params(virDomainPtr domain,
if (virTypedParamsSerialize(params, nparams,
(virTypedParameterRemotePtr *) &args.params.params_val,
- &args.params.params_len, 0) < 0) {
+ &args.params.params_len,
+ VIR_TYPED_PARAM_STRING_OKAY) < 0) {
xdr_free((xdrproc_t) xdr_remote_domain_migrate_confirm3_params_args,
(char *) &args);
goto cleanup;
--
2.1.4
2
2
Dear list,
I've noticed a failed build on CentOS-6 after some commits. Problem was
that old gcc is not wise enough and produces a false positive. I've
proposed a patch for that [1] but honestly, neither am I - like Peter -
very fond of this approach. We should not try to fix a good code because
of some spurious warnings. Moreover if they happen on a system that is
considered stable and thus nobody should run recent libvirt on it.
In RHEL-6/CentOS-6 there's libvirt-0.10.2 which is 3.5 years old now.
I'm starting this thread so that the decision and discussion is clear
and not buried under discussion to the patch.
If we happen to stop caring we probably should stop our CentOS-6 build
in jenkins too [2].
Michal
1: https://www.redhat.com/archives/libvir-list/2016-February/msg00407.html
2:
https://ci.centos.org/view/libvirt-project/job/libvirt-daemon-build/systems…
5
11
[libvirt] [PATCH 0/9] tests: qemu: unconditionally enable QEMU_CAPS_DEVICE
by Cole Robinson 09 Feb '16
by Cole Robinson 09 Feb '16
09 Feb '16
Okay, my recent patch series' are kinda all over the place. I'm tableing
the src/qemu/ QEMU_CAPS_DEVICE bits for now. This is just the test
suite changes, which I need as a basis for other patches anyways.
This series does two main things: it conditionally enables QEMU_CAPS_DEVICE
in the test suite (since that's all we support nowadays), and it
unconditionally calls qemuDomainAssignAddresses for qemuxml2xml testing,
since that's the only realistic XML parsing scenario in the qemu driver.
This causes a lot of test output churn, so there's some other relevant
bits mixed in:
* An improvement to VIR_TEST_REGENERATE_OUTPUT
* Separating qemuargv2xml test output from qemuxml2argv, since the
latter's output churn will massively break the former.
* More work to wire up qemuxml2xml test cases to allow passing in
QEMU_CAPS_* lists, similar to qemuargv2xml, since
qemuDomainAssignAddresses has many code paths dependent on QEMU_CAPS
* Have qemuxml2xml always use a separate output file. Martin commented
on this here:
https://www.redhat.com/archives/libvir-list/2016-January/msg01041.html
Right now most of those tests expect the output to match the input, and
have it baked into the test framework. In order to maintain that paradigm,
we would either have to update a large chunk of qemuxml2argv input data to
contain static PCI addressing, or do a fine grained auditing of all the
test cases to decide which ones we should be testing for different output
vs ensure the same output.
In my response to the above mail, I layed out my opinion that the
qemuxml2xml tests are overloaded and it needs a much larger scale cleanup
to be more practical. In the interim I think this change is in the right
direction, since at least it's giving us XML output testing of qemu's
specific address assignment functionality, which is always used in practice.
Long term we should separate the generic XML testing from the qemu XML
testing, and for the generic XML testing it likely makes sense to have
many tests with matching input and output, so maybe we reintroduce
that paradigm for genericxml2xml.
Note most of these patches have been on the list for over 2 weeks with
no review and rebasing them is conflict prone so I appreciate any timely
review. Thanks in advance
Cole Robinson (9):
tests: Run test-wrap-argv with REGENERATE_OUTPUT
tests: qemuxml2xml: Always use different output file
tests: qemuargv2xml: separate from qemuxml2argv data
tests: qemuxml2argv: remove some QEMU_CAPS_DEVICE problem cases
tests: Unconditionally enable QEMU_CAPS_DEVICE
tests: qemuxml2xml: Allow test cases to pass in qemuCaps
tests: utils: Add PreFormat callback for CompareXML2XML helper
tests: qemuxml2xml: assign device addresses
tests: qemu: More aarch64 virtio and pci tests
tests/Makefile.am | 1 +
tests/bhyvexml2xmltest.c | 3 +-
tests/domainschematest | 2 +-
tests/genericxml2xmltest.c | 3 +-
tests/lxcxml2xmltest.c | 3 +-
.../qemuargv2xmldata/qemuargv2xml-boot-cdrom.args | 22 +
tests/qemuargv2xmldata/qemuargv2xml-boot-cdrom.xml | 31 ++
.../qemuargv2xmldata/qemuargv2xml-boot-floppy.args | 23 +
.../qemuargv2xmldata/qemuargv2xml-boot-floppy.xml | 37 ++
.../qemuargv2xml-boot-network.args | 22 +
.../qemuargv2xmldata/qemuargv2xml-boot-network.xml | 30 ++
.../qemuargv2xml-clock-localtime.args | 23 +
.../qemuargv2xml-clock-localtime.xml | 30 ++
.../qemuargv2xml-clock-utc.args} | 5 +-
tests/qemuargv2xmldata/qemuargv2xml-clock-utc.xml | 30 ++
.../qemuargv2xml-console-compat.args | 22 +
.../qemuargv2xml-console-compat.xml | 36 ++
.../qemuargv2xml-disk-cdrom-empty.args | 23 +
.../qemuargv2xml-disk-cdrom-empty.xml | 36 ++
.../qemuargv2xmldata/qemuargv2xml-disk-cdrom.args | 23 +
tests/qemuargv2xmldata/qemuargv2xml-disk-cdrom.xml | 37 ++
.../qemuargv2xml-disk-drive-boot-cdrom.args | 23 +
.../qemuargv2xml-disk-drive-boot-cdrom.xml | 37 ++
.../qemuargv2xml-disk-drive-boot-disk.args | 23 +
.../qemuargv2xml-disk-drive-boot-disk.xml | 37 ++
.../qemuargv2xml-disk-drive-cache-directsync.args | 24 +
.../qemuargv2xml-disk-drive-cache-directsync.xml | 37 ++
.../qemuargv2xml-disk-drive-cache-unsafe.args | 23 +
.../qemuargv2xml-disk-drive-cache-unsafe.xml | 37 ++
.../qemuargv2xml-disk-drive-cache-v2-none.args | 23 +
.../qemuargv2xml-disk-drive-cache-v2-none.xml | 37 ++
.../qemuargv2xml-disk-drive-cache-v2-wb.args | 24 +
.../qemuargv2xml-disk-drive-cache-v2-wb.xml | 37 ++
.../qemuargv2xml-disk-drive-cache-v2-wt.args | 24 +
.../qemuargv2xml-disk-drive-cache-v2-wt.xml | 37 ++
...uargv2xml-disk-drive-error-policy-enospace.args | 24 +
...muargv2xml-disk-drive-error-policy-enospace.xml | 37 ++
.../qemuargv2xml-disk-drive-error-policy-stop.args | 24 +
.../qemuargv2xml-disk-drive-error-policy-stop.xml | 37 ++
...ml-disk-drive-error-policy-wreport-rignore.args | 24 +
...xml-disk-drive-error-policy-wreport-rignore.xml | 37 ++
.../qemuargv2xml-disk-drive-fmt-qcow.args | 23 +
.../qemuargv2xml-disk-drive-fmt-qcow.xml | 37 ++
.../qemuargv2xml-disk-drive-network-gluster.args | 24 +
.../qemuargv2xml-disk-drive-network-gluster.xml | 37 ++
...qemuargv2xml-disk-drive-network-iscsi-auth.args | 25 +
.../qemuargv2xml-disk-drive-network-iscsi-auth.xml | 40 ++
.../qemuargv2xml-disk-drive-network-iscsi.args | 25 +
.../qemuargv2xml-disk-drive-network-iscsi.xml | 37 ++
...qemuargv2xml-disk-drive-network-nbd-export.args | 23 +
.../qemuargv2xml-disk-drive-network-nbd-export.xml | 37 ++
...rgv2xml-disk-drive-network-nbd-ipv6-export.args | 23 +
...argv2xml-disk-drive-network-nbd-ipv6-export.xml | 37 ++
.../qemuargv2xml-disk-drive-network-nbd-ipv6.args | 23 +
.../qemuargv2xml-disk-drive-network-nbd-ipv6.xml | 37 ++
.../qemuargv2xml-disk-drive-network-nbd-unix.args | 23 +
.../qemuargv2xml-disk-drive-network-nbd-unix.xml | 37 ++
.../qemuargv2xml-disk-drive-network-nbd.args | 23 +
.../qemuargv2xml-disk-drive-network-nbd.xml | 37 ++
.../qemuargv2xml-disk-drive-network-rbd-auth.args | 26 +
.../qemuargv2xml-disk-drive-network-rbd-auth.xml | 42 ++
...muargv2xml-disk-drive-network-rbd-ceph-env.args | 25 +
...emuargv2xml-disk-drive-network-rbd-ceph-env.xml | 39 ++
.../qemuargv2xml-disk-drive-network-rbd-ipv6.args | 25 +
.../qemuargv2xml-disk-drive-network-rbd-ipv6.xml | 40 ++
.../qemuargv2xml-disk-drive-network-rbd.args | 29 +
.../qemuargv2xml-disk-drive-network-rbd.xml | 64 +++
.../qemuargv2xml-disk-drive-network-sheepdog.args | 23 +
.../qemuargv2xml-disk-drive-network-sheepdog.xml | 37 ++
.../qemuargv2xmldata/qemuargv2xml-disk-floppy.args | 24 +
.../qemuargv2xmldata/qemuargv2xml-disk-floppy.xml | 43 ++
tests/qemuargv2xmldata/qemuargv2xml-disk-many.args | 25 +
tests/qemuargv2xmldata/qemuargv2xml-disk-many.xml | 48 ++
.../qemuargv2xml-disk-usb.args} | 0
.../qemuargv2xml-disk-usb.xml} | 0
.../qemuargv2xmldata/qemuargv2xml-disk-virtio.args | 25 +
.../qemuargv2xml-disk-virtio.xml} | 6 +-
.../qemuargv2xmldata/qemuargv2xml-disk-xenvbd.args | 25 +
.../qemuargv2xmldata/qemuargv2xml-disk-xenvbd.xml | 47 ++
.../qemuargv2xml-graphics-sdl-fullscreen.args | 25 +
.../qemuargv2xml-graphics-sdl-fullscreen.xml | 34 ++
.../qemuargv2xml-graphics-sdl.args | 24 +
.../qemuargv2xmldata/qemuargv2xml-graphics-sdl.xml | 34 ++
.../qemuargv2xml-graphics-vnc-policy.args | 23 +
.../qemuargv2xml-graphics-vnc-policy.xml | 36 ++
.../qemuargv2xml-graphics-vnc-sasl.args | 24 +
.../qemuargv2xml-graphics-vnc-sasl.xml | 36 ++
.../qemuargv2xml-graphics-vnc-socket.args | 23 +
.../qemuargv2xml-graphics-vnc-socket.xml | 34 ++
.../qemuargv2xml-graphics-vnc-tls.args | 24 +
.../qemuargv2xml-graphics-vnc-tls.xml | 36 ++
.../qemuargv2xml-graphics-vnc-websocket.args | 22 +
.../qemuargv2xml-graphics-vnc-websocket.xml | 29 +
.../qemuargv2xml-graphics-vnc.args | 23 +
.../qemuargv2xmldata/qemuargv2xml-graphics-vnc.xml | 36 ++
.../qemuargv2xml-hostdev-pci-address.args | 23 +
.../qemuargv2xml-hostdev-pci-address.xml | 35 ++
.../qemuargv2xml-hostdev-usb-address.args | 23 +
.../qemuargv2xml-hostdev-usb-address.xml | 35 ++
.../qemuargv2xml-hyperv-panic.args | 21 +
.../qemuargv2xmldata/qemuargv2xml-hyperv-panic.xml | 27 +
tests/qemuargv2xmldata/qemuargv2xml-hyperv.args | 21 +
tests/qemuargv2xmldata/qemuargv2xml-hyperv.xml | 31 ++
.../qemuargv2xml-input-usbmouse.args | 23 +
.../qemuargv2xml-input-usbmouse.xml | 31 ++
.../qemuargv2xml-input-usbtablet.args | 23 +
.../qemuargv2xml-input-usbtablet.xml | 31 ++
.../qemuargv2xml-kvm-features.args | 21 +
.../qemuargv2xmldata/qemuargv2xml-kvm-features.xml | 29 +
tests/qemuargv2xmldata/qemuargv2xml-kvmclock.args | 22 +
tests/qemuargv2xmldata/qemuargv2xml-kvmclock.xml | 28 +
.../qemuargv2xml-machine-aeskeywrap-off-argv.args | 20 +
.../qemuargv2xml-machine-aeskeywrap-off-argv.xml | 27 +
.../qemuargv2xml-machine-aeskeywrap-on-argv.args | 20 +
.../qemuargv2xml-machine-aeskeywrap-on-argv.xml | 27 +
.../qemuargv2xml-machine-core-off.args | 22 +
.../qemuargv2xml-machine-core-off.xml | 30 ++
.../qemuargv2xml-machine-core-on.args | 22 +
.../qemuargv2xml-machine-core-on.xml | 30 ++
.../qemuargv2xml-machine-deakeywrap-off-argv.args | 20 +
.../qemuargv2xml-machine-deakeywrap-off-argv.xml | 27 +
.../qemuargv2xml-machine-deakeywrap-on-argv.args | 20 +
.../qemuargv2xml-machine-deakeywrap-on-argv.xml | 27 +
.../qemuargv2xml-machine-keywrap-none-argv.args | 20 +
.../qemuargv2xml-machine-keywrap-none-argv.xml} | 13 +-
tests/qemuargv2xmldata/qemuargv2xml-migrate.args | 23 +
tests/qemuargv2xmldata/qemuargv2xml-migrate.xml | 30 ++
tests/qemuargv2xmldata/qemuargv2xml-misc-acpi.args | 21 +
tests/qemuargv2xmldata/qemuargv2xml-misc-acpi.xml | 33 ++
.../qemuargv2xml-misc-disable-s3.args | 23 +
.../qemuargv2xml-misc-disable-s3.xml | 33 ++
.../qemuargv2xml-misc-disable-suspends.args | 24 +
.../qemuargv2xml-misc-disable-suspends.xml | 34 ++
.../qemuargv2xml-misc-enable-s4.args | 23 +
.../qemuargv2xml-misc-enable-s4.xml | 33 ++
.../qemuargv2xml-misc-no-reboot.args | 23 +
.../qemuargv2xml-misc-no-reboot.xml | 30 ++
tests/qemuargv2xmldata/qemuargv2xml-misc-uuid.args | 21 +
tests/qemuargv2xmldata/qemuargv2xml-misc-uuid.xml | 33 ++
.../qemuargv2xml-net-eth-ifname.args | 23 +
.../qemuargv2xml-net-eth-ifname.xml | 36 ++
tests/qemuargv2xmldata/qemuargv2xml-net-eth.args | 23 +
tests/qemuargv2xmldata/qemuargv2xml-net-eth.xml | 35 ++
tests/qemuargv2xmldata/qemuargv2xml-net-user.args | 23 +
tests/qemuargv2xmldata/qemuargv2xml-net-user.xml | 34 ++
.../qemuargv2xmldata/qemuargv2xml-net-virtio.args | 23 +
tests/qemuargv2xmldata/qemuargv2xml-net-virtio.xml | 34 ++
.../qemuargv2xml-nographics-vga.args | 23 +
.../qemuargv2xml-nographics-vga.xml | 30 ++
.../qemuargv2xml-nosharepages.args | 22 +
.../qemuargv2xmldata/qemuargv2xml-nosharepages.xml | 33 ++
.../qemuargv2xml-parallel-tcp.args | 22 +
.../qemuargv2xmldata/qemuargv2xml-parallel-tcp.xml | 35 ++
.../qemuargv2xml-pseries-disk.args | 18 +
.../qemuargv2xmldata/qemuargv2xml-pseries-disk.xml | 42 ++
.../qemuargv2xml-pseries-nvram.args | 22 +
.../qemuargv2xml-pseries-nvram.xml | 25 +
.../qemuargv2xml-qemu-ns-no-env.args | 23 +
.../qemuargv2xml-qemu-ns-no-env.xml | 34 ++
.../qemuargv2xml-reboot-timeout-disabled.args | 21 +
.../qemuargv2xml-reboot-timeout-disabled.xml | 24 +
.../qemuargv2xml-reboot-timeout-enabled.args | 21 +
.../qemuargv2xml-reboot-timeout-enabled.xml | 24 +
.../qemuargv2xmldata/qemuargv2xml-restore-v2.args | 23 +
tests/qemuargv2xmldata/qemuargv2xml-restore-v2.xml | 30 ++
.../qemuargv2xmldata/qemuargv2xml-serial-dev.args | 22 +
tests/qemuargv2xmldata/qemuargv2xml-serial-dev.xml | 38 ++
.../qemuargv2xmldata/qemuargv2xml-serial-file.args | 22 +
.../qemuargv2xmldata/qemuargv2xml-serial-file.xml | 38 ++
.../qemuargv2xmldata/qemuargv2xml-serial-many.args | 23 +
.../qemuargv2xmldata/qemuargv2xml-serial-many.xml | 40 ++
.../qemuargv2xmldata/qemuargv2xml-serial-pty.args | 22 +
tests/qemuargv2xmldata/qemuargv2xml-serial-pty.xml | 36 ++
.../qemuargv2xml-serial-tcp-telnet.args | 22 +
.../qemuargv2xml-serial-tcp-telnet.xml | 40 ++
.../qemuargv2xmldata/qemuargv2xml-serial-tcp.args | 22 +
tests/qemuargv2xmldata/qemuargv2xml-serial-tcp.xml | 40 ++
.../qemuargv2xmldata/qemuargv2xml-serial-udp.args | 23 +
tests/qemuargv2xmldata/qemuargv2xml-serial-udp.xml | 44 ++
.../qemuargv2xmldata/qemuargv2xml-serial-unix.args | 22 +
.../qemuargv2xmldata/qemuargv2xml-serial-unix.xml | 38 ++
tests/qemuargv2xmldata/qemuargv2xml-serial-vc.args | 22 +
tests/qemuargv2xmldata/qemuargv2xml-serial-vc.xml | 36 ++
tests/qemuargv2xmldata/qemuargv2xml-smp.args | 22 +
tests/qemuargv2xmldata/qemuargv2xml-smp.xml | 33 ++
tests/qemuargv2xmldata/qemuargv2xml-sound.args | 23 +
tests/qemuargv2xmldata/qemuargv2xml-sound.xml | 34 ++
tests/qemuargv2xmldata/qemuargv2xml-watchdog.args | 24 +
tests/qemuargv2xmldata/qemuargv2xml-watchdog.xml | 31 ++
tests/qemuargv2xmltest.c | 4 +-
...> qemuxml2argv-aarch64-virtio-pci-default.args} | 0
...=> qemuxml2argv-aarch64-virtio-pci-default.xml} | 0
...2argv-aarch64-virtio-pci-manual-addresses.args} | 0
...l2argv-aarch64-virtio-pci-manual-addresses.xml} | 0
.../qemuxml2argv-blkiotune-device.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-blkiotune.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-boot-cdrom.args | 7 +-
.../qemuxml2argvdata/qemuxml2argv-boot-floppy.args | 10 +-
.../qemuxml2argv-boot-menu-disable.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-boot-multi.args | 8 +-
.../qemuxml2argv-boot-network.args | 7 +-
.../qemuxml2argv-clock-catchup.args | 8 +-
.../qemuxml2argv-clock-france.args | 8 +-
.../qemuxml2argv-clock-hpet-off.args | 8 +-
...muxml2argv-clock-localtime-basis-localtime.args | 8 +-
.../qemuxml2argv-clock-localtime.args | 7 +-
.../qemuxml2argv-clock-timer-hyperv-rtc.args | 5 +-
tests/qemuxml2argvdata/qemuxml2argv-clock-utc.args | 8 +-
.../qemuxml2argv-clock-variable.args | 8 +-
.../qemuxml2argv-console-compat-auto.args | 7 +-
.../qemuxml2argv-console-compat.args | 8 +-
.../qemuxml2argv-cpu-Haswell-noTSX.args | 5 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-Haswell.args | 5 +-
.../qemuxml2argv-cpu-Haswell2.args | 5 +-
.../qemuxml2argv-cpu-Haswell3.args | 5 +-
.../qemuxml2argv-cpu-eoi-disabled.args | 5 +-
.../qemuxml2argv-cpu-eoi-enabled.args | 5 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-exact1.args | 5 +-
.../qemuxml2argv-cpu-exact2-nofallback.args | 5 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-exact2.args | 5 +-
.../qemuxml2argv-cpu-fallback.args | 5 +-
.../qemuxml2argv-cpu-host-kvmclock.args | 5 +-
.../qemuxml2argv-cpu-host-model-fallback.args | 5 +-
.../qemuxml2argv-cpu-host-model-vendor.args | 5 +-
.../qemuxml2argv-cpu-host-model.args | 5 +-
...qemuxml2argv-cpu-host-passthrough-features.args | 8 +-
.../qemuxml2argv-cpu-host-passthrough.args | 5 +-
.../qemuxml2argv-cpu-kvmclock.args | 5 +-
.../qemuxml2argv-cpu-minimum1.args | 5 +-
.../qemuxml2argv-cpu-minimum2.args | 5 +-
.../qemuxml2argv-cpu-numa-disjoint.args | 5 +-
.../qemuxml2argv-cpu-numa-no-memory-element.args | 5 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa1.args | 5 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa2.args | 5 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-strict1.args | 5 +-
.../qemuxml2argv-cpu-topology1.args | 5 +-
.../qemuxml2argv-cpu-topology2.args | 5 +-
.../qemuxml2argv-cpu-topology3.args | 5 +-
.../qemuxml2argv-cputune-numatune.args | 7 +-
.../qemuxml2argv-cputune-numatune.xml | 12 +-
.../qemuxml2argv-cputune-zero-shares.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-cputune.args | 8 +-
.../qemuxml2argv-default-kvm-host-arch.args | 5 +-
.../qemuxml2argv-default-qemu-host-arch.args | 5 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args | 15 +-
.../qemuxml2argv-disk-cdrom-empty.args | 10 +-
...qemuxml2argv-disk-cdrom-tray-no-device-cap.args | 11 +-
.../qemuxml2argvdata/qemuxml2argv-disk-cdrom.args | 10 +-
.../qemuxml2argv-disk-drive-boot-cdrom.args | 11 +-
.../qemuxml2argv-disk-drive-boot-disk.args | 11 +-
.../qemuxml2argv-disk-drive-cache-directsync.args | 11 +-
.../qemuxml2argv-disk-drive-cache-unsafe.args | 12 +-
.../qemuxml2argv-disk-drive-cache-v2-none.args | 12 +-
.../qemuxml2argv-disk-drive-cache-v2-wb.args | 11 +-
.../qemuxml2argv-disk-drive-cache-v2-wt.args | 11 +-
.../qemuxml2argv-disk-drive-copy-on-read.args | 8 +-
...uxml2argv-disk-drive-error-policy-enospace.args | 13 +-
.../qemuxml2argv-disk-drive-error-policy-stop.args | 13 +-
...gv-disk-drive-error-policy-wreport-rignore.args | 13 +-
.../qemuxml2argv-disk-drive-fat.args | 8 +-
.../qemuxml2argv-disk-drive-fmt-qcow.args | 11 +-
.../qemuxml2argv-disk-drive-network-gluster.args | 13 +-
...qemuxml2argv-disk-drive-network-iscsi-auth.args | 12 +-
.../qemuxml2argv-disk-drive-network-iscsi.args | 14 +-
...qemuxml2argv-disk-drive-network-nbd-export.args | 12 +-
...ml2argv-disk-drive-network-nbd-ipv6-export.args | 11 +-
.../qemuxml2argv-disk-drive-network-nbd-ipv6.args | 11 +-
.../qemuxml2argv-disk-drive-network-nbd-unix.args | 12 +-
.../qemuxml2argv-disk-drive-network-nbd.args | 11 +-
.../qemuxml2argv-disk-drive-network-rbd-auth.args | 11 +-
.../qemuxml2argv-disk-drive-network-rbd-ipv6.args | 11 +-
.../qemuxml2argv-disk-drive-network-rbd.args | 26 +-
.../qemuxml2argv-disk-drive-network-sheepdog.args | 12 +-
...qemuxml2argv-disk-drive-readonly-no-device.args | 13 +-
.../qemuxml2argv-disk-drive-shared.args | 12 +-
...emuxml2argv-disk-floppy-tray-no-device-cap.args | 14 +-
.../qemuxml2argvdata/qemuxml2argv-disk-floppy.args | 13 +-
.../qemuxml2argv-disk-geometry.args | 10 +-
.../qemuxml2argvdata/qemuxml2argv-disk-iscsi.args | 7 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-many.args | 16 +-
.../qemuxml2argv-disk-snapshot.args | 17 +-
.../qemuxml2argv-disk-usb-nosupport.xml | 35 ++
.../qemuxml2argvdata/qemuxml2argv-disk-virtio.args | 19 +-
.../qemuxml2argvdata/qemuxml2argv-disk-xenvbd.args | 13 +-
.../qemuxml2argv-eoi-disabled.args | 5 +-
.../qemuxml2argvdata/qemuxml2argv-eoi-enabled.args | 5 +-
.../qemuxml2argv-fips-enabled.args | 8 +-
.../qemuxml2argv-floppy-drive-fat.args | 8 +-
.../qemuxml2argv-graphics-sdl-fullscreen.args | 7 +-
.../qemuxml2argv-graphics-sdl.args | 7 +-
.../qemuxml2argv-graphics-vnc-policy.args | 7 +-
.../qemuxml2argv-graphics-vnc-sasl.args | 7 +-
.../qemuxml2argv-graphics-vnc-socket.args | 7 +-
.../qemuxml2argv-graphics-vnc-tls.args | 7 +-
.../qemuxml2argv-graphics-vnc-websocket.args | 4 +-
.../qemuxml2argv-graphics-vnc.args | 7 +-
.../qemuxml2argv-hostdev-pci-address.args | 9 +-
.../qemuxml2argv-hostdev-usb-address.args | 9 +-
.../qemuxml2argv-hugepages-pages.args | 8 +-
.../qemuxml2argv-hugepages-pages2.args | 8 +-
.../qemuxml2argv-hugepages-pages3.args | 8 +-
.../qemuxml2argv-hugepages-pages5.args | 8 +-
.../qemuxml2argv-hugepages-pages6.args | 8 +-
.../qemuxml2argv-hugepages-shared.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-hugepages.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-hyperv-off.args | 5 +-
.../qemuxml2argv-hyperv-panic.args | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-hyperv.args | 6 +-
.../qemuxml2argv-input-usbmouse.args | 9 +-
.../qemuxml2argv-input-usbtablet.args | 9 +-
.../qemuxml2argv-iothreads-ids-partial.args | 7 +-
.../qemuxml2argv-iothreads-ids.args | 7 +-
tests/qemuxml2argvdata/qemuxml2argv-iothreads.args | 7 +-
.../qemuxml2argv-kvm-features-off.args | 5 +-
.../qemuxml2argv-kvm-features.args | 6 +-
.../qemuxml2argv-kvm-pit-delay.args | 8 +-
.../qemuxml2argv-kvm-pit-device.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-kvm.args | 6 +-
.../qemuxml2argv-kvmclock+eoi-disabled.args | 5 +-
tests/qemuxml2argvdata/qemuxml2argv-kvmclock.args | 6 +-
.../qemuxml2argv-machine-aliases1.args | 8 +-
.../qemuxml2argv-machine-aliases2.args | 8 +-
.../qemuxml2argv-machine-core-off.args | 7 +-
.../qemuxml2argv-machine-core-on.args | 7 +-
.../qemuxml2argv-machine-usb-opt.args | 8 +-
.../qemuxml2argv-machine-vmport-opt.args | 8 +-
.../qemuxml2argv-memory-hotplug.args | 8 +-
.../qemuxml2argv-memtune-unlimited.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-memtune.args | 8 +-
.../qemuxml2argv-migrate-numa-unaligned.args | 7 +-
tests/qemuxml2argvdata/qemuxml2argv-migrate.args | 7 +-
.../qemuxml2argv-minimal-msg-timestamp.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-minimal.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.args | 7 +-
.../qemuxml2argv-misc-disable-s3.args | 7 +-
.../qemuxml2argv-misc-disable-suspends.args | 7 +-
.../qemuxml2argv-misc-enable-s4.args | 7 +-
.../qemuxml2argv-misc-no-reboot.args | 7 +-
tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.args | 7 +-
tests/qemuxml2argvdata/qemuxml2argv-mlock-off.args | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-mlock-on.args | 6 +-
.../qemuxml2argv-mlock-unsupported.args | 6 +-
.../qemuxml2argvdata/qemuxml2argv-net-client.args | 9 +-
.../qemuxml2argv-net-eth-ifname.args | 10 +-
.../qemuxml2argv-net-eth-names.args | 11 +-
tests/qemuxml2argvdata/qemuxml2argv-net-eth.args | 10 +-
tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args | 9 +-
.../qemuxml2argvdata/qemuxml2argv-net-server.args | 9 +-
tests/qemuxml2argvdata/qemuxml2argv-net-udp.args | 9 +-
tests/qemuxml2argvdata/qemuxml2argv-net-user.args | 10 +-
.../qemuxml2argvdata/qemuxml2argv-net-virtio.args | 10 +-
.../qemuxml2argv-nographics-vga.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-nographics.args | 8 +-
.../qemuxml2argv-nosharepages.args | 7 +-
...qemuxml2argv-numad-auto-memory-vcpu-cpuset.args | 8 +-
...d-auto-memory-vcpu-no-cpuset-and-placement.args | 8 +-
...muxml2argv-numad-auto-vcpu-static-numatune.args | 8 +-
...qemuxml2argv-numad-static-memory-auto-vcpu.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-numad.args | 8 +-
...qemuxml2argv-numatune-auto-nodeset-invalid.args | 8 +-
.../qemuxml2argv-numatune-auto-prefer.args | 5 +-
.../qemuxml2argv-numatune-memnode-no-memory.args | 5 +-
.../qemuxml2argv-numatune-memnode.args | 5 +-
.../qemuxml2argv-numatune-memory.args | 8 +-
.../qemuxml2argv-parallel-tcp.args | 6 +-
.../qemuxml2argv-pmu-feature-off.args | 6 +-
.../qemuxml2argvdata/qemuxml2argv-pmu-feature.args | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args | 4 +-
.../qemuxml2argv-pseries-nvram.args | 4 +-
.../qemuxml2argv-pv-spinlock-disabled.args | 5 +-
.../qemuxml2argv-pv-spinlock-enabled.args | 5 +-
.../qemuxml2argv-qemu-ns-commandline-ns0.args | 8 +-
.../qemuxml2argv-qemu-ns-commandline-ns1.args | 8 +-
.../qemuxml2argv-qemu-ns-commandline.args | 8 +-
...emuxml2argv-qemu-ns-domain-commandline-ns0.args | 8 +-
.../qemuxml2argv-qemu-ns-domain-commandline.args | 8 +-
.../qemuxml2argv-qemu-ns-domain-ns0.args | 8 +-
.../qemuxml2argv-qemu-ns-no-env.args | 7 +-
tests/qemuxml2argvdata/qemuxml2argv-qemu-ns.args | 8 +-
.../qemuxml2argv-reboot-timeout-disabled.args | 6 +-
.../qemuxml2argv-reboot-timeout-enabled.args | 6 +-
.../qemuxml2argv-restore-v2-fd.args | 10 +-
.../qemuxml2argvdata/qemuxml2argv-restore-v2.args | 7 +-
.../qemuxml2argv-seclabel-dac-none.args | 8 +-
.../qemuxml2argv-seclabel-dynamic-baselabel.args | 8 +-
.../qemuxml2argv-seclabel-dynamic-labelskip.args | 8 +-
.../qemuxml2argv-seclabel-dynamic-override.args | 11 +-
.../qemuxml2argv-seclabel-dynamic-relabel.args | 8 +-
.../qemuxml2argv-seclabel-dynamic.args | 8 +-
.../qemuxml2argv-seclabel-none.args | 8 +-
.../qemuxml2argv-seclabel-static-labelskip.args | 8 +-
.../qemuxml2argv-seclabel-static-relabel.args | 8 +-
.../qemuxml2argv-seclabel-static.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-serial-dev.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-serial-file.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-serial-many.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-serial-pty.args | 8 +-
.../qemuxml2argv-serial-spiceport-nospice.args | 8 +-
.../qemuxml2argv-serial-tcp-telnet.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-serial-tcp.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-serial-udp.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-serial-unix.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-serial-vc.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-smbios.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-smp.args | 7 +-
tests/qemuxml2argvdata/qemuxml2argv-sound.args | 12 +-
.../qemuxml2argv-video-qxl-nodevice.args | 14 +-
.../qemuxml2argv-video-vga-nodevice.args | 12 +-
.../qemuxml2argv-watchdog-dump.args | 12 +-
.../qemuxml2argv-watchdog-injectnmi.args | 12 +-
tests/qemuxml2argvdata/qemuxml2argv-watchdog.args | 9 +-
tests/qemuxml2argvtest.c | 582 ++++++++++-----------
.../qemuxml2xmlout-aarch64-aavmf-virtio-mmio.xml | 53 ++
.../qemuxml2xmlout-aarch64-gic.xml | 32 ++
.../qemuxml2xmlout-aarch64-gicv3.xml | 32 ++
.../qemuxml2xmlout-aarch64-virtio-pci-default.xml | 69 +++
...2xmlout-aarch64-virtio-pci-manual-addresses.xml | 53 ++
.../qemuxml2xmlout-balloon-device-auto.xml | 12 +-
.../qemuxml2xmlout-balloon-device-period.xml | 8 +-
.../qemuxml2xmlout-bios-nvram-os-interleave.xml | 12 +-
.../qemuxml2xmlout-bios-nvram.xml | 48 ++
.../qemuxml2xmlout-blkdeviotune.xml | 51 ++
.../qemuxml2xmlout-blkiotune-device.xml | 54 ++
.../qemuxml2xmlout-blkiotune.xml | 38 ++
.../qemuxml2xmlout-boot-cdrom.xml | 35 ++
.../qemuxml2xmlout-boot-floppy.xml | 41 ++
...muxml2xmlout-boot-menu-disable-with-timeout.xml | 12 +-
.../qemuxml2xmlout-boot-menu-disable.xml | 37 ++
...emuxml2xmlout-boot-menu-enable-with-timeout.xml | 37 ++
.../qemuxml2xmlout-boot-multi.xml | 40 ++
.../qemuxml2xmlout-boot-network.xml | 34 ++
.../qemuxml2xmlout-boot-order.xml | 64 +++
.../qemuxml2xmlout-channel-guestfwd.xml | 39 ++
.../qemuxml2xmlout-channel-virtio-auto.xml | 29 +-
.../qemuxml2xmlout-channel-virtio-state-active.xml | 12 +-
...emuxml2xmlout-channel-virtio-state-inactive.xml | 12 +-
.../qemuxml2xmlout-channel-virtio.xml | 42 ++
.../qemuxml2xmlout-chardev-label.xml | 54 ++
.../qemuxml2xmlout-clock-catchup.xml | 45 ++
.../qemuxml2xmlout-clock-localtime.xml | 34 ++
.../qemuxml2xmlout-clock-timer-hyperv-rtc.xml | 32 ++
.../qemuxml2xmlout-clock-utc.xml | 34 ++
.../qemuxml2xmlout-console-compat-auto.xml | 12 +-
.../qemuxml2xmlout-console-compat.xml | 40 ++
.../qemuxml2xmlout-console-compat2.xml | 12 +-
.../qemuxml2xmlout-console-virtio-many.xml | 53 ++
.../qemuxml2xmlout-console-virtio.xml | 16 +-
.../qemuxml2xmlout-controller-usb-order.xml | 4 +-
.../qemuxml2xmlout-cpu-empty.xml | 8 +-
.../qemuxml2xmlout-cpu-eoi-disabled.xml | 35 ++
.../qemuxml2xmlout-cpu-eoi-enabled.xml | 35 ++
.../qemuxml2xmlout-cpu-host-kvmclock.xml | 30 ++
.../qemuxml2xmlout-cpu-host-model-features.xml | 41 ++
...emuxml2xmlout-cpu-host-passthrough-features.xml | 45 ++
.../qemuxml2xmlout-cpu-kvmclock.xml | 32 ++
.../qemuxml2xmlout-cpu-numa-disjoint.xml | 34 ++
.../qemuxml2xmlout-cpu-numa-disordered.xml | 8 +-
.../qemuxml2xmlout-cpu-numa-memshared.xml | 34 ++
.../qemuxml2xmlout-cpu-numa-no-memory-element.xml | 8 +-
.../qemuxml2xmlout-cpu-numa1.xml | 8 +-
.../qemuxml2xmlout-cpu-numa2.xml | 8 +-
.../qemuxml2xmlout-cputune-iothreads.xml | 12 +-
...l2xmlout-cputune-iothreadsched-zeropriority.xml | 46 ++
.../qemuxml2xmlout-cputune-iothreadsched.xml | 12 +-
.../qemuxml2xmlout-cputune-numatune.xml | 33 ++
.../qemuxml2xmlout-cputune-zero-shares.xml | 43 ++
.../qemuxml2xmloutdata/qemuxml2xmlout-cputune.xml | 43 ++
.../qemuxml2xmlout-default-kvm-host-arch.xml | 8 +-
.../qemuxml2xmlout-default-qemu-host-arch.xml | 8 +-
.../qemuxml2xmlout-disk-active-commit.xml | 45 ++
.../qemuxml2xmloutdata/qemuxml2xmlout-disk-aio.xml | 43 ++
.../qemuxml2xmlout-disk-backing-chains-active.xml | 13 +-
...qemuxml2xmlout-disk-backing-chains-inactive.xml | 13 +-
.../qemuxml2xmlout-disk-cdrom-empty.xml | 40 ++
.../qemuxml2xmlout-disk-cdrom.xml | 41 ++
.../qemuxml2xmlout-disk-copy_on_read.xml | 60 +++
.../qemuxml2xmlout-disk-drive-boot-cdrom.xml | 41 ++
.../qemuxml2xmlout-disk-drive-boot-disk.xml | 41 ++
.../qemuxml2xmlout-disk-drive-cache-directsync.xml | 41 ++
.../qemuxml2xmlout-disk-drive-cache-unsafe.xml | 41 ++
.../qemuxml2xmlout-disk-drive-cache-v2-none.xml | 41 ++
.../qemuxml2xmlout-disk-drive-cache-v2-wb.xml | 41 ++
.../qemuxml2xmlout-disk-drive-cache-v2-wt.xml | 41 ++
.../qemuxml2xmlout-disk-drive-copy-on-read.xml | 36 ++
.../qemuxml2xmlout-disk-drive-discard.xml | 12 +-
...xml2xmlout-disk-drive-error-policy-enospace.xml | 41 ++
...qemuxml2xmlout-disk-drive-error-policy-stop.xml | 41 ++
...out-disk-drive-error-policy-wreport-rignore.xml | 41 ++
.../qemuxml2xmlout-disk-drive-fat.xml | 37 ++
.../qemuxml2xmlout-disk-drive-fmt-qcow.xml | 41 ++
.../qemuxml2xmlout-disk-drive-network-gluster.xml | 41 ++
...emuxml2xmlout-disk-drive-network-iscsi-auth.xml | 44 ++
.../qemuxml2xmlout-disk-drive-network-iscsi.xml | 41 ++
...emuxml2xmlout-disk-drive-network-nbd-export.xml | 42 ++
...l2xmlout-disk-drive-network-nbd-ipv6-export.xml | 42 ++
.../qemuxml2xmlout-disk-drive-network-nbd-ipv6.xml | 42 ++
.../qemuxml2xmlout-disk-drive-network-nbd-unix.xml | 42 ++
.../qemuxml2xmlout-disk-drive-network-nbd.xml | 42 ++
.../qemuxml2xmlout-disk-drive-network-rbd-auth.xml | 47 ++
...uxml2xmlout-disk-drive-network-rbd-ceph-env.xml | 44 ++
.../qemuxml2xmlout-disk-drive-network-rbd-ipv6.xml | 45 ++
.../qemuxml2xmlout-disk-drive-network-rbd.xml | 72 +++
.../qemuxml2xmlout-disk-drive-network-sheepdog.xml | 42 ++
.../qemuxml2xmlout-disk-floppy.xml | 47 ++
.../qemuxml2xmlout-disk-many.xml | 52 ++
.../qemuxml2xmlout-disk-mirror-active.xml | 66 +++
.../qemuxml2xmlout-disk-mirror-inactive.xml | 51 ++
.../qemuxml2xmlout-disk-mirror-old-inactive.xml | 14 +-
.../qemuxml2xmlout-disk-mirror-old.xml | 14 +-
.../qemuxml2xmlout-disk-scsi-device-auto.xml | 16 +-
.../qemuxml2xmlout-disk-scsi-device.xml | 43 ++
.../qemuxml2xmlout-disk-scsi-disk-vpd.xml | 49 ++
...muxml2xmlout-disk-scsi-lun-passthrough-sgio.xml | 43 ++
.../qemuxml2xmlout-disk-scsi-megasas.xml | 43 ++
.../qemuxml2xmlout-disk-scsi-virtio-scsi.xml | 43 ++
.../qemuxml2xmlout-disk-scsi-vscsi.xml | 43 ++
.../qemuxml2xmlout-disk-source-pool-mode.xml | 55 ++
.../qemuxml2xmlout-disk-source-pool.xml | 12 +-
.../qemuxml2xmlout-disk-usb-device.xml | 39 ++
...qemuxml2xmlout-disk-virtio-scsi-cmd_per_lun.xml | 36 ++
.../qemuxml2xmlout-disk-virtio-scsi-ioeventfd.xml | 36 ++
...qemuxml2xmlout-disk-virtio-scsi-max_sectors.xml | 36 ++
.../qemuxml2xmlout-disk-virtio-scsi-num_queues.xml | 36 ++
.../qemuxml2xmlout-disk-virtio.xml | 53 ++
.../qemuxml2xmlout-disk-xenvbd.xml | 51 ++
.../qemuxml2xmlout-encrypted-disk.xml | 36 ++
.../qemuxml2xmlout-eoi-disabled.xml | 32 ++
.../qemuxml2xmlout-eoi-enabled.xml | 32 ++
.../qemuxml2xmlout-event_idx.xml | 60 +++
.../qemuxml2xmlout-floppy-drive-fat.xml | 38 ++
.../qemuxml2xmlout-graphics-listen-network.xml | 42 ++
.../qemuxml2xmlout-graphics-listen-network2.xml | 13 +-
.../qemuxml2xmlout-graphics-sdl-fullscreen.xml | 39 ++
.../qemuxml2xmlout-graphics-sdl.xml | 39 ++
.../qemuxml2xmlout-graphics-spice-compression.xml | 51 ++
.../qemuxml2xmlout-graphics-spice-qxl-vga.xml | 48 ++
.../qemuxml2xmlout-graphics-spice-timeout.xml | 4 +-
.../qemuxml2xmlout-graphics-spice.xml | 55 ++
.../qemuxml2xmlout-graphics-vnc-sasl.xml | 41 ++
.../qemuxml2xmlout-graphics-vnc-tls.xml | 41 ++
.../qemuxml2xmlout-graphics-vnc-websocket.xml | 32 ++
.../qemuxml2xmlout-graphics-vnc.xml | 41 ++
.../qemuxml2xmlout-hostdev-pci-address.xml | 40 ++
...qemuxml2xmlout-hostdev-scsi-autogen-address.xml | 20 +-
.../qemuxml2xmlout-hostdev-scsi-large-unit.xml | 45 ++
.../qemuxml2xmlout-hostdev-scsi-lsi-iscsi-auth.xml | 56 ++
.../qemuxml2xmlout-hostdev-scsi-lsi-iscsi.xml | 50 ++
.../qemuxml2xmlout-hostdev-scsi-lsi.xml | 45 ++
.../qemuxml2xmlout-hostdev-scsi-rawio.xml | 45 ++
.../qemuxml2xmlout-hostdev-scsi-readonly.xml | 46 ++
.../qemuxml2xmlout-hostdev-scsi-sgio.xml | 45 ++
.../qemuxml2xmlout-hostdev-scsi-shareable.xml | 46 ++
...muxml2xmlout-hostdev-scsi-virtio-iscsi-auth.xml | 56 ++
.../qemuxml2xmlout-hostdev-scsi-virtio-iscsi.xml | 50 ++
.../qemuxml2xmlout-hostdev-scsi-virtio-scsi.xml | 45 ++
.../qemuxml2xmlout-hostdev-usb-address.xml | 39 ++
.../qemuxml2xmlout-hostdev-vfio.xml | 42 ++
.../qemuxml2xmlout-hugepages-pages.xml | 53 ++
.../qemuxml2xmlout-hugepages-pages2.xml | 46 ++
.../qemuxml2xmlout-hugepages-pages3.xml | 46 ++
.../qemuxml2xmlout-hugepages-shared.xml | 53 ++
.../qemuxml2xmlout-hugepages.xml | 38 ++
.../qemuxml2xmlout-hyperv-off.xml | 35 ++
.../qemuxml2xmlout-hyperv-panic.xml | 29 +
tests/qemuxml2xmloutdata/qemuxml2xmlout-hyperv.xml | 33 ++
.../qemuxml2xmlout-input-usbmouse.xml | 35 ++
.../qemuxml2xmlout-input-usbtablet.xml | 35 ++
.../qemuxml2xmlout-interface-driver.xml | 61 +++
.../qemuxml2xmlout-interface-server.xml | 134 +++++
.../qemuxml2xmlout-iothreads-disk-virtio-ccw.xml | 35 ++
.../qemuxml2xmlout-iothreads-disk.xml | 47 ++
.../qemuxml2xmlout-iothreads-ids-partial.xml | 39 ++
.../qemuxml2xmlout-iothreads-ids.xml | 39 ++
.../qemuxml2xmlout-iothreads.xml | 35 ++
.../qemuxml2xmlout-kvm-features-off.xml | 33 ++
.../qemuxml2xmlout-kvm-features.xml | 31 ++
.../qemuxml2xmloutdata/qemuxml2xmlout-kvmclock.xml | 30 ++
tests/qemuxml2xmloutdata/qemuxml2xmlout-lease.xml | 46 ++
.../qemuxml2xmlout-machine-core-off.xml | 34 ++
.../qemuxml2xmlout-machine-core-on.xml | 34 ++
.../qemuxml2xmlout-memory-hotplug-dimm.xml | 62 +++
.../qemuxml2xmlout-memory-hotplug-nonuma.xml | 28 +
.../qemuxml2xmlout-memory-hotplug.xml | 42 ++
.../qemuxml2xmlout-memtune-unlimited.xml | 12 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-memtune.xml | 12 +-
.../qemuxml2xmlout-metadata-duplicate.xml | 12 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-metadata.xml | 12 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-migrate.xml | 34 ++
.../qemuxml2xmloutdata/qemuxml2xmlout-minimal.xml | 40 ++
.../qemuxml2xmlout-misc-acpi.xml | 37 ++
.../qemuxml2xmlout-misc-disable-s3.xml | 37 ++
.../qemuxml2xmlout-misc-disable-suspends.xml | 38 ++
.../qemuxml2xmlout-misc-enable-s4.xml | 37 ++
.../qemuxml2xmlout-misc-no-reboot.xml | 34 ++
.../qemuxml2xmlout-misc-uuid.xml | 37 ++
.../qemuxml2xmlout-net-bandwidth.xml | 78 +++
.../qemuxml2xmlout-net-bandwidth2.xml | 67 +++
.../qemuxml2xmlout-net-eth-ifname.xml | 41 ++
.../qemuxml2xmloutdata/qemuxml2xmlout-net-eth.xml | 40 ++
.../qemuxml2xmlout-net-hostdev-vfio.xml | 50 ++
.../qemuxml2xmlout-net-hostdev.xml | 49 ++
.../qemuxml2xmlout-net-midonet.xml | 44 ++
.../qemuxml2xmlout-net-openvswitch.xml | 49 ++
.../qemuxml2xmloutdata/qemuxml2xmlout-net-udp.xml | 43 ++
.../qemuxml2xmloutdata/qemuxml2xmlout-net-user.xml | 39 ++
.../qemuxml2xmlout-net-vhostuser.xml | 52 ++
.../qemuxml2xmlout-net-virtio-device.xml | 41 ++
.../qemuxml2xmlout-net-virtio-disable-offloads.xml | 44 ++
...qemuxml2xmlout-net-virtio-network-portgroup.xml | 65 +++
.../qemuxml2xmlout-net-virtio.xml | 39 ++
.../qemuxml2xmlout-nographics-vga.xml | 34 ++
.../qemuxml2xmlout-nosharepages.xml | 37 ++
...emuxml2xmlout-numad-auto-memory-vcpu-cpuset.xml | 12 +-
...ad-auto-memory-vcpu-no-cpuset-and-placement.xml | 12 +-
.../qemuxml2xmlout-numad-auto-vcpu-no-numatune.xml | 12 +-
...emuxml2xmlout-numad-static-vcpu-no-numatune.xml | 38 ++
.../qemuxml2xmlout-numatune-auto-prefer.xml | 8 +-
.../qemuxml2xmlout-numatune-memnode-no-memory.xml | 36 ++
.../qemuxml2xmlout-numatune-memnode.xml | 8 +-
.../qemuxml2xmlout-panic-double.xml | 32 ++
.../qemuxml2xmlout-panic-isa.xml | 39 ++
.../qemuxml2xmlout-panic-no-address.xml | 37 ++
.../qemuxml2xmlout-panic-pseries.xml | 32 ++
tests/qemuxml2xmloutdata/qemuxml2xmlout-panic.xml | 12 +-
.../qemuxml2xmlout-parallel-tcp.xml | 39 ++
.../qemuxml2xmlout-pci-autoadd-addr.xml | 35 ++
.../qemuxml2xmlout-pci-autoadd-idx.xml | 41 +-
.../qemuxml2xmlout-pci-bridge-many-disks.xml | 124 ++++-
.../qemuxml2xmlout-pci-bridge.xml | 251 +++++++++
.../qemuxml2xmloutdata/qemuxml2xmlout-pci-rom.xml | 61 +++
.../qemuxml2xmlout-pci-serial-dev-chardev.xml | 45 ++
.../qemuxml2xmlout-pcie-root-port.xml | 53 ++
.../qemuxml2xmlout-pcie-root.xml | 15 +-
.../qemuxml2xmlout-pcie-switch-downstream-port.xml | 91 ++++
.../qemuxml2xmlout-pcie-switch-upstream-port.xml | 61 +++
.../qemuxml2xmlout-pcihole64-gib.xml | 8 +-
.../qemuxml2xmlout-pcihole64-none.xml | 29 +
.../qemuxml2xmlout-pcihole64-q35.xml | 45 ++
.../qemuxml2xmlout-pcihole64.xml | 29 +
.../qemuxml2xmlout-pmu-feature-off.xml | 29 +
.../qemuxml2xmlout-pmu-feature.xml | 4 +-
.../qemuxml2xmlout-pseries-nvram.xml | 27 +
.../qemuxml2xmlout-pseries-panic-missing.xml | 8 +-
.../qemuxml2xmlout-pseries-panic-no-address.xml | 8 +-
.../qemuxml2xmlout-pv-spinlock-disabled.xml | 32 ++
.../qemuxml2xmlout-pv-spinlock-enabled.xml | 32 ++
.../qemuxml2xmlout-q35-usb2-multi.xml | 28 +-
.../qemuxml2xmlout-q35-usb2-reorder.xml | 28 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-q35-usb2.xml | 14 +-
tests/qemuxml2xmloutdata/qemuxml2xmlout-q35.xml | 22 +-
.../qemuxml2xmlout-qemu-ns-no-env.xml | 38 ++
.../qemuxml2xmlout-reboot-timeout-disabled.xml | 26 +
.../qemuxml2xmlout-reboot-timeout-enabled.xml | 26 +
.../qemuxml2xmlout-restore-v2.xml | 34 ++
.../qemuxml2xmlout-s390-defaultconsole.xml | 3 +-
.../qemuxml2xmlout-seclabel-dac-none.xml | 36 ++
.../qemuxml2xmlout-seclabel-device-multiple.xml | 40 ++
.../qemuxml2xmlout-seclabel-dynamic-baselabel.xml | 38 ++
.../qemuxml2xmlout-seclabel-dynamic-labelskip.xml | 12 +-
.../qemuxml2xmlout-seclabel-dynamic-none.xml | 36 ++
.../qemuxml2xmlout-seclabel-dynamic-override.xml | 50 ++
.../qemuxml2xmlout-seclabel-dynamic-relabel.xml | 12 +-
.../qemuxml2xmlout-seclabel-none.xml | 12 +-
.../qemuxml2xmlout-seclabel-static-labelskip.xml | 42 ++
.../qemuxml2xmlout-seclabel-static.xml | 38 ++
.../qemuxml2xmlout-serial-dev.xml | 42 ++
.../qemuxml2xmlout-serial-file.xml | 42 ++
.../qemuxml2xmlout-serial-many.xml | 44 ++
.../qemuxml2xmlout-serial-pty.xml | 40 ++
.../qemuxml2xmlout-serial-spiceport-nospice.xml | 43 ++
.../qemuxml2xmlout-serial-spiceport.xml | 51 ++
.../qemuxml2xmlout-serial-target-port-auto.xml | 12 +-
.../qemuxml2xmlout-serial-tcp-telnet.xml | 44 ++
.../qemuxml2xmlout-serial-tcp.xml | 44 ++
.../qemuxml2xmlout-serial-udp.xml | 48 ++
.../qemuxml2xmlout-serial-unix.xml | 42 ++
.../qemuxml2xmlout-serial-vc.xml | 40 ++
tests/qemuxml2xmloutdata/qemuxml2xmlout-shmem.xml | 64 +++
.../qemuxml2xmlout-smbios-multiple-type2.xml | 66 +++
tests/qemuxml2xmloutdata/qemuxml2xmlout-smbios.xml | 59 +++
tests/qemuxml2xmloutdata/qemuxml2xmlout-smp.xml | 37 ++
.../qemuxml2xmlout-sound-device.xml | 60 +++
tests/qemuxml2xmloutdata/qemuxml2xmlout-sound.xml | 42 ++
.../qemuxml2xmlout-tap-vhost-incorrect.xml | 14 +-
.../qemuxml2xmlout-tap-vhost.xml | 61 +++
.../qemuxml2xmlout-tpm-passthrough.xml | 36 ++
.../qemuxml2xmlout-usb-ich9-ehci-addr.xml | 25 +-
.../qemuxml2xmlout-usb-redir-filter-version.xml | 8 +-
.../qemuxml2xmlout-usb-redir-filter.xml | 4 +-
.../qemuxml2xmlout-usb-redir.xml | 46 ++
.../qemuxml2xmlout-vcpu-placement-static.xml | 42 ++
.../qemuxml2xmlout-vhost_queues.xml | 60 +++
.../qemuxml2xmlout-video-virtio-gpu-device.xml | 40 ++
.../qemuxml2xmlout-video-virtio-gpu-virgl.xml | 42 ++
.../qemuxml2xmlout-virtio-input-passthrough.xml | 31 ++
.../qemuxml2xmlout-virtio-input.xml | 36 ++
.../qemuxml2xmlout-virtio-lun.xml | 59 +++
.../qemuxml2xmlout-virtio-rng-egd.xml | 34 ++
.../qemuxml2xmlout-virtio-rng-random.xml | 32 ++
.../qemuxml2xmloutdata/qemuxml2xmlout-watchdog.xml | 35 ++
tests/qemuxml2xmltest.c | 417 ++++++++++-----
tests/testutils.c | 45 +-
tests/testutils.h | 6 +-
703 files changed, 17462 insertions(+), 1522 deletions(-)
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-boot-cdrom.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-boot-cdrom.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-boot-floppy.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-boot-floppy.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-boot-network.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-boot-network.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-clock-localtime.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-clock-localtime.xml
rename tests/{qemuxml2argvdata/qemuxml2argv-minimal-s390.args => qemuargv2xmldata/qemuargv2xml-clock-utc.args} (79%)
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-clock-utc.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-console-compat.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-console-compat.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-cdrom-empty.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-cdrom-empty.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-cdrom.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-cdrom.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-boot-cdrom.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-boot-cdrom.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-boot-disk.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-boot-disk.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-directsync.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-directsync.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-unsafe.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-unsafe.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-v2-none.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-v2-none.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-v2-wb.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-v2-wb.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-v2-wt.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-v2-wt.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-error-policy-enospace.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-error-policy-enospace.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-error-policy-stop.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-error-policy-stop.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-error-policy-wreport-rignore.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-error-policy-wreport-rignore.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-fmt-qcow.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-fmt-qcow.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-gluster.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-gluster.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-iscsi-auth.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-iscsi-auth.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-iscsi.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-iscsi.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd-export.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd-export.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd-ipv6-export.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd-ipv6-export.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd-ipv6.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd-ipv6.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd-unix.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd-unix.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd-auth.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd-auth.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd-ceph-env.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd-ceph-env.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd-ipv6.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd-ipv6.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-sheepdog.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-sheepdog.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-floppy.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-floppy.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-many.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-many.xml
rename tests/{qemuxml2argvdata/qemuxml2argv-disk-usb.args => qemuargv2xmldata/qemuargv2xml-disk-usb.args} (100%)
rename tests/{qemuxml2argvdata/qemuxml2argv-disk-usb.xml => qemuargv2xmldata/qemuargv2xml-disk-usb.xml} (100%)
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-virtio.args
rename tests/{qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror.xml => qemuargv2xmldata/qemuargv2xml-disk-virtio.xml} (88%)
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-xenvbd.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-xenvbd.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-sdl-fullscreen.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-sdl-fullscreen.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-sdl.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-sdl.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-policy.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-policy.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-sasl.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-sasl.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-socket.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-socket.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-tls.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-tls.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-websocket.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-websocket.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-hostdev-pci-address.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-hostdev-pci-address.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-hostdev-usb-address.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-hostdev-usb-address.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-hyperv-panic.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-hyperv-panic.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-hyperv.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-hyperv.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-input-usbmouse.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-input-usbmouse.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-input-usbtablet.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-input-usbtablet.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-kvm-features.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-kvm-features.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-kvmclock.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-kvmclock.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-off-argv.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-off-argv.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-on-argv.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-on-argv.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-core-off.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-core-off.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-core-on.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-core-on.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-off-argv.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-off-argv.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-on-argv.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-on-argv.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-keywrap-none-argv.args
rename tests/{qemuxml2argvdata/qemuxml2argv-minimal-s390.xml => qemuargv2xmldata/qemuargv2xml-machine-keywrap-none-argv.xml} (53%)
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-migrate.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-migrate.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-acpi.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-acpi.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-disable-s3.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-disable-s3.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-disable-suspends.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-disable-suspends.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-enable-s4.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-enable-s4.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-no-reboot.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-no-reboot.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-uuid.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-uuid.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-net-eth.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-net-eth.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-net-user.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-net-user.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-net-virtio.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-net-virtio.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-nographics-vga.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-nographics-vga.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-nosharepages.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-nosharepages.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-parallel-tcp.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-parallel-tcp.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-pseries-disk.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-pseries-disk.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-pseries-nvram.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-pseries-nvram.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-qemu-ns-no-env.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-qemu-ns-no-env.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-reboot-timeout-disabled.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-reboot-timeout-disabled.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-reboot-timeout-enabled.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-reboot-timeout-enabled.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-restore-v2.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-restore-v2.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-dev.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-dev.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-file.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-file.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-many.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-many.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-pty.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-pty.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-tcp-telnet.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-tcp-telnet.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-tcp.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-tcp.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-udp.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-udp.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-unix.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-unix.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-vc.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-vc.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-smp.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-smp.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-sound.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-sound.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-watchdog.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-watchdog.xml
rename tests/qemuxml2argvdata/{qemuxml2argv-aarch64-mmio-default-pci.args => qemuxml2argv-aarch64-virtio-pci-default.args} (100%)
rename tests/qemuxml2argvdata/{qemuxml2argv-aarch64-mmio-default-pci.xml => qemuxml2argv-aarch64-virtio-pci-default.xml} (100%)
rename tests/qemuxml2argvdata/{qemuxml2argv-aarch64-virtio-pci.args => qemuxml2argv-aarch64-virtio-pci-manual-addresses.args} (100%)
rename tests/qemuxml2argvdata/{qemuxml2argv-aarch64-virtio-pci.xml => qemuxml2argv-aarch64-virtio-pci-manual-addresses.xml} (100%)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-usb-nosupport.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-aavmf-virtio-mmio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gicv3.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-virtio-pci-default.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-virtio-pci-manual-addresses.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-bios-nvram.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-blkdeviotune.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-blkiotune-device.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-blkiotune.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-boot-cdrom.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-boot-floppy.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-boot-menu-disable.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-boot-menu-enable-with-timeout.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-boot-multi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-boot-network.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-boot-order.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-channel-guestfwd.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-channel-virtio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-chardev-label.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-clock-catchup.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-clock-localtime.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-clock-timer-hyperv-rtc.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-clock-utc.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-console-compat.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-console-virtio-many.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-eoi-disabled.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-eoi-enabled.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-host-kvmclock.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-host-model-features.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-host-passthrough-features.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-kvmclock.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-numa-disjoint.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-numa-memshared.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cputune-iothreadsched-zeropriority.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cputune-numatune.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cputune-zero-shares.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cputune.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-active-commit.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-aio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-cdrom-empty.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-cdrom.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-copy_on_read.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-boot-cdrom.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-boot-disk.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-cache-directsync.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-cache-unsafe.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-cache-v2-none.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-cache-v2-wb.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-cache-v2-wt.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-copy-on-read.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-error-policy-enospace.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-error-policy-stop.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-error-policy-wreport-rignore.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-fat.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-fmt-qcow.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-gluster.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-iscsi-auth.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-iscsi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-nbd-export.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-nbd-ipv6-export.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-nbd-ipv6.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-nbd-unix.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-nbd.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-rbd-auth.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-rbd-ceph-env.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-rbd-ipv6.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-rbd.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-sheepdog.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-floppy.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-many.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror-active.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror-inactive.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-device.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-disk-vpd.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-lun-passthrough-sgio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-megasas.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-virtio-scsi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-vscsi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-source-pool-mode.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-usb-device.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-virtio-scsi-cmd_per_lun.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-virtio-scsi-ioeventfd.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-virtio-scsi-max_sectors.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-virtio-scsi-num_queues.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-virtio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-xenvbd.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-encrypted-disk.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-eoi-disabled.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-eoi-enabled.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-event_idx.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-floppy-drive-fat.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-listen-network.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-sdl-fullscreen.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-sdl.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-spice-compression.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-spice-qxl-vga.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-spice.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-sasl.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-tls.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-websocket.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-pci-address.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-large-unit.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-lsi-iscsi-auth.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-lsi-iscsi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-lsi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-rawio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-readonly.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-sgio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-shareable.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-virtio-iscsi-auth.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-virtio-iscsi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-virtio-scsi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-usb-address.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-vfio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hugepages-pages.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hugepages-pages2.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hugepages-pages3.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hugepages-shared.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hugepages.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hyperv-off.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hyperv-panic.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hyperv.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-input-usbmouse.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-input-usbtablet.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-interface-driver.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-interface-server.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads-disk-virtio-ccw.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads-disk.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads-ids-partial.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads-ids.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-kvm-features-off.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-kvm-features.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-kvmclock.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-lease.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-machine-core-off.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-machine-core-on.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-memory-hotplug-dimm.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-memory-hotplug-nonuma.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-memory-hotplug.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-migrate.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-minimal.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-misc-acpi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-misc-disable-s3.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-misc-disable-suspends.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-misc-enable-s4.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-misc-no-reboot.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-misc-uuid.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-bandwidth.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-bandwidth2.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth-ifname.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-hostdev-vfio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-hostdev.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-midonet.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-openvswitch.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-udp.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-user.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-vhostuser.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-virtio-device.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-virtio-disable-offloads.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-virtio-network-portgroup.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-virtio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-nographics-vga.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-nosharepages.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-numad-static-vcpu-no-numatune.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-numatune-memnode-no-memory.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-panic-double.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-panic-isa.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-panic-no-address.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-panic-pseries.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-parallel-tcp.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pci-bridge.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pci-rom.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pci-serial-dev-chardev.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pcie-root-port.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pcie-switch-downstream-port.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pcie-switch-upstream-port.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pcihole64-none.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pcihole64-q35.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pcihole64.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pmu-feature-off.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pseries-nvram.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pv-spinlock-disabled.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pv-spinlock-enabled.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-qemu-ns-no-env.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-reboot-timeout-disabled.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-reboot-timeout-enabled.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-restore-v2.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-dac-none.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-device-multiple.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-dynamic-baselabel.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-dynamic-none.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-dynamic-override.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-static-labelskip.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-static.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-dev.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-file.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-many.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-pty.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-spiceport-nospice.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-spiceport.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-tcp-telnet.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-tcp.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-udp.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-unix.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-vc.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-shmem.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-smbios-multiple-type2.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-smbios.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-smp.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-sound-device.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-sound.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-tap-vhost.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-tpm-passthrough.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-usb-redir.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-vcpu-placement-static.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-vhost_queues.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-video-virtio-gpu-device.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-video-virtio-gpu-virgl.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-virtio-input-passthrough.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-virtio-input.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-virtio-lun.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-virtio-rng-egd.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-virtio-rng-random.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-watchdog.xml
--
2.5.0
3
22
09 Feb '16
Older gcc fails to see that the variable is set iff @hasPriority
== true in which case the former is set a value. Initialize the
value while declaring it to make the compiler shut up.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
This maybe isn't the best approach, to workaround false
positives. I'm open to discussion.
src/conf/domain_conf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 895a51b..67415fa 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -21472,7 +21472,7 @@ virDomainFormatSchedDef(virDomainDefPtr def,
virBitmapPtr currentMap = NULL;
ssize_t nextprio;
bool hasPriority = false;
- int priority;
+ int priority = 0;
switch ((virProcessSchedPolicy) i) {
case VIR_PROC_POLICY_NONE:
--
2.4.10
3
6
It does exactly the same thing as virStringListLenght() and it's used in
one place only.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
src/util/virpolkit.c | 2 +-
src/util/virstring.c | 14 --------------
src/util/virstring.h | 2 --
3 files changed, 1 insertion(+), 17 deletions(-)
diff --git a/src/util/virpolkit.c b/src/util/virpolkit.c
index ae7ec132b229..8da91f2cdb0a 100644
--- a/src/util/virpolkit.c
+++ b/src/util/virpolkit.c
@@ -90,7 +90,7 @@ int virPolkitCheckAuth(const char *actionid,
"start-time", "t", startTime,
"uid", "i", (int)uid,
actionid,
- virStringListLen(details) / 2,
+ virStringListLength(details) / 2,
details,
allowInteraction,
"" /* cancellation ID */) < 0)
diff --git a/src/util/virstring.c b/src/util/virstring.c
index 8cd4bdd16ece..fc4f5ba7e641 100644
--- a/src/util/virstring.c
+++ b/src/util/virstring.c
@@ -208,20 +208,6 @@ virStringFreeListCount(char **strings,
}
-size_t virStringListLen(const char **strings)
-{
- size_t i = 0;
-
- if (!strings)
- return 0;
-
- while (strings[i] != NULL)
- i++;
-
- return i;
-}
-
-
bool
virStringArrayHasString(char **strings, const char *needle)
{
diff --git a/src/util/virstring.h b/src/util/virstring.h
index df5928fb1363..cdf10588259c 100644
--- a/src/util/virstring.h
+++ b/src/util/virstring.h
@@ -44,8 +44,6 @@ char *virStringJoin(const char **strings,
void virStringFreeList(char **strings);
void virStringFreeListCount(char **strings, size_t count);
-size_t virStringListLen(const char **strings);
-
bool virStringArrayHasString(char **strings, const char *needle);
char *virStringGetFirstWithPrefix(char **strings, const char *prefix)
ATTRIBUTE_NONNULL(2);
--
2.7.1
2
1
[libvirt] [PATCH 0/2] Check return status for virDomainGraphicsListenSetAddress
by John Ferlan 09 Feb '16
by John Ferlan 09 Feb '16
09 Feb '16
The second patch is a result of a Coverity found issue - the first one is
collateral damage found because my first pass just checked the status and
went to error resulting in a resource leak.... Rather than add two more
lines for calling the graphic def free function, it was just easier to
refactor the code.
John Ferlan (2):
qemu: Refactor qemuParseCommandLine error path for vnc parse
qemu: Check return status for virDomainGraphicsListenSetAddress
src/qemu/qemu_command.c | 41 +++++++++++++++++------------------------
1 file changed, 17 insertions(+), 24 deletions(-)
--
2.5.0
3
5
For the actions ADD and OLD, split out creating the new lease object,
as well as getting the environment variables that do not affect
the parsing of command line arguments.
---
v2: do not pass argc, argv to the function
src/network/leaseshelper.c | 127 +++++++++++++++++++++++++++------------------
1 file changed, 77 insertions(+), 50 deletions(-)
diff --git a/src/network/leaseshelper.c b/src/network/leaseshelper.c
index f560206..2a0b18c 100644
--- a/src/network/leaseshelper.c
+++ b/src/network/leaseshelper.c
@@ -285,10 +285,82 @@ virLeasePrintLeases(virJSONValuePtr leases_array_new,
return ret;
}
+static int
+virLeaseNew(virJSONValuePtr *lease_ret,
+ const char *mac,
+ const char *clientid,
+ const char *ip,
+ const char *hostname,
+ const char *iaid,
+ const char *server_duid)
+{
+ virJSONValuePtr lease_new = NULL;
+ const char *exptime_tmp = virGetEnvAllowSUID("DNSMASQ_LEASE_EXPIRES");
+ long long expirytime = 0;
+ char *exptime = NULL;
+ int ret = -1;
+
+ /* In case hostname is still unknown, use the last known one */
+ if (!hostname)
+ hostname = virGetEnvAllowSUID("DNSMASQ_OLD_HOSTNAME");
+
+ if (!mac) {
+ ret = 0;
+ goto cleanup;
+ }
+
+ if (exptime_tmp) {
+ if (VIR_STRDUP(exptime, exptime_tmp) < 0)
+ goto cleanup;
+
+ /* Removed extraneous trailing space in DNSMASQ_LEASE_EXPIRES
+ * (dnsmasq < 2.52) */
+ if (exptime[strlen(exptime) - 1] == ' ')
+ exptime[strlen(exptime) - 1] = '\0';
+ }
+
+ if (!exptime ||
+ virStrToLong_ll(exptime, NULL, 10, &expirytime) < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Unable to convert lease expiry time to long long: %s"),
+ NULLSTR(exptime));
+ goto cleanup;
+ }
+
+ /* Create new lease */
+ if (!(lease_new = virJSONValueNewObject())) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("failed to create json"));
+ goto cleanup;
+ }
+
+ if (iaid && virJSONValueObjectAppendString(lease_new, "iaid", iaid) < 0)
+ goto cleanup;
+ if (ip && virJSONValueObjectAppendString(lease_new, "ip-address", ip) < 0)
+ goto cleanup;
+ if (mac && virJSONValueObjectAppendString(lease_new, "mac-address", mac) < 0)
+ goto cleanup;
+ if (hostname && virJSONValueObjectAppendString(lease_new, "hostname", hostname) < 0)
+ goto cleanup;
+ if (clientid && virJSONValueObjectAppendString(lease_new, "client-id", clientid) < 0)
+ goto cleanup;
+ if (server_duid && virJSONValueObjectAppendString(lease_new, "server-duid", server_duid) < 0)
+ goto cleanup;
+ if (expirytime && virJSONValueObjectAppendNumberLong(lease_new, "expiry-time", expirytime) < 0)
+ goto cleanup;
+
+ ret = 0;
+ *lease_ret = lease_new;
+ lease_new = NULL;
+ cleanup:
+ VIR_FREE(exptime);
+ virJSONValueFree(lease_new);
+ return ret;
+}
+
int
main(int argc, char **argv)
{
- char *exptime = NULL;
char *pid_file = NULL;
char *custom_lease_file = NULL;
const char *ip = NULL;
@@ -297,10 +369,8 @@ main(int argc, char **argv)
const char *iaid = virGetEnvAllowSUID("DNSMASQ_IAID");
const char *clientid = virGetEnvAllowSUID("DNSMASQ_CLIENT_ID");
const char *interface = virGetEnvAllowSUID("DNSMASQ_INTERFACE");
- const char *exptime_tmp = virGetEnvAllowSUID("DNSMASQ_LEASE_EXPIRES");
const char *hostname = virGetEnvAllowSUID("DNSMASQ_SUPPLIED_HOSTNAME");
char *server_duid = NULL;
- long long expirytime = 0;
int action = -1;
int pid_file_fd = -1;
int rv = EXIT_FAILURE;
@@ -362,20 +432,6 @@ main(int argc, char **argv)
if (argc == 5)
hostname = argv[4];
- /* In case hostname is still unknown, use the last known one */
- if (!hostname)
- hostname = virGetEnvAllowSUID("DNSMASQ_OLD_HOSTNAME");
-
- if (exptime_tmp) {
- if (VIR_STRDUP(exptime, exptime_tmp) < 0)
- goto cleanup;
-
- /* Removed extraneous trailing space in DNSMASQ_LEASE_EXPIRES
- * (dnsmasq < 2.52) */
- if (exptime[strlen(exptime) - 1] == ' ')
- exptime[strlen(exptime) - 1] = '\0';
- }
-
/* Check if it is an IPv6 lease */
if (iaid) {
mac = virGetEnvAllowSUID("DNSMASQ_MAC");
@@ -405,6 +461,9 @@ main(int argc, char **argv)
switch ((enum virLeaseActionFlags) action) {
case VIR_LEASE_ACTION_ADD:
case VIR_LEASE_ACTION_OLD:
+ /* Create new lease */
+ if (virLeaseNew(&lease_new, mac, clientid, ip, hostname, server_duid, iaid) < 0)
+ goto cleanup;
/* Custom ipv6 leases *will not* be created if the env-var DNSMASQ_MAC
* is not set. In the special case, when the $(interface).status file
* is not already present and dnsmasq is (re)started, the corresponding
@@ -418,40 +477,9 @@ main(int argc, char **argv)
* the new lease will be created irrespective of whether the MACID is
* known or not.
*/
- if (!mac)
+ if (!lease_new)
break;
- /* Create new lease */
- if (!(lease_new = virJSONValueNewObject())) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("failed to create json"));
- goto cleanup;
- }
-
- if (!exptime ||
- virStrToLong_ll(exptime, NULL, 10, &expirytime) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("Unable to convert lease expiry time to long long: %s"),
- NULLSTR(exptime));
- goto cleanup;
- }
-
- if (iaid && virJSONValueObjectAppendString(lease_new, "iaid", iaid) < 0)
- goto cleanup;
- if (ip && virJSONValueObjectAppendString(lease_new, "ip-address", ip) < 0)
- goto cleanup;
- if (mac && virJSONValueObjectAppendString(lease_new, "mac-address", mac) < 0)
- goto cleanup;
- if (hostname && virJSONValueObjectAppendString(lease_new, "hostname", hostname) < 0)
- goto cleanup;
- if (clientid && virJSONValueObjectAppendString(lease_new, "client-id", clientid) < 0)
- goto cleanup;
- if (server_duid && virJSONValueObjectAppendString(lease_new, "server-duid", server_duid) < 0)
- goto cleanup;
- if (expirytime && virJSONValueObjectAppendNumberLong(lease_new, "expiry-time", expirytime) < 0)
- goto cleanup;
-
-
/* fallthrough */
case VIR_LEASE_ACTION_DEL:
/* Delete the corresponding lease, if it already exists */
@@ -514,7 +542,6 @@ main(int argc, char **argv)
virPidFileReleasePath(pid_file, pid_file_fd);
VIR_FREE(pid_file);
- VIR_FREE(exptime);
VIR_FREE(server_duid);
VIR_FREE(custom_lease_file);
virJSONValueFree(lease_new);
--
2.4.10
3
3
09 Feb '16
My commit e11aa74 messed up the parameter order.
Reported by John Ferlan.
---
src/network/leaseshelper.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Pushed as trivial.
diff --git a/src/network/leaseshelper.c b/src/network/leaseshelper.c
index 2a0b18c..55ddd58 100644
--- a/src/network/leaseshelper.c
+++ b/src/network/leaseshelper.c
@@ -462,7 +462,7 @@ main(int argc, char **argv)
case VIR_LEASE_ACTION_ADD:
case VIR_LEASE_ACTION_OLD:
/* Create new lease */
- if (virLeaseNew(&lease_new, mac, clientid, ip, hostname, server_duid, iaid) < 0)
+ if (virLeaseNew(&lease_new, mac, clientid, ip, hostname, iaid, server_duid) < 0)
goto cleanup;
/* Custom ipv6 leases *will not* be created if the env-var DNSMASQ_MAC
* is not set. In the special case, when the $(interface).status file
--
2.4.10
1
0