[libvirt] [PATCH] Fixed URI parsing
by Martin Kletzander
Function virParseURI was added. This function is wrapper around
xmlParseURI. In this wrapper we are fixing what doesn't seems to be
fixed in libxml2 in the near future. The wrapper is written in such
way that if anything gets fixed in libxml2, it'll still work.
File changes:
- src/util/xml.h -- declaration
- src/util/xml.c -- definition
- src/libvirt_private.syms -- symbol export
- all others -- function call fixed and include added
---
src/esx/esx_driver.c | 3 ++-
src/libvirt.c | 10 ++++++----
src/libvirt_private.syms | 1 +
src/libxl/libxl_driver.c | 3 ++-
src/lxc/lxc_driver.c | 3 ++-
src/openvz/openvz_driver.c | 3 ++-
src/qemu/qemu_driver.c | 2 +-
src/qemu/qemu_migration.c | 5 +++--
src/remote/remote_driver.c | 3 ++-
src/uml/uml_driver.c | 3 ++-
src/util/xml.c | 37 +++++++++++++++++++++++++++++++++++++
src/util/xml.h | 3 +++
src/vbox/vbox_tmpl.c | 3 ++-
src/vmx/vmx.c | 3 ++-
src/xen/xen_driver.c | 2 +-
src/xen/xend_internal.c | 3 ++-
16 files changed, 70 insertions(+), 17 deletions(-)
diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c
index f5e1cc7..4375432 100644
--- a/src/esx/esx_driver.c
+++ b/src/esx/esx_driver.c
@@ -44,6 +44,7 @@
#include "esx_vi.h"
#include "esx_vi_methods.h"
#include "esx_util.h"
+#include "xml.h"
#define VIR_FROM_THIS VIR_FROM_ESX
@@ -3976,7 +3977,7 @@ esxDomainMigratePerform(virDomainPtr domain,
}
/* Parse migration URI */
- parsedUri = xmlParseURI(uri);
+ parsedUri = virParseURI(uri);
if (parsedUri == NULL) {
virReportOOMError();
diff --git a/src/libvirt.c b/src/libvirt.c
index 8035add..eeca680 100644
--- a/src/libvirt.c
+++ b/src/libvirt.c
@@ -44,6 +44,7 @@
#include "command.h"
#include "virnodesuspend.h"
#include "virrandom.h"
+#include "xml.h"
#ifndef WITH_DRIVER_MODULES
# ifdef WITH_TEST
@@ -1117,8 +1118,9 @@ do_open (const char *name,
if (STRCASEEQ(name, "xen"))
name = "xen:///";
- /* Convert xen:// -> xen:/// because xmlParseURI cannot parse the
- * former. This allows URIs such as xen://localhost to work.
+ /* Convert xen:// -> xen:/// because xmlParseURI (and thus virParseURI
+ * as well) cannot parse the former. This allows URIs such as
+ * xen://localhost to work.
*/
if (STREQ (name, "xen://"))
name = "xen:///";
@@ -1127,7 +1129,7 @@ do_open (const char *name,
virConnectOpenResolveURIAlias(name, &alias) < 0)
goto failed;
- ret->uri = xmlParseURI (alias ? alias : name);
+ ret->uri = virParseURI (alias ? alias : name);
if (!ret->uri) {
virLibConnError(VIR_ERR_INVALID_ARG,
_("could not parse connection URI %s"),
@@ -4964,7 +4966,7 @@ virDomainMigratePeer2Peer (virDomainPtr domain,
return -1;
}
- tempuri = xmlParseURI(dconnuri);
+ tempuri = virParseURI(dconnuri);
if (!tempuri) {
virLibConnError(VIR_ERR_INVALID_ARG, __FUNCTION__);
virDispatchError(domain->conn);
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index a5f9433..7975f94 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -1425,6 +1425,7 @@ virTypedParameterAssign;
# xml.h
+virParseURI;
virXMLChildElementCount;
virXMLParseHelper;
virXMLPropString;
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 6cfc5eb..f1ef5fb 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -44,6 +44,7 @@
#include "libxl_conf.h"
#include "xen_xm.h"
#include "virtypedparam.h"
+#include "xml.h"
#define VIR_FROM_THIS VIR_FROM_LIBXL
@@ -1043,7 +1044,7 @@ libxlOpen(virConnectPtr conn,
if (libxl_driver == NULL)
return VIR_DRV_OPEN_DECLINED;
- conn->uri = xmlParseURI("xen:///");
+ conn->uri = virParseURI("xen:///");
if (!conn->uri) {
virReportOOMError();
return VIR_DRV_OPEN_ERROR;
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index b712da4..9c3c005 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -59,6 +59,7 @@
#include "virnodesuspend.h"
#include "virtime.h"
#include "virtypedparam.h"
+#include "xml.h"
#define VIR_FROM_THIS VIR_FROM_LXC
@@ -138,7 +139,7 @@ static virDrvOpenStatus lxcOpen(virConnectPtr conn,
if (lxc_driver == NULL)
return VIR_DRV_OPEN_DECLINED;
- conn->uri = xmlParseURI("lxc:///");
+ conn->uri = virParseURI("lxc:///");
if (!conn->uri) {
virReportOOMError();
return VIR_DRV_OPEN_ERROR;
diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c
index 833a98d..47fad74 100644
--- a/src/openvz/openvz_driver.c
+++ b/src/openvz/openvz_driver.c
@@ -56,6 +56,7 @@
#include "virfile.h"
#include "logging.h"
#include "command.h"
+#include "xml.h"
#define VIR_FROM_THIS VIR_FROM_OPENVZ
@@ -1335,7 +1336,7 @@ static virDrvOpenStatus openvzOpen(virConnectPtr conn,
if (access("/proc/vz", W_OK) < 0)
return VIR_DRV_OPEN_DECLINED;
- conn->uri = xmlParseURI("openvz:///system");
+ conn->uri = virParseURI("openvz:///system");
if (conn->uri == NULL) {
virReportOOMError();
return VIR_DRV_OPEN_ERROR;
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 45c4100..5ff1313 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -857,7 +857,7 @@ static virDrvOpenStatus qemudOpen(virConnectPtr conn,
if (qemu_driver == NULL)
return VIR_DRV_OPEN_DECLINED;
- conn->uri = xmlParseURI(qemu_driver->privileged ?
+ conn->uri = virParseURI(qemu_driver->privileged ?
"qemu:///system" :
"qemu:///session");
if (!conn->uri) {
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 12cfbde..35a2ebc 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -45,6 +45,7 @@
#include "virtime.h"
#include "locking/domain_lock.h"
#include "rpc/virnetsocket.h"
+#include "xml.h"
#define VIR_FROM_THIS VIR_FROM_QEMU
@@ -1773,10 +1774,10 @@ static int doNativeMigrate(struct qemud_driver *driver,
virReportOOMError();
return -1;
}
- uribits = xmlParseURI(tmp);
+ uribits = virParseURI(tmp);
VIR_FREE(tmp);
} else {
- uribits = xmlParseURI(uri);
+ uribits = virParseURI(uri);
}
if (!uribits) {
qemuReportError(VIR_ERR_INTERNAL_ERROR,
diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index e068126..116cf12 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -47,6 +47,7 @@
#include "command.h"
#include "intprops.h"
#include "virtypedparam.h"
+#include "xml.h"
#define VIR_FROM_THIS VIR_FROM_REMOTE
@@ -719,7 +720,7 @@ doRemoteOpen (virConnectPtr conn,
goto failed;
VIR_DEBUG("Auto-probed URI is %s", uriret.uri);
- conn->uri = xmlParseURI(uriret.uri);
+ conn->uri = virParseURI(uriret.uri);
VIR_FREE(uriret.uri);
if (!conn->uri) {
virReportOOMError();
diff --git a/src/uml/uml_driver.c b/src/uml/uml_driver.c
index a4cf945..f1e290a 100644
--- a/src/uml/uml_driver.c
+++ b/src/uml/uml_driver.c
@@ -63,6 +63,7 @@
#include "configmake.h"
#include "virnetdevtap.h"
#include "virnodesuspend.h"
+#include "xml.h"
#define VIR_FROM_THIS VIR_FROM_UML
@@ -1138,7 +1139,7 @@ static virDrvOpenStatus umlOpen(virConnectPtr conn,
if (uml_driver == NULL)
return VIR_DRV_OPEN_DECLINED;
- conn->uri = xmlParseURI(uml_driver->privileged ?
+ conn->uri = virParseURI(uml_driver->privileged ?
"uml:///system" :
"uml:///session");
if (!conn->uri) {
diff --git a/src/util/xml.c b/src/util/xml.c
index b426653..982ce9a 100644
--- a/src/util/xml.c
+++ b/src/util/xml.c
@@ -800,6 +800,43 @@ error:
goto cleanup;
}
+/**
+ * virParseURI:
+ * @uri: URI to parse
+ *
+ * Wrapper for xmlParseURI
+ *
+ * Unfortunately there are few things that should be managed after
+ * parsing the URI. First example is removing the square brackets
+ * around IPv6 addresses.
+ *
+ * @returns the parsed uri object with some fixes
+ */
+xmlURIPtr
+virParseURI(const char *uri)
+{
+ xmlURIPtr ret = xmlParseURI(uri);
+
+ /* First check: does it even make sense to jump inside */
+ if (ret != NULL && ret->server != NULL && ret->server[0] == '[') {
+ size_t last = strlen(ret->server) - 1; /* Index of last char */
+
+ /* We want to modify the server string only if there are
+ * square brackets on both ends and inside there is IPv6
+ * address. Otherwise we could make a mistake by modifying
+ * something else than IPv6 address. */
+ if (ret->server[last] == ']' && strchr(ret->server, ':')) {
+ for (size_t i = 0; i < last; i++)
+ ret->server[i] = ret->server[i + 1];
+
+ ret->server[last - 1] = '\0';
+ }
+ /* Even after such modification, it is completely ok to free
+ * the uri with xmlFreeURI() */
+ }
+
+ return ret;
+}
static int virXMLEmitWarning(int fd,
const char *name,
diff --git a/src/util/xml.h b/src/util/xml.h
index a3750fa..c0fbbca 100644
--- a/src/util/xml.h
+++ b/src/util/xml.h
@@ -10,6 +10,7 @@
# include <libxml/parser.h>
# include <libxml/tree.h>
# include <libxml/xpath.h>
+# include <libxml/uri.h>
int virXPathBoolean(const char *xpath,
xmlXPathContextPtr ctxt);
@@ -61,6 +62,8 @@ xmlDocPtr virXMLParseHelper(int domcode,
const char *url,
xmlXPathContextPtr *pctxt);
+xmlURIPtr virParseURI(const char *uri);
+
/**
* virXMLParse:
* @filename: file to parse, or NULL for string parsing
diff --git a/src/vbox/vbox_tmpl.c b/src/vbox/vbox_tmpl.c
index b168c7d..11fa995 100644
--- a/src/vbox/vbox_tmpl.c
+++ b/src/vbox/vbox_tmpl.c
@@ -56,6 +56,7 @@
#include "configmake.h"
#include "virfile.h"
#include "fdstream.h"
+#include "xml.h"
/* This one changes from version to version. */
#if VBOX_API_VERSION == 2002
@@ -980,7 +981,7 @@ static virDrvOpenStatus vboxOpen(virConnectPtr conn,
virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR);
if (conn->uri == NULL) {
- conn->uri = xmlParseURI(uid ? "vbox:///session" : "vbox:///system");
+ conn->uri = virParseURI(uid ? "vbox:///session" : "vbox:///system");
if (conn->uri == NULL) {
virReportOOMError();
return VIR_DRV_OPEN_ERROR;
diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c
index 1fdbd50..866b150 100644
--- a/src/vmx/vmx.c
+++ b/src/vmx/vmx.c
@@ -33,6 +33,7 @@
#include "logging.h"
#include "uuid.h"
#include "vmx.h"
+#include "xml.h"
/*
@@ -2610,7 +2611,7 @@ virVMXParseSerial(virVMXContext *ctx, virConfPtr conf, int port,
(*def)->target.port = port;
(*def)->source.type = VIR_DOMAIN_CHR_TYPE_TCP;
- parsedUri = xmlParseURI(fileName);
+ parsedUri = virParseURI(fileName);
if (parsedUri == NULL) {
virReportOOMError();
diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
index 94cafde..c101e11 100644
--- a/src/xen/xen_driver.c
+++ b/src/xen/xen_driver.c
@@ -270,7 +270,7 @@ xenUnifiedOpen (virConnectPtr conn, virConnectAuthPtr auth, unsigned int flags)
if (!xenUnifiedProbe())
return VIR_DRV_OPEN_DECLINED;
- conn->uri = xmlParseURI("xen:///");
+ conn->uri = virParseURI("xen:///");
if (!conn->uri) {
virReportOOMError();
return VIR_DRV_OPEN_ERROR;
diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c
index 5c3838f..e346f5f 100644
--- a/src/xen/xend_internal.c
+++ b/src/xen/xend_internal.c
@@ -46,6 +46,7 @@
#include "memory.h"
#include "count-one-bits.h"
#include "virfile.h"
+#include "xml.h"
/* required for cpumap_t */
#include <xen/dom0_ops.h>
@@ -3224,7 +3225,7 @@ xenDaemonDomainMigratePerform (virDomainPtr domain,
* "hostname", "hostname:port" or "xenmigr://hostname[:port]/".
*/
if (strstr (uri, "//")) { /* Full URI. */
- xmlURIPtr uriptr = xmlParseURI (uri);
+ xmlURIPtr uriptr = virParseURI (uri);
if (!uriptr) {
virXendError(VIR_ERR_INVALID_ARG,
"%s", _("xenDaemonDomainMigrate: invalid URI"));
--
1.7.3.4
12 years, 9 months
[libvirt] RFC: Post-install behavior of libvirt(-client)
by Martin Kletzander
Hello everyone,
I have a small bug #786770 [1] assigned and I discussed this with few
people from our team but I'm still not sure what should be the proper
fix for this bug.
To sumarize the bug, the problem described and discussed there [1] is
that when there's a fresh installation of RHEL system with
libvirt-client, there are some error messages displayed. These messages
are generated by the part of %post client script where we are running this:
if [ $1 -ge 1 ]; then
level=$(/sbin/runlevel | /bin/cut -d ' ' -f 2)
if /sbin/chkconfig --levels $level libvirt-guests; then
# this doesn't do anything but allowing for libvirt-guests to be
# stopped on the first shutdown
/sbin/service libvirt-guests start > /dev/null 2>&1 || true
fi
fi
The messages are generated because "/sbin/runlevel" returns "unknown" in
chrooted installation environment. But there's more to that. While
looking at this part of code, I wonder what we are trying to do here :)
There are some problems, let me revise:
- 1st parameter of this script is 1 for install and 2 for upgrade, thus
"[ $1 -ge 1 ]" is always true
- we are trying to get the current runlevel and then check if
libvirt-guests is enabled in this runlevel.
As mentioned before, the latter doesn't work because we are using
command "/sbin/runlevel" there. There is another option, but
unfortunately, running "/sbin/chkconfig libvirt-guests" fails as well.
Both of these are trying to get current runlevel from "/var/run/utmp"
which is empty in the chrooted env during installation.
Thinking about this a little more, I see two more "unconsistencies"
let's say:
- we are starting libvirt-guests if it is enabled (rpm post script
should not start services)
- we don't check if libvirtd is running, so during shutdown we can get
even more error messages that the script is not able to connect to
libvirt etc.
So I'm wondering if I can just remove the starting part (because if
someone wants to use it after first install, he has to start libvirtd
anyway and then should know to start libvirt-guests as well) or if I
have to come up with some totally different solution how to do this.
Maybe I'm missing something here or I don't understand it correctly, any
correction is appreciated.
Thanks in advance for all suggestions.
Have a nice day
Martin
[1] https://bugzilla.redhat.com/show_bug.cgi?id=786770
12 years, 9 months
[libvirt] [Patch v2] vmx: Better Workstation vmx handling
by Jean-Baptiste Rouault
This patch adds support for more network configurations in vmx files.
Changes since v1:
Adapt virVMXFormatEthernet() to handle empty bridge names and user
interface type.
Add new test cases to vmx2xmltest and xml2vmxtest.
Jean-Baptiste Rouault (1):
vmx: Better Workstation vmx handling
src/vmx/vmx.c | 39 ++++++++++++------
tests/vmx2xmldata/vmx2xml-ethernet-nat.vmx | 6 +++
tests/vmx2xmldata/vmx2xml-ethernet-nat.xml | 21 ++++++++++
tests/vmx2xmldata/vmx2xml-ws-in-the-wild-1.vmx | 52 ++++++++++++++++++++++++
tests/vmx2xmldata/vmx2xml-ws-in-the-wild-1.xml | 35 ++++++++++++++++
tests/vmx2xmldata/vmx2xml-ws-in-the-wild-2.vmx | 52 ++++++++++++++++++++++++
tests/vmx2xmldata/vmx2xml-ws-in-the-wild-2.xml | 36 ++++++++++++++++
tests/vmx2xmltest.c | 4 ++
tests/xml2vmxdata/xml2vmx-ethernet-nat.vmx | 14 ++++++
tests/xml2vmxdata/xml2vmx-ethernet-nat.xml | 13 ++++++
tests/xml2vmxdata/xml2vmx-ws-in-the-wild-1.vmx | 22 ++++++++++
tests/xml2vmxdata/xml2vmx-ws-in-the-wild-1.xml | 29 +++++++++++++
tests/xml2vmxdata/xml2vmx-ws-in-the-wild-2.vmx | 22 ++++++++++
tests/xml2vmxdata/xml2vmx-ws-in-the-wild-2.xml | 30 ++++++++++++++
tests/xml2vmxtest.c | 4 ++
15 files changed, 366 insertions(+), 13 deletions(-)
create mode 100644 tests/vmx2xmldata/vmx2xml-ethernet-nat.vmx
create mode 100644 tests/vmx2xmldata/vmx2xml-ethernet-nat.xml
create mode 100644 tests/vmx2xmldata/vmx2xml-ws-in-the-wild-1.vmx
create mode 100644 tests/vmx2xmldata/vmx2xml-ws-in-the-wild-1.xml
create mode 100644 tests/vmx2xmldata/vmx2xml-ws-in-the-wild-2.vmx
create mode 100644 tests/vmx2xmldata/vmx2xml-ws-in-the-wild-2.xml
create mode 100644 tests/xml2vmxdata/xml2vmx-ethernet-nat.vmx
create mode 100644 tests/xml2vmxdata/xml2vmx-ethernet-nat.xml
create mode 100644 tests/xml2vmxdata/xml2vmx-ws-in-the-wild-1.vmx
create mode 100644 tests/xml2vmxdata/xml2vmx-ws-in-the-wild-1.xml
create mode 100644 tests/xml2vmxdata/xml2vmx-ws-in-the-wild-2.vmx
create mode 100644 tests/xml2vmxdata/xml2vmx-ws-in-the-wild-2.xml
--
1.7.9
12 years, 9 months
[libvirt] [PATCH 1/1] Add a few additional comments to bugs.html
by Dave Allan
Clarified that "bugs" in this context means any change to libvirt,
whether called a bug, feature, etc.
Noted the existence of the Fedora virt preview repo as a way of trying
out newer prebuilt packages.
Noted that you don't need to be subscribed to the list to post.
---
docs/bugs.html.in | 22 +++++++++++++++++++++-
1 files changed, 21 insertions(+), 1 deletions(-)
diff --git a/docs/bugs.html.in b/docs/bugs.html.in
index 39b6725..cc73439 100644
--- a/docs/bugs.html.in
+++ b/docs/bugs.html.in
@@ -13,6 +13,15 @@
check below for distribution specific bug reporting policies
first.
</p>
+ <p>
+ Please note that although this page is called bug reporting, the
+ advice here applies to any change you feel should be made in
+ libvirt, whether it is called a bug, feature, documentation
+ change or any other kind of modification. (Coding Horror has an
+ interesting discussion of
+ <a href="http://www.codinghorror.com/blog/2008/11/thats-not-a-bug-its-a-feature-re...">some
+ different takes on that categorization</a>.)
+ </p>
<h2><a name="general">General libvirt bug reports</a></h2>
@@ -39,7 +48,8 @@
ask questions on the list, as others may know of existing
solutions or be interested in collaborating with you on finding
a solution. Patches are always appreciated, and it's likely
- that someone else has the same problem you do!
+ that someone else has the same problem you do! You don't need
+ to subscribe to the list to post.
</p>
<p>
If you decide to write code, though, before you begin please
@@ -59,13 +69,23 @@
<h2><a name="distribution">Linux Distribution specific bug reports</a></h2>
<ul>
<li>
+ <p>
If you are using binaries from <strong>Fedora</strong>, enter
tickets against the <code>Fedora</code> product and
the <code>libvirt</code> component.
+ </p>
<ul>
<li><a href="http://bugzilla.redhat.com/buglist.cgi?component=libvirt&product=Fedora">View Fedora libvirt tickets</a></li>
<li><a href="http://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora&comp...">New Fedora libvirt ticket</a></li>
</ul>
+ <p>
+ If you're willing to try out bleeding edge code but don't
+ want to build libvirt yourself, consider installing packages
+ from
+ the <a href="http://fedoraproject.org/wiki/Virtualization_Preview_Repository">Fedora
+ Virt Preview Repository</a> to see if your problem has been
+ fixed already.
+ </p>
</li>
<li>
<p>
--
1.7.7.6
12 years, 9 months
[libvirt] [PATCH] Misleading error message when name is missing
by Benjamin Cama
Hi,
[forwarding this here from RH bug #796732]
When creating a network (virsh net-create) with an erroneous XML
containing an empty <name> element, the error message is misleading:
error: Failed to create network from foo.xml
error: missing domain name information
It took me a bit of time to figure out that it was the *network* name
that was missing (I generate this xml and didn't look at it, first).
I realized that the same message is used for missing name when creating
a domain, network, or device node. Attached patch (warning: against a
completly different git than yours, don't pay attention to wrong shas)
thus make this message more generic.
Regards,
Benjamin
PS: please Cc me, I'm not subscribed
12 years, 9 months
[libvirt] [PATCH 1/1] Update bug reporting page
by Dave Allan
Remove suggestion that people file bugs against RHEL 5 and add a
suggestion that people increase the visibility of their bugs by
mentioning them on libvir-list.
---
docs/bugs.html.in | 83 ++++++++++++++++++++++++++++++++++++----------------
1 files changed, 57 insertions(+), 26 deletions(-)
diff --git a/docs/bugs.html.in b/docs/bugs.html.in
index 560dfa4..39b6725 100644
--- a/docs/bugs.html.in
+++ b/docs/bugs.html.in
@@ -9,22 +9,47 @@
<h2><a name="bugzilla">Bug Tracking</a></h2>
<p>
- The <a href="http://bugzilla.redhat.com">Red Hat Bugzilla Server</a>
- should be used to report bugs and request features in libvirt.
- Before submitting a ticket, check the existing tickets to see if
- the bug/feature is already tracked.
+ If you are using libvirt binaries from a Linux distribution
+ check below for distribution specific bug reporting policies
+ first.
</p>
<h2><a name="general">General libvirt bug reports</a></h2>
<p>
- If you are using official libvirt binaries from a Linux distribution
- check below for distribution specific bug reporting policies first.
+ The <a href="http://bugzilla.redhat.com">Red Hat Bugzilla Server</a>
+ should be used to report bugs and request features in libvirt.
+ Before submitting a ticket, check the existing tickets to see if
+ the bug/feature is already tracked.
+
For general libvirt bug reports, from self-built releases, GIT snapshots
and any other non-distribution supported builds, enter tickets under
the <code>Virtualization Tools</code> product and the <code>libvirt</code>
component.
</p>
+ <p>
+ It's always a good idea to file bug reports, as the process of
+ filing the report always makes it easier to describe the
+ problem, and the bug number provides a quick way of referring to
+ the problem. However, not everybody in the community pays
+ attention to bugzilla, so after you file a bug, asking questions
+ and submitting patches on <a href="contact.html">the libvirt
+ mailing lists</a> will increase your bug's visibility and
+ encourage people to think about your problem. Don't hesitate to
+ ask questions on the list, as others may know of existing
+ solutions or be interested in collaborating with you on finding
+ a solution. Patches are always appreciated, and it's likely
+ that someone else has the same problem you do!
+ </p>
+ <p>
+ If you decide to write code, though, before you begin please
+ read the <a href="hacking.html">contributor guidelines</a>,
+ especially the first point: "Discuss any large changes on the
+ mailing list first. Post patches early and listen to feedback."
+ Few development experiences are more discouraging than spending
+ a bunch of time writing a patch only to have someone point out a
+ better approach on list.
+ </p>
<ul>
<li><a href="http://bugzilla.redhat.com/buglist.cgi?component=libvirt&product=Virt...">View libvirt tickets</a></li>
@@ -34,26 +59,37 @@
<h2><a name="distribution">Linux Distribution specific bug reports</a></h2>
<ul>
<li>
- If you are using official binaries from a <strong>Fedora distribution</strong>, enter
- tickets against the <code>Fedora</code> product and the <code>libvirt</code>
- component.
+ If you are using binaries from <strong>Fedora</strong>, enter
+ tickets against the <code>Fedora</code> product and
+ the <code>libvirt</code> component.
<ul>
<li><a href="http://bugzilla.redhat.com/buglist.cgi?component=libvirt&product=Fedora">View Fedora libvirt tickets</a></li>
<li><a href="http://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora&comp...">New Fedora libvirt ticket</a></li>
</ul>
</li>
<li>
- If you are using official binaries from <strong>Red Hat Enterprise Linux distribution</strong>,
- tickets against the <code>Red Hat Enterprise Linux 5</code> product and
- the <code>libvirt</code> component.
- <ul>
- <li><a href="http://bugzilla.redhat.com/buglist.cgi?component=libvirt&product=Red%...">View Red Hat Enterprise Linux libvirt tickets</a></li>
- <li><a href="http://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Red%20Hat%20Ent...">New Red Hat Enterprise Linux libvirt ticket</a></li>
- </ul>
+ <p>
+ If you are using binaries from <strong>Red Hat Enterprise
+ Linux</strong>, enter tickets against the Red Hat Enterprise
+ Linux product that you're using (e.g., Red Hat Enterprise
+ Linux 6) and the <code>libvirt</code> component. Red Hat
+ bugzilla has <a href="http://bugzilla.redhat.com">additional guidance</a> about getting support if
+ you are a Red Hat customer.
+ </p>
</li>
<li>
- If you are using official binaries from another Linux distribution first
- follow their own bug reporting guidelines.
+ <p>
+ If you are using binaries from another Linux distribution
+ first follow their own bug reporting guidelines.
+ </p>
+ </li>
+ <li>
+ <p>
+ Finally, if you are a contributor to another Linux
+ distribution and would like to have your procedure for
+ filing bugs mentioned here, please mail the libvirt
+ development list.
+ </p>
</li>
</ul>
@@ -81,18 +117,18 @@
If the bug leads to a tool linked to libvirt crash, then the best
is to provide a backtrace along with the scenario used to get the
crash, the simplest is to run the program under gdb, reproduce the
- steps leading to the crash and then issue a gdb "bt" command to
+ steps leading to the crash and then issue a gdb "bt -a" command to
get the stack trace, attach it to the bug. Note that for the
data to be really useful libvirt debug informations must be present
for example by installing libvirt debuginfo package on Fedora or
Red Hat Enterprise Linux (with debuginfo-install libvirt) prior
to running gdb.</p>
<p>
- It may also happen that the libvirt daemon itself crashes or get stuck,
+ It may also happen that the libvirt daemon itself crashes or gets stuck,
in the first case run it (as root) under gdb, and reproduce the sequence
leading to the crash, similary to a normal program provide the
"bt" backtrace information to where gdb will have stopped.<br/>
- But if libvirtd get stuck, for example seems to stop processing
+ But if libvirtd gets stuck, for example seems to stop processing
commands, try to attach to the faulty daemon and issue a gdb command
"thread apply all bt" to show all the threads backtraces, as in:</p>
<pre> # ps -o etime,pid `pgrep libvirt`
@@ -106,10 +142,5 @@
(gdb)
</pre>
- <p>
- If requesting a new feature attach any available patch to the ticket
- and also email the patch to the libvirt mailing list for discussion
- </p>
-
</body>
</html>
--
1.7.7.6
12 years, 9 months
[libvirt] [PATCH] qemu: nicer error message on failed graceful destroy
by Eric Blake
https://bugzilla.redhat.com/show_bug.cgi?id=795656 mentions
that a graceful destroy request can time out, meaning that the
error message is user-visible and should be more appropriate
than just internal error.
* src/qemu/qemu_driver.c (qemuDomainDestroyFlags): Swap error type.
---
src/qemu/qemu_driver.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 717bdf1..c7ca881 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -1792,7 +1792,7 @@ qemuDomainDestroyFlags(virDomainPtr dom,
*/
if (flags & VIR_DOMAIN_DESTROY_GRACEFUL) {
if (qemuProcessKill(driver, vm, 0) < 0) {
- qemuReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ qemuReportError(VIR_ERR_OPERATION_FAILED, "%s",
_("failed to kill qemu process with SIGTERM"));
goto cleanup;
}
--
1.7.7.6
12 years, 9 months
[libvirt] [PATCH v2 0/4] Forbid migration with cache != none
by Jiri Denemark
Migrating qemu domains with disks using cache != none is unsafe unless
the disk images are stored on coherent clustered filesystem. Thus we
forbid migrating such domains unless VIR_MIGRATE_UNSAFE flags is used.
This series uses similar aproach to forbidding unsafe PCI passthrough
or disk format probing when we forbade those by default with the
possibility to force them.
Domain configuration is only checked on source, which makes migrating
affected domains from an old libvirt to the new one possible. Migrating
back is impossible since destination libvirtd would complain about
unknown flag (the flag is not filtered so it gets to the destination
even though it's not really used there).
However, users of unknown clustered filesystems now have to always pass
the new flag to be able to migrate because libvirtd would think they are
doing something unsafe. Perhaps we should provide a system wide (i.e.,
/etc/libvirt/qemu.conf) tunable which would disable cache mode checking
for all domains at once?
I was also wondering if we should rather use more specific name for both
the error code and flag, such as VIR(_ERR)?_MIGRATE_UNSAFE_CACHE
(or ...UNSAFE_DISK) in the case we find other unsafe conditions...
Version 2:
- add virStorageFileIsClusterFS as suggested by Dan B.
Jiri Denemark (4):
Add support for unsafe migration
virsh: Add --unsafe option to migrate command
Introduce virStorageFileIsClusterFS
qemu: Forbid migration with cache != none
include/libvirt/libvirt.h.in | 2 +-
include/libvirt/virterror.h | 1 +
src/libvirt.c | 4 ++++
src/libvirt_private.syms | 1 +
src/qemu/qemu_driver.c | 3 ++-
src/qemu/qemu_migration.c | 39 +++++++++++++++++++++++++++++++++++----
src/qemu/qemu_migration.h | 6 ++++--
src/util/storage_file.c | 10 ++++++++++
src/util/storage_file.h | 1 +
src/util/virterror.c | 6 ++++++
tools/virsh.c | 4 ++++
tools/virsh.pod | 10 +++++++++-
12 files changed, 78 insertions(+), 9 deletions(-)
--
1.7.8.4
12 years, 9 months
[libvirt] [PATCH 0/3] make memory use in XML easier to read
by Eric Blake
As suggested here:
https://www.redhat.com/archives/libvir-list/2012-February/msg00954.html
Eric Blake (3):
xml: output memory unit for clarity
xml: drop unenforced minimum memory limit from RNG
xml: allow scaled memory on input
docs/formatdomain.html.in | 39 ++++-
docs/schemas/domaincommon.rng | 27 +++-
src/conf/domain_conf.c | 155 ++++++++++++++++----
src/conf/domain_conf.h | 12 +-
tests/define-dev-segfault | 4 +-
tests/domainschemadata/domain-lxc-simple.xml | 2 +-
tests/domainschemadata/portprofile.xml | 2 +-
.../qemu-simple-description-title.xml | 4 +-
tests/domainschemadata/timers.xml | 4 +-
tests/domainsnapshotxml2xmlout/disk_snapshot.xml | 4 +-
tests/domainsnapshotxml2xmlout/full_domain.xml | 4 +-
tests/domainsnapshotxml2xmlout/metadata.xml | 4 +-
tests/openvzutilstest.c | 4 +-
tests/qemuargv2xmltest.c | 5 +-
.../qemuxml2argv-balloon-device-auto.xml | 4 +-
.../qemuxml2argv-balloon-device.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-bios.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-blkdeviotune.xml | 4 +-
.../qemuxml2argv-blkiotune-device.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-blkiotune.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.xml | 4 +-
.../qemuxml2argv-boot-complex-bootindex.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-boot-complex.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-boot-floppy.xml | 4 +-
...uxml2argv-boot-menu-disable-drive-bootindex.xml | 4 +-
.../qemuxml2argv-boot-menu-disable-drive.xml | 4 +-
.../qemuxml2argv-boot-menu-disable.xml | 4 +-
.../qemuxml2argv-boot-menu-enable.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-boot-multi.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-boot-network.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-boot-order.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-bootloader.xml | 4 +-
.../qemuxml2argv-channel-guestfwd.xml | 4 +-
.../qemuxml2argv-channel-spicevmc-old.xml | 2 +-
.../qemuxml2argv-channel-spicevmc.xml | 2 +-
.../qemuxml2argv-channel-virtio-auto.xml | 4 +-
.../qemuxml2argv-channel-virtio.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-clock-france.xml | 4 +-
.../qemuxml2argv-clock-localtime.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-clock-utc.xml | 4 +-
.../qemuxml2argv-clock-variable.xml | 4 +-
.../qemuxml2argv-console-compat-auto.xml | 4 +-
.../qemuxml2argv-console-compat-chardev.xml | 4 +-
.../qemuxml2argv-console-compat.xml | 4 +-
.../qemuxml2argv-console-virtio-many.xml | 4 +-
.../qemuxml2argv-console-virtio.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-exact1.xml | 4 +-
.../qemuxml2argv-cpu-exact2-nofallback.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-exact2.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-fallback.xml | 4 +-
.../qemuxml2argv-cpu-host-kvmclock.xml | 4 +-
.../qemuxml2argv-cpu-host-model-fallback.xml | 4 +-
.../qemuxml2argv-cpu-host-model-nofallback.xml | 4 +-
.../qemuxml2argv-cpu-host-model.xml | 4 +-
.../qemuxml2argv-cpu-host-passthrough.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-kvmclock.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-minimum1.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-minimum2.xml | 4 +-
.../qemuxml2argv-cpu-nofallback.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa1.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa2.xml | 4 +-
.../qemuxml2argv-cpu-qemu-host-passthrough.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-strict1.xml | 4 +-
.../qemuxml2argv-cpu-topology1.xml | 4 +-
.../qemuxml2argv-cpu-topology2.xml | 4 +-
.../qemuxml2argv-cpu-topology3.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-cputune.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-aio.xml | 4 +-
.../qemuxml2argv-disk-cdrom-empty.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.xml | 4 +-
.../qemuxml2argv-disk-copy_on_read.xml | 2 +-
.../qemuxml2argv-disk-drive-boot-cdrom.xml | 4 +-
.../qemuxml2argv-disk-drive-boot-disk.xml | 4 +-
.../qemuxml2argv-disk-drive-cache-directsync.xml | 4 +-
.../qemuxml2argv-disk-drive-cache-unsafe.xml | 4 +-
.../qemuxml2argv-disk-drive-cache-v1-none.xml | 4 +-
.../qemuxml2argv-disk-drive-cache-v1-wb.xml | 4 +-
.../qemuxml2argv-disk-drive-cache-v1-wt.xml | 4 +-
.../qemuxml2argv-disk-drive-cache-v2-none.xml | 4 +-
.../qemuxml2argv-disk-drive-cache-v2-wb.xml | 4 +-
.../qemuxml2argv-disk-drive-cache-v2-wt.xml | 4 +-
...muxml2argv-disk-drive-error-policy-enospace.xml | 4 +-
.../qemuxml2argv-disk-drive-error-policy-stop.xml | 4 +-
...rgv-disk-drive-error-policy-wreport-rignore.xml | 4 +-
.../qemuxml2argv-disk-drive-fat.xml | 4 +-
.../qemuxml2argv-disk-drive-fmt-qcow.xml | 4 +-
.../qemuxml2argv-disk-drive-network-nbd.xml | 4 +-
.../qemuxml2argv-disk-drive-network-rbd-auth.xml | 4 +-
...emuxml2argv-disk-drive-network-rbd-ceph-env.xml | 4 +-
.../qemuxml2argv-disk-drive-network-rbd.xml | 4 +-
.../qemuxml2argv-disk-drive-network-sheepdog.xml | 4 +-
.../qemuxml2argv-disk-drive-no-boot.xml | 4 +-
.../qemuxml2argv-disk-drive-readonly-disk.xml | 4 +-
.../qemuxml2argv-disk-drive-readonly-no-device.xml | 4 +-
.../qemuxml2argv-disk-drive-shared.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-disk-floppy.xml | 4 +-
.../qemuxml2argv-disk-ioeventfd.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-many.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-order.xml | 4 +-
.../qemuxml2argv-disk-sata-device.xml | 4 +-
.../qemuxml2argv-disk-scsi-device-auto.xml | 4 +-
.../qemuxml2argv-disk-scsi-device.xml | 4 +-
.../qemuxml2argv-disk-snapshot.xml | 4 +-
.../qemuxml2argv-disk-transient.xml | 4 +-
.../qemuxml2argv-disk-usb-device.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-usb.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-disk-virtio.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-disk-xenvbd.xml | 4 +-
.../qemuxml2argv-encrypted-disk.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-event_idx.xml | 4 +-
.../qemuxml2argv-floppy-drive-fat.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-fs9p.xml | 4 +-
.../qemuxml2argv-graphics-listen-network.xml | 4 +-
.../qemuxml2argv-graphics-listen-network2.xml | 4 +-
.../qemuxml2argv-graphics-sdl-fullscreen.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-graphics-sdl.xml | 4 +-
.../qemuxml2argv-graphics-spice-compression.xml | 4 +-
.../qemuxml2argv-graphics-spice-qxl-vga.xml | 4 +-
.../qemuxml2argv-graphics-spice-timeout.xml | 4 +-
.../qemuxml2argv-graphics-spice.xml | 4 +-
.../qemuxml2argv-graphics-vnc-sasl.xml | 4 +-
.../qemuxml2argv-graphics-vnc-socket.xml | 4 +-
.../qemuxml2argv-graphics-vnc-tls.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-graphics-vnc.xml | 4 +-
.../qemuxml2argv-hostdev-pci-address-device.xml | 4 +-
.../qemuxml2argv-hostdev-pci-address.xml | 4 +-
.../qemuxml2argv-hostdev-usb-address-device.xml | 4 +-
.../qemuxml2argv-hostdev-usb-address.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-hugepages.xml | 4 +-
.../qemuxml2argv-input-usbmouse-addr.xml | 4 +-
.../qemuxml2argv-input-usbmouse.xml | 4 +-
.../qemuxml2argv-input-usbtablet.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-input-xen.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-kvmclock.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-lease.xml | 4 +-
.../qemuxml2argv-machine-aliases1.xml | 4 +-
.../qemuxml2argv-machine-aliases2.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-memtune.xml | 10 +-
tests/qemuxml2argvdata/qemuxml2argv-metadata.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-migrate.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-minimal.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.xml | 4 +-
.../qemuxml2argv-misc-no-reboot.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-monitor-json.xml | 4 +-
.../qemuxml2argv-multifunction-pci-device.xml | 4 +-
.../qemuxml2argv-net-bandwidth.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-net-client.xml | 4 +-
.../qemuxml2argv-net-eth-ifname.xml | 4 +-
.../qemuxml2argv-net-eth-names.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-net-eth.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-net-mcast.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-net-server.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-net-user.xml | 4 +-
.../qemuxml2argv-net-virtio-device.xml | 4 +-
.../qemuxml2argv-net-virtio-netdev.xml | 4 +-
.../qemuxml2argv-net-virtio-network-portgroup.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-net-virtio.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-no-shutdown.xml | 4 +-
.../qemuxml2argv-nographics-vga.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-nographics.xml | 4 +-
.../qemuxml2argv-numatune-memory.xml | 4 +-
.../qemuxml2argv-parallel-tcp-chardev.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-parallel-tcp.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-pci-rom.xml | 4 +-
.../qemuxml2argv-pseries-basic.xml | 2 +-
.../qemuxml2argv-pseries-vio-address-clash.xml | 2 +-
.../qemuxml2argv-pseries-vio-user-assigned.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-pseries-vio.xml | 2 +-
.../qemuxml2argv-qemu-ns-no-env.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-qemu-ns.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-restore-v1.xml | 4 +-
.../qemuxml2argv-restore-v2-fd.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-restore-v2.xml | 4 +-
.../qemuxml2argv-seclabel-dynamic-baselabel.xml | 4 +-
.../qemuxml2argv-seclabel-dynamic-override.xml | 4 +-
.../qemuxml2argv-seclabel-dynamic.xml | 4 +-
.../qemuxml2argv-seclabel-none.xml | 4 +-
.../qemuxml2argv-seclabel-static-relabel.xml | 4 +-
.../qemuxml2argv-seclabel-static.xml | 4 +-
.../qemuxml2argv-serial-dev-chardev.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-serial-dev.xml | 4 +-
.../qemuxml2argv-serial-file-chardev.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-serial-file.xml | 4 +-
.../qemuxml2argv-serial-many-chardev.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-serial-many.xml | 4 +-
.../qemuxml2argv-serial-pty-chardev.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-serial-pty.xml | 4 +-
.../qemuxml2argv-serial-target-port-auto.xml | 4 +-
.../qemuxml2argv-serial-tcp-chardev.xml | 4 +-
.../qemuxml2argv-serial-tcp-telnet-chardev.xml | 4 +-
.../qemuxml2argv-serial-tcp-telnet.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-serial-tcp.xml | 4 +-
.../qemuxml2argv-serial-udp-chardev.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-serial-udp.xml | 4 +-
.../qemuxml2argv-serial-unix-chardev.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-serial-unix.xml | 4 +-
.../qemuxml2argv-serial-vc-chardev.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-serial-vc.xml | 4 +-
.../qemuxml2argv-smartcard-controller.xml | 4 +-
.../qemuxml2argv-smartcard-host-certificates.xml | 4 +-
.../qemuxml2argv-smartcard-host.xml | 4 +-
...qemuxml2argv-smartcard-passthrough-spicevmc.xml | 4 +-
.../qemuxml2argv-smartcard-passthrough-tcp.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-smbios.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-smp.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-sound-device.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-sound.xml | 4 +-
.../qemuxml2argv-usb-controller.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-usb-hub.xml | 4 +-
.../qemuxml2argv-usb-ich9-companion.xml | 4 +-
.../qemuxml2argv-usb-ich9-ehci-addr.xml | 4 +-
.../qemuxml2argv-usb-piix3-controller.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-usb-ports.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-usb-redir.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-usb1-usb2.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-virtio-lun.xml | 4 +-
.../qemuxml2argv-watchdog-device.xml | 4 +-
.../qemuxml2argv-watchdog-dump.xml | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-watchdog.xml | 4 +-
.../qemuxml2xmlout-balloon-device-auto.xml | 4 +-
.../qemuxml2xmlout-channel-virtio-auto.xml | 4 +-
.../qemuxml2xmlout-console-compat-auto.xml | 4 +-
.../qemuxml2xmlout-console-virtio.xml | 4 +-
.../qemuxml2xmlout-disk-cdrom-empty.xml | 4 +-
.../qemuxml2xmlout-disk-scsi-device-auto.xml | 4 +-
.../qemuxml2xmlout-graphics-listen-network2.xml | 4 +-
.../qemuxml2xmlout-graphics-spice-timeout.xml | 4 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-metadata.xml | 4 +-
.../qemuxml2xmlout-serial-target-port-auto.xml | 4 +-
.../qemuxmlns-qemu-ns-commandline-ns0.xml | 4 +-
.../qemuxmlns-qemu-ns-commandline-ns1.xml | 4 +-
.../qemuxmlns-qemu-ns-commandline.xml | 4 +-
.../qemuxmlns-qemu-ns-domain-commandline-ns0.xml | 4 +-
.../qemuxmlns-qemu-ns-domain-commandline.xml | 4 +-
.../qemuxmlnsdata/qemuxmlns-qemu-ns-domain-ns0.xml | 4 +-
tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-boot-grub.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-bridge-ipaddr.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-curmem.xml | 4 +-
.../sexpr2xml-disk-block-shareable.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-disk-block.xml | 4 +-
.../sexpr2xml-disk-drv-blktap-qcow.xml | 4 +-
.../sexpr2xml-disk-drv-blktap-raw.xml | 4 +-
.../sexpr2xml-disk-drv-blktap2-raw.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-disk-file.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-kernel.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-legacy-vfb.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-net-ioemu.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml | 4 +-
.../sexpr2xml-fv-serial-dev-2-ports.xml | 4 +-
.../sexpr2xml-fv-serial-dev-2nd-port.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml | 4 +-
.../sexpr2xml-fv-serial-tcp-telnet.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-sound.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-utc.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv-v2.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-fv.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-net-bridged.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-net-e1000.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-net-routed.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-pci-devs.xml | 4 +-
.../sexpr2xml-pv-bootloader-cmdline.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-pv-bootloader.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-pv-localtime.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-pv-vcpus.xml | 4 +-
.../sexpr2xml-pv-vfb-new-vncdisplay.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-pv-vfb-orig.xml | 4 +-
.../sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml | 4 +-
tests/sexpr2xmldata/sexpr2xml-pv.xml | 4 +-
tests/vmx2xmldata/vmx2xml-annotation.xml | 4 +-
tests/vmx2xmldata/vmx2xml-case-insensitive-1.xml | 4 +-
tests/vmx2xmldata/vmx2xml-case-insensitive-2.xml | 4 +-
tests/vmx2xmldata/vmx2xml-cdrom-ide-device.xml | 4 +-
tests/vmx2xmldata/vmx2xml-cdrom-ide-file.xml | 4 +-
tests/vmx2xmldata/vmx2xml-cdrom-scsi-device.xml | 4 +-
tests/vmx2xmldata/vmx2xml-cdrom-scsi-file.xml | 4 +-
tests/vmx2xmldata/vmx2xml-esx-in-the-wild-1.xml | 4 +-
tests/vmx2xmldata/vmx2xml-esx-in-the-wild-2.xml | 4 +-
tests/vmx2xmldata/vmx2xml-esx-in-the-wild-3.xml | 4 +-
tests/vmx2xmldata/vmx2xml-esx-in-the-wild-4.xml | 4 +-
tests/vmx2xmldata/vmx2xml-esx-in-the-wild-5.xml | 6 +-
tests/vmx2xmldata/vmx2xml-esx-in-the-wild-6.xml | 4 +-
tests/vmx2xmldata/vmx2xml-ethernet-bridged.xml | 4 +-
tests/vmx2xmldata/vmx2xml-ethernet-custom.xml | 4 +-
tests/vmx2xmldata/vmx2xml-ethernet-e1000.xml | 4 +-
tests/vmx2xmldata/vmx2xml-ethernet-generated.xml | 4 +-
tests/vmx2xmldata/vmx2xml-ethernet-other.xml | 4 +-
tests/vmx2xmldata/vmx2xml-ethernet-static.xml | 4 +-
tests/vmx2xmldata/vmx2xml-ethernet-vmxnet2.xml | 4 +-
tests/vmx2xmldata/vmx2xml-ethernet-vpx.xml | 4 +-
tests/vmx2xmldata/vmx2xml-floppy-device.xml | 4 +-
tests/vmx2xmldata/vmx2xml-floppy-file.xml | 4 +-
tests/vmx2xmldata/vmx2xml-graphics-vnc.xml | 4 +-
tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-1.xml | 4 +-
tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-2.xml | 4 +-
tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-3.xml | 4 +-
tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-4.xml | 4 +-
tests/vmx2xmldata/vmx2xml-harddisk-ide-file.xml | 4 +-
tests/vmx2xmldata/vmx2xml-harddisk-scsi-file.xml | 4 +-
tests/vmx2xmldata/vmx2xml-minimal-64bit.xml | 4 +-
tests/vmx2xmldata/vmx2xml-minimal.xml | 4 +-
tests/vmx2xmldata/vmx2xml-parallel-device.xml | 4 +-
tests/vmx2xmldata/vmx2xml-parallel-file.xml | 4 +-
tests/vmx2xmldata/vmx2xml-scsi-driver.xml | 4 +-
tests/vmx2xmldata/vmx2xml-scsi-writethrough.xml | 4 +-
tests/vmx2xmldata/vmx2xml-serial-device.xml | 4 +-
tests/vmx2xmldata/vmx2xml-serial-file.xml | 4 +-
.../vmx2xmldata/vmx2xml-serial-network-client.xml | 4 +-
.../vmx2xmldata/vmx2xml-serial-network-server.xml | 4 +-
tests/vmx2xmldata/vmx2xml-serial-pipe.xml | 4 +-
tests/vmx2xmldata/vmx2xml-smbios.xml | 4 +-
tests/vmx2xmldata/vmx2xml-svga.xml | 4 +-
tests/xmconfigdata/sexpr2xml-pv-bootloader.xml | 4 +-
tests/xmconfigdata/test-escape-paths.xml | 4 +-
tests/xmconfigdata/test-fullvirt-force-hpet.xml | 4 +-
tests/xmconfigdata/test-fullvirt-force-nohpet.xml | 4 +-
tests/xmconfigdata/test-fullvirt-localtime.xml | 4 +-
tests/xmconfigdata/test-fullvirt-net-ioemu.xml | 4 +-
tests/xmconfigdata/test-fullvirt-net-netfront.xml | 4 +-
tests/xmconfigdata/test-fullvirt-new-cdrom.xml | 4 +-
tests/xmconfigdata/test-fullvirt-old-cdrom.xml | 4 +-
tests/xmconfigdata/test-fullvirt-parallel-tcp.xml | 4 +-
.../test-fullvirt-serial-dev-2-ports.xml | 4 +-
.../test-fullvirt-serial-dev-2nd-port.xml | 4 +-
tests/xmconfigdata/test-fullvirt-serial-file.xml | 4 +-
tests/xmconfigdata/test-fullvirt-serial-null.xml | 4 +-
tests/xmconfigdata/test-fullvirt-serial-pipe.xml | 4 +-
tests/xmconfigdata/test-fullvirt-serial-pty.xml | 4 +-
tests/xmconfigdata/test-fullvirt-serial-stdio.xml | 4 +-
.../test-fullvirt-serial-tcp-telnet.xml | 4 +-
tests/xmconfigdata/test-fullvirt-serial-tcp.xml | 4 +-
tests/xmconfigdata/test-fullvirt-serial-udp.xml | 4 +-
tests/xmconfigdata/test-fullvirt-serial-unix.xml | 4 +-
tests/xmconfigdata/test-fullvirt-sound.xml | 4 +-
tests/xmconfigdata/test-fullvirt-usbmouse.xml | 4 +-
.../test-fullvirt-usbtablet-no-bus.xml | 4 +-
tests/xmconfigdata/test-fullvirt-usbtablet.xml | 4 +-
tests/xmconfigdata/test-fullvirt-utc.xml | 4 +-
tests/xmconfigdata/test-no-source-cdrom.xml | 4 +-
tests/xmconfigdata/test-paravirt-net-e1000.xml | 4 +-
tests/xmconfigdata/test-paravirt-net-vifname.xml | 4 +-
.../test-paravirt-new-pvfb-vncdisplay.xml | 4 +-
tests/xmconfigdata/test-paravirt-new-pvfb.xml | 4 +-
.../test-paravirt-old-pvfb-vncdisplay.xml | 4 +-
tests/xmconfigdata/test-paravirt-old-pvfb.xml | 4 +-
tests/xmconfigdata/test-paravirt-vcpu.xml | 4 +-
tests/xmconfigdata/test-pci-devs.xml | 4 +-
tests/xml2sexprdata/xml2sexpr-boot-grub.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-bridge-ipaddr.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-curmem.xml | 4 +-
.../xml2sexpr-disk-block-shareable.xml | 4 +-
tests/xml2sexprdata/xml2sexpr-disk-block.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-disk-drv-blkback.xml | 2 +-
.../xml2sexpr-disk-drv-blktap-qcow.xml | 2 +-
.../xml2sexpr-disk-drv-blktap-raw.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-disk-drv-blktap.xml | 2 +-
.../xml2sexpr-disk-drv-blktap2-raw.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-disk-drv-blktap2.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-disk-drv-loop.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-disk-file.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-escape.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-force-hpet.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-force-nohpet.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-kernel.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-localtime.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-net-ioemu.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-net-netfront.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-parallel-tcp.xml | 2 +-
.../xml2sexpr-fv-serial-dev-2-ports.xml | 2 +-
.../xml2sexpr-fv-serial-dev-2nd-port.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-serial-file.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-serial-null.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-serial-pipe.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-serial-pty.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-serial-stdio.xml | 2 +-
.../xml2sexpr-fv-serial-tcp-telnet.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-serial-tcp.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-serial-udp.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-serial-unix.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-sound.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-usbmouse.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-usbtablet.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-utc.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-vncunused.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-fv.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-net-bridged.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-net-e1000.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-net-routed.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-no-source-cdrom.xml | 4 +-
tests/xml2sexprdata/xml2sexpr-pci-devs.xml | 2 +-
.../xml2sexpr-pv-bootloader-cmdline.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-pv-bootloader.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-pv-localtime.xml | 4 +-
tests/xml2sexprdata/xml2sexpr-pv-vcpus.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-pv-vfb-new-auto.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-pv-vfb-new.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-pv-vfb-orig.xml | 2 +-
tests/xml2sexprdata/xml2sexpr-pv.xml | 2 +-
tests/xml2vmxdata/xml2vmx-annotation.xml | 2 +-
tests/xml2vmxdata/xml2vmx-cdrom-ide-device.xml | 2 +-
tests/xml2vmxdata/xml2vmx-cdrom-ide-file.xml | 2 +-
tests/xml2vmxdata/xml2vmx-cdrom-scsi-device.xml | 2 +-
tests/xml2vmxdata/xml2vmx-cdrom-scsi-file.xml | 2 +-
tests/xml2vmxdata/xml2vmx-esx-in-the-wild-1.xml | 4 +-
tests/xml2vmxdata/xml2vmx-esx-in-the-wild-2.xml | 4 +-
tests/xml2vmxdata/xml2vmx-esx-in-the-wild-3.xml | 4 +-
tests/xml2vmxdata/xml2vmx-esx-in-the-wild-4.xml | 4 +-
tests/xml2vmxdata/xml2vmx-esx-in-the-wild-5.xml | 6 +-
tests/xml2vmxdata/xml2vmx-esx-in-the-wild-6.xml | 4 +-
tests/xml2vmxdata/xml2vmx-ethernet-bridged.xml | 2 +-
tests/xml2vmxdata/xml2vmx-ethernet-custom.xml | 2 +-
tests/xml2vmxdata/xml2vmx-ethernet-e1000.xml | 2 +-
tests/xml2vmxdata/xml2vmx-ethernet-generated.xml | 2 +-
tests/xml2vmxdata/xml2vmx-ethernet-other.xml | 2 +-
tests/xml2vmxdata/xml2vmx-ethernet-static.xml | 2 +-
tests/xml2vmxdata/xml2vmx-ethernet-vmxnet2.xml | 2 +-
tests/xml2vmxdata/xml2vmx-ethernet-vpx.xml | 2 +-
tests/xml2vmxdata/xml2vmx-floppy-device.xml | 2 +-
tests/xml2vmxdata/xml2vmx-floppy-file.xml | 2 +-
tests/xml2vmxdata/xml2vmx-graphics-vnc.xml | 2 +-
tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-1.xml | 4 +-
tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-2.xml | 4 +-
tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-3.xml | 4 +-
tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-4.xml | 4 +-
tests/xml2vmxdata/xml2vmx-harddisk-ide-file.xml | 2 +-
tests/xml2vmxdata/xml2vmx-harddisk-scsi-file.xml | 2 +-
tests/xml2vmxdata/xml2vmx-minimal-64bit.xml | 2 +-
tests/xml2vmxdata/xml2vmx-minimal.xml | 2 +-
tests/xml2vmxdata/xml2vmx-parallel-device.xml | 2 +-
tests/xml2vmxdata/xml2vmx-parallel-file.xml | 2 +-
tests/xml2vmxdata/xml2vmx-scsi-driver.xml | 2 +-
tests/xml2vmxdata/xml2vmx-scsi-writethrough.xml | 2 +-
tests/xml2vmxdata/xml2vmx-serial-device.xml | 2 +-
tests/xml2vmxdata/xml2vmx-serial-file.xml | 2 +-
.../xml2vmxdata/xml2vmx-serial-network-client.xml | 2 +-
.../xml2vmxdata/xml2vmx-serial-network-server.xml | 2 +-
tests/xml2vmxdata/xml2vmx-serial-pipe.xml | 2 +-
tests/xml2vmxdata/xml2vmx-smbios.xml | 2 +-
tests/xml2vmxdata/xml2vmx-svga.xml | 2 +-
458 files changed, 1008 insertions(+), 876 deletions(-)
--
1.7.7.6
12 years, 9 months