Devel
Threads by month
- ----- 2026 -----
- April
- 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
- 25 participants
- 40185 discussions
q35/ICH9 uses a different qemu option for disabling s3/s4 support.
Probe for it and wire it up.
Cole Robinson (4):
qemu: capabilities: s/Pixx/Piix/g
qemu: caps: Rename CAPS_DISABLE_S[34] to CAPS_PIIX_DISABLE_S[34]
qemu: caps: check for q35/ICH9 disable S3/S4
qemu: command: wire up usage of q35/ich9 disable s3/s4
src/qemu/qemu_capabilities.c | 19 +++--
src/qemu/qemu_capabilities.h | 6 +-
src/qemu/qemu_command.c | 32 ++++++--
tests/qemucapabilitiesdata/caps_1.2.2-1.replies | 23 ++++--
tests/qemucapabilitiesdata/caps_1.3.1-1.replies | 22 ++++--
tests/qemucapabilitiesdata/caps_1.4.2-1.replies | 23 ++++--
tests/qemucapabilitiesdata/caps_1.5.3-1.replies | 22 ++++--
tests/qemucapabilitiesdata/caps_1.6.0-1.replies | 22 ++++--
tests/qemucapabilitiesdata/caps_1.6.50-1.replies | 22 ++++--
tests/qemucapabilitiesdata/caps_2.1.1-1.replies | 22 ++++--
tests/qemucapabilitiesdata/caps_2.4.0-1.caps | 2 +
tests/qemucapabilitiesdata/caps_2.4.0-1.replies | 92 ++++++++++++++++++++--
tests/qemucapabilitiesdata/caps_2.5.0-1.caps | 2 +
tests/qemucapabilitiesdata/caps_2.5.0-1.replies | 92 ++++++++++++++++++++--
tests/qemucapabilitiesdata/caps_2.6.0-1.caps | 2 +
tests/qemucapabilitiesdata/caps_2.6.0-1.replies | 92 ++++++++++++++++++++--
.../qemuxml2argv-q35-pm-disable-fallback.args | 23 ++++++
.../qemuxml2argv-q35-pm-disable-fallback.xml | 18 +++++
.../qemuxml2argv-q35-pm-disable.args | 23 ++++++
.../qemuxml2argv-q35-pm-disable.xml | 18 +++++
tests/qemuxml2argvtest.c | 17 +++-
21 files changed, 507 insertions(+), 87 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-pm-disable-fallback.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-pm-disable-fallback.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-pm-disable.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-pm-disable.xml
--
2.5.0
2
10
11 Jan '16
1. When switching CPUs to offline/online in a system more than 128 cpus
2. When using virsh to destroy domain in a system with more interface
All of above happens nl_recv returned with error: No buffer space available.
This patch sets the socket buffer size to 128K and turns on message peeking
for nl_recv,as this would solve this problem totally and permanetly.
Signed-off-by: Leno Hou <houqy(a)linux.vnet.ibm.com>
Cc: Wenyi Gao <wenyi(a)linux.vnet.ibm.com>
CC: Laine Stump <laine(a)laine.org>
CC: Michal Privoznik <mprivozn(a)redhat.com>
---
src/util/virnetlink.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/util/virnetlink.c b/src/util/virnetlink.c
index 679b48e..2f2691c 100644
--- a/src/util/virnetlink.c
+++ b/src/util/virnetlink.c
@@ -65,10 +65,12 @@ struct virNetlinkEventHandle {
# ifdef HAVE_LIBNL1
# define virNetlinkAlloc nl_handle_alloc
+# define virSocketSetBufferSize nl_set_buffer_size
# define virNetlinkFree nl_handle_destroy
typedef struct nl_handle virNetlinkHandle;
# else
# define virNetlinkAlloc nl_socket_alloc
+# define virSocketSetBufferSize nl_socket_buffer_size
# define virNetlinkFree nl_socket_free
typedef struct nl_sock virNetlinkHandle;
# endif
@@ -696,6 +698,14 @@ virNetlinkEventServiceStart(unsigned int protocol, unsigned int groups)
goto error_server;
}
+ if (virSocketSetBufferSize(srv->netlinknh, 131702, 0) < 0) {
+ virReportSystemError(errno,
+ "%s",_("cannot set netlink socket buffer size to 128k"));
+ goto error_server;
+ }
+
+ nl_socket_enable_msg_peek(srv->netlinknh);
+
if ((srv->eventwatch = virEventAddHandle(fd,
VIR_EVENT_HANDLE_READABLE,
virNetlinkEventCallback,
--
1.9.1
1
1
11 Jan '16
1. When switching CPUs to offline/online in a system more than 128 cpus
2. When using virsh to destroy domain in a system with more interface
All of above happens nl_recv returned with error: No buffer space available.
This patch set socket buffer size to 128K and turn on message peeking for nl_recv,
as this would solve this problem totally and permanetly.
LTC-Bugzilla: #133359 #125768
Signed-off-by: Leno Hou <houqy(a)linux.vnet.ibm.com>
Cc: Wenyi Gao <wenyi(a)linux.vnet.ibm.com>
---
src/util/virnetlink.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/util/virnetlink.c b/src/util/virnetlink.c
index 679b48e..c8c9fe0 100644
--- a/src/util/virnetlink.c
+++ b/src/util/virnetlink.c
@@ -696,6 +696,14 @@ virNetlinkEventServiceStart(unsigned int protocol, unsigned int groups)
goto error_server;
}
+ if (nl_socket_set_buffer_size(srv->netlinknh, 131702, 0) < 0) {
+ virReportSystemError(errno,
+ "%s",_("cannot set netlink socket buffer size to 128k"));
+ goto error_server;
+ }
+
+ nl_socket_enable_msg_peek(srv->netlinknh);
+
if ((srv->eventwatch = virEventAddHandle(fd,
VIR_EVENT_HANDLE_READABLE,
virNetlinkEventCallback,
--
1.9.1
3
6
11 Jan '16
From: Jasper Lievisse Adriaanse <jasper(a)openbsd.org>
Some of the protocol files already include handing of the missing int
types such as xdr_uint64_t, some don't. To fix it everywhere, move out
of the appropriate defines to internal.h and include it whenever needed.
Signed-off-by: Roman Bogorodskiy <bogorodskiy(a)gmail.com>
---
src/admin/admin_protocol.x | 2 ++
src/internal.h | 19 +++++++++++++++++++
src/lxc/lxc_monitor_protocol.x | 19 +------------------
src/remote/remote_protocol.x | 19 -------------------
src/rpc/virnetprotocol.x | 19 -------------------
5 files changed, 22 insertions(+), 56 deletions(-)
diff --git a/src/admin/admin_protocol.x b/src/admin/admin_protocol.x
index 878983d..2b25d9a 100644
--- a/src/admin/admin_protocol.x
+++ b/src/admin/admin_protocol.x
@@ -22,6 +22,8 @@
* Author: Martin Kletzander <mkletzan(a)redhat.com>
*/
+%#include "internal.h"
+
/*----- Data types. -----*/
/* Length of long, but not unbounded, strings.
diff --git a/src/internal.h b/src/internal.h
index db26fb0..037332d 100644
--- a/src/internal.h
+++ b/src/internal.h
@@ -517,4 +517,23 @@ enum {
EXIT_ENOENT = 127, /* Could not find program to exec */
};
+/* cygwin's xdr implementation defines xdr_u_int64_t instead of xdr_uint64_t
+ * and lacks IXDR_PUT_INT32 and IXDR_GET_INT32
+ */
+# ifdef HAVE_XDR_U_INT64_T
+# define xdr_uint64_t xdr_u_int64_t
+# endif
+# ifndef IXDR_PUT_INT32
+# define IXDR_PUT_INT32 IXDR_PUT_LONG
+# endif
+# ifndef IXDR_GET_INT32
+# define IXDR_GET_INT32 IXDR_GET_LONG
+# endif
+# ifndef IXDR_PUT_U_INT32
+# define IXDR_PUT_U_INT32 IXDR_PUT_U_LONG
+# endif
+# ifndef IXDR_GET_U_INT32
+# define IXDR_GET_U_INT32 IXDR_GET_U_LONG
+# endif
+
#endif /* __VIR_INTERNAL_H__ */
diff --git a/src/lxc/lxc_monitor_protocol.x b/src/lxc/lxc_monitor_protocol.x
index 205d7c2..f4dae2e 100644
--- a/src/lxc/lxc_monitor_protocol.x
+++ b/src/lxc/lxc_monitor_protocol.x
@@ -4,24 +4,7 @@
* the libvirt_lxc helper program.
*/
-/* cygwin's xdr implementation defines xdr_u_int64_t instead of xdr_uint64_t
- * and lacks IXDR_PUT_INT32 and IXDR_GET_INT32
- */
-%#ifdef HAVE_XDR_U_INT64_T
-%# define xdr_uint64_t xdr_u_int64_t
-%#endif
-%#ifndef IXDR_PUT_INT32
-%# define IXDR_PUT_INT32 IXDR_PUT_LONG
-%#endif
-%#ifndef IXDR_GET_INT32
-%# define IXDR_GET_INT32 IXDR_GET_LONG
-%#endif
-%#ifndef IXDR_PUT_U_INT32
-%# define IXDR_PUT_U_INT32 IXDR_PUT_U_LONG
-%#endif
-%#ifndef IXDR_GET_U_INT32
-%# define IXDR_GET_U_INT32 IXDR_GET_U_LONG
-%#endif
+%#include "internal.h"
enum virLXCMonitorExitStatus {
VIR_LXC_MONITOR_EXIT_STATUS_ERROR,
diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
index 80f4a8b..89268c0 100644
--- a/src/remote/remote_protocol.x
+++ b/src/remote/remote_protocol.x
@@ -40,25 +40,6 @@
%#include "internal.h"
%#include <arpa/inet.h>
-/* cygwin's xdr implementation defines xdr_u_int64_t instead of xdr_uint64_t
- * and lacks IXDR_PUT_INT32 and IXDR_GET_INT32
- */
-%#ifdef HAVE_XDR_U_INT64_T
-%# define xdr_uint64_t xdr_u_int64_t
-%#endif
-%#ifndef IXDR_PUT_INT32
-%# define IXDR_PUT_INT32 IXDR_PUT_LONG
-%#endif
-%#ifndef IXDR_GET_INT32
-%# define IXDR_GET_INT32 IXDR_GET_LONG
-%#endif
-%#ifndef IXDR_PUT_U_INT32
-%# define IXDR_PUT_U_INT32 IXDR_PUT_U_LONG
-%#endif
-%#ifndef IXDR_GET_U_INT32
-%# define IXDR_GET_U_INT32 IXDR_GET_U_LONG
-%#endif
-
/*----- Data types. -----*/
/* Length of long, but not unbounded, strings.
diff --git a/src/rpc/virnetprotocol.x b/src/rpc/virnetprotocol.x
index 7b6f753..d61a7ab 100644
--- a/src/rpc/virnetprotocol.x
+++ b/src/rpc/virnetprotocol.x
@@ -23,25 +23,6 @@
%#include "internal.h"
%#include <arpa/inet.h>
-/* cygwin's xdr implementation defines xdr_u_int64_t instead of xdr_uint64_t
- * and lacks IXDR_PUT_INT32 and IXDR_GET_INT32
- */
-%#ifdef HAVE_XDR_U_INT64_T
-%# define xdr_uint64_t xdr_u_int64_t
-%#endif
-%#ifndef IXDR_PUT_INT32
-%# define IXDR_PUT_INT32 IXDR_PUT_LONG
-%#endif
-%#ifndef IXDR_GET_INT32
-%# define IXDR_GET_INT32 IXDR_GET_LONG
-%#endif
-%#ifndef IXDR_PUT_U_INT32
-%# define IXDR_PUT_U_INT32 IXDR_PUT_U_LONG
-%#endif
-%#ifndef IXDR_GET_U_INT32
-%# define IXDR_GET_U_INT32 IXDR_GET_U_LONG
-%#endif
-
/*----- Data types. -----*/
/* Initial message size.
--
2.4.6
2
3
Using one Makefile per example subdirectory essentially serializes 'make'
calls. Convert to one example/Makefile that builds and distributes
all the subdir files. This reduces example/ rebuild time from about 5.8
seconds to 1.5 seconds on my machine.
One slight difference is that we no longer ship Makefile.am with the
examples in the rpm. This was virtually useless anyways since the Makefile
was very specific to libvirt infrastructure, so wasn't generically
reusable anyways.
Tested with 'make distcheck' and 'make rpm'
---
Makefile.am | 13 +-----
configure.ac | 16 +------
examples/Makefile.am | 89 ++++++++++++++++++++++++++++++++++++++
examples/apparmor/Makefile.am | 43 ------------------
examples/dominfo/Makefile.am | 25 -----------
examples/dommigrate/Makefile.am | 5 ---
examples/domsuspend/Makefile.am | 27 ------------
examples/domsuspend/suspend.c | 2 +
examples/domtop/Makefile.am | 29 -------------
examples/hellolibvirt/Makefile.am | 21 ---------
examples/lxcconvert/Makefile.am | 18 --------
examples/object-events/Makefile.am | 24 ----------
examples/openauth/Makefile.am | 21 ---------
examples/polkit/Makefile.am | 17 --------
examples/rename/Makefile.am | 24 ----------
examples/systemtap/Makefile.am | 19 --------
examples/xml/nwfilter/Makefile.am | 54 -----------------------
libvirt.spec.in | 6 +--
18 files changed, 97 insertions(+), 356 deletions(-)
create mode 100644 examples/Makefile.am
delete mode 100644 examples/apparmor/Makefile.am
delete mode 100644 examples/dominfo/Makefile.am
delete mode 100644 examples/dommigrate/Makefile.am
delete mode 100644 examples/domsuspend/Makefile.am
delete mode 100644 examples/domtop/Makefile.am
delete mode 100644 examples/hellolibvirt/Makefile.am
delete mode 100644 examples/lxcconvert/Makefile.am
delete mode 100644 examples/object-events/Makefile.am
delete mode 100644 examples/openauth/Makefile.am
delete mode 100644 examples/polkit/Makefile.am
delete mode 100644 examples/rename/Makefile.am
delete mode 100644 examples/systemtap/Makefile.am
delete mode 100644 examples/xml/nwfilter/Makefile.am
diff --git a/Makefile.am b/Makefile.am
index 6f217bc..708d051 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -20,18 +20,10 @@ LCOV = lcov
GENHTML = genhtml
SUBDIRS = . gnulib/lib include src daemon tools docs gnulib/tests \
- tests po examples/object-events examples/hellolibvirt \
- examples/dominfo examples/domsuspend examples/apparmor \
- examples/xml/nwfilter examples/openauth examples/systemtap \
- tools/wireshark examples/dommigrate examples/polkit \
- examples/lxcconvert examples/domtop examples/rename
+ tests po examples tools/wireshark
ACLOCAL_AMFLAGS = -I m4
-XML_EXAMPLES = \
- $(patsubst $(srcdir)/%,%,$(wildcard $(addprefix $(srcdir)/examples/xml/, \
- test/*.xml storage/*.xml)))
-
EXTRA_DIST = \
config-post.h \
ChangeLog-old \
@@ -46,8 +38,7 @@ EXTRA_DIST = \
autogen.sh \
cfg.mk \
run.in \
- AUTHORS.in \
- $(XML_EXAMPLES)
+ AUTHORS.in
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libvirt.pc libvirt-qemu.pc libvirt-lxc.pc
diff --git a/configure.ac b/configure.ac
index a566f5b..a46f9b3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2810,21 +2810,9 @@ AC_CONFIG_FILES([\
po/Makefile.in \
include/libvirt/Makefile include/libvirt/libvirt-common.h \
daemon/Makefile \
- tools/Makefile \
+ examples/Makefile \
tests/Makefile \
- examples/apparmor/Makefile \
- examples/object-events/Makefile \
- examples/domsuspend/Makefile \
- examples/dominfo/Makefile \
- examples/dommigrate/Makefile \
- examples/domtop/Makefile \
- examples/openauth/Makefile \
- examples/hellolibvirt/Makefile \
- examples/rename/Makefile \
- examples/systemtap/Makefile \
- examples/xml/nwfilter/Makefile \
- examples/lxcconvert/Makefile \
- examples/polkit/Makefile \
+ tools/Makefile \
tools/wireshark/Makefile \
tools/wireshark/src/Makefile])
AC_OUTPUT
diff --git a/examples/Makefile.am b/examples/Makefile.am
new file mode 100644
index 0000000..50fc011
--- /dev/null
+++ b/examples/Makefile.am
@@ -0,0 +1,89 @@
+## Process this file with automake to produce Makefile.in
+
+## Copyright (C) 2005-2016 Red Hat, Inc.
+##
+## This library is free software; you can redistribute it and/or
+## modify it under the terms of the GNU Lesser General Public
+## License as published by the Free Software Foundation; either
+## version 2.1 of the License, or (at your option) any later version.
+##
+## This library is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+## Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public
+## License along with this library. If not, see
+## <http://www.gnu.org/licenses/>.
+
+FILTERS = $(wildcard xml/nwfilter/*.xml)
+
+EXTRA_DIST = \
+ apparmor/TEMPLATE.qemu \
+ apparmor/TEMPLATE.lxc \
+ apparmor/libvirt-qemu \
+ apparmor/libvirt-lxc \
+ apparmor/usr.lib.libvirt.virt-aa-helper \
+ apparmor/usr.sbin.libvirtd \
+ lxcconvert/virt-lxc-convert \
+ polkit/libvirt-acl.rules \
+ systemtap/events.stp \
+ systemtap/rpc-monitor.stp \
+ $(FILTERS) \
+ $(wildcard xml/storage/*.xml) \
+ $(wildcard xml/test/*.xml)
+
+
+INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir) \
+ -I$(top_builddir)/gnulib/lib -I$(top_srcdir)/gnulib/lib
+LDADD = $(STATIC_BINARIES) $(WARN_CFLAGS) $(COVERAGE_LDFLAGS) \
+ $(top_builddir)/src/libvirt.la $(top_builddir)/gnulib/lib/libgnu.la
+
+noinst_PROGRAMS=dominfo/info1 dommigrate/dommigrate domsuspend/suspend \
+ domtop/domtop hellolibvirt/hellolibvirt object-events/event-test \
+ openauth/openauth rename/rename
+
+dominfo_info1_SOURCES = dominfo/info1.c
+dommigrate_dommigrate_SOURCES = dommigrate/dommigrate.c
+domsuspend_suspend_SOURCES = domsuspend/suspend.c
+domtop_domtop_SOURCES = domtop/domtop.c
+hellolibvirt_hellolibvirt_SOURCES = hellolibvirt/hellolibvirt.c
+object_events_event_test_SOURCES = object-events/event-test.c
+openauth_openauth_SOURCES = openauth/openauth.c
+rename_rename_SOURCES = rename/rename.c
+
+if WITH_APPARMOR_PROFILES
+apparmordir = $(sysconfdir)/apparmor.d/
+apparmor_DATA = \
+ apparmor/usr.lib.libvirt.virt-aa-helper \
+ apparmor/usr.sbin.libvirtd \
+ $(NULL)
+
+abstractionsdir = $(apparmordir)/abstractions
+abstractions_DATA = \
+ apparmor/libvirt-qemu \
+ apparmor/libvirt-lxc \
+ $(NULL)
+
+templatesdir = $(apparmordir)/libvirt
+templates_DATA = \
+ apparmor/TEMPLATE.qemu \
+ apparmor/TEMPLATE.lxc \
+ $(NULL)
+endif WITH_APPARMOR_PROFILES
+
+if WITH_NWFILTER
+NWFILTER_DIR = "$(DESTDIR)$(sysconfdir)/libvirt/nwfilter"
+
+install-data-local:
+ $(MKDIR_P) "$(NWFILTER_DIR)"
+ for f in $(FILTERS); do \
+ $(INSTALL_DATA) $$f "$(NWFILTER_DIR)"; \
+ done
+
+uninstall-local::
+ for f in $(FILTERS); do \
+ rm -f "$(NWFILTER_DIR)/`basename $$f`"; \
+ done
+ -test -z $(shell ls $(NWFILTER_DIR)) || rmdir $(NWFILTER_DIR)
+endif WITH_NWFILTER
diff --git a/examples/apparmor/Makefile.am b/examples/apparmor/Makefile.am
deleted file mode 100644
index 7a20e16..0000000
--- a/examples/apparmor/Makefile.am
+++ /dev/null
@@ -1,43 +0,0 @@
-## Copyright (C) 2005-2011, 2013 Red Hat, Inc.
-##
-## This library is free software; you can redistribute it and/or
-## modify it under the terms of the GNU Lesser General Public
-## License as published by the Free Software Foundation; either
-## version 2.1 of the License, or (at your option) any later version.
-##
-## This library is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-## Lesser General Public License for more details.
-##
-## You should have received a copy of the GNU Lesser General Public
-## License along with this library. If not, see
-## <http://www.gnu.org/licenses/>.
-
-EXTRA_DIST= \
- TEMPLATE.qemu \
- TEMPLATE.lxc \
- libvirt-qemu \
- libvirt-lxc \
- usr.lib.libvirt.virt-aa-helper \
- usr.sbin.libvirtd
-
-if WITH_APPARMOR_PROFILES
-apparmordir = $(sysconfdir)/apparmor.d/
-apparmor_DATA = \
- usr.lib.libvirt.virt-aa-helper \
- usr.sbin.libvirtd \
- $(NULL)
-
-abstractionsdir = $(apparmordir)/abstractions
-abstractions_DATA = \
- libvirt-qemu \
- libvirt-lxc \
- $(NULL)
-
-templatesdir = $(apparmordir)/libvirt
-templates_DATA = \
- TEMPLATE.qemu \
- TEMPLATE.lxc \
- $(NULL)
-endif WITH_APPARMOR_PROFILES
diff --git a/examples/dominfo/Makefile.am b/examples/dominfo/Makefile.am
deleted file mode 100644
index 4a30c77..0000000
--- a/examples/dominfo/Makefile.am
+++ /dev/null
@@ -1,25 +0,0 @@
-## Copyright (C) 2005-2013 Red Hat, Inc.
-##
-## This library is free software; you can redistribute it and/or
-## modify it under the terms of the GNU Lesser General Public
-## License as published by the Free Software Foundation; either
-## version 2.1 of the License, or (at your option) any later version.
-##
-## This library is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-## Lesser General Public License for more details.
-##
-## You should have received a copy of the GNU Lesser General Public
-## License along with this library. If not, see
-## <http://www.gnu.org/licenses/>.
-
-INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include
-LDADDS = $(STATIC_BINARIES) $(WARN_CFLAGS) $(top_builddir)/src/libvirt.la \
- $(COVERAGE_LDFLAGS)
-
-noinst_PROGRAMS=info1
-
-info1_SOURCES=info1.c
-info1_LDFLAGS=
-info1_LDADD= $(LDADDS)
diff --git a/examples/dommigrate/Makefile.am b/examples/dommigrate/Makefile.am
deleted file mode 100644
index db271bb..0000000
--- a/examples/dommigrate/Makefile.am
+++ /dev/null
@@ -1,5 +0,0 @@
-INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir)
-noinst_PROGRAMS = dommigrate
-dommigrate_CFLAGS = $(WARN_CFLAGS)
-dommigrate_SOURCES = dommigrate.c
-dommigrate_LDADD = $(top_builddir)/src/libvirt.la
diff --git a/examples/domsuspend/Makefile.am b/examples/domsuspend/Makefile.am
deleted file mode 100644
index b8e65f2..0000000
--- a/examples/domsuspend/Makefile.am
+++ /dev/null
@@ -1,27 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-## Copyright (C) 2013 Red Hat, Inc.
-##
-## This library is free software; you can redistribute it and/or
-## modify it under the terms of the GNU Lesser General Public
-## License as published by the Free Software Foundation; either
-## version 2.1 of the License, or (at your option) any later version.
-##
-## This library is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-## Lesser General Public License for more details.
-##
-## You should have received a copy of the GNU Lesser General Public
-## License along with this library. If not, see
-## <http://www.gnu.org/licenses/>.
-
-INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include
-LDADDS = $(STATIC_BINARIES) $(WARN_CFLAGS) $(top_builddir)/src/libvirt.la \
- $(COVERAGE_LDFLAGS)
-
-noinst_PROGRAMS=suspend
-
-suspend_SOURCES=suspend.c
-suspend_LDFLAGS=
-suspend_LDADD= $(LDADDS)
diff --git a/examples/domsuspend/suspend.c b/examples/domsuspend/suspend.c
index b1c49ec..11f7302 100644
--- a/examples/domsuspend/suspend.c
+++ b/examples/domsuspend/suspend.c
@@ -21,6 +21,8 @@
* Author: Michal Privoznik <mprivozn(a)redhat.com>
*/
+#include <config.h>
+
#include <errno.h>
#include <getopt.h>
#include <libvirt/libvirt.h>
diff --git a/examples/domtop/Makefile.am b/examples/domtop/Makefile.am
deleted file mode 100644
index dbebb46..0000000
--- a/examples/domtop/Makefile.am
+++ /dev/null
@@ -1,29 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-## Copyright (C) 2014 Red Hat, Inc.
-##
-## This library is free software; you can redistribute it and/or
-## modify it under the terms of the GNU Lesser General Public
-## License as published by the Free Software Foundation; either
-## version 2.1 of the License, or (at your option) any later version.
-##
-## This library is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-## Lesser General Public License for more details.
-##
-## You should have received a copy of the GNU Lesser General Public
-## License along with this library. If not, see
-## <http://www.gnu.org/licenses/>.
-
-INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \
- -I$(top_builddir)/gnulib/lib -I$(top_srcdir)/gnulib/lib \
- -I$(top_srcdir)
-LDADDS = $(STATIC_BINARIES) $(WARN_CFLAGS) $(top_builddir)/src/libvirt.la \
- $(top_builddir)/gnulib/lib/libgnu.la $(COVERAGE_LDFLAGS)
-
-noinst_PROGRAMS=domtop
-
-domtop_SOURCES=domtop.c
-domtop_LDFLAGS=
-domtop_LDADD= $(LDADDS)
diff --git a/examples/hellolibvirt/Makefile.am b/examples/hellolibvirt/Makefile.am
deleted file mode 100644
index 55ea972..0000000
--- a/examples/hellolibvirt/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-## Copyright (C) 2005-2013 Red Hat, Inc.
-##
-## This library is free software; you can redistribute it and/or
-## modify it under the terms of the GNU Lesser General Public
-## License as published by the Free Software Foundation; either
-## version 2.1 of the License, or (at your option) any later version.
-##
-## This library is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-## Lesser General Public License for more details.
-##
-## You should have received a copy of the GNU Lesser General Public
-## License along with this library. If not, see
-## <http://www.gnu.org/licenses/>.
-
-INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir)
-noinst_PROGRAMS = hellolibvirt
-hellolibvirt_CFLAGS = $(WARN_CFLAGS)
-hellolibvirt_SOURCES = hellolibvirt.c
-hellolibvirt_LDADD = $(top_builddir)/src/libvirt.la
diff --git a/examples/lxcconvert/Makefile.am b/examples/lxcconvert/Makefile.am
deleted file mode 100644
index 09cf5d9..0000000
--- a/examples/lxcconvert/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-## Copyright (C) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
-##
-## This library is free software; you can redistribute it and/or
-## modify it under the terms of the GNU Lesser General Public
-## License as published by the Free Software Foundation; either
-## version 2.1 of the License, or (at your option) any later version.
-##
-## This library is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-## Lesser General Public License for more details.
-##
-## You should have received a copy of the GNU Lesser General Public
-## License along with this library. If not, see
-## <http://www.gnu.org/licenses/>.
-
-EXTRA_DIST= \
- virt-lxc-convert
diff --git a/examples/object-events/Makefile.am b/examples/object-events/Makefile.am
deleted file mode 100644
index 86500a0..0000000
--- a/examples/object-events/Makefile.am
+++ /dev/null
@@ -1,24 +0,0 @@
-## Copyright (C) 2005-2011, 2013 Red Hat, Inc.
-##
-## This library is free software; you can redistribute it and/or
-## modify it under the terms of the GNU Lesser General Public
-## License as published by the Free Software Foundation; either
-## version 2.1 of the License, or (at your option) any later version.
-##
-## This library is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-## Lesser General Public License for more details.
-##
-## You should have received a copy of the GNU Lesser General Public
-## License along with this library. If not, see
-## <http://www.gnu.org/licenses/>.
-
-INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \
- -I$(top_builddir)/gnulib/lib -I$(top_srcdir)/gnulib/lib \
- -I$(top_srcdir)
-noinst_PROGRAMS = event-test
-event_test_CFLAGS = $(WARN_CFLAGS)
-event_test_SOURCES = event-test.c
-event_test_LDADD = $(top_builddir)/src/libvirt.la \
- $(top_builddir)/gnulib/lib/libgnu.la
diff --git a/examples/openauth/Makefile.am b/examples/openauth/Makefile.am
deleted file mode 100644
index 7bb8604..0000000
--- a/examples/openauth/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-## Copyright (C) 2005-2013 Red Hat, Inc.
-##
-## This library is free software; you can redistribute it and/or
-## modify it under the terms of the GNU Lesser General Public
-## License as published by the Free Software Foundation; either
-## version 2.1 of the License, or (at your option) any later version.
-##
-## This library is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-## Lesser General Public License for more details.
-##
-## You should have received a copy of the GNU Lesser General Public
-## License along with this library. If not, see
-## <http://www.gnu.org/licenses/>.
-
-INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir)
-noinst_PROGRAMS = openauth
-openauth_CFLAGS = $(WARN_CFLAGS)
-openauth_SOURCES = openauth.c
-openauth_LDADD = $(top_builddir)/src/libvirt.la
diff --git a/examples/polkit/Makefile.am b/examples/polkit/Makefile.am
deleted file mode 100644
index 4d213e8..0000000
--- a/examples/polkit/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-## Copyright (C) 2015 Red Hat, Inc.
-##
-## This library is free software; you can redistribute it and/or
-## modify it under the terms of the GNU Lesser General Public
-## License as published by the Free Software Foundation; either
-## version 2.1 of the License, or (at your option) any later version.
-##
-## This library is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-## Lesser General Public License for more details.
-##
-## You should have received a copy of the GNU Lesser General Public
-## License along with this library. If not, see
-## <http://www.gnu.org/licenses/>.
-
-EXTRA_DIST = libvirt-acl.rules
diff --git a/examples/rename/Makefile.am b/examples/rename/Makefile.am
deleted file mode 100644
index 1b3484c..0000000
--- a/examples/rename/Makefile.am
+++ /dev/null
@@ -1,24 +0,0 @@
-## Copyright (C) 2005-2013 Red Hat, Inc.
-##
-## This library is free software; you can redistribute it and/or
-## modify it under the terms of the GNU Lesser General Public
-## License as published by the Free Software Foundation; either
-## version 2.1 of the License, or (at your option) any later version.
-##
-## This library is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-## Lesser General Public License for more details.
-##
-## You should have received a copy of the GNU Lesser General Public
-## License along with this library. If not, see
-## <http://www.gnu.org/licenses/>.
-
-INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include
-LDADDS = $(STATIC_BINARIES) $(WARN_CFLAGS) $(top_builddir)/src/libvirt.la \
- $(COVERAGE_LDFLAGS)
-
-noinst_PROGRAMS=rename
-
-rename_SOURCES=rename.c
-rename_LDADD= $(LDADDS)
diff --git a/examples/systemtap/Makefile.am b/examples/systemtap/Makefile.am
deleted file mode 100644
index 3938b9c..0000000
--- a/examples/systemtap/Makefile.am
+++ /dev/null
@@ -1,19 +0,0 @@
-## Copyright (C) 2005-2011, 2013 Red Hat, Inc.
-##
-## This library is free software; you can redistribute it and/or
-## modify it under the terms of the GNU Lesser General Public
-## License as published by the Free Software Foundation; either
-## version 2.1 of the License, or (at your option) any later version.
-##
-## This library is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-## Lesser General Public License for more details.
-##
-## You should have received a copy of the GNU Lesser General Public
-## License along with this library. If not, see
-## <http://www.gnu.org/licenses/>.
-
-EXTRA_DIST = \
- events.stp \
- rpc-monitor.stp
diff --git a/examples/xml/nwfilter/Makefile.am b/examples/xml/nwfilter/Makefile.am
deleted file mode 100644
index ec1e7ee..0000000
--- a/examples/xml/nwfilter/Makefile.am
+++ /dev/null
@@ -1,54 +0,0 @@
-## Copyright (C) 2005-2011, 2013 Red Hat, Inc.
-##
-## This library is free software; you can redistribute it and/or
-## modify it under the terms of the GNU Lesser General Public
-## License as published by the Free Software Foundation; either
-## version 2.1 of the License, or (at your option) any later version.
-##
-## This library is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-## Lesser General Public License for more details.
-##
-## You should have received a copy of the GNU Lesser General Public
-## License along with this library. If not, see
-## <http://www.gnu.org/licenses/>.
-
-FILTERS = \
- allow-arp.xml \
- allow-dhcp-server.xml \
- allow-dhcp.xml \
- allow-incoming-ipv4.xml \
- allow-ipv4.xml \
- clean-traffic.xml \
- no-arp-spoofing.xml \
- no-arp-ip-spoofing.xml \
- no-arp-mac-spoofing.xml \
- no-ip-multicast.xml \
- no-ip-spoofing.xml \
- no-mac-broadcast.xml \
- no-mac-spoofing.xml \
- no-other-l2-traffic.xml \
- no-other-rarp-traffic.xml \
- qemu-announce-self.xml \
- qemu-announce-self-rarp.xml
-
-EXTRA_DIST=$(FILTERS)
-
-confdir = $(sysconfdir)/libvirt
-
-NWFILTER_DIR = "$(DESTDIR)$(sysconfdir)/libvirt/nwfilter"
-
-if WITH_NWFILTER
-install-data-local:
- $(MKDIR_P) "$(NWFILTER_DIR)"
- for f in $(FILTERS); do \
- $(INSTALL_DATA) $(srcdir)/$$f "$(NWFILTER_DIR)"; \
- done
-
-uninstall-local::
- for f in $(FILTERS); do \
- rm -f "$(NWFILTER_DIR)/$$f"; \
- done
- -test -z $(shell ls $(NWFILTER_DIR)) || rmdir $(NWFILTER_DIR)
-endif WITH_NWFILTER
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 3afef66..9962513 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1547,10 +1547,8 @@ rm -fr %{buildroot}
# on RHEL 5, thus we need to expand it here.
make install DESTDIR=%{?buildroot} SYSTEMD_UNIT_DIR=%{_unitdir}
-for i in object-events dominfo domsuspend hellolibvirt openauth xml/nwfilter systemtap dommigrate domtop rename
-do
- (cd examples/$i ; make clean ; rm -rf .deps .libs Makefile Makefile.in)
-done
+make -C examples distclean
+
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.la
--
2.5.0
2
2
[libvirt] [PATCH] cfg.mk: Drop period after filename for indent failures
by Cole Robinson 10 Jan '16
by Cole Robinson 10 Jan '16
10 Jan '16
The period makes it more difficult to copy/paste the errant filename
for manual fixup
---
Pushed as trivial
cfg.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cfg.mk b/cfg.mk
index cf3f36c..b009b28 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -1095,7 +1095,7 @@ test-wrap-argv:
res=$$? ; \
rm $${file}-t ; \
test $$res == 0 || { \
- echo "$(ME): Incorrect line wrapping in $$file." 1>&2; \
+ echo "$(ME): Incorrect line wrapping in $$file" 1>&2; \
echo "$(ME): Use test-wrap-argv.pl to wrap test data files" 1>&2; \
exit 1; } \
done
--
2.5.0
1
0
I went through coverity report and found these.
Michal Privoznik (2):
virDomainMigrateUnmanagedParams: Don't blindly dereference @dconnuri
virt-host-validate-common: Print warning on missing IOMMU
src/libvirt-domain.c | 2 +-
src/qemu/qemu_migration.c | 2 +-
tools/virt-host-validate-common.c | 3 ---
3 files changed, 2 insertions(+), 5 deletions(-)
--
2.4.10
2
3
09 Jan '16
We weren't checking for failure of qemuCaps lookup
---
src/qemu/qemu_domain.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 00c780d..97534c0 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -1247,7 +1247,9 @@ qemuDomainDefPostParse(virDomainDefPtr def,
!(def->emulator = virDomainDefGetDefaultEmulator(def, caps)))
return ret;
- qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache, def->emulator);
+ if (!(qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache,
+ def->emulator)))
+ goto cleanup;
if (qemuDomainDefAddDefaultDevices(def, qemuCaps) < 0)
goto cleanup;
--
2.5.0
2
2
Hello list!
I'm new here and interested in hot-plug multi-function PCI devices.
Basically I'd like to know why Libvirt does not support it. I've been
through the archives and basically found this thread:
https://www.redhat.com/archives/libvir-list/2011-May/msg00457.html
But Qemu seems to handle it accordingly:
virsh qemu-monitor-command --hmp fedora-23 'device_add
vfio-pci,host=00:16.0,addr=08.0'
virsh qemu-monitor-command --hmp fedora-23 'device_add
vfio-pci,host=00:16.3,addr=08.3'
GUEST:
# lspci
(snip)
00:08.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev
04)
00:08.3 Serial controller: Intel Corporation 8 Series HECI KT (rev 04)
However, using Libvirt:
% virsh attach-device fedora-23 pci_0000_00_16_0.xml --live
Device attached successfully
% virsh attach-device fedora-23 pci_0000_00_16_3.xml --live
error: Failed to attach device from pci_0000_00_16_3.xml
error: internal error: Only PCI device addresses with function=0 are
supported
I made some changes on domain_addr.c[1] for testing and it worked.
[1]https://gist.github.com/jrziviani/1da184c7fd0b413e0426
% virsh attach-device fedora-23 pci_0000_00_16_3.xml --live
Device attached successfully
GUEST:
# lspci
(snip)
00:08.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev
04)
00:08.3 Serial controller: Intel Corporation 8 Series HECI KT (rev 04)
So there is more to it that I'm not aware?
Thank you!
2
6
[libvirt] [PATCH v2] tests: Add newlines with VIR_TEST_REGENERATE_OUTPUT
by Cole Robinson 09 Jan '16
by Cole Robinson 09 Jan '16
09 Jan '16
Since test files are formatted predictably nowadays, we can make
VIR_TEST_REGENERATE_OUTPUT handle most cases for us with a simple
replacement. test-wrap-argv.pl is still canon, but this bit makes
it easier to confirm test output changes during active development.
---
v2: Rebase on .git master
tests/testutils.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/tests/testutils.c b/tests/testutils.c
index 6645d61..0091fcd 100644
--- a/tests/testutils.c
+++ b/tests/testutils.c
@@ -469,10 +469,19 @@ virtTestDifferenceFullInternal(FILE *stream,
actualStart = actual;
actualEnd = actual + (strlen(actual)-1);
- if (regenerate && virTestGetRegenerate() > 0) {
+ if (regenerate && (virTestGetRegenerate() > 0) && expectName && actual) {
+ char *regencontent;
+
+ /* Try to properly indent qemu argv files */
+ if (!(regencontent = virStringReplace(actual, " -", " \\\n-")))
+ return -1;
+
if (expectName && actual &&
- virFileWriteStr(expectName, actual, 0666) < 0)
+ virFileWriteStr(expectName, regencontent, 0666) < 0) {
+ VIR_FREE(regencontent);
return -1;
+ }
+ VIR_FREE(regencontent);
}
if (!virTestGetDebug())
--
2.5.0
1
0
Somehow I managed to backspace over the newline between the closing
brace and goto cleanup; in commit 36e244f3.
---
Pushed under trivial rule.
src/util/virnetdevvportprofile.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/util/virnetdevvportprofile.c b/src/util/virnetdevvportprofile.c
index 61676b4..4140cdc 100644
--- a/src/util/virnetdevvportprofile.c
+++ b/src/util/virnetdevvportprofile.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009-2014 Red Hat, Inc.
+ * Copyright (C) 2009-2016 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -592,7 +592,8 @@ virNetDevVPortProfileGetStatus(struct nlattr **tb, int32_t vf,
tb_port[IFLA_PORT_VF] ?
*(uint32_t *)RTA_DATA(tb_port[IFLA_PORT_VF]) : -1,
uuidstr);
- } goto cleanup;
+ }
+ goto cleanup;
}
} else {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
--
2.5.0
1
0
The condition was checking for UHCI (and OHCI for ppc64) availability so
that it can specify the proper device instead of legacy usb. However,
for ppc64, we don't need to check both OHCI and UHCI, but only OHCI as
that is the legacy default. The condition is so big that it was just a
matter of time when someone will make a mistake there, so let's use more
lines so that it is visible what the condition checks for.
This fixes usage of -device instead of -usb for ppc64 that supports
pci-usb-ohci and does not support piix3-usb-uhci.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
src/qemu/qemu_command.c | 34 +++++++++++++++-------
.../qemuxml2argv-ppc64-usb-controller-legacy.args | 20 +++++++++++++
.../qemuxml2argv-ppc64-usb-controller-legacy.xml | 1 +
.../qemuxml2argv-ppc64-usb-controller.args | 20 +++++++++++++
.../qemuxml2argv-ppc64-usb-controller.xml | 28 ++++++++++++++++++
tests/qemuxml2argvtest.c | 3 ++
6 files changed, 95 insertions(+), 11 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-ppc64-usb-controller-legacy.args
create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-ppc64-usb-controller-legacy.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-ppc64-usb-controller.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-ppc64-usb-controller.xml
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 1f0593526b55..3f464a5fc21d 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -10049,18 +10049,30 @@ qemuBuildCommandLine(virConnectPtr conn,
if (cont->type == VIR_DOMAIN_CONTROLLER_TYPE_USB &&
cont->model == -1 &&
- !qemuDomainMachineIsQ35(def) &&
- (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_PIIX3_USB_UHCI) ||
- (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_PCI_OHCI) &&
- ARCH_IS_PPC64(def->os.arch)))) {
- if (usblegacy) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("Multiple legacy USB controllers are "
- "not supported"));
- goto error;
+ !qemuDomainMachineIsQ35(def)) {
+ bool need_legacy = false;
+
+ /* We're not using legacy usb controller for q35 */
+ if (ARCH_IS_PPC64(def->os.arch)) {
+ /* For ppc64 the legacy was OHCI */
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_PCI_OHCI))
+ need_legacy = true;
+ } else {
+ /* For anything else, we used * PIIX3_USB_UHCI */
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_PIIX3_USB_UHCI))
+ need_legacy = true;
+ }
+
+ if (need_legacy) {
+ if (usblegacy) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("Multiple legacy USB controllers are "
+ "not supported"));
+ goto error;
+ }
+ usblegacy = true;
+ continue;
}
- usblegacy = true;
- continue;
}
virCommandAddArg(cmd, "-device");
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-ppc64-usb-controller-legacy.args b/tests/qemuxml2argvdata/qemuxml2argv-ppc64-usb-controller-legacy.args
new file mode 100644
index 000000000000..3dee41e86481
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-ppc64-usb-controller-legacy.args
@@ -0,0 +1,20 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/home/test \
+USER=test \
+LOGNAME=test \
+QEMU_AUDIO_DRV=none \
+/usr/libexec/qemu-system-ppc64 \
+-name QEMUGuest1 \
+-S \
+-M pseries \
+-m 256 \
+-smp 1 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-nographic \
+-monitor unix:/tmp/test-monitor,server,nowait \
+-boot c \
+-usb \
+-net none \
+-serial none \
+-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-ppc64-usb-controller-legacy.xml b/tests/qemuxml2argvdata/qemuxml2argv-ppc64-usb-controller-legacy.xml
new file mode 120000
index 000000000000..831d9d4f1c1b
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-ppc64-usb-controller-legacy.xml
@@ -0,0 +1 @@
+qemuxml2argv-ppc64-usb-controller.xml
\ No newline at end of file
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-ppc64-usb-controller.args b/tests/qemuxml2argvdata/qemuxml2argv-ppc64-usb-controller.args
new file mode 100644
index 000000000000..3dee41e86481
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-ppc64-usb-controller.args
@@ -0,0 +1,20 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/home/test \
+USER=test \
+LOGNAME=test \
+QEMU_AUDIO_DRV=none \
+/usr/libexec/qemu-system-ppc64 \
+-name QEMUGuest1 \
+-S \
+-M pseries \
+-m 256 \
+-smp 1 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-nographic \
+-monitor unix:/tmp/test-monitor,server,nowait \
+-boot c \
+-usb \
+-net none \
+-serial none \
+-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-ppc64-usb-controller.xml b/tests/qemuxml2argvdata/qemuxml2argv-ppc64-usb-controller.xml
new file mode 100644
index 000000000000..ce180ee34989
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-ppc64-usb-controller.xml
@@ -0,0 +1,28 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219100</memory>
+ <currentMemory unit='KiB'>219100</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='ppc64' machine='pseries'>hvm</type>
+ </os>
+ <features>
+ <acpi/>
+ <apic/>
+ <pae/>
+ </features>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>restart</on_crash>
+ <devices>
+ <emulator>/usr/libexec/qemu-system-ppc64</emulator>
+ <controller type='usb' index='0'>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <memballoon model='virtio'>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
+ </memballoon>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 63480ce8af19..1476def2f57d 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -1764,6 +1764,9 @@ mymain(void)
QEMU_CAPS_VIRTIO_MOUSE, QEMU_CAPS_VIRTIO_TABLET);
DO_TEST("virtio-input-passthrough", QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_INPUT_HOST);
+ DO_TEST("ppc64-usb-controller", QEMU_CAPS_PCI_OHCI);
+ DO_TEST("ppc64-usb-controller-legacy", QEMU_CAPS_PIIX3_USB_UHCI);
+
qemuTestDriverFree(&driver);
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
--
2.7.0
2
3
[libvirt] [PATCH] tests: qemuxml2argv: Add tests for USB controller on q35
by Andrea Bolognani 09 Jan '16
by Andrea Bolognani 09 Jan '16
09 Jan '16
---
.../qemuxml2argv-usb-controller-default-q35.args | 21 +++++++++++++++++
.../qemuxml2argv-usb-controller-default-q35.xml | 27 ++++++++++++++++++++++
...argv-usb-controller-default-unavailable-q35.xml | 27 ++++++++++++++++++++++
.../qemuxml2argv-usb-controller-explicit-q35.args | 21 +++++++++++++++++
.../qemuxml2argv-usb-controller-explicit-q35.xml | 27 ++++++++++++++++++++++
...rgv-usb-controller-explicit-unavailable-q35.xml | 27 ++++++++++++++++++++++
tests/qemuxml2argvtest.c | 17 +++++++++++++-
7 files changed, 166 insertions(+), 1 deletion(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-controller-default-q35.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-controller-default-q35.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-controller-default-unavailable-q35.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-controller-explicit-q35.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-controller-explicit-q35.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-controller-explicit-unavailable-q35.xml
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-default-q35.args b/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-default-q35.args
new file mode 100644
index 0000000..a746d37
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-default-q35.args
@@ -0,0 +1,21 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/home/test \
+USER=test \
+LOGNAME=test \
+QEMU_AUDIO_DRV=none \
+/usr/libexec/qemu-kvm \
+-name q35-test \
+-S \
+-M q35 \
+-m 2048 \
+-smp 1 \
+-uuid 11dbdcdd-4c3b-482b-8903-9bdb8c0a2774 \
+-nographic \
+-nodefaults \
+-monitor unix:/tmp/test-monitor,server,nowait \
+-no-acpi \
+-boot c \
+-device pci-bridge,chassis_nr=56,id=pci.2,bus=pci.1,addr=0x1 \
+-device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
+-device piix3-usb-uhci,id=usb,bus=pcie.0,addr=0x1
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-default-q35.xml b/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-default-q35.xml
new file mode 100644
index 0000000..26eecef
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-default-q35.xml
@@ -0,0 +1,27 @@
+<domain type='qemu'>
+ <name>q35-test</name>
+ <uuid>11dbdcdd-4c3b-482b-8903-9bdb8c0a2774</uuid>
+ <memory unit='KiB'>2097152</memory>
+ <currentMemory unit='KiB'>2097152</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='x86_64' machine='q35'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/libexec/qemu-kvm</emulator>
+ <controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='2' model='pci-bridge'>
+ <model name='pci-bridge'/>
+ <target chassisNr='56'/>
+ </controller>
+ <controller type='usb' index='0'>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <memballoon model='none'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-default-unavailable-q35.xml b/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-default-unavailable-q35.xml
new file mode 100644
index 0000000..26eecef
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-default-unavailable-q35.xml
@@ -0,0 +1,27 @@
+<domain type='qemu'>
+ <name>q35-test</name>
+ <uuid>11dbdcdd-4c3b-482b-8903-9bdb8c0a2774</uuid>
+ <memory unit='KiB'>2097152</memory>
+ <currentMemory unit='KiB'>2097152</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='x86_64' machine='q35'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/libexec/qemu-kvm</emulator>
+ <controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='2' model='pci-bridge'>
+ <model name='pci-bridge'/>
+ <target chassisNr='56'/>
+ </controller>
+ <controller type='usb' index='0'>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <memballoon model='none'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-explicit-q35.args b/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-explicit-q35.args
new file mode 100644
index 0000000..6fd058c
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-explicit-q35.args
@@ -0,0 +1,21 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/home/test \
+USER=test \
+LOGNAME=test \
+QEMU_AUDIO_DRV=none \
+/usr/libexec/qemu-kvm \
+-name q35-test \
+-S \
+-M q35 \
+-m 2048 \
+-smp 1 \
+-uuid 11dbdcdd-4c3b-482b-8903-9bdb8c0a2774 \
+-nographic \
+-nodefaults \
+-monitor unix:/tmp/test-monitor,server,nowait \
+-no-acpi \
+-boot c \
+-device pci-bridge,chassis_nr=56,id=pci.2,bus=pci.1,addr=0x1 \
+-device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
+-device nec-usb-xhci,id=usb,bus=pcie.0,addr=0x1
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-explicit-q35.xml b/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-explicit-q35.xml
new file mode 100644
index 0000000..f3b34ee
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-explicit-q35.xml
@@ -0,0 +1,27 @@
+<domain type='qemu'>
+ <name>q35-test</name>
+ <uuid>11dbdcdd-4c3b-482b-8903-9bdb8c0a2774</uuid>
+ <memory unit='KiB'>2097152</memory>
+ <currentMemory unit='KiB'>2097152</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='x86_64' machine='q35'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/libexec/qemu-kvm</emulator>
+ <controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='2' model='pci-bridge'>
+ <model name='pci-bridge'/>
+ <target chassisNr='56'/>
+ </controller>
+ <controller type='usb' index='0' model='nec-xhci'>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <memballoon model='none'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-explicit-unavailable-q35.xml b/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-explicit-unavailable-q35.xml
new file mode 100644
index 0000000..f3b34ee
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-usb-controller-explicit-unavailable-q35.xml
@@ -0,0 +1,27 @@
+<domain type='qemu'>
+ <name>q35-test</name>
+ <uuid>11dbdcdd-4c3b-482b-8903-9bdb8c0a2774</uuid>
+ <memory unit='KiB'>2097152</memory>
+ <currentMemory unit='KiB'>2097152</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='x86_64' machine='q35'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/libexec/qemu-kvm</emulator>
+ <controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='2' model='pci-bridge'>
+ <model name='pci-bridge'/>
+ <target chassisNr='56'/>
+ </controller>
+ <controller type='usb' index='0' model='nec-xhci'>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <memballoon model='none'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 63480ce..b023522 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -1181,7 +1181,22 @@ mymain(void)
QEMU_CAPS_USB_HUB);
DO_TEST_PARSE_ERROR("usb-none-usbtablet",
QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
-
+ DO_TEST("usb-controller-default-q35",
+ QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_PCI_BRIDGE,
+ QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE, QEMU_CAPS_PCI_OHCI,
+ QEMU_CAPS_PIIX3_USB_UHCI, QEMU_CAPS_NEC_USB_XHCI);
+ DO_TEST_FAILURE("usb-controller-default-unavailable-q35",
+ QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_PCI_BRIDGE,
+ QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE, QEMU_CAPS_PCI_OHCI,
+ QEMU_CAPS_NEC_USB_XHCI);
+ DO_TEST("usb-controller-explicit-q35",
+ QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_PCI_BRIDGE,
+ QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE, QEMU_CAPS_PCI_OHCI,
+ QEMU_CAPS_PIIX3_USB_UHCI, QEMU_CAPS_NEC_USB_XHCI);
+ DO_TEST_FAILURE("usb-controller-explicit-unavailable-q35",
+ QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_PCI_BRIDGE,
+ QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE, QEMU_CAPS_PCI_OHCI,
+ QEMU_CAPS_PIIX3_USB_UHCI);
DO_TEST("smbios", QEMU_CAPS_SMBIOS_TYPE);
DO_TEST_PARSE_ERROR("smbios-date", QEMU_CAPS_SMBIOS_TYPE);
--
2.5.0
2
2
Jiri Denemark (5):
qemu: Reorder migration status enum
qemu: Rename qemuMonitorMigrationStatus struct
qemu: Create a proper type for migration status enum
qemu: Report more migration statistics
qemu: Refactor qemuMigrationFinish
include/libvirt/libvirt-domain.h | 19 ++
src/qemu/qemu_domain.c | 92 +++++-----
src/qemu/qemu_domain.h | 2 +-
src/qemu/qemu_driver.c | 2 +-
src/qemu/qemu_migration.c | 368 ++++++++++++++++++++-------------------
src/qemu/qemu_monitor.c | 14 +-
src/qemu/qemu_monitor.h | 20 ++-
src/qemu/qemu_monitor_json.c | 96 +++++-----
src/qemu/qemu_monitor_json.h | 4 +-
src/qemu/qemu_monitor_text.c | 40 ++---
src/qemu/qemu_monitor_text.h | 4 +-
src/qemu/qemu_process.c | 2 +-
tests/qemumonitorjsontest.c | 22 +--
tools/virsh-domain.c | 16 ++
14 files changed, 388 insertions(+), 313 deletions(-)
--
2.7.0
2
11
09 Jan '16
The problem being resolved by this series was seen as a failure in the
virt-test 'memtune' test which attempts to look at the on disk change
for the cgroup by using the 'memory' controller entry in /proc/$pid/cgroup.
For reasons still not quite 100% crystal clear, without doing the revert
in patch#3 of this series, the /proc/$pid/cgroup file gets updated with
the controller path. On the somewhat older f20 test system, this resulted
in an adjustment to other controllers (memory, devices, and blkio). On
a different test environment (f23), the file wasn't erroneously updated.
Although systemd may ultimately be at fault - it just wasn't obvious
what the failure was - so reverting the patch and making the one change
(in patch #4) that appeared to at least follow the spirit of the
reverted patch with respect to using virCgroupAddTask for the
qemuSetupCgroupForEmulator similar to how qemuSetupCgroupForVcpu
does it for the various vpcu threads.
John Ferlan (4):
cgroup: Fix possible bug as a result of code motion for vcpu cgroup
setup
qemu: Add check for NULL cgroup return from virCgroupNewMachine
Revert "qemu: do not put a task into machine cgroup"
qemu: Put the emulator cgroup pid into the right task file
src/qemu/qemu_cgroup.c | 18 +++++++++++++-----
src/qemu/qemu_process.c | 12 ++++++------
2 files changed, 19 insertions(+), 11 deletions(-)
--
2.5.0
1
4
[libvirt] [PATCH 00/10] [rebase] various test fixes and input devices handling
by Pavel Hrdina 09 Jan '16
by Pavel Hrdina 09 Jan '16
09 Jan '16
This is just a rebase to current HEAD.
Pavel Hrdina (10):
xen: move virDomainDefPostParse to xenParseSxpr
tests: introduce VIR_TEST_REGENERATE_OUTPUT flag
tests.testutils: use VIR_TEST_REGENERATE_OUTPUT for
virTestDifferenceFull
tests.testutils: use virTestDifferenceFull in virtTestCompareToFile
tests: use virtTestDifferenceFull in tests where we have output file
tests: skip regeneration for problematic test
tests: regenerate all outputs using VIR_TEST_REGENERATE_OUTPUT flag
tests.nwfilterebiptablestest: swap actual and expected
device: cleanup input device code
tests: update test XML files to follow input changes
src/Makefile.am | 4 +-
src/conf/domain_conf.c | 77 +-----------
src/libxl/libxl_domain.c | 5 +
src/qemu/qemu_domain.c | 22 ++++
src/xen/xen_driver.c | 5 +
src/xen/xend_internal.c | 7 +-
src/xenapi/xenapi_driver.c | 5 +
src/xenconfig/xen_common.c | 22 ++++
src/xenconfig/xen_common.h | 2 +
src/xenconfig/xen_sxpr.c | 21 ++--
src/xenconfig/xen_sxpr.h | 6 +-
.../disk_snapshot_redefine.xml | 2 +
.../external_vm_redefine.xml | 2 +
tests/domainsnapshotxml2xmlout/full_domain.xml | 2 +
tests/domainsnapshotxml2xmlout/metadata.xml | 2 +
tests/domainsnapshotxml2xmltest.c | 2 +-
tests/interfacexml2xmltest.c | 2 +-
tests/lxcconf2xmltest.c | 2 +-
tests/nodedevxml2xmltest.c | 2 +-
tests/nwfilterebiptablestest.c | 14 +--
tests/qemuargv2xmltest.c | 18 ++-
tests/qemuhotplugtest.c | 11 +-
.../qemuhotplug-hotplug-base+disk-scsi.xml | 2 +
.../qemuhotplug-hotplug-base+disk-usb.xml | 2 +
.../qemuhotplug-hotplug-base+disk-virtio.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-bios-nvram.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-blkdeviotune.xml | 2 +
.../qemuxml2argv-blkiotune-device.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-blkiotune.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.xml | 6 +-
.../qemuxml2argvdata/qemuxml2argv-boot-floppy.xml | 6 +-
.../qemuxml2argv-boot-menu-disable.xml | 2 +
.../qemuxml2argv-boot-menu-enable-with-timeout.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-boot-multi.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-boot-network.xml | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-boot-order.xml | 2 +
.../qemuxml2argv-channel-guestfwd.xml | 2 +
.../qemuxml2argv-channel-virtio.xml | 2 +
.../qemuxml2argv-chardev-label.xml | 2 +
.../qemuxml2argv-clock-catchup.xml | 2 +
.../qemuxml2argv-clock-localtime.xml | 6 +-
.../qemuxml2argv-clock-timer-hyperv-rtc.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-clock-utc.xml | 6 +-
.../qemuxml2argv-console-compat.xml | 6 +-
.../qemuxml2argv-console-virtio-many.xml | 2 +
.../qemuxml2argv-cpu-eoi-disabled.xml | 2 +
.../qemuxml2argv-cpu-eoi-enabled.xml | 2 +
.../qemuxml2argv-cpu-host-kvmclock.xml | 2 +
.../qemuxml2argv-cpu-host-model-features.xml | 2 +
.../qemuxml2argv-cpu-host-passthrough-features.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-cpu-kvmclock.xml | 2 +
.../qemuxml2argv-cpu-numa-disjoint.xml | 2 +
.../qemuxml2argv-cpu-numa-memshared.xml | 2 +
...xml2argv-cputune-iothreadsched-zeropriority.xml | 2 +
.../qemuxml2argv-cputune-numatune.xml | 2 +
.../qemuxml2argv-cputune-zero-shares.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-cputune.xml | 2 +
.../qemuxml2argv-disk-active-commit.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-disk-aio.xml | 2 +
.../qemuxml2argv-disk-cdrom-empty.xml | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.xml | 6 +-
.../qemuxml2argv-disk-copy_on_read.xml | 2 +
.../qemuxml2argv-disk-drive-boot-cdrom.xml | 7 +-
.../qemuxml2argv-disk-drive-boot-disk.xml | 7 +-
.../qemuxml2argv-disk-drive-cache-directsync.xml | 2 +
.../qemuxml2argv-disk-drive-cache-unsafe.xml | 2 +
.../qemuxml2argv-disk-drive-cache-v2-none.xml | 6 +-
.../qemuxml2argv-disk-drive-cache-v2-wb.xml | 2 +
.../qemuxml2argv-disk-drive-cache-v2-wt.xml | 2 +
.../qemuxml2argv-disk-drive-copy-on-read.xml | 2 +
...muxml2argv-disk-drive-error-policy-enospace.xml | 2 +
.../qemuxml2argv-disk-drive-error-policy-stop.xml | 2 +
...rgv-disk-drive-error-policy-wreport-rignore.xml | 2 +
.../qemuxml2argv-disk-drive-fat.xml | 2 +
.../qemuxml2argv-disk-drive-fmt-qcow.xml | 2 +
.../qemuxml2argv-disk-drive-network-gluster.xml | 2 +
.../qemuxml2argv-disk-drive-network-iscsi-auth.xml | 2 +
.../qemuxml2argv-disk-drive-network-iscsi.xml | 2 +
.../qemuxml2argv-disk-drive-network-nbd-export.xml | 2 +
...xml2argv-disk-drive-network-nbd-ipv6-export.xml | 2 +
.../qemuxml2argv-disk-drive-network-nbd-ipv6.xml | 2 +
.../qemuxml2argv-disk-drive-network-nbd-unix.xml | 2 +
.../qemuxml2argv-disk-drive-network-nbd.xml | 2 +
.../qemuxml2argv-disk-drive-network-rbd-auth.xml | 2 +
...emuxml2argv-disk-drive-network-rbd-ceph-env.xml | 2 +
.../qemuxml2argv-disk-drive-network-rbd-ipv6.xml | 2 +
.../qemuxml2argv-disk-drive-network-rbd.xml | 2 +
.../qemuxml2argv-disk-drive-network-sheepdog.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-disk-floppy.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-disk-many.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-disk-mirror.xml | 2 +
.../qemuxml2argv-disk-scsi-device.xml | 2 +
.../qemuxml2argv-disk-scsi-disk-vpd.xml | 2 +
...qemuxml2argv-disk-scsi-lun-passthrough-sgio.xml | 2 +
.../qemuxml2argv-disk-scsi-megasas.xml | 2 +
.../qemuxml2argv-disk-scsi-virtio-scsi.xml | 2 +
.../qemuxml2argv-disk-scsi-vscsi.xml | 2 +
.../qemuxml2argv-disk-source-pool-mode.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-disk-usb.xml | 2 +
.../qemuxml2argv-disk-virtio-scsi-cmd_per_lun.xml | 2 +
.../qemuxml2argv-disk-virtio-scsi-ioeventfd.xml | 2 +
.../qemuxml2argv-disk-virtio-scsi-max_sectors.xml | 2 +
.../qemuxml2argv-disk-virtio-scsi-num_queues.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-disk-virtio.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-disk-xenvbd.xml | 2 +
.../qemuxml2argv-encrypted-disk.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-eoi-disabled.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-eoi-enabled.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-event_idx.xml | 2 +
.../qemuxml2argv-floppy-drive-fat.xml | 2 +
.../qemuxml2argv-graphics-vnc-policy.xml | 4 +-
.../qemuxml2argv-graphics-vnc-sasl.xml | 4 +-
.../qemuxml2argv-graphics-vnc-socket.xml | 4 +-
.../qemuxml2argv-graphics-vnc-tls.xml | 4 +-
.../qemuxml2argv-graphics-vnc-websocket.xml | 4 +-
.../qemuxml2argvdata/qemuxml2argv-graphics-vnc.xml | 4 +-
.../qemuxml2argv-hostdev-pci-address.xml | 6 +-
.../qemuxml2argv-hostdev-scsi-large-unit.xml | 2 +
.../qemuxml2argv-hostdev-scsi-lsi-iscsi-auth.xml | 2 +
.../qemuxml2argv-hostdev-scsi-lsi-iscsi.xml | 2 +
.../qemuxml2argv-hostdev-scsi-lsi.xml | 2 +
.../qemuxml2argv-hostdev-scsi-rawio.xml | 2 +
.../qemuxml2argv-hostdev-scsi-readonly.xml | 2 +
.../qemuxml2argv-hostdev-scsi-sgio.xml | 2 +
.../qemuxml2argv-hostdev-scsi-shareable.xml | 2 +
...qemuxml2argv-hostdev-scsi-virtio-iscsi-auth.xml | 2 +
.../qemuxml2argv-hostdev-scsi-virtio-iscsi.xml | 2 +
.../qemuxml2argv-hostdev-scsi-virtio-scsi.xml | 2 +
.../qemuxml2argv-hostdev-usb-address.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-hostdev-vfio.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-hotplug-base.xml | 2 +
.../qemuxml2argv-hugepages-pages.xml | 2 +
.../qemuxml2argv-hugepages-pages2.xml | 2 +
.../qemuxml2argv-hugepages-pages3.xml | 2 +
.../qemuxml2argv-hugepages-shared.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-hugepages.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-hyperv-off.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-hyperv-panic.xml | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-hyperv.xml | 6 +-
.../qemuxml2argv-input-usbmouse.xml | 2 +
.../qemuxml2argv-input-usbtablet.xml | 2 +
.../qemuxml2argv-interface-driver.xml | 2 +
.../qemuxml2argv-iothreads-disk.xml | 2 +
.../qemuxml2argv-iothreads-ids-partial.xml | 2 +
.../qemuxml2argv-iothreads-ids.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-iothreads.xml | 2 +
.../qemuxml2argv-kvm-features-off.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-kvm-features.xml | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-kvmclock.xml | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-lease.xml | 2 +
.../qemuxml2argv-machine-aeskeywrap-off-argv.xml | 4 +-
.../qemuxml2argv-machine-aeskeywrap-on-argv.xml | 4 +-
.../qemuxml2argv-machine-core-off.xml | 6 +-
.../qemuxml2argv-machine-core-on.xml | 6 +-
.../qemuxml2argv-machine-deakeywrap-off-argv.xml | 4 +-
.../qemuxml2argv-machine-deakeywrap-on-argv.xml | 4 +-
.../qemuxml2argv-machine-keywrap-none-argv.xml | 4 +-
.../qemuxml2argv-memory-hotplug-dimm.xml | 2 +
.../qemuxml2argv-memory-hotplug-nonuma.xml | 2 +
.../qemuxml2argv-memory-hotplug.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-migrate.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-minimal.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.xml | 2 +
.../qemuxml2argv-misc-disable-s3.xml | 6 +-
.../qemuxml2argv-misc-disable-suspends.xml | 6 +-
.../qemuxml2argv-misc-enable-s4.xml | 6 +-
.../qemuxml2argv-misc-no-reboot.xml | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.xml | 2 +
.../qemuxml2argv-net-eth-ifname.xml | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-net-eth.xml | 6 +-
.../qemuxml2argv-net-hostdev-vfio.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-net-hostdev.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-net-midonet.xml | 2 +
.../qemuxml2argv-net-openvswitch.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-net-udp.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-net-user.xml | 2 +
.../qemuxml2argv-net-vhostuser.xml | 2 +
.../qemuxml2argv-net-virtio-device.xml | 2 +
.../qemuxml2argv-net-virtio-disable-offloads.xml | 2 +
.../qemuxml2argv-net-virtio-network-portgroup.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-net-virtio.xml | 2 +
.../qemuxml2argv-nographics-vga.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-nosharepages.xml | 6 +-
.../qemuxml2argv-numad-static-vcpu-no-numatune.xml | 2 +
.../qemuxml2argv-numatune-memnode-no-memory.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-panic-double.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-panic-isa.xml | 2 +
.../qemuxml2argv-panic-no-address.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-parallel-tcp.xml | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-pci-rom.xml | 2 +
.../qemuxml2argv-pci-serial-dev-chardev.xml | 2 +
.../qemuxml2argv-pcie-root-port-too-many.xml | 2 +
.../qemuxml2argv-pcie-root-port.xml | 2 +
.../qemuxml2argv-pcie-switch-downstream-port.xml | 2 +
.../qemuxml2argv-pcie-switch-upstream-port.xml | 2 +
.../qemuxml2argv-pcihole64-none.xml | 2 +
.../qemuxml2argv-pcihole64-q35.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-pcihole64.xml | 2 +
.../qemuxml2argv-pmu-feature-off.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-pseries-disk.xml | 2 +-
.../qemuxml2argv-pv-spinlock-disabled.xml | 2 +
.../qemuxml2argv-pv-spinlock-enabled.xml | 2 +
.../qemuxml2argv-qemu-ns-no-env.xml | 2 +
.../qemuxml2argv-reboot-timeout-disabled.xml | 6 +-
.../qemuxml2argv-reboot-timeout-enabled.xml | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-restore-v2.xml | 2 +
.../qemuxml2argv-seclabel-dac-none.xml | 2 +
.../qemuxml2argv-seclabel-device-multiple.xml | 2 +
.../qemuxml2argv-seclabel-dynamic-baselabel.xml | 2 +
.../qemuxml2argv-seclabel-dynamic-none.xml | 2 +
.../qemuxml2argv-seclabel-dynamic-override.xml | 2 +
.../qemuxml2argv-seclabel-static-labelskip.xml | 2 +
.../qemuxml2argv-seclabel-static.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-serial-dev.xml | 6 +-
.../qemuxml2argvdata/qemuxml2argv-serial-file.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-serial-many.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-serial-pty.xml | 2 +
.../qemuxml2argv-serial-spiceport-nospice.xml | 2 +
.../qemuxml2argv-serial-tcp-telnet.xml | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-serial-tcp.xml | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-serial-udp.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-serial-unix.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-serial-vc.xml | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-shmem.xml | 2 +
.../qemuxml2argv-smbios-multiple-type2.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-smbios.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-smp.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-sound-device.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-sound.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-tap-vhost.xml | 2 +
.../qemuxml2argv-tpm-passthrough.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-usb-redir.xml | 2 +
.../qemuxml2argv-vcpu-placement-static.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-vhost_queues.xml | 2 +
.../qemuxml2argv-video-virtio-gpu-device.xml | 2 +
.../qemuxml2argv-video-virtio-gpu-virgl.xml | 2 +
.../qemuxml2argv-virtio-input-passthrough.xml | 2 +
.../qemuxml2argvdata/qemuxml2argv-virtio-input.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-virtio-lun.xml | 2 +
.../qemuxml2argv-virtio-rng-egd.xml | 2 +
.../qemuxml2argv-virtio-rng-random.xml | 2 +
tests/qemuxml2argvdata/qemuxml2argv-watchdog.xml | 6 +-
.../qemuxml2xmlout-balloon-device-auto.xml | 2 +
.../qemuxml2xmlout-balloon-device-period.xml | 2 +
.../qemuxml2xmlout-bios-nvram-os-interleave.xml | 2 +
...muxml2xmlout-boot-menu-disable-with-timeout.xml | 2 +
.../qemuxml2xmlout-channel-virtio-auto.xml | 2 +
.../qemuxml2xmlout-channel-virtio-state-active.xml | 2 +
...emuxml2xmlout-channel-virtio-state-inactive.xml | 2 +
.../qemuxml2xmlout-console-compat-auto.xml | 2 +
.../qemuxml2xmlout-console-compat2.xml | 2 +
.../qemuxml2xmlout-console-virtio.xml | 2 +
.../qemuxml2xmlout-controller-usb-order.xml | 2 +
.../qemuxml2xmlout-cpu-empty.xml | 2 +
.../qemuxml2xmlout-cpu-numa-disordered.xml | 2 +
.../qemuxml2xmlout-cpu-numa-no-memory-element.xml | 2 +
.../qemuxml2xmlout-cpu-numa1.xml | 2 +
.../qemuxml2xmlout-cpu-numa2.xml | 2 +
.../qemuxml2xmlout-cputune-iothreads.xml | 2 +
.../qemuxml2xmlout-cputune-iothreadsched.xml | 2 +
.../qemuxml2xmlout-default-kvm-host-arch.xml | 2 +
.../qemuxml2xmlout-default-qemu-host-arch.xml | 2 +
.../qemuxml2xmlout-disk-backing-chains-active.xml | 2 +
...qemuxml2xmlout-disk-backing-chains-inactive.xml | 2 +
.../qemuxml2xmlout-disk-drive-discard.xml | 2 +
.../qemuxml2xmlout-disk-mirror-old-inactive.xml | 2 +
.../qemuxml2xmlout-disk-mirror-old.xml | 2 +
.../qemuxml2xmlout-disk-mirror.xml | 2 +
.../qemuxml2xmlout-disk-scsi-device-auto.xml | 2 +
.../qemuxml2xmlout-disk-source-pool.xml | 2 +
...qemuxml2xmlout-hostdev-scsi-autogen-address.xml | 2 +
.../qemuxml2xmlout-memtune-unlimited.xml | 2 +
.../qemuxml2xmloutdata/qemuxml2xmlout-memtune.xml | 2 +
.../qemuxml2xmlout-metadata-duplicate.xml | 2 +
.../qemuxml2xmloutdata/qemuxml2xmlout-metadata.xml | 2 +
...emuxml2xmlout-numad-auto-memory-vcpu-cpuset.xml | 2 +
...ad-auto-memory-vcpu-no-cpuset-and-placement.xml | 2 +
.../qemuxml2xmlout-numad-auto-vcpu-no-numatune.xml | 2 +
.../qemuxml2xmlout-numatune-auto-prefer.xml | 2 +
.../qemuxml2xmlout-numatune-memnode.xml | 2 +
tests/qemuxml2xmloutdata/qemuxml2xmlout-panic.xml | 2 +
.../qemuxml2xmlout-pci-autoadd-addr.xml | 2 +
.../qemuxml2xmlout-pci-autoadd-idx.xml | 2 +
.../qemuxml2xmlout-pci-bridge-many-disks.xml | 2 +
.../qemuxml2xmlout-pcie-root.xml | 2 +
.../qemuxml2xmlout-pcihole64-gib.xml | 2 +
.../qemuxml2xmlout-pmu-feature.xml | 2 +
tests/qemuxml2xmloutdata/qemuxml2xmlout-q35.xml | 2 +
.../qemuxml2xmlout-seclabel-dynamic-labelskip.xml | 2 +
.../qemuxml2xmlout-seclabel-dynamic-relabel.xml | 2 +
.../qemuxml2xmlout-seclabel-none.xml | 2 +
.../qemuxml2xmlout-serial-target-port-auto.xml | 2 +
.../qemuxml2xmlout-tap-vhost-incorrect.xml | 2 +
.../qemuxml2xmlout-usb-ich9-ehci-addr.xml | 2 +
.../qemuxml2xmlout-usb-redir-filter-version.xml | 2 +
.../qemuxml2xmlout-usb-redir-filter.xml | 2 +
tests/qemuxml2xmltest.c | 8 +-
tests/sexpr2xmldata/sexpr2xml-boot-grub.xml | 2 +
tests/sexpr2xmldata/sexpr2xml-bridge-ipaddr.xml | 2 +
.../sexpr2xml-disk-block-shareable.xml | 2 +
tests/sexpr2xmldata/sexpr2xml-disk-block.xml | 2 +
.../sexpr2xml-disk-drv-blktap-qcow.xml | 2 +
.../sexpr2xml-disk-drv-blktap-raw.xml | 2 +
.../sexpr2xml-disk-drv-blktap2-raw.xml | 2 +
tests/sexpr2xmldata/sexpr2xml-disk-file.xml | 2 +
tests/sexpr2xmldata/sexpr2xml-fv-kernel.xml | 2 +
tests/sexpr2xmldata/sexpr2xml-net-bridged.xml | 2 +
tests/sexpr2xmldata/sexpr2xml-net-e1000.xml | 2 +
tests/sexpr2xmldata/sexpr2xml-net-routed.xml | 2 +
tests/sexpr2xmldata/sexpr2xml-pci-devs.xml | 2 +
.../sexpr2xml-pv-bootloader-cmdline.xml | 2 +
tests/sexpr2xmldata/sexpr2xml-pv-bootloader.xml | 2 +
tests/sexpr2xmldata/sexpr2xml-pv-localtime.xml | 2 +
tests/sexpr2xmldata/sexpr2xml-pv-vcpus.xml | 2 +
tests/sexpr2xmldata/sexpr2xml-pv.xml | 2 +
tests/testutils.c | 134 ++++++++++++++++++---
tests/testutils.h | 8 ++
tests/vboxsnapshotxmltest.c | 2 +-
tests/vmx2xmldata/vmx2xml-graphics-vnc.xml | 2 -
tests/xlconfigdata/test-paravirt-maxvcpus.xml | 2 +
tests/xmconfigdata/test-paravirt-maxvcpus.xml | 2 +
tests/xmconfigdata/test-paravirt-vcpu.xml | 2 +
322 files changed, 915 insertions(+), 220 deletions(-)
--
2.7.0
5
22
[libvirt] [PATCH] qemu: align the cur_balloon too if not explicitly specified by the user
by Shivaprasad G Bhat 08 Jan '16
by Shivaprasad G Bhat 08 Jan '16
08 Jan '16
As of now, the cur_ballon is set to actual memory if not specified by the user.
When the user specified memory is not aligned the cur_balloon alone ends up
unaligned. For qemu in function qemuDomainAttachMemory(), the cur_balloon
wouldn't add up to the actual memory as the cur_ballon was not aligned.
So, there is need for explicit setmem post attach-device for such guests.
The decision as to whether to align the cur_balloon memory or not is
not possible if we set it to actual memory by default in post-parse.
Move the default cur_balloon assignment to their respective drivers during
domain start wherever possible. For qemu align the cur_balloon too iow assign
the aligned actual memory when not specified by the user.
Signed-off-by: Shivaprasad G Bhat <sbhat(a)linux.vnet.ibm.com>
---
src/conf/domain_conf.c | 3 +--
src/libxl/libxl_conf.c | 2 ++
src/lxc/lxc_process.c | 3 +++
src/openvz/openvz_driver.c | 13 +++++++------
src/phyp/phyp_driver.c | 10 +++-------
src/qemu/qemu_domain.c | 3 +++
src/uml/uml_conf.c | 3 +++
src/vbox/vbox_common.c | 3 +++
src/vmx/vmx.c | 3 +++
src/vz/vz_sdk.c | 3 +++
src/xenconfig/xen_common.c | 3 +++
src/xenconfig/xen_sxpr.c | 4 ++++
12 files changed, 38 insertions(+), 15 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 2f5c0ed..68338f4 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -3527,8 +3527,7 @@ virDomainDefPostParseMemory(virDomainDefPtr def,
return -1;
}
- if (def->mem.cur_balloon > virDomainDefGetMemoryActual(def) ||
- def->mem.cur_balloon == 0)
+ if (def->mem.cur_balloon > virDomainDefGetMemoryActual(def))
def->mem.cur_balloon = virDomainDefGetMemoryActual(def);
if ((def->mem.max_memory || def->mem.memory_slots) &&
diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
index 4eed5ca..6b6e764 100644
--- a/src/libxl/libxl_conf.c
+++ b/src/libxl/libxl_conf.c
@@ -665,6 +665,8 @@ libxlMakeDomBuildInfo(virDomainDefPtr def,
}
b_info->sched_params.weight = 1000;
b_info->max_memkb = virDomainDefGetMemoryInitial(def);
+ if (!def->mem.cur_balloon)
+ def->mem.cur_balloon = virDomainDefGetMemoryInitial(def);
b_info->target_memkb = def->mem.cur_balloon;
if (hvm) {
char bootorder[VIR_DOMAIN_BOOT_LAST + 1];
diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c
index 57e3880..201ee61 100644
--- a/src/lxc/lxc_process.c
+++ b/src/lxc/lxc_process.c
@@ -1257,6 +1257,9 @@ int virLXCProcessStart(virConnectPtr conn,
vm->def->resource = res;
}
+ if (!vm->def->mem.cur_balloon)
+ vm->def->mem.cur_balloon = virDomainDefGetMemoryActual(vm->def);
+
if (virAsprintf(&logfile, "%s/%s.log",
cfg->logDir, vm->def->name) < 0)
goto cleanup;
diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c
index b8c0f50..8a56d94 100644
--- a/src/openvz/openvz_driver.c
+++ b/src/openvz/openvz_driver.c
@@ -1043,12 +1043,13 @@ openvzDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int fla
}
}
- if (vm->def->mem.cur_balloon > 0) {
- if (openvzDomainSetMemoryInternal(vm, vm->def->mem.cur_balloon) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Could not set memory size"));
- goto cleanup;
- }
+ if (!vm->def->mem.cur_balloon)
+ vm->def->mem.cur_balloon = virDomainDefGetMemoryActual(vm->def);
+
+ if (openvzDomainSetMemoryInternal(vm, vm->def->mem.cur_balloon) < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("Could not set memory size"));
+ goto cleanup;
}
dom = virGetDomain(conn, vm->def->name, vm->def->uuid);
diff --git a/src/phyp/phyp_driver.c b/src/phyp/phyp_driver.c
index 14264c0..1fc7b34 100644
--- a/src/phyp/phyp_driver.c
+++ b/src/phyp/phyp_driver.c
@@ -3491,13 +3491,6 @@ phypBuildLpar(virConnectPtr conn, virDomainDefPtr def)
int exit_status = 0;
virBuffer buf = VIR_BUFFER_INITIALIZER;
- if (!def->mem.cur_balloon) {
- virReportError(VIR_ERR_XML_ERROR, "%s",
- _("Field <currentMemory> on the domain XML file is "
- "missing or has invalid value"));
- goto cleanup;
- }
-
if (!virDomainDefGetMemoryInitial(def)) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("Field <memory> on the domain XML file is missing or "
@@ -3505,6 +3498,9 @@ phypBuildLpar(virConnectPtr conn, virDomainDefPtr def)
goto cleanup;
}
+ if (!def->mem.cur_balloon)
+ def->mem.cur_balloon = virDomainDefGetMemoryActual(def);
+
if (def->ndisks < 1) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("Domain XML must contain at least one <disk> element."));
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 40e1f18..9d92d99 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -3567,6 +3567,9 @@ qemuDomainAlignMemorySizes(virDomainDefPtr def)
}
}
+ if (!def->mem.cur_balloon)
+ def->mem.cur_balloon = virDomainDefGetMemoryActual(def);
+
return 0;
}
diff --git a/src/uml/uml_conf.c b/src/uml/uml_conf.c
index afc0375..c53bc65 100644
--- a/src/uml/uml_conf.c
+++ b/src/uml/uml_conf.c
@@ -399,6 +399,9 @@ virCommandPtr umlBuildCommandLine(virConnectPtr conn,
virCommandAddEnvPassCommon(cmd);
+ if (!vm->def->mem.cur_balloon)
+ vm->def->mem.cur_balloon = virDomainDefGetMemoryActual(vm->def);
+
//virCommandAddArgPair(cmd, "con0", "fd:0,fd:1");
virCommandAddArgFormat(cmd, "mem=%lluK", vm->def->mem.cur_balloon);
virCommandAddArgPair(cmd, "umid", vm->def->name);
diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c
index 9369367..38bf35e 100644
--- a/src/vbox/vbox_common.c
+++ b/src/vbox/vbox_common.c
@@ -1886,6 +1886,9 @@ vboxDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags
goto cleanup;
}
+ if (!def->mem.cur_balloon)
+ def->mem.cur_balloon = virDomainDefGetMemoryActual(def);
+
rc = gVBoxAPI.UIMachine.SetMemorySize(machine,
VIR_DIV_UP(def->mem.cur_balloon, 1024));
if (NS_FAILED(rc)) {
diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c
index 7c3c10a..8f4d66a 100644
--- a/src/vmx/vmx.c
+++ b/src/vmx/vmx.c
@@ -3157,6 +3157,9 @@ virVMXFormatConfig(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, virDomainDe
virBufferAsprintf(&buffer, "memsize = \"%llu\"\n",
max_balloon / 1024); /* Scale from kilobytes to megabytes */
+ if (!def->mem.cur_balloon)
+ def->mem.cur_balloon = virDomainDefGetMemoryActual(def);
+
/* def:mem.cur_balloon -> vmx:sched.mem.max */
if (def->mem.cur_balloon < max_balloon) {
virBufferAsprintf(&buffer, "sched.mem.max = \"%llu\"\n",
diff --git a/src/vz/vz_sdk.c b/src/vz/vz_sdk.c
index 1fced3f..131f6bb 100644
--- a/src/vz/vz_sdk.c
+++ b/src/vz/vz_sdk.c
@@ -3475,6 +3475,9 @@ prlsdkDoApplyConfig(virConnectPtr conn,
bool needBoot = true;
char *mask = NULL;
+ if (!def->mem.cur_ballon)
+ def->mem.cur_ballon = virDomainDefGetMemoryActual(def);
+
if (prlsdkCheckUnsupportedParams(sdkdom, def) < 0)
return -1;
diff --git a/src/xenconfig/xen_common.c b/src/xenconfig/xen_common.c
index 0890c73..ba6dffa 100644
--- a/src/xenconfig/xen_common.c
+++ b/src/xenconfig/xen_common.c
@@ -1306,6 +1306,9 @@ xenFormatMem(virConfPtr conf, virDomainDefPtr def)
VIR_DIV_UP(virDomainDefGetMemoryActual(def), 1024)) < 0)
return -1;
+ if (!def->mem.cur_balloon)
+ def->mem.cur_balloon = virDomainDefGetMemoryActual(def);
+
if (xenConfigSetInt(conf, "memory",
VIR_DIV_UP(def->mem.cur_balloon, 1024)) < 0)
return -1;
diff --git a/src/xenconfig/xen_sxpr.c b/src/xenconfig/xen_sxpr.c
index 7fc9c9d..63b79a0 100644
--- a/src/xenconfig/xen_sxpr.c
+++ b/src/xenconfig/xen_sxpr.c
@@ -2219,6 +2219,10 @@ xenFormatSxpr(virConnectPtr conn,
virBufferAddLit(&buf, "(vm ");
virBufferEscapeSexpr(&buf, "(name '%s')", def->name);
+
+ if (!def->mem.cur_balloon)
+ def->mem.cur_balloon = virDomainDefGetMemoryActual(def);
+
virBufferAsprintf(&buf, "(memory %llu)(maxmem %llu)",
VIR_DIV_UP(def->mem.cur_balloon, 1024),
VIR_DIV_UP(virDomainDefGetMemoryActual(def), 1024));
2
1
Happy Holidays! :-)
This small series adds support for specifying vif outgoing rate limits
in Xen. The first patch adds support for converting rate limits between
xl/xm config and domXML, along with introducing a test for the conversion
logic. The second patch adds outgoing rate limiting to the libxl driver.
Jim Fehlig (2):
xenconfig: support parsing and formatting vif bandwidth
libxl: support vif outgoing bandwidth QoS
src/libxl/libxl_conf.c | 39 ++++++++++++++++++
src/xenconfig/xen_common.c | 77 ++++++++++++++++++++++++++++++++++++
tests/xlconfigdata/test-vif-rate.cfg | 26 ++++++++++++
tests/xlconfigdata/test-vif-rate.xml | 57 ++++++++++++++++++++++++++
tests/xlconfigtest.c | 1 +
5 files changed, 200 insertions(+)
create mode 100644 tests/xlconfigdata/test-vif-rate.cfg
create mode 100644 tests/xlconfigdata/test-vif-rate.xml
--
2.1.4
2
7
It was added by mistake before the 'If' by commit 714080791778.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
Pushed as trivial
src/qemu/qemu_domain.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 73fc79dab56b..a539278058fa 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -1340,7 +1340,7 @@ qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
* If the address is generated by us (starts with our
* channel dir), we should not keep it in the persistent
* XML. If libvirt is the one who generated it, users
- * shouldn't care about that. Â If they do, they are
+ * shouldn't care about that. If they do, they are
* supposed to set it themselves.
*/
VIR_FREE(dev->data.chr->source.data.nix.path);
--
2.7.0
1
0
Hiyas,
Just went to update the MacOS X Homebrew port/formula for
Libvirt 1.3.0. It's failing during compilation with:
***********************************************************************************
Last 15 lines from /Users/jc/Library/Logs/Homebrew/libvirt/02.make:
CCLD libvirt_driver_vbox.la
CCLD libvirt_driver_storage.la
Undefined symbols for architecture x86_64:
"_xdr_uint64_t", referenced from:
_xdr_virLogManagerProtocolLogFilePosition in virtlogd-log_protocol.o
_xdr_virLogManagerProtocolDomainOpenLogFileRet in virtlogd-log_protocol.o
_xdr_virLogManagerProtocolDomainGetLogFilePositionRet in virtlogd-log_protocol.o
_xdr_virLogManagerProtocolDomainReadLogFileArgs in virtlogd-log_protocol.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [virtlogd] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
***********************************************************************************
Is this a known thing, or should I grab the rest of the failure logging for
someone (not me) to look at? :)
+ Justin
3
6
08 Jan '16
My commit 674afcb09e3d33500cfbbcf870ebf92cb99ecfa3 moved computing the
default listen address from qemuMigrationPrepareAny to
qemuMigrationPrepareIncoming. However, I didn't notice listenAddress was
later passed to qemuMigrationStartNBDServer. Thus, it would be called
with the original value of listenAddress (NULL).
Let's add the updated listen address to qemuProcessIncomingDef and use
it when starting NBD servers.
Reported-by: Michael Chapman <mike(a)very.puzzling.org>
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/qemu/qemu_migration.c | 5 +++--
src/qemu/qemu_process.c | 7 ++++++-
src/qemu/qemu_process.h | 2 ++
3 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 6be11b4..cb8c75d 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -3365,7 +3365,8 @@ qemuMigrationPrepareIncoming(virDomainObjPtr vm,
goto cleanup;
}
- inc = qemuProcessIncomingDefNew(priv->qemuCaps, migrateFrom, fd, NULL);
+ inc = qemuProcessIncomingDefNew(priv->qemuCaps, listenAddress,
+ migrateFrom, fd, NULL);
cleanup:
VIR_FREE(migrateFrom);
@@ -3586,7 +3587,7 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver,
if (mig->nbd &&
flags & (VIR_MIGRATE_NON_SHARED_DISK | VIR_MIGRATE_NON_SHARED_INC) &&
virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_NBD_SERVER)) {
- if (qemuMigrationStartNBDServer(driver, vm, listenAddress,
+ if (qemuMigrationStartNBDServer(driver, vm, incoming->address,
nmigrate_disks, migrate_disks) < 0) {
goto stopjob;
}
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index f274068..819ad05 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -4124,6 +4124,7 @@ qemuProcessIncomingDefFree(qemuProcessIncomingDefPtr inc)
if (!inc)
return;
+ VIR_FREE(inc->address);
VIR_FREE(inc->launchURI);
VIR_FREE(inc->deferredURI);
VIR_FREE(inc);
@@ -4137,6 +4138,7 @@ qemuProcessIncomingDefFree(qemuProcessIncomingDefPtr inc)
*/
qemuProcessIncomingDefPtr
qemuProcessIncomingDefNew(virQEMUCapsPtr qemuCaps,
+ const char *listenAddress,
const char *migrateFrom,
int fd,
const char *path)
@@ -4149,6 +4151,9 @@ qemuProcessIncomingDefNew(virQEMUCapsPtr qemuCaps,
if (VIR_ALLOC(inc) < 0)
return NULL;
+ if (VIR_STRDUP(inc->address, listenAddress) < 0)
+ goto error;
+
inc->launchURI = qemuMigrationIncomingURI(migrateFrom, fd);
if (!inc->launchURI)
goto error;
@@ -5137,7 +5142,7 @@ qemuProcessStart(virConnectPtr conn,
goto cleanup;
if (migrateFrom) {
- incoming = qemuProcessIncomingDefNew(priv->qemuCaps, migrateFrom,
+ incoming = qemuProcessIncomingDefNew(priv->qemuCaps, NULL, migrateFrom,
migrateFd, migratePath);
if (!incoming)
goto stop;
diff --git a/src/qemu/qemu_process.h b/src/qemu/qemu_process.h
index 85e3a06..c674111 100644
--- a/src/qemu/qemu_process.h
+++ b/src/qemu/qemu_process.h
@@ -47,6 +47,7 @@ int qemuProcessAssignPCIAddresses(virDomainDefPtr def);
typedef struct _qemuProcessIncomingDef qemuProcessIncomingDef;
typedef qemuProcessIncomingDef *qemuProcessIncomingDefPtr;
struct _qemuProcessIncomingDef {
+ char *address; /* address where QEMU is supposed to listen */
char *launchURI; /* used as a parameter for -incoming command line option */
char *deferredURI; /* used when calling migrate-incoming QMP command */
int fd; /* for fd:N URI */
@@ -54,6 +55,7 @@ struct _qemuProcessIncomingDef {
};
qemuProcessIncomingDefPtr qemuProcessIncomingDefNew(virQEMUCapsPtr qemuCaps,
+ const char *listenAddress,
const char *migrateFrom,
int fd,
const char *path);
--
2.7.0
2
1
08 Jan '16
Jiri Denemark (4):
virsh: Refactor event printing
virsh: Add timestamps to events
virsh: Pass ctl to virshCatchDisconnect
virsh: Interrupt *event --loop on disconnect
tools/virsh-domain.c | 310 +++++++++++++++++++++++++--------------------------
tools/virsh.c | 5 +-
2 files changed, 156 insertions(+), 159 deletions(-)
--
2.6.4
2
12
[libvirt] [PATCH] pci: Log debug messages when manipulating the inactive list
by Andrea Bolognani 08 Jan '16
by Andrea Bolognani 08 Jan '16
08 Jan '16
Most of the changes to the list of active and inactive PCI devices
happen in virHostdev, where they are properly logged.
virPCIDeviceDetach() and virPCIDeviceReattach(), however, change the
inactive list as well, so they should be logging similar messages.
---
src/util/virpci.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/util/virpci.c b/src/util/virpci.c
index 5ebd408..505c1f3 100644
--- a/src/util/virpci.c
+++ b/src/util/virpci.c
@@ -1370,9 +1370,10 @@ virPCIDeviceDetach(virPCIDevicePtr dev,
/* Add *a copy of* the dev into list inactiveDevs, if
* it's not already there.
*/
- if (inactiveDevs && !virPCIDeviceListFind(inactiveDevs, dev) &&
- virPCIDeviceListAddCopy(inactiveDevs, dev) < 0) {
- return -1;
+ if (inactiveDevs && !virPCIDeviceListFind(inactiveDevs, dev)) {
+ VIR_DEBUG("Adding PCI device %s to inactive list", dev->name);
+ if (virPCIDeviceListAddCopy(inactiveDevs, dev) < 0)
+ return -1;
}
return 0;
@@ -1393,8 +1394,10 @@ virPCIDeviceReattach(virPCIDevicePtr dev,
return -1;
/* Steal the dev from list inactiveDevs */
- if (inactiveDevs)
+ if (inactiveDevs) {
+ VIR_DEBUG("Removing PCI device %s from inactive list", dev->name);
virPCIDeviceListDel(inactiveDevs, dev);
+ }
return 0;
}
--
2.5.0
2
2
08 Jan '16
If no migration_address is configured, QEMU will listen on 0.0.0.0 or
[::]. Commit 674afcb09e3d33500cfbbcf870ebf92cb99ecfa3 moved the
handling of this default value into a new qemuMigrationPrepareIncoming
function, however the address is also needed when starting the NBD
server from within qemuMigrationPrepareAny.
Without this commit, the nbd-server-start command fails if no explicit
migration_address is configured since libvirt passes a null value in the
listen address:
{
"execute": "nbd-server-start", "arguments": {
"addr": {
"type": "inet",
"data": { "host": null, "port": "49153" }
}
},
"id": "libvirt-14"
}
The migration address only applies to direct migration. Unfortunately we
can't move this logic as far back as qemuMigrationPrepareDirect since
QEMU's IPv6 support is only known after it has been launched.
Signed-off-by: Michael Chapman <mike(a)very.puzzling.org>
---
src/qemu/qemu_migration.c | 79 +++++++++++++++++++++++------------------------
1 file changed, 38 insertions(+), 41 deletions(-)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 4519aef..3f83b57 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -3307,54 +3307,14 @@ qemuMigrationPrepareIncoming(virDomainObjPtr vm,
if (VIR_STRDUP(migrateFrom, "stdio") < 0)
goto cleanup;
} else {
- bool encloseAddress = false;
- bool hostIPv6Capable = false;
- bool qemuIPv6Capable = false;
- struct addrinfo *info = NULL;
- struct addrinfo hints = { .ai_flags = AI_ADDRCONFIG,
- .ai_socktype = SOCK_STREAM };
const char *incFormat;
- if (getaddrinfo("::", NULL, &hints, &info) == 0) {
- freeaddrinfo(info);
- hostIPv6Capable = true;
- }
- qemuIPv6Capable = virQEMUCapsGet(priv->qemuCaps,
- QEMU_CAPS_IPV6_MIGRATION);
-
- if (listenAddress) {
- if (virSocketAddrNumericFamily(listenAddress) == AF_INET6) {
- if (!qemuIPv6Capable) {
- virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s",
- _("qemu isn't capable of IPv6"));
- goto cleanup;
- }
- if (!hostIPv6Capable) {
- virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s",
- _("host isn't capable of IPv6"));
- goto cleanup;
- }
- /* IPv6 address must be escaped in brackets on the cmd line */
- encloseAddress = true;
- } else {
- /* listenAddress is a hostname or IPv4 */
- }
- } else if (qemuIPv6Capable && hostIPv6Capable) {
- /* Listen on :: instead of 0.0.0.0 if QEMU understands it
- * and there is at least one IPv6 address configured
- */
- listenAddress = "::";
- encloseAddress = true;
- } else {
- listenAddress = "0.0.0.0";
- }
-
/* QEMU will be started with
* -incoming protocol:[<IPv6 addr>]:port,
* -incoming protocol:<IPv4 addr>:port, or
* -incoming protocol:<hostname>:port
*/
- if (encloseAddress)
+ if (virSocketAddrNumericFamily(listenAddress) == AF_INET6)
incFormat = "%s:[%s]:%d";
else
incFormat = "%s:%s:%d";
@@ -3540,6 +3500,43 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver,
goto stopjob;
stopProcess = true;
+ if (!tunnel) {
+ bool hostIPv6Capable = false;
+ bool qemuIPv6Capable = false;
+ struct addrinfo *info = NULL;
+ struct addrinfo hints = { .ai_flags = AI_ADDRCONFIG,
+ .ai_socktype = SOCK_STREAM };
+
+ if (getaddrinfo("::", NULL, &hints, &info) == 0) {
+ freeaddrinfo(info);
+ hostIPv6Capable = true;
+ }
+ qemuIPv6Capable = virQEMUCapsGet(priv->qemuCaps,
+ QEMU_CAPS_IPV6_MIGRATION);
+
+ if (listenAddress) {
+ if (virSocketAddrNumericFamily(listenAddress) == AF_INET6) {
+ if (!qemuIPv6Capable) {
+ virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s",
+ _("qemu isn't capable of IPv6"));
+ goto stopjob;
+ }
+ if (!hostIPv6Capable) {
+ virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s",
+ _("host isn't capable of IPv6"));
+ goto stopjob;
+ }
+ }
+ } else if (qemuIPv6Capable && hostIPv6Capable) {
+ /* Listen on :: instead of 0.0.0.0 if QEMU understands it
+ * and there is at least one IPv6 address configured
+ */
+ listenAddress = "::";
+ } else {
+ listenAddress = "0.0.0.0";
+ }
+ }
+
if (!(incoming = qemuMigrationPrepareIncoming(vm, tunnel, protocol,
listenAddress, port,
dataFD[0])))
--
2.4.3
2
1
This patch adds a nestedhvm directive to the lxm features to allow libxl to create a nested HVM.
It also has mask_svm_npt to allow the created HVM to have the svm/npt bits masked so that it cannot in turn run up an nested hvm.
Alvin Starr (1):
add nested HVM to libxl
docs/schemas/domaincommon.rng | 10 ++++++++++
src/conf/domain_conf.c | 6 ++++++
src/conf/domain_conf.h | 2 ++
src/libxl/libxl_conf.c | 35 +++++++++++++++++++++++++++++++++++
4 files changed, 53 insertions(+)
--
2.4.3
3
7
I've found them by pure chance and they were easy to fix.
Michal Privoznik (2):
virLogHostnameString: Don't leak hostname
virLogVMessage: Don't leak rawinitmsg
src/util/virlog.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
--
2.4.10
2
4
[libvirt] [PATCH v2 00/14] Use macros for more common virsh command options
by John Ferlan 07 Jan '16
by John Ferlan 07 Jan '16
07 Jan '16
v1: http://www.redhat.com/archives/libvir-list/2015-December/msg00731.html
Changes over v1:
1. Insert patch 1 to convert already pushed VSH_POOL into VIRSH_POOL
since that was the review comment from this patch series
2. Insert patch 2 to move the POOL_OPT_COMMON to virsh.h for later
patch reuse.
3. Use VIRSH_* instead of VSH_* for patches 1-8 (now 3-10)
4. Add usage of common domain for virsh-domain-monitor.c and
virsh-snapshot.c (patches 11-12)
5. Add common macros for "network" and "interface" (patches 13-14).
NOTE: I figure to let this perculate for a bit as I'll assume there
may be varying opinions on this... Also, the next couple of weeks
heavy on people perhaps paying not paying close attention to the list.
John Ferlan (14):
virsh: Covert VSH_POOL_ macro to VIRSH_POOL_
virsh: Move VIRSH_POOL_OPT_COMMON to virsh.h
virsh: Create macro for common "domain" option
virsh: Create macro for common "persistent" option
virsh: Create macro for common "config" option
virsh: Create macro for common "live" option
virsh: Create macro for common "current" option
virsh: Create macro for common "file" option
virsh: Create macros for common "pool" options
virsh: Create macros for common "vol" options
virsh: Have domain-monitor use common "domain" option
virsh: have snapshot use common "domain" option
virsh: Create macro for common "network" option
virsh: Create macro for common "interface" option
po/POTFILES.in | 1 +
tools/virsh-domain-monitor.c | 77 +---
tools/virsh-domain.c | 911 +++++++++----------------------------------
tools/virsh-interface.c | 37 +-
tools/virsh-network.c | 61 +--
tools/virsh-pool.c | 71 ++--
tools/virsh-snapshot.c | 60 +--
tools/virsh-volume.c | 148 ++-----
tools/virsh.h | 17 +
9 files changed, 334 insertions(+), 1049 deletions(-)
--
2.5.0
3
17
[libvirt] [PATCH] Fix LSB requirements in service script and sync them
by Martin Kletzander 07 Jan '16
by Martin Kletzander 07 Jan '16
07 Jan '16
Commit b22344f3285187ee1768d6e031bc0ff20e32552d mistakenly reordered
Default-* lines. Thanks to that I noticed that we are very inconsistent
with our init scripts, so I took the liberty of synchronizing them,
updating them and making them all look shiny and new. So apart from
fixing the LSB requirements, I also fixed the ordering, specified
runlevels and fix the link to the reference specification.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
daemon/libvirtd.init.in | 11 ++++-------
src/locking/virtlockd.init.in | 12 ++++++++----
src/logging/virtlogd.init.in | 8 ++++----
tools/libvirt-guests.init.in | 9 ++++++---
4 files changed, 22 insertions(+), 18 deletions(-)
diff --git a/daemon/libvirtd.init.in b/daemon/libvirtd.init.in
index 22006c448cdf..164732905d4b 100644
--- a/daemon/libvirtd.init.in
+++ b/daemon/libvirtd.init.in
@@ -1,19 +1,16 @@
#!/bin/sh
# the following is the LSB init header see
-# http://www.linux-foundation.org/spec//booksets/LSB-Core-generic/LSB-Core-ge…
+# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-gen…
#
### BEGIN INIT INFO
# Provides: libvirtd
+# Default-Start: 3 4 5
+# Default-Stop: 0 1 2 6
# Required-Start: $network messagebus virtlogd
-# Should-Start: $named
-# Should-Start: xend
-# Should-Start: avahi-daemon
-# Should-Start: virtlockd
# Required-Stop: $network messagebus
+# Should-Start: $named xend avahi-daemon virtlockd
# Should-Stop: $named
-# Default-Start: 3 4 5
-# Default-Stop: 0 1 2 6
# Short-Description: daemon for libvirt virtualization API
# Description: This is a daemon for managing guest instances
# and libvirt virtual networks
diff --git a/src/locking/virtlockd.init.in b/src/locking/virtlockd.init.in
index 596bb6241485..0bf868ca7ff1 100644
--- a/src/locking/virtlockd.init.in
+++ b/src/locking/virtlockd.init.in
@@ -1,12 +1,16 @@
#!/bin/sh
# the following is the LSB init header see
-# http://www.linux-foundation.org/spec//booksets/LSB-Core-generic/LSB-Core-ge…
+# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-gen…
#
### BEGIN INIT INFO
# Provides: virtlockd
-# Default-Start:
-# Default-Stop: 0 1 2 3 4 5 6
+# Default-Start: 3 4 5
+# Default-Stop: 0 1 2 6
+# Required-Start:
+# Required-Stop:
+# Should-Start: $network $remote_fs
+# Should-Stop: $network $remote_fs
# Short-Description: virtual machine lock manager
# Description: This is a daemon for managing locks
# on virtual machine disk images
@@ -16,7 +20,7 @@
#
# virtlockd: virtual machine lock manager
#
-# chkconfig: - 96 04
+# chkconfig: 345 96 04
# description: This is a daemon for managing locks \
# on virtual machine disk images
#
diff --git a/src/logging/virtlogd.init.in b/src/logging/virtlogd.init.in
index 89b243dc0522..6aa88150469f 100644
--- a/src/logging/virtlogd.init.in
+++ b/src/logging/virtlogd.init.in
@@ -1,16 +1,16 @@
#!/bin/sh
# the following is the LSB init header see
-# http://www.linux-foundation.org/spec//booksets/LSB-Core-generic/LSB-Core-ge…
+# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-gen…
#
### BEGIN INIT INFO
# Provides: virtlogd
-# Default-Start: 3 5
+# Default-Start: 3 4 5
+# Default-Stop: 0 1 2 6
# Required-Start:
# Required-Stop:
# Should-Start: $network $remote_fs
# Should-Stop: $network $remote_fs
-# Default-Stop: 0 1 2 4 6
# Short-Description: virtual machine log manager
# Description: This is a daemon for managing logs
# of virtual machine consoles
@@ -20,7 +20,7 @@
#
# virtlogd: virtual machine log manager
#
-# chkconfig: - 96 04
+# chkconfig: 345 96 04
# description: This is a daemon for managing logs \
# of virtual machine consoles
#
diff --git a/tools/libvirt-guests.init.in b/tools/libvirt-guests.init.in
index 5f9a60e81f05..7709df3b96a3 100644
--- a/tools/libvirt-guests.init.in
+++ b/tools/libvirt-guests.init.in
@@ -1,13 +1,16 @@
#!/bin/sh
-# the following is the LSB init header
+# the following is the LSB init header see
+# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-gen…
#
### BEGIN INIT INFO
# Provides: libvirt-guests
+# Default-Start: 3 4 5
+# Default-Stop: 0 1 2 6
# Required-Start: libvirtd
# Required-Stop: libvirtd
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
+# Should-Start:
+# Should-Stop:
# Short-Description: suspend/resume libvirt guests on shutdown/boot
# Description: This is a script for suspending active libvirt guests
# on shutdown and resuming them on next boot
--
2.7.0
2
1
[libvirt] [PATCH] qemu: Don't bother user with libvirt-internal paths
by Martin Kletzander 07 Jan '16
by Martin Kletzander 07 Jan '16
07 Jan '16
If user defines a virtio channel with UNIX socket backend and doesn't
care about the path for the socket (e.g. qemu-agent channel), we still
generate it into the persistent XML. Moreover when then user renames
the domain, due to its persistent socket path saved into the per-domain
directory, it will not start. So let's forget about old generated paths
and also stop putting them into the persistent definition.
https://bugzilla.redhat.com/show_bug.cgi?id=1278068
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
src/qemu/qemu_command.c | 12 ++++++++++++
src/qemu/qemu_domain.c | 21 +++++++++++----------
.../qemuxml2argv-channel-virtio-unix.args | 5 ++++-
.../qemuxml2argv-channel-virtio-unix.xml | 4 ++++
4 files changed, 31 insertions(+), 11 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 66ca11152ad8..c5127cfa04f9 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -10510,6 +10510,18 @@ qemuBuildCommandLine(virConnectPtr conn,
goto error;
}
+ if (channel->source.type == VIR_DOMAIN_CHR_TYPE_UNIX &&
+ !channel->source.data.nix.path) {
+ if (virAsprintf(&channel->source.data.nix.path,
+ "%s/domain-%s/%s",
+ cfg->channelTargetDir, def->name,
+ channel->target.name ? channel->target.name
+ : "unknown.sock") < 0)
+ goto error;
+
+ channel->source.data.nix.listen = true;
+ }
+
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_SPICEVMC) &&
channel->source.type == VIR_DOMAIN_CHR_TYPE_SPICEVMC) {
/* spicevmc was originally introduced via a -device
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index bb8d47f9293d..73fc79dab56b 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -1329,20 +1329,21 @@ qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
ARCH_IS_S390(def->os.arch))
dev->data.controller->model = VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI;
- /* auto generate unix socket path */
+ /* clear auto generated unix socket path */
if (dev->type == VIR_DOMAIN_DEVICE_CHR &&
dev->data.chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL &&
dev->data.chr->targetType == VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_VIRTIO &&
dev->data.chr->source.type == VIR_DOMAIN_CHR_TYPE_UNIX &&
- !dev->data.chr->source.data.nix.path) {
- if (virAsprintf(&dev->data.chr->source.data.nix.path,
- "%s/domain-%s/%s",
- cfg->channelTargetDir, def->name,
- dev->data.chr->target.name ? dev->data.chr->target.name
- : "unknown.sock") < 0)
- goto cleanup;
-
- dev->data.chr->source.data.nix.listen = true;
+ dev->data.chr->source.data.nix.path &&
+ STRPREFIX(dev->data.chr->source.data.nix.path, cfg->channelTargetDir)) {
+ /*
+ * If the address is generated by us (starts with our
+ * channel dir), we should not keep it in the persistent
+ * XML. If libvirt is the one who generated it, users
+ * shouldn't care about that. Â If they do, they are
+ * supposed to set it themselves.
+ */
+ VIR_FREE(dev->data.chr->source.data.nix.path);
}
/* forbid capabilities mode hostdev in this kind of hypervisor */
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-unix.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-unix.args
index 94375b85df69..6a0b1f373603 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-unix.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-unix.args
@@ -33,4 +33,7 @@ nowait \
id=channel1 \
-chardev socket,id=charchannel2,path=/tmp/domain-QEMUGuest1/ble,server,nowait \
-device virtserialport,bus=virtio-serial0.0,nr=3,chardev=charchannel2,\
-id=channel2,name=ble
+id=channel2,name=ble \
+-chardev socket,id=charchannel3,path=/tmp/domain-QEMUGuest1/fdsa,server,nowait \
+-device virtserialport,bus=virtio-serial0.0,nr=4,chardev=charchannel3,\
+id=channel3,name=fdsa
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-unix.xml b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-unix.xml
index 7fac943389bf..405dff8389bf 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-unix.xml
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-unix.xml
@@ -32,6 +32,10 @@
<channel type='unix'>
<target type='virtio' name='ble'/>
</channel>
+ <channel type='unix'>
+ <source path='/tmp/domain-oldname/fdsa'/>
+ <target type='virtio' name='fdsa'/>
+ </channel>
<memballoon model='none'/>
</devices>
</domain>
--
2.7.0
2
4
[libvirt] [PATCH] qemu: snapshot: Skip 'transaction' command when no disks are selected
by Peter Krempa 07 Jan '16
by Peter Krempa 07 Jan '16
07 Jan '16
When doing a memory-only snapshot libvirt would still issue the
'transaction' command without any disk. Skip it if it isn't necessary.
---
src/qemu/qemu_driver.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 1161aa0..39c2c05 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -14331,6 +14331,7 @@ qemuDomainSnapshotCreateDiskActive(virQEMUDriverPtr driver,
{
qemuDomainObjPrivatePtr priv = vm->privateData;
virJSONValuePtr actions = NULL;
+ bool do_transaction = false;
int ret = 0;
size_t i;
bool persist = false;
@@ -14379,9 +14380,11 @@ qemuDomainSnapshotCreateDiskActive(virQEMUDriverPtr driver,
reuse, asyncJob);
if (ret < 0)
break;
+
+ do_transaction = true;
}
if (actions) {
- if (ret == 0) {
+ if (ret == 0 && do_transaction) {
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) == 0) {
ret = qemuMonitorTransaction(priv->mon, actions);
if (qemuDomainObjExitMonitor(driver, vm) < 0)
@@ -14390,6 +14393,8 @@ qemuDomainSnapshotCreateDiskActive(virQEMUDriverPtr driver,
/* failed to enter monitor, clean stuff up and quit */
ret = -1;
}
+ } else {
+ VIR_DEBUG("no disks to snapshot, skipping 'transaction' command");
}
virJSONValueFree(actions);
--
2.6.2
2
2
Currently pkg build of master branch fails:
[ 300s] + /usr/lib/rpm/brp-boot-scripts
[ 300s] E: File `virtlogd' is missing `Required-Start', please add even if empty!
[ 300s] W: File `virtlogd' is missing `Required-Stop', please add even if empty!
[ 300s] E: File `virtlogd' has empty `Default-Start', please specify default runlevel(s)!
[ 300s] ERROR: found one or more broken init or boot scripts, please fix them.
[ 300s] For more information about LSB headers please read the manual
[ 300s] page of of insserv by executing the command `man 8 insserv'.
[ 300s] If you don't understand this, mailto=werner(a)suse.de
[ 300s] error: Bad exit status from /var/tmp/rpm-tmp.44965 (%install)
Add the required tags, fix the existing tags.
Use soft dependency "Should-Start" because virtlogd may work without network.
Signed-off-by: Olaf Hering <olaf(a)aepfle.de>
---
v2: fix colon in Should-stop
src/logging/virtlogd.init.in | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/logging/virtlogd.init.in b/src/logging/virtlogd.init.in
index 1408236..dadc343 100644
--- a/src/logging/virtlogd.init.in
+++ b/src/logging/virtlogd.init.in
@@ -5,8 +5,12 @@
#
### BEGIN INIT INFO
# Provides: virtlogd
-# Default-Start:
-# Default-Stop: 0 1 2 3 4 5 6
+# Default-Start: 3 5
+# Required-Start:
+# Required-Stop:
+# Should-Start: $network $remote_fs
+# Should-Stop: $network $remote_fs
+# Default-Stop: 0 1 2 4 6
# Short-Description: virtual machine log manager
# Description: This is a daemon for managing logs
# of virtual machine consoles
2
2
[libvirt] <interface type='hostdev'>vf configuration cleanup when VM is delete
by Moshe Levi 07 Jan '16
by Moshe Levi 07 Jan '16
07 Jan '16
Hi,
I have a setup with libvirt 1.3.0 and OpenStack trunk.
Before launched the VM ip link command show the following VF mac/vlan configuration [1]
When I launch a VM with <interface type='hostdev'> via openstack api (OpenStack direct port)
I can see that the VF get the mac/vlan according to libvrit xml [2] and ip link command [3], but when I delete the VM the mac/vlan config are still shown as in [3] and not restored to [1]
Shouldn't libvirt restore the mac/vlan to [1].
The same problem exists when using <interface type='direct'> (OpenStack macvtap port) but just for the MAC configuration of the VF.
[1] - 24: enp3s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP mode DEFAULT group default qlen 1000
link/ether e4:1d:2d:a5:f1:22 brd ff:ff:ff:ff:ff:ff
vf 0 MAC 00:00:00:00:00:00, spoof checking off, link-state auto
vf 1 MAC 00:00:00:00:00:00, spoof checking off, link-state auto
vf 2 MAC 00:00:00:00:00:00, spoof checking off, link-state auto
vf 3 MAC 00:00:00:00:00:00, spoof checking off, link-state auto
[2] - <interface type='hostdev' managed='yes'>
<mac address=' fa:16:3e:11:af:fe '/>
<driver name='kvm'/>
<source>
<address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x7'/>
</source>
<vlan>
<tag id='190'/>
</vlan>
<alias name='hostdev0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</interface>
[3] 24: enp3s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP mode DEFAULT group default qlen 1000
link/ether e4:1d:2d:a5:f1:22 brd ff:ff:ff:ff:ff:ff
vf 0 MAC 00:00:00:00:00:00, spoof checking off, link-state auto
vf 1 MAC 00:00:00:00:00:00, spoof checking off, link-state auto
vf 2 MAC 00:00:00:00:00:00, spoof checking off, link-state auto
vf 3 MAC fa:16:3e:11:af:fe, vlan 190, spoof checking off, link-state enable
3
11
[libvirt] [PATCH] qemu: save config after pivot only if domain is persistent
by Michael Chapman 07 Jan '16
by Michael Chapman 07 Jan '16
07 Jan '16
When pivoting after a completed block job, only save the domain's
persistent configuration if the domain is actually marked persistent.
This commit also refactors the logic surrounding the copying of the new
disk definition into vm->newDef to avoid a NULL pointer dereference if
virStorageSourceCopy were to fail to allocate memory.
Signed-off-by: Michael Chapman <mike(a)very.puzzling.org>
---
src/qemu/qemu_blockjob.c | 34 ++++++++++++++--------------------
1 file changed, 14 insertions(+), 20 deletions(-)
diff --git a/src/qemu/qemu_blockjob.c b/src/qemu/qemu_blockjob.c
index 1d5b7ce..ae936a2 100644
--- a/src/qemu/qemu_blockjob.c
+++ b/src/qemu/qemu_blockjob.c
@@ -116,26 +116,20 @@ qemuBlockJobEventProcess(virQEMUDriverPtr driver,
switch ((virConnectDomainEventBlockJobStatus) status) {
case VIR_DOMAIN_BLOCK_JOB_COMPLETED:
if (disk->mirrorState == VIR_DOMAIN_DISK_MIRROR_STATE_PIVOT) {
- if (vm->newDef) {
- virStorageSourcePtr copy = NULL;
-
- if ((persistDisk = virDomainDiskByName(vm->newDef,
- disk->dst, false))) {
- copy = virStorageSourceCopy(disk->mirror, false);
- if (virStorageSourceInitChainElement(copy,
- persistDisk->src,
- true) < 0) {
- VIR_WARN("Unable to update persistent definition "
- "on vm %s after block job",
- vm->def->name);
- virStorageSourceFree(copy);
- copy = NULL;
- persistDisk = NULL;
- }
- }
- if (copy) {
+ if (vm->newDef &&
+ (persistDisk = virDomainDiskByName(vm->newDef, disk->dst, false))) {
+ virStorageSourcePtr copy = virStorageSourceCopy(disk->mirror, false);
+ if (copy && virStorageSourceInitChainElement(copy,
+ persistDisk->src,
+ true) == 0) {
virStorageSourceFree(persistDisk->src);
persistDisk->src = copy;
+ } else {
+ VIR_WARN("Unable to update persistent definition "
+ "on vm %s after block job",
+ vm->def->name);
+ virStorageSourceFree(copy);
+ persistDisk = NULL;
}
}
@@ -188,8 +182,8 @@ qemuBlockJobEventProcess(virQEMUDriverPtr driver,
if (virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm) < 0)
VIR_WARN("Unable to save status on vm %s after block job",
vm->def->name);
- if (persistDisk && virDomainSaveConfig(cfg->configDir,
- vm->newDef) < 0)
+ if (vm->persistent && persistDisk &&
+ virDomainSaveConfig(cfg->configDir, vm->newDef) < 0)
VIR_WARN("Unable to update persistent definition on vm %s "
"after block job", vm->def->name);
}
--
2.4.3
2
4
[libvirt] [BUG?] qemu was accidently killed by libvirtd after we restart libvirtd by service command
by Hailiang Zhang 07 Jan '16
by Hailiang Zhang 07 Jan '16
07 Jan '16
Hi all,
We came across a problem, qemu was accidently killed by libvirtd after we restart libvirtd by service command.
Steps to reproduce:
1) Attach net device to VM by 'virsh attach-device' command
2) Detach the net device that added before by 'virsh detach-device' command
3) Do the above two steps repeatedly, and at the same time, we restart libvirtd daemon.
And then we have chance to find that, after libvirtd is restarted at one time, qemu is killed accidently.
The libvirt log message is:
[2015-12-17 11:34:36]: libvirtd : 216046: info : libvirt version: 1.2.17
[2015-12-17 11:34:36]: libvirtd : 216046: warning : virDriverLoadModule:65 : Module /usr/lib64/libvirt/connection-driver/libvirt_driver_nwfilter.so not accessible
[2015-12-17 11:34:36]: libvirtd : 216046: info : virNetlinkEventServiceStart:662 : starting netlink event service with protocol 0
[2015-12-17 11:34:36]: libvirtd : 216046: info : virNetlinkEventServiceStart:712 : set netlink socket big buffer size
[2015-12-17 11:34:36]: libvirtd : 216046: info : virNetlinkEventServiceStart:662 : starting netlink event service with protocol 15
[2015-12-17 11:34:36]: libvirtd : 216046: info : virNetlinkEventServiceStart:712 : set netlink socket big buffer size
[2015-12-17 11:34:36]: libvirtd : 216079: error : dnsmasqCapsRefreshInternal:741 : Cannot check dnsmasq binary /usr/sbin/dnsmasq: No such file or directory
[2015-12-17 11:34:36]: libvirtd : 216079: info : networkReloadFirewallRules:1861 : Reloading iptables rules
[2015-12-17 11:34:36]: libvirtd : 216079: info : networkRefreshDaemons:1830 : Refreshing network daemons
[2015-12-17 11:34:36]: libvirtd : 216079: error : virNodeSuspendSupportsTarget:332 : internal error: Cannot probe for supported suspend types
[2015-12-17 11:34:36]: libvirtd : 216079: warning : virQEMUCapsInit:1037 : Failed to get host power management capabilities
[2015-12-17 11:34:36]: libvirtd : 216079: info : virDomainObjListLoadAllConfigs:23039 : Scanning for configs in /var/run/libvirt/qemu
[2015-12-17 11:34:36]: libvirtd : 216079: info : virDomainObjListLoadAllConfigs:23063 : Loading config file 'VMName.xml'
[2015-12-17 11:34:36]: libvirtd : 216079: info : virDomainObjListLoadAllConfigs:23063 : Loading config file 'VMName2.xml'
[2015-12-17 11:34:36]: libvirtd : 216079: info : virDomainObjListLoadAllConfigs:23063 : Loading config file 'VMName3.xml'
[2015-12-17 11:34:36]: libvirtd : 216079: info : virDomainObjListLoadAllConfigs:23039 : Scanning for configs in /etc/libvirt/qemu
[2015-12-17 11:34:36]: libvirtd : 216079: info : virDomainObjListLoadAllConfigs:23063 : Loading config file 'VMName.xml'
[2015-12-17 11:34:36]: libvirtd : 216079: info : virDomainObjListLoadAllConfigs:23063 : Loading config file 'VMName2.xml'
[2015-12-17 11:34:36]: libvirtd : 216079: info : virDomainObjListLoadAllConfigs:23063 : Loading config file 'VMName3.xml'
[2015-12-17 11:34:36]: libvirtd : 216079: info : qemuDomainSnapshotLoad:490 : Scanning for snapshots for domain VMName in /var/lib/libvirt/qemu/snapshot/VMName
[2015-12-17 11:34:36]: libvirtd : 216079: info : qemuDomainSnapshotLoad:490 : Scanning for snapshots for domain VMName2 in /var/lib/libvirt/qemu/snapshot/VMName2
[2015-12-17 11:34:36]: libvirtd : 216079: info : qemuDomainSnapshotLoad:490 : Scanning for snapshots for domain VMName3 in /var/lib/libvirt/qemu/snapshot/VMName3
[2015-12-17 11:34:36]: libvirtd : 216047: info : remoteDispatchDomainDetachDevice:4105 : Domain is detached a device by client: 127.0.0.1;0
[2015-12-17 11:34:36]: libvirtd : 216050: info : remoteDispatchDomainDetachDevice:4105 : Domain is detached a device by client: 127.0.0.1;0
[2015-12-17 11:34:36]: libvirtd : 216047: info : virDomainDetachDevice:8508 : enter virDomainDetachDevice domainname=VMName2, xml= <interface type='bridge'>^M
<source bridge='br-1'/>^M
<mac address='00:16:3e:76:85:17'/>^M
<virtualport type='openvswitch' />^M
<model type='virtio'/>^M
</interface>^M
^M
[2015-12-17 11:34:36]: libvirtd : 216050: info : virDomainDetachDevice:8508 : enter virDomainDetachDevice domainname=VMName, xml= <interface type='bridge'>^M
<source bridge='br-1'/>^M
<mac address='00:16:3e:76:85:15'/>^M
2015-12-17 11:34:36]: libvirtd : 216095: error : qemuMonitorJSONCheckError:380 : internal error: unable to execute QEMU command 'netdev_del': Device 'hostnet5' not found
[2015-12-17 11:34:36]: libvirtd : 216096: error : qemuMonitorJSONCheckError:380 : internal error: unable to execute QEMU command 'netdev_del': Device 'hostnet2' not found
[2015-12-17 11:34:36]: libvirtd : 216097: error : qemuMonitorJSONCheckError:380 : internal error: unable to execute QEMU command 'netdev_del': Device 'hostnet1' not found
[2015-12-17 11:34:37]: libvirtd : 216095: info : virSecurityDACRestoreSecurityFileLabelInternal:325 : Restoring DAC user and group on '/data/suse11_sp3_64_1'
[2015-12-17 11:34:37]: libvirtd : 216095: info : virSecurityDACSetOwnershipInternal:248 : Setting DAC user and group on '/data/suse11_sp3_64_1' to '0:0'
[2015-12-17 11:34:37]: libvirtd : 216096: info : virSecurityDACRestoreSecurityFileLabelInternal:325 : Restoring DAC user and group on '/data/suse11_sp3_64_2'
[2015-12-17 11:34:37]: libvirtd : 216096: info : virSecurityDACSetOwnershipInternal:248 : Setting DAC user and group on '/data/suse11_sp3_64_2' to '0:0'
[2015-12-17 11:34:37]: libvirtd : 216095: info : qemuProcessStop:5720 : VM 'VMName' is dying,remove vBMC
[2015-12-17 11:34:37]: libvirtd : 216095: error : rtev_vBMC_send:209 : Failed to remove domain vBMC bind path for 33ae1cb0-c451-4620-8cee-1bbddd124b82, errno is 2
[2015-12-17 11:34:37]: libvirtd : 216050: info : remoteDispatchDomainAttachDevice:2855 : Domain is attached a device by client: 127.0.0.1;0
[2015-12-17 11:34:37]: libvirtd : 216050: info : virDomainAttachDevice:8390 : enter virDomainAttachDevice domainname=VMName, xml=<interface type='bridge'>^M
The VM's qemu log is:
[2015-12-17 11:34:30] handle_qmp_command:5115 qmp_cmd_name: device_del, qmp_cmd_arguments: {"id": "net4"}
[2015-12-17 11:34:30] virtio_set_status:524 virtio-net device status is 1 that means ACKNOWLEDGE
[2015-12-17 11:34:30] virtio_set_status:524 virtio-net device status is 1 that means ACKNOWLEDGE
[2015-12-17 11:34:30] virtio_pci_device_unplugged:966 virtio-net
[2015-12-17 11:34:30] monitor_qapi_event_emit:483 {"timestamp": {"seconds": 1450352070, "microseconds": 402473}, "event": "DEVICE_DELETED", "data": {"path": "/machine/peripheral/net4/virtio-backend"}}
[2015-12-17 11:34:30] monitor_qapi_event_emit:483 {"timestamp": {"seconds": 1450352070, "microseconds": 402586}, "event": "DEVICE_DELETED", "data": {"device": "net4", "path": "/machine/peripheral/net4"}}
[2015-12-17 11:34:30] handle_qmp_command:5115 qmp_cmd_name: netdev_del, qmp_cmd_arguments: {"id": "hostnet4"}
[2015-12-17 11:34:30] handle_qmp_command:5115 qmp_cmd_name: qom-list, qmp_cmd_arguments: {"path": "/machine/peripheral"}
---------------------------------------------- At this time, We restart libvirtd just right ------------------------------------------------------------
[2015-12-17 11:34:30] handle_qmp_command:5115 qmp_cmd_name: device_del, qmp_cmd_arguments: {"id": "net5"}
[2015-12-17 11:34:30] virtio_set_status:524 virtio-net device status is 1 that means ACKNOWLEDGE
[2015-12-17 11:34:30] virtio_set_status:524 virtio-net device status is 1 that means ACKNOWLEDGE
[2015-12-17 11:34:30] virtio_pci_device_unplugged:966 virtio-net
[2015-12-17 11:34:30] monitor_qapi_event_emit:483 {"timestamp": {"seconds": 1450352070, "microseconds": 810030}, "event": "DEVICE_DELETED", "data": {"path": "/machine/peripheral/net5/virtio-backend"}}
[2015-12-17 11:34:30] monitor_qapi_event_emit:483 {"timestamp": {"seconds": 1450352070, "microseconds": 810150}, "event": "DEVICE_DELETED", "data": {"device": "net5", "path": "/machine/peripheral/net5"}}
[2015-12-17 11:34:30] handle_qmp_command:5115 qmp_cmd_name: netdev_del, qmp_cmd_arguments: {"id": "hostnet5"}
[2015-12-17 11:34:35] send_control_event:225 virtio serial port 2 send control message event = 6, value = 0
[2015-12-17 11:34:36] handle_qmp_command:5105 qmp_cmd_name: qmp_capabilities
[2015-12-17 11:34:36] handle_qmp_command:5105 qmp_cmd_name: query-commands
[2015-12-17 11:34:36] handle_qmp_command:5115 qmp_cmd_name: add-fd, qmp_cmd_arguments: {"fdset-id": 0, "opaque": "/dev/null"}
[2015-12-17 11:34:36] handle_qmp_command:5115 qmp_cmd_name: block-commit, qmp_cmd_arguments: {"device": "bogus"}
[2015-12-17 11:34:36] handle_qmp_command:5105 qmp_cmd_name: query-events
[2015-12-17 11:34:36] send_control_event:225 virtio serial port 2 send control message event = 6, value = 1
[2015-12-17 11:34:36] handle_qmp_command:5105 qmp_cmd_name: query-status
[2015-12-17 11:34:36] handle_qmp_command:5105 qmp_cmd_name: query-block
[2015-12-17 11:34:36] handle_qmp_command:5105 qmp_cmd_name: query-chardev
[2015-12-17 11:34:36] handle_qmp_command:5115 qmp_cmd_name: qom-list, qmp_cmd_arguments: {"path": "/machine/peripheral"}
[2015-12-17 11:34:36] handle_qmp_command:5115 qmp_cmd_name: netdev_del, qmp_cmd_arguments: {"id": "hostnet5"}
[2015-12-17 11:34:36]: shutting down
[2015-12-17 11:34:36] send_control_event:225 virtio serial port 2 send control message event = 6, value = 0
qemu: terminating on signal 15 from pid 216046(libvirtd)
[2015-12-17 11:34:36] monitor_qapi_event_emit:483 {"timestamp": {"seconds": 1450352076, "microseconds": 267427}, "event": "SHUTDOWN"}
[2015-12-17 11:34:36] monitor_qapi_event_emit:483 {"timestamp": {"seconds": 1450352076, "microseconds": 267773}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "drive-ide0-0-1", "tray-open": true}}
We have analyzed this problem, and thought it was triggered by the inconsistent state for the net device
between qemu and the new libvirtd.
After libvirtd is started, it will connect to qemu, and updates the devices state by command 'qom-list',
and also it will read the configure information from XML stored.
The codes call process is:
qemuProcessReconnect
->qemuProcessUpdateDevices
->if (qemuDomainUpdateDeviceList(driver, vm, QEMU_ASYNC_JOB_NONE) < 0)
->if ((tmp = old)) {
while (*tmp) {
if (!virStringArrayHasString(priv->qemuDevices, *tmp) &&
virDomainDefFindDevice(vm->def, *tmp, &dev, false) == 0 &&
qemuDomainRemoveDevice(driver, vm, &dev) < 0) {
goto cleanup; --->If we fail here, it will return -1; and it will call
qemuProcessStop() in qemuProcessReconnect to kill VM.
}
tmp++;
}
}
It is a little hard to reproduce this problem, we can reproduce it in a special way:
1) Attach a net device by virsh command
2) Stop libvirtd
3) Detach the net device by directly send qmp command to QEMU though the monitor, just like:
# ./qmp-shell /var/lib/libvirt/qemu/redhat.monitor
Welcome to the QMP low-level shell!
Connected to QEMU 2.3.0
(QEMU) qom-list path=/machine/peripheral
{u'return': [{u'type': u'child<virtio-net-pci>', u'name': u'net1'}, {u'type': u'child<cirrus-vga>', u'name': u'video0'}, {u'type': u'child<usb-tablet>', u'name': u'input0'}, {u'type': u'child<isa-serial>', u'name': u'serial0'}, {u'type': u'child<virtio-net-pci>', u'name': u'net0'}, {u'type': u'child<scsi-hd>', u'name': u'scsi0-0-0-0'}, {u'type': u'child<virtio-scsi-pci>', u'name': u'scsi0'}, {u'type': u'child<piix3-usb-uhci>', u'name': u'usb'}, {u'type': u'string', u'name': u'type'}]}
(QEMU) device_del id=net1
{u'return': {}}
(QEMU) netdev_del id=hostnet1
{u'return': {}}
4) Restart libvirtd daemon and then you will found that qemu is killed by libvirtd.
The main reason for the inconsistent state is, we accidently restarted libvirtd before it finished treating
'detach device' work.
It seems a little violent to kill such VM directly.
Can we just do the unfinished cleanup work for the VM after libvirtd is starting ?
(IMHO, we can't ensure not to restart libvirtd while it is treating the detach device work.)
Thanks.
zhanghailiang
2
1
I'm pleased to announce libguestfs 1.32, a library and set of tools
for accessing and modifying virtual machine disk images.
This release took 6 months of work by many people - see release notes
below.
You can get libguestfs 1.32 here:
Main website: http://libguestfs.org/
Source: http://libguestfs.org/download/1.32-stable/
Fedora 23+: http://koji.fedoraproject.org/koji/packageinfo?packageID=8391
It will appear as an update for F23 in about a week.
Debian/experimental coming soon, see:
https://packages.debian.org/libguestfs0
Release notes (from http://libguestfs.org/guestfs-release-notes.1.html)
New features
New tools
The new virt-v2v-copy-to-local(1) tool is an ancillary tool for
virt-v2v(1) allowing you to convert source guests that virt-v2v is
unable to access directly.
New features in existing tools
Virt-customize knows how to write a random seed to CirrOS (Pino
Toscano).
On Fedora, virt-customize runs dnf(8) with the --best flag, ensuring it
always updates to the latest available packages.
Virt-builder now provides 32 bit Fedora templates.
Virt-builder and virt-customize --install option now works on 32 bit
Fedora guests. Previously it would try to install 64 bit packages (Jan
Sedlák).
Virt-builder can now fetch cloud images using Simple Streams v1.0
metadata (Pino Toscano).
Virt-builder can now fetch openSUSE cloud images out of the box (Cédric
Bosdonnat).
Virt-customize will now use stronger (SHA-512) encrypted passwords by
default on openSUSE ≥ 11 (Pino Toscano).
Virt-builder will now correctly handle output filenames containing
colon characters (":"), and will create temporary files in the
libguestfs cache directory instead of defaulting to /tmp (Pino
Toscano).
Virt-resize has a new --unknown-filesystems option to control what to
do when asked to resize a filesystem that libguestfs doesn't know how
to resize.
Virt-v2v now has an --in-place flag/mode, allowing in-place conversion
of guests (Roman Kagan).
Virt-v2v has a --compressed option for creating compressed qcow2 output
files.
Virt-v2v can now correctly get the VMware datacenter path (dcPath) from
libvirt, instead of having to calculate it using an algorithm that
occasionally got the wrong answer (Matthias Bolte, Tingting Zheng).
Virt-v2v now processes RAM sizes correctly for 64 bit guests when
running on a 32 bit host.
Language bindings
In Perl and Python programs, the "get_program_name" API now returns the
true program name, instead of the incorrect string "perl" or "python".
The Python bindings can now be compiled against a different version of
libguestfs, allowing the pip module to be built against any version of
libguestfs (instead of requiring the pip module and libguestfs to have
exactly the same version).
The quality of the Ruby rdoc (documentation) has been improved (Pino
Toscano).
Perl scripts no longer hard-code the location of perl in the shebang
line, but use env(1) to locate it instead (Pino Toscano).
In OCaml programs, the guestfs handle was incorrectly made into a
global root, meaning it could never be garbage collected. If you
didn't call the "close" function explicitly, the handle would not be
closed until the whole program exited. This has now been fixed so
handles will be garbage collected in the usual way. This changes the
API of the OCaml function "Guestfs.event_callback". Note that non-C
language bindings are not covered by the libguestfs API/ABI guarantee,
although we try hard not to change them, but in this case it was
essential in order to fix this very serious bug.
Inspection
Alpine Linux and the APK package manager, ALT Linux, Frugalware, and
PLD Linux are now recognized (Pino Toscano).
If it exists, /etc/os-release will be preferred for inspecting Linux
guests (Pino Toscano).
The correct kernel version is returned for Windows guests ≥ 10.
Documentation
The large guestfs(3) man page has been split into several separate man
pages: guestfs-hacking(1) guestfs-internals(1) guestfs-security(1). In
the source tree, a new docs directory contains this documentation.
Architectures and platforms
Libguestfs now supports ARM 64 bit platforms with vGICv3.
Security
See also guestfs-security(1).
"CVE-2015-5745"
https://bugzilla.redhat.com/1251157
This is not a vulnerability in libguestfs, but because we always
give a virtio-serial port to each guest (since that is how guest-
host communication happens), an escalation from the appliance to
the host qemu process is possible. This could affect you if:
· your libguestfs program runs untrusted programs out of the
guest (using "guestfs_sh" etc), or
· another exploit was found in (for example) kernel filesystem
code that allowed a malformed filesystem to take over the
appliance.
If you use sVirt to confine qemu, that would thwart some attacks.
Virt-customize permissions on .ssh, .ssh/authorized_keys
https://bugzilla.redhat.com/1260778.
Previously when asked to inject an SSH key into a guest, virt-
customize (hence virt-builder too) would create the .ssh directory
and .ssh/authorized_keys file with too broad permissions, allowing
other users to read. They are now created as 0700 and 0600
respectively, which is the same as the ssh-copy-id(1) utility.
API
New APIs
"guestfs_get_identifier"
"guestfs_set_identifier"
Get/set a per-handle identifier. The main effect of this is to
change trace output from:
libguestfs: trace: foo
to:
libguestfs: trace: ID: foo
making it easier to follow traces in multi-threaded programs, or
where a program uses multiple handles (especially virt-v2v).
"guestfs_vfs_minimum_size"
Return the minimum size of a filesystem (when shrunk). This
supports ext2/3/4, XFS and btrfs, and can support other filesystem
types in future (Maxim Perevedentsev).
Other API changes
"guestfs_disk_create": add "preallocation" = "off"/"metadata"/"full".
For raw, this allows "off" as a synonym for "sparse" (making it
consistent with qcow2). For qcow2, this allows "sparse" as a
synonym for "off".
It also adds "full", which corresponds to fully allocated, but uses
posix_fallocate(3) for efficiency.
"guestfs_tar_in": new "xattrs", "selinux", "acl" parameters.
"guestfs_tar_out": new "xattrs", "selinux", "acl" parameters.
These extra parameters control whether extended attributes, SELinux
contexts and/or POSIX ACLs are restored from / saved to tarballs.
"guestfs_add_drive"
The existing "username" and "secret" parameters can be used to
supply authentication for iSCSI (Pino Toscano).
Build changes
The "./configure --enable-valgrind-daemon" option has been removed.
You can no longer build libguestfs on RHEL 5-era (c.2007) machines.
See the "oldlinux" branch if you need (limited) RHEL 5 support.
Virt-p2v can now be built on RHEL 6-era (c.2010) Linux distros.
OCaml ≥ 3.11 (released in 2008) is now required to build from git.
Building the Perl bindings now requires "Module::Build" (instead of
"ExtUtils::MakeMaker").
Builds should be faster (especially when incrementally rebuilding),
because work was done to reduce build times.
Both OCaml and the OCaml findlib module are required if you need to run
the generator at build time. Previously the build would have failed if
findlib was not installed.
"make check" tests now run in parallel (within each test directory).
"make install" no longer installs OCaml bindtests.* files incorrectly.
"make install" can now be run twice. Previously it would fail on the
second run.
"make clean" should now remove nearly every file that "make" creates.
A new "make installcheck" rule has been added, allowing the installed
copy of libguestfs to be tested.
Internals
Some effort was put into minimizing the size of the appliance, which
reduces temporary disk space and time needed by libguestfs handles.
The appliance now passes the NIC name to dhcpd, fixing hangs when
running the appliance on some distros (Cédric Bosdonnat).
OCaml "Guestfs.Errno" is now generated (Pino Toscano).
In OCaml tools, common code now handles --debug-gc, --verbose and other
common options (Roman Kagan, Pino Toscano).
The virt-v2v test harness allows us to boot the test guests at fixed
dates in the past, ensuring that Windows reactivation doesn't kick in.
There is a new internal API for reading/writing a subprocess via a pipe
from library code.
Used "deheader" program to remove unused "#include" directives.
In OCaml tools, the "Char" and "String" modules now implicitly
reference the "Common_utils.Char" and "Common_utils.String" modules
(instead of the ones from stdlib). The "Common_utils" modules contain
a number of extra char/string utility functions, and also hide some
unsafe functions in stdlib.
Many more virt-v2v tests will now be run even if you don't have
rhsrvany and virtio-win installed (Roman Kagan).
The huge configure.ac file has been split into several smaller files
called m4/guestfs_*.m4.
The old tests/data and tests/guests directories have been moved to
test-data/. This new top level directory carries all test data which
is common, large and/or shared between multiple tests.
There is a new top level website/ directory containing the public
http://libguestfs.org website (or most of it).
The fuzz testing of inspection (tests/fuzz) has been removed.
Virt-p2v now saves the source physical machine dmesg output into the
conversion server debug directory, making it simpler to debug cases of
missing drivers, firmware etc.
Bugs fixed
https://bugzilla.redhat.com/1294956
set-label returns wrong error message when set the ext3/ext4
filesystem label
https://bugzilla.redhat.com/1288733
Add a Fedora 23 32-bit base image for virt-builder
https://bugzilla.redhat.com/1288201
virt-builder writes temporary files to /tmp
https://bugzilla.redhat.com/1285847
virt-resize does not copy logical partitions
https://bugzilla.redhat.com/1281578
virt-inspector returns version 6.3 for win10 images (should return
10.0)
https://bugzilla.redhat.com/1281577
virt-inspector --xpath segfault on attribute get
https://bugzilla.redhat.com/1280029
libguestfs can run commands with stdin not open (or worse still,
connected to arbitrary guest-chosen random devices)
https://bugzilla.redhat.com/1279273
About compression option for qcow2
https://bugzilla.redhat.com/1278878
guestfish should be able to handle LVM thin layouts
https://bugzilla.redhat.com/1278382
DNF python programming error when run from virt-builder
https://bugzilla.redhat.com/1278371
inspection returns arch="unknown" for Windows guest if file command
is not installed
https://bugzilla.redhat.com/1277274
Document permissions needed for non-admin users to use virt-v2v
https://bugzilla.redhat.com/1277122
RFE: virt-sparsify: make '--in-place' sparsification safe to abort
(gracefully or ungracefully)
https://bugzilla.redhat.com/1277074
Virt-p2v client shouldn't present the vdsm option because it's not
usable
https://bugzilla.redhat.com/1276540
virt-v2v fails to convert Windows raw image: error "device name is
not a partition"
https://bugzilla.redhat.com/1275806
virt-builder: error: [file] is not a regular file in the guest
https://bugzilla.redhat.com/1270011
Simplestreams test fails: virt-builder: error: the value for the
key 'size' is not an integer
https://bugzilla.redhat.com/1267032
guestfish copy-in command behaves oddly/unexpectedly with wildcards
https://bugzilla.redhat.com/1262983
python: Cannot compile pip module if installed libguestfs != pip
guestfs version
https://bugzilla.redhat.com/1262127
Better diagnostic message when virbr0 doesn't exist
https://bugzilla.redhat.com/1261436
No warning shows when convert a win7 guest with AVG AntiVirus
installed
https://bugzilla.redhat.com/1260778
virt-builder --ssh-inject doesn't set proper permissions on created
files
https://bugzilla.redhat.com/1260689
RFE: V2V to check and warn user to disable group policy and anti
virus on Windows guests
https://bugzilla.redhat.com/1260590
Wrong graphics protocal and video type set for guest after convert
to rhev 3.6 by virt-v2v
https://bugzilla.redhat.com/1258342
extra slashes in vcenter URL confuses virt-v2v
https://bugzilla.redhat.com/1257895
[RHEV][V2V] virt-v2v ignores NIC if interface source/@network or
source/@bridge is an empty string
https://bugzilla.redhat.com/1256405
virt-builder created Fedora 22 32bit disk image cannot be updated
https://bugzilla.redhat.com/1256222
virt-p2v no GUI mode:error opening control connection to
$ip:22:unexpected …rompt
https://bugzilla.redhat.com/1251909
Option -oa preallocated -of qcow2 of virt-v2v didn't work
efficiently
https://bugzilla.redhat.com/1250715
v2v: spaces need to be escaped as %20 in paths
https://bugzilla.redhat.com/1248678
Close all incoming ports on virt-p2v ISO
https://bugzilla.redhat.com/1246882
man virt-customize shows synopsis twice
https://bugzilla.redhat.com/1242853
mount-loop failed to setup loop device: No such file or directory
https://bugzilla.redhat.com/1237136
BUG: unable to handle kernel NULL pointer dereference at <addr> in
function __blkg_lookup
https://bugzilla.redhat.com/1230412
virt-v2v should ignore bogus kernel entries in grub config
https://bugzilla.redhat.com/1229119
Unrelated info in fstab makes virt-v2v fail with unclear error info
https://bugzilla.redhat.com/1227609
virt-p2v: Using "Back" button causes output list to be repopulated
multiple times
https://bugzilla.redhat.com/1225789
Wrong video driver is installed for rhel5.11 guest after conversion
to libvirt
https://bugzilla.redhat.com/1204131
RFE: virt-builder creates qcow v3 images, add build option for qcow
v2
https://bugzilla.redhat.com/1176801
File /etc/sysconfig/kernel isn't updated when convert XenPV guest
with regular kernel installed
https://bugzilla.redhat.com/1174551
"lstatnslist" and "lstatlist" don't give an error if the API is
used wrongly
https://bugzilla.redhat.com/1168223
koji spin-livecd cannot build a working live CD
https://bugzilla.redhat.com/1165785
mount-loop command fails: mount failed: Unknown error -1
https://bugzilla.redhat.com/1164708
set-label can only set <=127 bytes for btrfs and <=126 bytes for
ntfs filesystem which not meet the help message. Also for ntfs it
should give a warning message when the length >128 bytes
https://bugzilla.redhat.com/1020216
libvirt fails to shut down domain: could not destroy libvirt
domain: Requested operation is not valid: domain is not running
https://bugzilla.redhat.com/1011907
mount-loop failed to setup loop device: No such file or directory
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW
1
0
[libvirt] [PATCH] rbd: Do not append Ceph monitor port number 6789 if not provided
by Wido den Hollander 06 Jan '16
by Wido den Hollander 06 Jan '16
06 Jan '16
If no port number was provided for a storage pool libvirt would default
to port 6789.
librbd/librados will however already default to 6789 when no port number
is provided.
In the future Ceph will however switch to a new port for the Ceph monitors
since port 6789 is already assigned to a different application by IANA.
Port 6789 is assigned to SMC-HTTPS and Ceph now has port 3300 assigned as
the 'Ceph monitor' port.
In this case it is the best solution to not hardcode any port number into
libvirt and let librados handle the connection.
Only if a user specifies a different port number we pass it down to librados,
otherwise we leave it blank.
Signed-off-by: Wido den Hollander <wido(a)widodh.nl>
---
src/storage/storage_backend_rbd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/storage/storage_backend_rbd.c b/src/storage/storage_backend_rbd.c
index cdbfdee..df4a3d3 100644
--- a/src/storage/storage_backend_rbd.c
+++ b/src/storage/storage_backend_rbd.c
@@ -173,7 +173,7 @@ static int virStorageBackendRBDOpenRADOSConn(virStorageBackendRBDStatePtr ptr,
for (i = 0; i < source->nhost; i++) {
if (source->hosts[i].name != NULL &&
!source->hosts[i].port) {
- virBufferAsprintf(&mon_host, "%s:6789,",
+ virBufferAsprintf(&mon_host, "%s,",
source->hosts[i].name);
} else if (source->hosts[i].name != NULL &&
source->hosts[i].port) {
--
1.9.1
3
9
[libvirt] [PATCH] rbd: Do not error out on a single image during pool refresh
by Wido den Hollander 06 Jan '16
by Wido den Hollander 06 Jan '16
06 Jan '16
It could happen that rbd_list() returns X names, but that while
refreshing the pool one of those RBD images is removed from Ceph
through a different route then libvirt.
We do not need to error out in such case, we can simply ignore the
volume and continue.
error : volStorageBackendRBDRefreshVolInfo:289 :
failed to open the RBD image 'vol-998': No such file or directory
It could also be that one or more Placement Groups (PGs) inside Ceph
are inactive due to a system failure.
If that happens it could be that some RBD images can not be refreshed
and a timeout will be raised by librados.
error : volStorageBackendRBDRefreshVolInfo:289 :
failed to open the RBD image 'vol-893': Connection timed out
Ignore the error and continue to refresh the rest of the pool's
contents.
Signed-off-by: Wido den Hollander <wido(a)widodh.nl>
---
src/storage/storage_backend_rbd.c | 37 ++++++++++++++++++++++++++++---------
1 file changed, 28 insertions(+), 9 deletions(-)
diff --git a/src/storage/storage_backend_rbd.c b/src/storage/storage_backend_rbd.c
index 80684eb..888e3be 100644
--- a/src/storage/storage_backend_rbd.c
+++ b/src/storage/storage_backend_rbd.c
@@ -279,18 +279,17 @@ static int volStorageBackendRBDRefreshVolInfo(virStorageVolDefPtr vol,
virStoragePoolObjPtr pool,
virStorageBackendRBDStatePtr ptr)
{
- int ret = -1;
- int r = 0;
- rbd_image_t image;
+ int r = -1;
+ rbd_image_t image = NULL;
+ rbd_image_info_t info;
r = rbd_open(ptr->ioctx, vol->name, &image, NULL);
if (r < 0) {
virReportSystemError(-r, _("failed to open the RBD image '%s'"),
vol->name);
- return ret;
+ goto cleanup;
}
- rbd_image_info_t info;
r = rbd_stat(image, &info, sizeof(info));
if (r < 0) {
virReportSystemError(-r, _("failed to stat the RBD image '%s'"),
@@ -308,6 +307,8 @@ static int volStorageBackendRBDRefreshVolInfo(virStorageVolDefPtr vol,
vol->type = VIR_STORAGE_VOL_NETWORK;
vol->target.format = VIR_STORAGE_FILE_RAW;
+ r = -1;
+
VIR_FREE(vol->target.path);
if (virAsprintf(&vol->target.path, "%s/%s",
pool->def->source.name,
@@ -320,11 +321,13 @@ static int volStorageBackendRBDRefreshVolInfo(virStorageVolDefPtr vol,
vol->name) == -1)
goto cleanup;
- ret = 0;
+ r = 0;
cleanup:
- rbd_close(image);
- return ret;
+ if (image)
+ rbd_close(image);
+
+ return r;
}
static int virStorageBackendRBDRefreshPool(virConnectPtr conn,
@@ -399,7 +402,23 @@ static int virStorageBackendRBDRefreshPool(virConnectPtr conn,
name += strlen(name) + 1;
- if (volStorageBackendRBDRefreshVolInfo(vol, pool, &ptr) < 0) {
+ r = volStorageBackendRBDRefreshVolInfo(vol, pool, &ptr);
+
+ /* It could be that a volume has been deleted through a different route
+ * then libvirt and that will cause a -ENOENT to be returned.
+ *
+ * Another possibility is that there is something wrong with the placement
+ * group (PG) that RBD image's header is in and that causes -ETIMEDOUT
+ * to be returned.
+ *
+ * Do not error out and simply ignore the volume
+ */
+ if (r == -ENOENT || r == -ETIMEDOUT) {
+ virStorageVolDefFree(vol);
+ continue;
+ }
+
+ if (r < 0) {
virStorageVolDefFree(vol);
goto cleanup;
}
--
1.9.1
2
4
[libvirt] [PATCHv2] "Don't include .c file for editing support" bug was fixed. Callbacks in special struct were added instead of EDIT-* macros
by rodinasophieï¼ gmail.com 06 Jan '16
by rodinasophieï¼ gmail.com 06 Jan '16
06 Jan '16
From: Sofia Rodina <rodinasophie(a)gmail.com>
---
tools/Makefile.am | 1 +
tools/virsh-domain.c | 187 ++++++++++++++++++++++++++++++++++++------------
tools/virsh-edit.c | 79 ++++++--------------
tools/virsh-edit.h | 42 +++++++++++
tools/virsh-interface.c | 64 +++++++++++++----
tools/virsh-network.c | 62 ++++++++++++----
tools/virsh-nwfilter.c | 64 +++++++++++++----
tools/virsh-pool.c | 64 +++++++++++++----
tools/virsh-snapshot.c | 76 ++++++++++++++------
9 files changed, 464 insertions(+), 175 deletions(-)
create mode 100644 tools/virsh-edit.h
diff --git a/tools/Makefile.am b/tools/Makefile.am
index d5638d9..88bb1b2 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -205,6 +205,7 @@ virsh_SOURCES = \
virsh-domain.c virsh-domain.h \
virsh-domain-monitor.c virsh-domain-monitor.h \
virsh-host.c virsh-host.h \
+ virsh-edit.c virsh-edit.h \
virsh-interface.c virsh-interface.h \
virsh-network.c virsh-network.h \
virsh-nodedev.c virsh-nodedev.h \
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 12e85e3..0beaa62 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -56,6 +56,7 @@
#include "virtime.h"
#include "virtypedparam.h"
#include "virxml.h"
+#include "virsh-edit.h"
/* Gnulib doesn't guarantee SA_SIGINFO support. */
#ifndef SA_SIGINFO
@@ -4622,6 +4623,44 @@ static const vshCmdOptDef opts_save_image_edit[] = {
{.name = NULL}
};
+typedef struct virshEditDomainUniversalStruct
+{
+ vshControl *ctl;
+ virshControlPtr priv;
+ const char *file;
+ virDomainPtr dom;
+ unsigned int getxml_flags;
+ bool *ret;
+ unsigned int *define_flags;
+ const char *key;
+ virDomainPtr *dom_edited;
+} virshEditDomainUniversalStruct;
+
+static char *
+virshEditDomainSaveImageGetXML(void *args)
+{
+ virshEditDomainUniversalStruct *str = (virshEditDomainUniversalStruct *)args;
+ return virDomainSaveImageGetXMLDesc(str->priv->conn, str->file, str->getxml_flags);
+}
+
+static void
+virshEditDomainSaveImageNotChanged(void *args)
+{
+ virshEditDomainUniversalStruct *str = (virshEditDomainUniversalStruct*)args;
+ vshPrint(str->ctl, _("Saved image %s XML configuration not changed.\n"), str->file);
+ *(str->ret) = true;
+}
+
+static bool
+virshEditDomainSaveIageDefine(void *args, char *doc_edited, char *doc)
+{
+ if (!doc)
+ return false;
+ virshEditDomainUniversalStruct *str = (virshEditDomainUniversalStruct*)args;
+ return (virDomainSaveImageDefineXML(str->priv->conn, str->file,
+ doc_edited, *(str->define_flags)) == 0);
+}
+
static bool
cmdSaveImageEdit(vshControl *ctl, const vshCmd *cmd)
{
@@ -4647,20 +4686,22 @@ cmdSaveImageEdit(vshControl *ctl, const vshCmd *cmd)
if (vshCommandOptStringReq(ctl, cmd, "file", &file) < 0)
return false;
-
-#define EDIT_GET_XML \
- virDomainSaveImageGetXMLDesc(priv->conn, file, getxml_flags)
-#define EDIT_NOT_CHANGED \
- do { \
- vshPrint(ctl, _("Saved image %s XML configuration " \
- "not changed.\n"), file); \
- ret = true; \
- goto edit_cleanup; \
- } while (0)
-#define EDIT_DEFINE \
- (virDomainSaveImageDefineXML(priv->conn, file, doc_edited, define_flags) == 0)
-#include "virsh-edit.c"
-
+ {
+ virshEditDomainUniversalStruct editDomainArgs = {
+ NULL, priv, file, NULL, getxml_flags,
+ &ret, &define_flags, NULL, NULL
+ };
+ virshEditControl editCtl = {
+ &virshEditDomainSaveImageGetXML,
+ &virshEditDomainSaveImageNotChanged,
+ &virshEditDomainSaveIageDefine,
+ NULL,
+ &editDomainArgs,
+ };
+
+ if (!virshEdit(ctl, &editCtl))
+ goto cleanup;
+ }
vshPrint(ctl, _("State file %s edited.\n"), file);
ret = true;
@@ -8145,6 +8186,30 @@ virshDomainGetEditMetadata(vshControl *ctl,
return ret;
}
+static char *
+virshEditDomainMetadataGetXML(void *args)
+{
+ virshEditDomainUniversalStruct *str = (virshEditDomainUniversalStruct*)(args);
+ return virshDomainGetEditMetadata(str->ctl, str->dom, str->file, str->getxml_flags);
+}
+
+static void
+virshEditMetadataNotChanged(void *args)
+{
+ virshEditDomainUniversalStruct *str = (virshEditDomainUniversalStruct*)args;
+ vshPrint(str->ctl, "%s", _("Metadata not changed"));
+ *(str->ret) = true;
+}
+
+static bool
+virshEditMetadataDefine(void *args, char *doc_edited, char *doc)
+{
+ if (!doc)
+ return false;
+ virshEditDomainUniversalStruct *str = (virshEditDomainUniversalStruct*)args;
+ return (virDomainSetMetadata(str->dom, VIR_DOMAIN_METADATA_ELEMENT, doc_edited,
+ str->key, str->file, *(str->define_flags)) == 0);
+}
static bool
cmdMetadata(vshControl *ctl, const vshCmd *cmd)
@@ -8196,20 +8261,19 @@ cmdMetadata(vshControl *ctl, const vshCmd *cmd)
else
vshPrint("%s\n", _("Metadata modified"));
} else if (edit) {
-#define EDIT_GET_XML \
- virshDomainGetEditMetadata(ctl, dom, uri, flags)
-#define EDIT_NOT_CHANGED \
- do { \
- vshPrint(ctl, "%s", _("Metadata not changed")); \
- ret = true; \
- goto edit_cleanup; \
- } while (0)
-
-#define EDIT_DEFINE \
- (virDomainSetMetadata(dom, VIR_DOMAIN_METADATA_ELEMENT, doc_edited, \
- key, uri, flags) == 0)
-#include "virsh-edit.c"
-
+ virshEditDomainUniversalStruct editMetadataArgs = {
+ ctl, NULL, uri, dom,
+ flags, &ret, &flags, key, NULL
+ };
+ virshEditControl editCtl = {
+ &virshEditDomainMetadataGetXML,
+ &virshEditMetadataNotChanged,
+ &virshEditMetadataDefine,
+ NULL,
+ &editMetadataArgs,
+ };
+ if (!virshEdit(ctl, &editCtl))
+ goto cleanup;
vshPrint("%s\n", _("Metadata modified"));
} else {
char *data;
@@ -11764,6 +11828,40 @@ static const vshCmdOptDef opts_edit[] = {
{.name = NULL}
};
+static char *
+virshEditDomainGetXML(void *args)
+{
+ virshEditDomainUniversalStruct *str = (virshEditDomainUniversalStruct*)args;
+ return virDomainGetXMLDesc(str->dom, str->getxml_flags);
+}
+
+static void
+virshEditDomainNotChanged(void *args)
+{
+ virshEditDomainUniversalStruct *str = (virshEditDomainUniversalStruct*)args;
+ vshPrint(str->ctl, _("Domain %s XML configuration not changed.\n"),
+ virDomainGetName(str->dom));
+ *(str->ret) = true;
+}
+
+static bool
+virshEditDomainDefine(void *args, char *doc_edited, char *doc)
+{
+ if (!doc)
+ return false;
+ virshEditDomainUniversalStruct *str = (virshEditDomainUniversalStruct*)args;
+ return
+ (*(str->dom_edited) = virshDomainDefine(str->priv->conn, doc_edited,
+ *(str->define_flags)));
+}
+
+static void
+virshEditDomainRelax(void *args)
+{
+ virshEditDomainUniversalStruct *str = (virshEditDomainUniversalStruct*)args;
+ *(str->define_flags) &= ~VIR_DOMAIN_DEFINE_VALIDATE;
+}
+
static bool
cmdEdit(vshControl *ctl, const vshCmd *cmd)
{
@@ -11780,24 +11878,21 @@ cmdEdit(vshControl *ctl, const vshCmd *cmd)
if (vshCommandOptBool(cmd, "skip-validate"))
define_flags &= ~VIR_DOMAIN_DEFINE_VALIDATE;
-
-#define EDIT_GET_XML virDomainGetXMLDesc(dom, query_flags)
-#define EDIT_NOT_CHANGED \
- do { \
- vshPrint(ctl, _("Domain %s XML configuration not changed.\n"), \
- virDomainGetName(dom)); \
- ret = true; \
- goto edit_cleanup; \
- } while (0)
-#define EDIT_DEFINE \
- (dom_edited = virshDomainDefine(priv->conn, doc_edited, define_flags))
-#define EDIT_RELAX \
- do { \
- define_flags &= ~VIR_DOMAIN_DEFINE_VALIDATE; \
- } while (0);
-
-#include "virsh-edit.c"
-#undef EDIT_RELAX
+ {
+ virshEditDomainUniversalStruct editDomainArgs = {
+ ctl, priv, NULL, dom,
+ query_flags, &ret, &define_flags, NULL, &dom_edited
+ };
+ virshEditControl editCtl = {
+ &virshEditDomainGetXML,
+ &virshEditDomainNotChanged,
+ &virshEditDomainDefine,
+ &virshEditDomainRelax,
+ &editDomainArgs,
+ };
+ if (!virshEdit(ctl, &editCtl))
+ goto cleanup;
+ }
vshPrint(ctl, _("Domain %s XML configuration edited.\n"),
virDomainGetName(dom_edited));
diff --git a/tools/virsh-edit.c b/tools/virsh-edit.c
index 1b39cb7..fdc2842 100644
--- a/tools/virsh-edit.c
+++ b/tools/virsh-edit.c
@@ -1,7 +1,7 @@
/*
- * virsh-edit.c: Implementation of generic virsh *-edit intelligence
+ * virsh-edit.c: Main function to edit in virsh
*
- * Copyright (C) 2012, 2015 Red Hat, Inc.
+ * Copyright (C) 2005, 2007-2015 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -17,45 +17,17 @@
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
- * Usage:
- * Define macros:
- * EDIT_GET_XML - expression which produces a pointer to XML string, e.g:
- * #define EDIT_GET_XML virDomainGetXMLDesc(dom, flags)
- *
- * EDIT_NOT_CHANGED - this action is taken if the XML wasn't changed.
- * Note, that you don't want to jump to cleanup but edit_cleanup label
- * where temporary variables are free()-d and temporary file is deleted:
- * #define EDIT_NOT_CHANGED vshPrint(ctl, _("Domain %s XML not changed"), \
- * virDomainGetName(dom)); \
- * ret = true; goto edit_cleanup;
- * Note that this is a statement.
- *
- * EDIT_DEFINE - expression which redefines the object. The edited XML from
- * user is in 'doc_edited' variable. Don't overwrite the pointer to the
- * object, as we may iterate once more over and therefore the pointer
- * would be invalid. Hence assign object to a different variable.
- * Moreover, this needs to be an expression where:
- * - 0 is taken as error (our virDefine* APIs often return NULL on error)
- * - everything else is taken as success
- * For example:
- * #define EDIT_DEFINE (dom_edited = virDomainDefineXML(ctl->conn, doc_edited))
- *
- * Michal Privoznik <mprivozn(a)redhat.com>
*/
-#ifndef EDIT_GET_XML
-# error Missing EDIT_GET_XML definition
-#endif
+#include <config.h>
+#include "internal.h"
-#ifndef EDIT_NOT_CHANGED
-# error Missing EDIT_NOT_CHANGED definition
-#endif
+#include "virsh-edit.h"
+#include "viralloc.h"
-#ifndef EDIT_DEFINE
-# error Missing EDIT_DEFINE definition
-#endif
-
-do {
+bool
+virshEdit(vshControl *ctl, virshEditControl *editCtl)
+{
char *tmp = NULL;
char *doc = NULL;
char *doc_edited = NULL;
@@ -65,7 +37,7 @@ do {
bool relax_avail = false;
/* Get the XML configuration of the object. */
- doc = (EDIT_GET_XML);
+ doc = (*editCtl->virshEditGetXML)(editCtl->virshEditArgs);
if (!doc)
goto edit_cleanup;
@@ -75,10 +47,8 @@ do {
goto edit_cleanup;
reedit:
-
-#ifdef EDIT_RELAX
- relax_avail = true;
-#endif
+ if (editCtl->virshEditRelax)
+ relax_avail = true;
/* Start the editor. */
if (vshEditFile(ctl, tmp) == -1)
@@ -91,8 +61,10 @@ do {
goto edit_cleanup;
/* Compare original XML with edited. Has it changed at all? */
- if (STREQ(doc, doc_edited))
- EDIT_NOT_CHANGED;
+ if (STREQ(doc, doc_edited)) {
+ (*editCtl->virshEditNotChanged)(editCtl->virshEditArgs);
+ goto edit_cleanup;
+ }
redefine:
msg = NULL;
@@ -102,7 +74,7 @@ do {
* losing a connection or the object going away.
*/
VIR_FREE(doc_reread);
- doc_reread = (EDIT_GET_XML);
+ doc_reread = (*editCtl->virshEditGetXML)(editCtl->virshEditArgs);
if (!doc_reread)
goto edit_cleanup;
@@ -114,7 +86,7 @@ do {
}
/* Everything checks out, so redefine the object. */
- if (!msg && !(EDIT_DEFINE))
+ if (!msg && !((*editCtl->virshEditDefine)(editCtl->virshEditArgs, doc_edited, doc)))
msg = _("Failed.");
if (msg) {
@@ -132,16 +104,14 @@ do {
goto edit_cleanup;
break;
-#ifdef EDIT_RELAX
case 'i':
if (relax_avail) {
- EDIT_RELAX;
+ (*editCtl->virshEditRelax)(editCtl->virshEditArgs);
relax_avail = false;
goto redefine;
break;
}
/* fall-through */
-#endif
default:
vshError(ctl, "%s", msg);
@@ -161,11 +131,6 @@ do {
}
if (!edit_success)
- goto cleanup;
-
-} while (0);
-
-
-#undef EDIT_GET_XML
-#undef EDIT_NOT_CHANGED
-#undef EDIT_DEFINE
+ return false;
+ return true;
+}
diff --git a/tools/virsh-edit.h b/tools/virsh-edit.h
new file mode 100644
index 0000000..9de3456
--- /dev/null
+++ b/tools/virsh-edit.h
@@ -0,0 +1,42 @@
+/*
+ * virsh-edit.h: Definition of generic virsh *-edit interface
+ *
+ * Copyright (C) 2012, 2015 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef __VIRSH_EDIT_H_
+#define __VIRSH_EDIT_H_
+
+#include "vsh.h"
+
+typedef char *(virshEditGetXMLCallback)(void *args);
+typedef void (virshEditNotChangedCallback)(void *args);
+typedef bool (virshEditDefineCallback)(void *args, char *doc_edited, char *doc);
+typedef void (virshEditRelaxCallback)(void *args);
+
+typedef struct virshEditControl {
+ virshEditGetXMLCallback *virshEditGetXML;
+ virshEditNotChangedCallback *virshEditNotChanged;
+ virshEditDefineCallback *virshEditDefine;
+ virshEditRelaxCallback *virshEditRelax;
+ void *virshEditArgs;
+} virshEditControl;
+
+bool virshEdit(vshControl *ctl, virshEditControl *editCtl);
+
+#endif // __VIRSH_EDIT_H_
diff --git a/tools/virsh-interface.c b/tools/virsh-interface.c
index b69c685..28b15c4 100644
--- a/tools/virsh-interface.c
+++ b/tools/virsh-interface.c
@@ -39,6 +39,7 @@
#include "virutil.h"
#include "virxml.h"
#include "virstring.h"
+#include "virsh-edit.h"
virInterfacePtr
virshCommandOptInterfaceBy(vshControl *ctl, const vshCmd *cmd,
@@ -108,6 +109,42 @@ static const vshCmdOptDef opts_interface_edit[] = {
{.name = NULL}
};
+typedef struct virshEditInterfaceStruct
+{
+ vshControl *ctl;
+ virshControlPtr priv;
+ virInterfacePtr iface;
+ virInterfacePtr *iface_edited;
+ unsigned int flags;
+ bool *ret;
+} virshEditInterfaceStruct;
+
+static char *
+virshEditInterfaceGetXML(void *args)
+{
+ virshEditInterfaceStruct *str = (virshEditInterfaceStruct*)args;
+ return virInterfaceGetXMLDesc(str->iface, str->flags);
+}
+
+static void
+virshEditInterfaceNotChanged(void *args)
+{
+ virshEditInterfaceStruct *str = (virshEditInterfaceStruct*)args;
+ vshPrint(str->ctl, _("Interface %s XML configuration not changed.\n"),
+ virInterfaceGetName(str->iface));
+ *(str->ret) = true;
+}
+
+static bool
+virshEditInterfaceDefine(void *args, char *doc_edited, char *doc)
+{
+ if (!doc)
+ return false;
+ virshEditInterfaceStruct *str = (virshEditInterfaceStruct*)args;
+ return (*(str->iface_edited) = virInterfaceDefineXML(str->priv->conn,
+ doc_edited, 0));
+}
+
static bool
cmdInterfaceEdit(vshControl *ctl, const vshCmd *cmd)
{
@@ -120,19 +157,20 @@ cmdInterfaceEdit(vshControl *ctl, const vshCmd *cmd)
iface = virshCommandOptInterface(ctl, cmd, NULL);
if (iface == NULL)
goto cleanup;
-
-#define EDIT_GET_XML virInterfaceGetXMLDesc(iface, flags)
-#define EDIT_NOT_CHANGED \
- do { \
- vshPrint(ctl, _("Interface %s XML configuration not changed.\n"), \
- virInterfaceGetName(iface)); \
- ret = true; \
- goto edit_cleanup; \
- } while (0)
-#define EDIT_DEFINE \
- (iface_edited = virInterfaceDefineXML(priv->conn, doc_edited, 0))
-#include "virsh-edit.c"
-
+ {
+ virshEditInterfaceStruct editInterfaceArgs = {
+ ctl, priv, iface, &iface_edited, flags, &ret
+ };
+ virshEditControl editCtl = {
+ &virshEditInterfaceGetXML,
+ &virshEditInterfaceNotChanged,
+ &virshEditInterfaceDefine,
+ NULL,
+ &editInterfaceArgs,
+ };
+ if (!virshEdit(ctl, &editCtl))
+ goto cleanup;
+ }
vshPrint(ctl, _("Interface %s XML configuration edited.\n"),
virInterfaceGetName(iface_edited));
diff --git a/tools/virsh-network.c b/tools/virsh-network.c
index a0f7707..0118adc 100644
--- a/tools/virsh-network.c
+++ b/tools/virsh-network.c
@@ -32,6 +32,7 @@
#include "virfile.h"
#include "virstring.h"
#include "conf/network_conf.h"
+#include "virsh-edit.h"
virNetworkPtr
virshCommandOptNetworkBy(vshControl *ctl, const vshCmd *cmd,
@@ -1121,6 +1122,41 @@ static char *virshNetworkGetXMLDesc(virNetworkPtr network)
return doc;
}
+typedef struct virshEditNetworkStruct
+{
+ vshControl *ctl;
+ virNetworkPtr network;
+ virNetworkPtr *network_edited;
+ virshControlPtr priv;
+ bool *ret;
+} virshEditNetworkStruct;
+
+static char *
+virshEditNetworkGetXML(void *args)
+{
+ virshEditNetworkStruct *str = (virshEditNetworkStruct*)args;
+ return virshNetworkGetXMLDesc(str->network);
+}
+
+static void
+virshEditNetworkNotChanged(void *args)
+{
+ virshEditNetworkStruct *str = (virshEditNetworkStruct*)args;
+ vshPrint(str->ctl, _("Network %s XML configuration not changed.\n"),
+ virNetworkGetName(str->network));
+ *(str->ret) = true;
+}
+
+static bool
+virshEditNetworkDefine(void *args, char *doc_edited, char *doc)
+{
+ if (!doc)
+ return false;
+ virshEditNetworkStruct *str = (virshEditNetworkStruct*)args;
+ *(str->network_edited) = virNetworkDefineXML(str->priv->conn, doc_edited);
+ return *(str->network_edited);
+}
+
static bool
cmdNetworkEdit(vshControl *ctl, const vshCmd *cmd)
{
@@ -1133,18 +1169,20 @@ cmdNetworkEdit(vshControl *ctl, const vshCmd *cmd)
if (network == NULL)
goto cleanup;
-#define EDIT_GET_XML virshNetworkGetXMLDesc(network)
-#define EDIT_NOT_CHANGED \
- do { \
- vshPrint(ctl, _("Network %s XML configuration not changed.\n"), \
- virNetworkGetName(network)); \
- ret = true; \
- goto edit_cleanup; \
- } while (0)
-#define EDIT_DEFINE \
- (network_edited = virNetworkDefineXML(priv->conn, doc_edited))
-#include "virsh-edit.c"
-
+ {
+ virshEditNetworkStruct editNetworkArgs = {
+ ctl, network, &network_edited, priv, &ret
+ };
+ virshEditControl editCtl = {
+ &virshEditNetworkGetXML,
+ &virshEditNetworkNotChanged,
+ &virshEditNetworkDefine,
+ NULL,
+ &editNetworkArgs,
+ };
+ if (!virshEdit(ctl, &editCtl))
+ goto cleanup;
+ }
vshPrint(ctl, _("Network %s XML configuration edited.\n"),
virNetworkGetName(network_edited));
diff --git a/tools/virsh-nwfilter.c b/tools/virsh-nwfilter.c
index 7732da8..36677ca 100644
--- a/tools/virsh-nwfilter.c
+++ b/tools/virsh-nwfilter.c
@@ -31,6 +31,7 @@
#include "viralloc.h"
#include "virfile.h"
#include "virutil.h"
+#include "virsh-edit.h"
virNWFilterPtr
virshCommandOptNWFilterBy(vshControl *ctl, const vshCmd *cmd,
@@ -404,6 +405,41 @@ static const vshCmdOptDef opts_nwfilter_edit[] = {
{.name = NULL}
};
+typedef struct virshEditNWFilterStruct
+{
+ vshControl *ctl;
+ virNWFilterPtr nwfilter;
+ virNWFilterPtr *nwfilter_edited;
+ virshControlPtr priv;
+ bool *ret;
+} virshEditNWFilterStruct;
+
+static char *
+virshEditNWFilterGetXML(void *args)
+{
+ virshEditNWFilterStruct *str = (virshEditNWFilterStruct*)args;
+ return virNWFilterGetXMLDesc(str->nwfilter, 0);
+}
+
+static void
+virshEditNWFilterNotChanged(void *args)
+{
+ virshEditNWFilterStruct *str = (virshEditNWFilterStruct*)args;
+ vshPrint(str->ctl, _("Network filter %s XML configuration not changed.\n"),
+ virNWFilterGetName(str->nwfilter));
+ *(str->ret) = true;
+}
+
+static bool
+virshEditNWFilterDefine(void *args, char *doc_edited, char *doc)
+{
+ if (!doc)
+ return false;
+ virshEditNWFilterStruct *str = (virshEditNWFilterStruct*)args;
+ *(str->nwfilter_edited) = virNWFilterDefineXML(str->priv->conn, doc_edited);
+ return *(str->nwfilter_edited);
+}
+
static bool
cmdNWFilterEdit(vshControl *ctl, const vshCmd *cmd)
{
@@ -415,20 +451,20 @@ cmdNWFilterEdit(vshControl *ctl, const vshCmd *cmd)
nwfilter = virshCommandOptNWFilter(ctl, cmd, NULL);
if (nwfilter == NULL)
goto cleanup;
-
-#define EDIT_GET_XML virNWFilterGetXMLDesc(nwfilter, 0)
-#define EDIT_NOT_CHANGED \
- do { \
- vshPrint(ctl, _("Network filter %s XML " \
- "configuration not changed.\n"), \
- virNWFilterGetName(nwfilter)); \
- ret = true; \
- goto edit_cleanup; \
- } while (0)
-#define EDIT_DEFINE \
- (nwfilter_edited = virNWFilterDefineXML(priv->conn, doc_edited))
-#include "virsh-edit.c"
-
+ {
+ virshEditNWFilterStruct editNWFilterArgs = {
+ ctl, nwfilter, &nwfilter_edited, priv, &ret
+ };
+ virshEditControl editCtl = {
+ &virshEditNWFilterGetXML,
+ &virshEditNWFilterNotChanged,
+ &virshEditNWFilterDefine,
+ NULL,
+ &editNWFilterArgs,
+ };
+ if (!virshEdit(ctl, &editCtl))
+ goto cleanup;
+ }
vshPrint(ctl, _("Network filter %s XML configuration edited.\n"),
virNWFilterGetName(nwfilter_edited));
diff --git a/tools/virsh-pool.c b/tools/virsh-pool.c
index cf5a8f3..740a130 100644
--- a/tools/virsh-pool.c
+++ b/tools/virsh-pool.c
@@ -32,6 +32,7 @@
#include "virfile.h"
#include "conf/storage_conf.h"
#include "virstring.h"
+#include "virsh-edit.h"
virStoragePoolPtr
virshCommandOptPoolBy(vshControl *ctl, const vshCmd *cmd, const char *optname,
@@ -1791,6 +1792,42 @@ static const vshCmdOptDef opts_pool_edit[] = {
{.name = NULL}
};
+typedef struct virshEditStoragePoolStruct
+{
+ vshControl *ctl;
+ virStoragePoolPtr pool;
+ virStoragePoolPtr *pool_edited;
+ virshControlPtr priv;
+ bool *ret;
+ unsigned int flags;
+} virshEditStoragePoolStruct;
+
+static char *
+virshEditStoragePoolGetXML(void *args)
+{
+ virshEditStoragePoolStruct *str = (virshEditStoragePoolStruct*)args;
+ return virStoragePoolGetXMLDesc(str->pool, str->flags);
+}
+
+static void
+virshEditStoragePoolNotChanged(void *args)
+{
+ virshEditStoragePoolStruct *str = (virshEditStoragePoolStruct*)args;
+ vshPrint(str->ctl, _("Pool %s XML configuration not changed.\n"),
+ virStoragePoolGetName(str->pool));
+ *(str->ret) = true;
+}
+
+static bool
+virshEditStoragePoolDefine(void *args, char *doc_edited, char *doc)
+{
+ if (!doc)
+ return false;
+ virshEditStoragePoolStruct *str = (virshEditStoragePoolStruct*)args;
+ return (*(str->pool_edited) =
+ virStoragePoolDefineXML(str->priv->conn, doc_edited, 0));
+}
+
static bool
cmdPoolEdit(vshControl *ctl, const vshCmd *cmd)
{
@@ -1816,19 +1853,20 @@ cmdPoolEdit(vshControl *ctl, const vshCmd *cmd)
} else {
VIR_FREE(tmp_desc);
}
-
-#define EDIT_GET_XML virStoragePoolGetXMLDesc(pool, flags)
-#define EDIT_NOT_CHANGED \
- do { \
- vshPrint(ctl, _("Pool %s XML configuration not changed.\n"), \
- virStoragePoolGetName(pool)); \
- ret = true; \
- goto edit_cleanup; \
- } while (0)
-#define EDIT_DEFINE \
- (pool_edited = virStoragePoolDefineXML(priv->conn, doc_edited, 0))
-#include "virsh-edit.c"
-
+ {
+ virshEditStoragePoolStruct editStoragePoolArgs = {
+ ctl, pool, &pool_edited, priv, &ret, flags
+ };
+ virshEditControl editCtl = {
+ &virshEditStoragePoolGetXML,
+ &virshEditStoragePoolNotChanged,
+ &virshEditStoragePoolDefine,
+ NULL,
+ &editStoragePoolArgs,
+ };
+ if (!virshEdit(ctl, &editCtl))
+ goto cleanup;
+ }
vshPrint(ctl, _("Pool %s XML configuration edited.\n"),
virStoragePoolGetName(pool_edited));
diff --git a/tools/virsh-snapshot.c b/tools/virsh-snapshot.c
index 3ab2104..908dcfd 100644
--- a/tools/virsh-snapshot.c
+++ b/tools/virsh-snapshot.c
@@ -41,6 +41,7 @@
#include "virstring.h"
#include "virxml.h"
#include "conf/snapshot_conf.h"
+#include "virsh-edit.h"
/* Helper for snapshot-create and snapshot-create-as */
static bool
@@ -548,6 +549,47 @@ static const vshCmdOptDef opts_snapshot_edit[] = {
{.name = NULL}
};
+typedef struct virshEditSnapshotStruct
+{
+ vshControl *ctl;
+ virDomainSnapshotPtr snapshot;
+ virDomainSnapshotPtr *edited;
+ virDomainPtr dom;
+ bool *ret;
+ unsigned int getxml_flags;
+ unsigned int *define_flags;
+ const char *name;
+} virshEditSnapshotStruct;
+
+static char *
+virshEditSnapshotGetXML(void *args)
+{
+ virshEditSnapshotStruct *str = (virshEditSnapshotStruct*)args;
+ return virDomainSnapshotGetXMLDesc(str->snapshot, str->getxml_flags);
+}
+
+static void
+virshEditSnapshotNotChanged(void *args)
+{
+ virshEditSnapshotStruct *str = (virshEditSnapshotStruct*)args;
+ /* Depending on flags, we re-edit even if XML is unchanged. */
+ if (!(*(str->define_flags) & VIR_DOMAIN_SNAPSHOT_CREATE_CURRENT)) {
+ vshPrint(str->ctl, _("Snapshot %s XML configuration not changed.\n"),
+ str->name);
+ *(str->ret) = true;
+ }
+}
+
+static bool
+virshEditSnapshotDefine(void *args, char *doc_edited, char *doc)
+{
+ virshEditSnapshotStruct *str = (virshEditSnapshotStruct*)args;
+ (strstr(doc, "<state>disk-snapshot</state>") ?
+ *(str->define_flags) |= VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY : 0);
+ return (*(str->edited) = virDomainSnapshotCreateXML(str->dom, doc_edited,
+ *(str->define_flags)));
+}
+
static bool
cmdSnapshotEdit(vshControl *ctl, const vshCmd *cmd)
{
@@ -574,26 +616,20 @@ cmdSnapshotEdit(vshControl *ctl, const vshCmd *cmd)
if (virshLookupSnapshot(ctl, cmd, "snapshotname", false, dom,
&snapshot, &name) < 0)
goto cleanup;
-
-#define EDIT_GET_XML \
- virDomainSnapshotGetXMLDesc(snapshot, getxml_flags)
-#define EDIT_NOT_CHANGED \
- do { \
- /* Depending on flags, we re-edit even if XML is unchanged. */ \
- if (!(define_flags & VIR_DOMAIN_SNAPSHOT_CREATE_CURRENT)) { \
- vshPrint(ctl, \
- _("Snapshot %s XML configuration not changed.\n"), \
- name); \
- ret = true; \
- goto edit_cleanup; \
- } \
- } while (0)
-#define EDIT_DEFINE \
- (strstr(doc, "<state>disk-snapshot</state>") ? \
- define_flags |= VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY : 0), \
- edited = virDomainSnapshotCreateXML(dom, doc_edited, define_flags)
-#include "virsh-edit.c"
-
+ {
+ virshEditSnapshotStruct editSnapshotArgs = {
+ ctl, snapshot, &edited, dom, &ret, getxml_flags, &define_flags, name
+ };
+ virshEditControl editCtl = {
+ &virshEditSnapshotGetXML,
+ &virshEditSnapshotNotChanged,
+ &virshEditSnapshotDefine,
+ NULL,
+ &editSnapshotArgs,
+ };
+ if (!virshEdit(ctl, &editCtl))
+ goto cleanup;
+ }
edited_name = virDomainSnapshotGetName(edited);
if (STREQ(name, edited_name)) {
vshPrint(ctl, _("Snapshot %s edited.\n"), name);
--
2.1.4
2
1
06 Jan '16
Wait for a block job event after the job has reached 100% only if
exactly one of the BLOCK_JOB and BLOCK_JOB_2 callbacks were successfully
registered.
If neither callback was registered, then no event will ever be received.
If both were registered, then any user-supplied path is guaranteed to
match one of the events.
Signed-off-by: Michael Chapman <mike(a)very.puzzling.org>
---
I have found that even a 2.5 second timeout isn't always sufficiently
long for QEMU to flush a disk at the end of a block job.
I hope I've understood the code properly here, because as far as I can
tell the comment I'm removing in this commit isn't right. The path the
user supplies *has* to be either the <source file='name'/> or <target
dev='name'/> exactly in order for the disk to be matched, and these are
precisely the two strings used by the two events.
tools/virsh-domain.c | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index edbbc34..60de9ba 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -1942,18 +1942,20 @@ virshBlockJobWait(virshBlockJobWaitDataPtr data)
goto cleanup;
}
- /* since virsh can't guarantee that the path provided by the user will
- * later be matched in the event we will need to keep the fallback
- * approach and claim success if the block job finishes or vanishes. */
- if (result == 0)
- break;
+ /* if either event could not be registered we can't guarantee that the
+ * path provided by the user will be matched, so keep the fallback
+ * approach and claim success if the block job finishes or vanishes */
+ if (data->cb_id2 < 0 || data->cb_id2 < 0) {
+ if (result == 0)
+ break;
- /* for two-phase jobs we will try to wait in the synchronized phase
- * for event arrival since 100% completion doesn't necessarily mean that
- * the block job has finished and can be terminated with success */
- if (info.end == info.cur && --retries == 0) {
- ret = VIR_DOMAIN_BLOCK_JOB_READY;
- goto cleanup;
+ /* only wait in the synchronized phase for event arrival if
+ * either callback was registered */
+ if (info.end == info.cur &&
+ ((data->cb_id2 < 0 && data->cb_id2 < 0) || --retries == 0)) {
+ ret = VIR_DOMAIN_BLOCK_JOB_READY;
+ goto cleanup;
+ }
}
if (data->verbose)
--
2.4.3
3
5
This patch set fixes a couple of minor bugs I discovered while building
libvirt v1.3.0 for RHEL 6.
Michael Chapman (2):
spec: fix builds on RHEL <= 6
virtlogd: fix lock file path in initscript
libvirt.spec.in | 8 ++++----
src/logging/virtlogd.init.in | 6 +++---
2 files changed, 7 insertions(+), 7 deletions(-)
--
2.4.3
2
4
06 Jan '16
Peter Krempa (2):
schema: Allow > UINT_MAX KiB of memory for NUMA nodes
qemu: domain: Prevent overflows in memory alignment code
docs/schemas/domaincommon.rng | 4 +--
src/qemu/qemu_domain.c | 27 ++++++++++++++++++++
.../qemuxml2argv-memory-align-fail.xml | 29 ++++++++++++++++++++++
tests/qemuxml2argvtest.c | 1 +
4 files changed, 58 insertions(+), 3 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-memory-align-fail.xml
--
2.6.2
3
7
[libvirt] [PATCHv2 1/3] conf: introduce 'autodeflate' attribute for memballoon device
by Dmitry Andreev 06 Jan '16
by Dmitry Andreev 06 Jan '16
06 Jan '16
Excessive memory balloon inflation can cause invocation of OOM-killer,
when Linux is under severe memory pressure. QEMU memballoon device
has a feature to release some memory at the last moment before some
process will be get killed by OOM-killer.
Introduced attribute allows to enable or disable this feature.
---
docs/formatdomain.html.in | 10 ++++++++++
docs/schemas/domaincommon.rng | 5 +++++
src/conf/domain_conf.c | 23 +++++++++++++++++++++++
src/conf/domain_conf.h | 1 +
4 files changed, 39 insertions(+)
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index a8bd48e..7d04471 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -5954,6 +5954,16 @@ qemu-kvm -net nic,model=? /dev/null
<li>'xen' — default with Xen</li>
</ul>
</dd>
+ <dt><code>autodeflate</code></dt>
+ <dd>
+ <p>
+ The optional <code>autodeflate</code> attribute allows to
+ enable/disable (values "on"/"off", respectively) the ability of the
+ QEMU virtio memory balloon to release some memory at the last moment
+ before a guest's process get killed by OOM-killer.
+ <span class="since">Since 1.3.1, QEMU and KVM only</span>
+ </p>
+ </dd>
<dt><code>period</code></dt>
<dd>
<p>
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 4804c69..512a268 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -3415,6 +3415,11 @@
<value>none</value>
</choice>
</attribute>
+ <optional>
+ <attribute name="autodeflate">
+ <ref name="virOnOff"/>
+ </attribute>
+ </optional>
<interleave>
<optional>
<ref name="alias"/>
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 5200c27..0786d08 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -11312,6 +11312,7 @@ virDomainMemballoonDefParseXML(xmlNodePtr node,
unsigned int flags)
{
char *model;
+ char *deflate;
virDomainMemballoonDefPtr def;
xmlNodePtr save = ctxt->node;
unsigned int period = 0;
@@ -11332,6 +11333,13 @@ virDomainMemballoonDefParseXML(xmlNodePtr node,
goto error;
}
+ if ((deflate = virXMLPropString(node, "autodeflate")) &&
+ (def->autodeflate = virTristateSwitchTypeFromString(deflate)) <= 0) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("invalid autodeflate attribute value '%s'"), deflate);
+ goto error;
+ }
+
ctxt->node = node;
if (virXPathUInt("string(./stats/@period)", ctxt, &period) < -1) {
virReportError(VIR_ERR_XML_ERROR, "%s",
@@ -11350,6 +11358,7 @@ virDomainMemballoonDefParseXML(xmlNodePtr node,
cleanup:
VIR_FREE(model);
+ VIR_FREE(deflate);
ctxt->node = save;
return def;
@@ -17223,6 +17232,15 @@ virDomainMemballoonDefCheckABIStability(virDomainMemballoonDefPtr src,
return false;
}
+ if (src->autodeflate != dst->autodeflate) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("Target balloon autodeflate attribute value "
+ "'%s' does not match source '%s'"),
+ virTristateSwitchTypeToString(dst->autodeflate),
+ virTristateSwitchTypeToString(src->autodeflate));
+ return false;
+ }
+
if (!virDomainDeviceInfoCheckABIStability(&src->info, &dst->info))
return false;
@@ -20400,6 +20418,11 @@ virDomainMemballoonDefFormat(virBufferPtr buf,
}
virBufferAsprintf(buf, "<memballoon model='%s'", model);
+
+ if (def->autodeflate != VIR_TRISTATE_SWITCH_ABSENT)
+ virBufferAsprintf(buf, " autodeflate='%s'",
+ virTristateSwitchTypeToString(def->autodeflate));
+
virBufferAdjustIndent(&childrenBuf, indent + 2);
if (def->period)
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 952d3cc..31a0a05 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -1634,6 +1634,7 @@ struct _virDomainMemballoonDef {
int model;
virDomainDeviceInfo info;
int period; /* seconds between collections */
+ int autodeflate; /* enum virTristateSwitch */
};
struct _virDomainNVRAMDef {
--
1.8.3.1
2
5
05 Jan '16
Just recently, qemu forbade specifying format for sourceless
disks (qemu commit 39c4ae941ed992a3bb5). It kind of makes sense.
If there's no file to open, why specify its format. Anyway, I
have a domain like this:
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<target dev='hda' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
and obviously I am unable to start it. Therefore, a fix on our
side is needed too.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_command.c | 9 +-
.../qemuxml2argv-aarch64-aavmf-virtio-mmio.args | 2 +-
.../qemuxml2argv-aarch64-cpu-passthrough.args | 2 +-
.../qemuxml2argv-aarch64-kvm-32-on-64.args | 2 +-
.../qemuxml2argv-aarch64-mmio-default-pci.args | 2 +-
.../qemuxml2argv-aarch64-virt-virtio.args | 2 +-
.../qemuxml2argv-aarch64-virtio-pci.args | 2 +-
.../qemuxml2argv-arm-vexpressa9-basic.args | 2 +-
.../qemuxml2argv-arm-vexpressa9-virtio.args | 2 +-
.../qemuxml2argv-arm-virt-virtio.args | 2 +-
.../qemuxml2argv-balloon-device-auto.args | 2 +-
.../qemuxml2argv-balloon-device-period.args | 2 +-
.../qemuxml2argv-balloon-device.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-bios-nvram.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-bios.args | 2 +-
.../qemuxml2argv-blkdeviotune-max.args | 4 +-
.../qemuxml2argv-blkdeviotune.args | 4 +-
.../qemuxml2argv-blkiotune-device.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-blkiotune.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-boot-cdrom.args | 2 +-
.../qemuxml2argv-boot-complex-bootindex.args | 14 +-
.../qemuxml2argv-boot-complex.args | 14 +-
.../qemuxml2argv-boot-floppy-q35.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-boot-floppy.args | 4 +-
...xml2argv-boot-menu-disable-drive-bootindex.args | 2 +-
.../qemuxml2argv-boot-menu-disable-drive.args | 2 +-
.../qemuxml2argv-boot-menu-disable.args | 2 +-
...qemuxml2argv-boot-menu-enable-with-timeout.args | 2 +-
.../qemuxml2argv-boot-menu-enable.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-boot-multi.args | 2 +-
.../qemuxml2argv-boot-network.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-boot-order.args | 10 +-
.../qemuxml2argvdata/qemuxml2argv-boot-strict.args | 14 +-
.../qemuxml2argv-bootindex-floppy-q35.args | 2 +-
.../qemuxml2argv-channel-guestfwd.args | 2 +-
.../qemuxml2argv-channel-spicevmc-old.args | 2 +-
.../qemuxml2argv-channel-spicevmc.args | 2 +-
.../qemuxml2argv-channel-virtio-auto.args | 2 +-
.../qemuxml2argv-channel-virtio-autoadd.args | 2 +-
.../qemuxml2argv-channel-virtio-autoassign.args | 2 +-
.../qemuxml2argv-channel-virtio-default.args | 2 +-
.../qemuxml2argv-channel-virtio-state.args | 2 +-
.../qemuxml2argv-channel-virtio-unix.args | 2 +-
.../qemuxml2argv-channel-virtio.args | 2 +-
.../qemuxml2argv-clock-catchup.args | 2 +-
.../qemuxml2argv-clock-france.args | 2 +-
.../qemuxml2argv-clock-hpet-off.args | 2 +-
...muxml2argv-clock-localtime-basis-localtime.args | 2 +-
.../qemuxml2argv-clock-localtime.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-clock-utc.args | 2 +-
.../qemuxml2argv-clock-variable.args | 2 +-
.../qemuxml2argv-console-compat-auto.args | 2 +-
.../qemuxml2argv-console-compat-chardev.args | 2 +-
.../qemuxml2argv-console-compat.args | 2 +-
.../qemuxml2argv-console-sclp.args | 2 +-
.../qemuxml2argv-console-virtio-ccw.args | 2 +-
.../qemuxml2argv-console-virtio-many.args | 2 +-
.../qemuxml2argv-console-virtio-s390.args | 2 +-
.../qemuxml2argv-console-virtio.args | 2 +-
.../qemuxml2argv-controller-order.args | 6 +-
...qemuxml2argv-cpu-host-passthrough-features.args | 2 +-
.../qemuxml2argv-cputune-zero-shares.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cputune.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args | 4 +-
.../qemuxml2argv-disk-blockio.args | 4 +-
.../qemuxml2argv-disk-cdrom-empty.args | 4 +-
.../qemuxml2argv-disk-cdrom-network-ftp.args | 4 +-
.../qemuxml2argv-disk-cdrom-network-ftps.args | 4 +-
.../qemuxml2argv-disk-cdrom-network-http.args | 4 +-
.../qemuxml2argv-disk-cdrom-network-https.args | 4 +-
.../qemuxml2argv-disk-cdrom-network-tftp.args | 4 +-
...qemuxml2argv-disk-cdrom-tray-no-device-cap.args | 4 +-
.../qemuxml2argv-disk-cdrom-tray.args | 10 +-
.../qemuxml2argvdata/qemuxml2argv-disk-cdrom.args | 4 +-
.../qemuxml2argv-disk-copy_on_read.args | 8 +-
.../qemuxml2argv-disk-drive-boot-cdrom.args | 4 +-
.../qemuxml2argv-disk-drive-boot-disk.args | 4 +-
.../qemuxml2argv-disk-drive-cache-directsync.args | 4 +-
.../qemuxml2argv-disk-drive-cache-unsafe.args | 4 +-
.../qemuxml2argv-disk-drive-cache-v2-none.args | 4 +-
.../qemuxml2argv-disk-drive-cache-v2-wb.args | 4 +-
.../qemuxml2argv-disk-drive-cache-v2-wt.args | 4 +-
.../qemuxml2argv-disk-drive-copy-on-read.args | 2 +-
.../qemuxml2argv-disk-drive-discard.args | 8 +-
...uxml2argv-disk-drive-error-policy-enospace.args | 4 +-
.../qemuxml2argv-disk-drive-error-policy-stop.args | 4 +-
...gv-disk-drive-error-policy-wreport-rignore.args | 4 +-
.../qemuxml2argv-disk-drive-fmt-qcow.args | 4 +-
.../qemuxml2argv-disk-drive-network-gluster.args | 6 +-
...qemuxml2argv-disk-drive-network-iscsi-auth.args | 6 +-
.../qemuxml2argv-disk-drive-network-iscsi-lun.args | 4 +-
.../qemuxml2argv-disk-drive-network-iscsi.args | 8 +-
...qemuxml2argv-disk-drive-network-nbd-export.args | 4 +-
...ml2argv-disk-drive-network-nbd-ipv6-export.args | 4 +-
.../qemuxml2argv-disk-drive-network-nbd-ipv6.args | 4 +-
.../qemuxml2argv-disk-drive-network-nbd-unix.args | 4 +-
.../qemuxml2argv-disk-drive-network-nbd.args | 4 +-
.../qemuxml2argv-disk-drive-network-rbd-auth.args | 4 +-
...muxml2argv-disk-drive-network-rbd-ceph-env.args | 4 +-
.../qemuxml2argv-disk-drive-network-rbd-ipv6.args | 4 +-
.../qemuxml2argv-disk-drive-network-rbd.args | 10 +-
.../qemuxml2argv-disk-drive-network-sheepdog.args | 4 +-
.../qemuxml2argv-disk-drive-no-boot.args | 8 +-
.../qemuxml2argv-disk-drive-readonly-disk.args | 6 +-
...qemuxml2argv-disk-drive-readonly-no-device.args | 4 +-
.../qemuxml2argv-disk-drive-shared.args | 4 +-
.../qemuxml2argv-disk-floppy-pseries.args | 6 +-
...emuxml2argv-disk-floppy-tray-no-device-cap.args | 6 +-
.../qemuxml2argv-disk-floppy-tray.args | 6 +-
.../qemuxml2argvdata/qemuxml2argv-disk-floppy.args | 6 +-
.../qemuxml2argv-disk-geometry.args | 2 +-
.../qemuxml2argv-disk-ide-drive-split.args | 4 +-
.../qemuxml2argv-disk-ide-wwn.args | 2 +-
.../qemuxml2argv-disk-ioeventfd.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-disk-iscsi.args | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-many.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-disk-order.args | 10 +-
.../qemuxml2argv-disk-sata-device.args | 2 +-
.../qemuxml2argv-disk-scsi-device-auto.args | 4 +-
.../qemuxml2argv-disk-scsi-device.args | 4 +-
.../qemuxml2argv-disk-scsi-disk-split.args | 8 +-
.../qemuxml2argv-disk-scsi-disk-vpd.args | 4 +-
.../qemuxml2argv-disk-scsi-disk-wwn.args | 4 +-
.../qemuxml2argv-disk-scsi-lun-passthrough.args | 4 +-
.../qemuxml2argv-disk-scsi-megasas.args | 4 +-
.../qemuxml2argv-disk-scsi-virtio-scsi.args | 4 +-
.../qemuxml2argv-disk-scsi-vscsi.args | 4 +-
.../qemuxml2argvdata/qemuxml2argv-disk-serial.args | 2 +-
.../qemuxml2argv-disk-snapshot.args | 6 +-
.../qemuxml2argv-disk-source-pool-mode.args | 2 +-
.../qemuxml2argv-disk-source-pool.args | 4 +-
.../qemuxml2argv-disk-usb-device-removable.args | 4 +-
.../qemuxml2argv-disk-usb-device.args | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-usb.args | 2 +-
.../qemuxml2argv-disk-virtio-ccw-many.args | 8 +-
.../qemuxml2argv-disk-virtio-ccw.args | 4 +-
.../qemuxml2argv-disk-virtio-s390.args | 2 +-
.../qemuxml2argv-disk-virtio-scsi-ccw.args | 4 +-
.../qemuxml2argv-disk-virtio-scsi-cmd_per_lun.args | 2 +-
.../qemuxml2argv-disk-virtio-scsi-ioeventfd.args | 2 +-
.../qemuxml2argv-disk-virtio-scsi-max_sectors.args | 2 +-
.../qemuxml2argv-disk-virtio-scsi-num_queues.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-virtio.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-disk-xenvbd.args | 8 +-
.../qemuxml2argv-encrypted-disk.args | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-event_idx.args | 8 +-
.../qemuxml2argv-fips-enabled.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-fs9p-ccw.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-fs9p.args | 2 +-
.../qemuxml2argv-graphics-sdl-fullscreen.args | 2 +-
.../qemuxml2argv-graphics-sdl.args | 2 +-
...emuxml2argv-graphics-spice-agent-file-xfer.args | 2 +-
.../qemuxml2argv-graphics-spice-agentmouse.args | 2 +-
.../qemuxml2argv-graphics-spice-compression.args | 2 +-
.../qemuxml2argv-graphics-spice-qxl-vga.args | 2 +-
.../qemuxml2argv-graphics-spice-sasl.args | 2 +-
.../qemuxml2argv-graphics-spice-timeout.args | 8 +-
.../qemuxml2argv-graphics-spice.args | 2 +-
.../qemuxml2argv-graphics-vnc-policy.args | 2 +-
.../qemuxml2argv-graphics-vnc-sasl.args | 2 +-
.../qemuxml2argv-graphics-vnc-socket.args | 2 +-
.../qemuxml2argv-graphics-vnc-tls.args | 2 +-
.../qemuxml2argv-graphics-vnc.args | 2 +-
.../qemuxml2argv-hostdev-pci-address-device.args | 2 +-
.../qemuxml2argv-hostdev-pci-address.args | 2 +-
.../qemuxml2argv-hostdev-scsi-boot.args | 2 +-
.../qemuxml2argv-hostdev-scsi-lsi-iscsi-auth.args | 2 +-
.../qemuxml2argv-hostdev-scsi-lsi-iscsi.args | 2 +-
.../qemuxml2argv-hostdev-scsi-lsi.args | 2 +-
.../qemuxml2argv-hostdev-scsi-readonly.args | 2 +-
...emuxml2argv-hostdev-scsi-virtio-iscsi-auth.args | 2 +-
.../qemuxml2argv-hostdev-scsi-virtio-iscsi.args | 2 +-
.../qemuxml2argv-hostdev-scsi-virtio-scsi.args | 2 +-
...muxml2argv-hostdev-usb-address-device-boot.args | 2 +-
.../qemuxml2argv-hostdev-usb-address-device.args | 2 +-
.../qemuxml2argv-hostdev-usb-address.args | 2 +-
.../qemuxml2argv-hostdev-vfio-multidomain.args | 2 +-
.../qemuxml2argv-hostdev-vfio.args | 2 +-
.../qemuxml2argv-hugepages-numa.args | 6 +-
.../qemuxml2argv-hugepages-pages.args | 2 +-
.../qemuxml2argv-hugepages-pages2.args | 2 +-
.../qemuxml2argv-hugepages-pages3.args | 2 +-
.../qemuxml2argv-hugepages-pages5.args | 2 +-
.../qemuxml2argv-hugepages-pages6.args | 2 +-
.../qemuxml2argv-hugepages-shared.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-hugepages.args | 2 +-
.../qemuxml2argv-input-usbmouse-addr.args | 2 +-
.../qemuxml2argv-input-usbmouse.args | 2 +-
.../qemuxml2argv-input-usbtablet.args | 2 +-
.../qemuxml2argv-iothreads-disk-virtio-ccw.args | 4 +-
.../qemuxml2argv-iothreads-disk.args | 10 +-
.../qemuxml2argv-iothreads-ids-partial.args | 2 +-
.../qemuxml2argv-iothreads-ids.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-iothreads.args | 2 +-
.../qemuxml2argv-kvm-pit-delay.args | 2 +-
.../qemuxml2argv-kvm-pit-device.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-lease.args | 2 +-
.../qemuxml2argv-machine-aeskeywrap-off-argv.args | 4 +-
.../qemuxml2argv-machine-aeskeywrap-off-cap.args | 2 +-
.../qemuxml2argv-machine-aeskeywrap-off-caps.args | 2 +-
.../qemuxml2argv-machine-aeskeywrap-on-argv.args | 4 +-
.../qemuxml2argv-machine-aeskeywrap-on-cap.args | 2 +-
.../qemuxml2argv-machine-aeskeywrap-on-caps.args | 2 +-
.../qemuxml2argv-machine-aliases1.args | 2 +-
.../qemuxml2argv-machine-aliases2.args | 2 +-
.../qemuxml2argv-machine-core-off.args | 2 +-
.../qemuxml2argv-machine-core-on.args | 2 +-
.../qemuxml2argv-machine-deakeywrap-off-argv.args | 4 +-
.../qemuxml2argv-machine-deakeywrap-off-cap.args | 2 +-
.../qemuxml2argv-machine-deakeywrap-off-caps.args | 2 +-
.../qemuxml2argv-machine-deakeywrap-on-argv.args | 4 +-
.../qemuxml2argv-machine-deakeywrap-on-cap.args | 2 +-
.../qemuxml2argv-machine-deakeywrap-on-caps.args | 2 +-
.../qemuxml2argv-machine-keywrap-none-argv.args | 4 +-
.../qemuxml2argv-machine-keywrap-none-caps.args | 2 +-
.../qemuxml2argv-machine-keywrap-none.args | 2 +-
.../qemuxml2argv-machine-usb-opt.args | 2 +-
.../qemuxml2argv-machine-vmport-opt.args | 2 +-
.../qemuxml2argv-memory-hotplug-dimm-addr.args | 2 +-
.../qemuxml2argv-memory-hotplug-dimm.args | 2 +-
.../qemuxml2argv-memory-hotplug.args | 2 +-
.../qemuxml2argv-memtune-unlimited.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-memtune.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-metadata.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-migrate.args | 2 +-
.../qemuxml2argv-minimal-msg-timestamp.args | 2 +-
.../qemuxml2argv-minimal-s390.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-minimal.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.args | 2 +-
.../qemuxml2argv-misc-disable-s3.args | 2 +-
.../qemuxml2argv-misc-disable-suspends.args | 2 +-
.../qemuxml2argv-misc-enable-s4.args | 2 +-
.../qemuxml2argv-misc-no-reboot.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.args | 2 +-
.../qemuxml2argv-monitor-json.args | 2 +-
.../qemuxml2argv-multifunction-pci-device.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-net-client.args | 2 +-
.../qemuxml2argv-net-eth-ifname.args | 2 +-
.../qemuxml2argv-net-eth-names.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-net-eth.args | 2 +-
.../qemuxml2argv-net-hostdev-multidomain.args | 2 +-
.../qemuxml2argv-net-hostdev-vfio-multidomain.args | 2 +-
.../qemuxml2argv-net-hostdev-vfio.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-net-hostdev.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-net-server.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-net-udp.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-net-user.args | 2 +-
.../qemuxml2argv-net-vhostuser-multiq.args | 2 +-
.../qemuxml2argv-net-vhostuser.args | 2 +-
.../qemuxml2argv-net-virtio-device.args | 2 +-
.../qemuxml2argv-net-virtio-disable-offloads.args | 2 +-
.../qemuxml2argv-net-virtio-netdev.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-net-virtio.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-no-shutdown.args | 2 +-
.../qemuxml2argv-nographics-vga.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-nographics.args | 2 +-
.../qemuxml2argv-nosharepages.args | 2 +-
...qemuxml2argv-numad-auto-memory-vcpu-cpuset.args | 2 +-
...d-auto-memory-vcpu-no-cpuset-and-placement.args | 2 +-
...muxml2argv-numad-auto-vcpu-static-numatune.args | 2 +-
...qemuxml2argv-numad-static-memory-auto-vcpu.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-numad.args | 2 +-
...qemuxml2argv-numatune-auto-nodeset-invalid.args | 2 +-
.../qemuxml2argv-numatune-memory.args | 2 +-
.../qemuxml2argv-panic-no-address.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-panic.args | 2 +-
.../qemuxml2argv-parallel-parport-chardev.args | 2 +-
.../qemuxml2argv-parallel-tcp-chardev.args | 2 +-
.../qemuxml2argv-parallel-tcp.args | 2 +-
.../qemuxml2argv-pci-autoadd-addr.args | 2 +-
.../qemuxml2argv-pci-autoadd-idx.args | 2 +-
.../qemuxml2argv-pci-bridge-many-disks.args | 420 ++++++++++-----------
tests/qemuxml2argvdata/qemuxml2argv-pci-many.args | 114 +++---
tests/qemuxml2argvdata/qemuxml2argv-pci-rom.args | 2 +-
.../qemuxml2argv-pci-serial-dev-chardev.args | 2 +-
.../qemuxml2argv-pcie-root-port.args | 2 +-
.../qemuxml2argv-pcie-switch-downstream-port.args | 2 +-
.../qemuxml2argv-pcie-switch-upstream-port.args | 2 +-
.../qemuxml2argv-pcihole64-q35.args | 2 +-
.../qemuxml2argv-pseries-vio-user-assigned.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-pseries-vio.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-q35.args | 2 +-
.../qemuxml2argv-qemu-ns-commandline-ns0.args | 2 +-
.../qemuxml2argv-qemu-ns-commandline-ns1.args | 2 +-
.../qemuxml2argv-qemu-ns-commandline.args | 2 +-
...emuxml2argv-qemu-ns-domain-commandline-ns0.args | 2 +-
.../qemuxml2argv-qemu-ns-domain-commandline.args | 2 +-
.../qemuxml2argv-qemu-ns-domain-ns0.args | 2 +-
.../qemuxml2argv-qemu-ns-no-env.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-qemu-ns.args | 2 +-
.../qemuxml2argv-restore-v2-fd.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-restore-v2.args | 2 +-
...muxml2argv-s390-allow-bogus-usb-controller.args | 2 +-
.../qemuxml2argv-s390-allow-bogus-usb-none.args | 2 +-
.../qemuxml2argv-seclabel-dac-none.args | 2 +-
.../qemuxml2argv-seclabel-dynamic-baselabel.args | 2 +-
.../qemuxml2argv-seclabel-dynamic-labelskip.args | 2 +-
.../qemuxml2argv-seclabel-dynamic-override.args | 4 +-
.../qemuxml2argv-seclabel-dynamic-relabel.args | 2 +-
.../qemuxml2argv-seclabel-dynamic.args | 2 +-
.../qemuxml2argv-seclabel-none.args | 2 +-
.../qemuxml2argv-seclabel-static-labelskip.args | 2 +-
.../qemuxml2argv-seclabel-static-relabel.args | 2 +-
.../qemuxml2argv-seclabel-static.args | 2 +-
.../qemuxml2argv-serial-dev-chardev-iobase.args | 2 +-
.../qemuxml2argv-serial-dev-chardev.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-serial-dev.args | 2 +-
.../qemuxml2argv-serial-file-chardev.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-serial-file.args | 2 +-
.../qemuxml2argv-serial-many-chardev.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-serial-many.args | 2 +-
.../qemuxml2argv-serial-pty-chardev.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-serial-pty.args | 2 +-
.../qemuxml2argv-serial-spiceport-nospice.args | 2 +-
.../qemuxml2argv-serial-spiceport.args | 2 +-
.../qemuxml2argv-serial-tcp-chardev.args | 2 +-
.../qemuxml2argv-serial-tcp-telnet-chardev.args | 2 +-
.../qemuxml2argv-serial-tcp-telnet.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-serial-tcp.args | 2 +-
.../qemuxml2argv-serial-udp-chardev.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-serial-udp.args | 2 +-
.../qemuxml2argv-serial-unix-chardev.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-serial-unix.args | 2 +-
.../qemuxml2argv-serial-vc-chardev.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-serial-vc.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-smbios.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-smp.args | 2 +-
.../qemuxml2argv-sound-device.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-sound.args | 2 +-
.../qemuxml2argv-video-device-pciaddr-default.args | 4 +-
.../qemuxml2argv-video-qxl-device-vgamem.args | 4 +-
.../qemuxml2argv-video-qxl-device.args | 4 +-
.../qemuxml2argv-video-qxl-nodevice.args | 2 +-
.../qemuxml2argv-video-qxl-sec-device-vgamem.args | 4 +-
.../qemuxml2argv-video-qxl-sec-device.args | 4 +-
.../qemuxml2argv-video-vga-device-vgamem.args | 4 +-
.../qemuxml2argv-video-vga-device.args | 4 +-
.../qemuxml2argv-video-vga-nodevice.args | 2 +-
.../qemuxml2argv-video-virtio-gpu-device.args | 4 +-
.../qemuxml2argv-video-virtio-gpu-virgl.args | 4 +-
.../qemuxml2argvdata/qemuxml2argv-virtio-lun.args | 4 +-
.../qemuxml2argv-virtio-rng-ccw.args | 2 +-
.../qemuxml2argv-watchdog-device.args | 2 +-
.../qemuxml2argv-watchdog-diag288.args | 2 +-
.../qemuxml2argv-watchdog-dump.args | 2 +-
.../qemuxml2argv-watchdog-injectnmi.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-watchdog.args | 2 +-
348 files changed, 780 insertions(+), 779 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index d401981..929525d 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -3819,6 +3819,11 @@ qemuBuildDriveStr(virConnectPtr conn,
}
virBufferEscape(&opt, ',', ",", "%s,", source);
+
+ if (disk->src->format > 0 &&
+ disk->src->type != VIR_STORAGE_TYPE_DIR)
+ virBufferAsprintf(&opt, "format=%s,",
+ virStorageFileFormatTypeToString(disk->src->format));
}
VIR_FREE(source);
@@ -3879,10 +3884,6 @@ qemuBuildDriveStr(virConnectPtr conn,
_("transient disks not supported yet"));
goto error;
}
- if (disk->src->format > 0 &&
- disk->src->type != VIR_STORAGE_TYPE_DIR)
- virBufferAsprintf(&opt, ",format=%s",
- virStorageFileFormatTypeToString(disk->src->format));
/* generate geometry command string */
if (disk->geometry.cylinders > 0 &&
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-aavmf-virtio-mmio.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-aavmf-virtio-mmio.args
index ec5b9a5..4190683 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-aavmf-virtio-mmio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-aavmf-virtio-mmio.args
@@ -23,7 +23,7 @@ QEMU_AUDIO_DRV=none \
-dtb /aarch64.dtb \
-device virtio-serial-device,id=virtio-serial0 \
-usb \
--drive file=/aarch64.raw,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/aarch64.raw,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0 \
-device virtio-net-device,vlan=0,id=net0,mac=52:54:00:09:a4:37 \
-net user,vlan=0,name=hostnet0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.args
index 3feb754..4207f10 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.args
@@ -18,5 +18,5 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-boot c \
-usb \
--drive file=/aarch64.raw,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/aarch64.raw,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-kvm-32-on-64.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-kvm-32-on-64.args
index 489cf13..f0be680 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-kvm-32-on-64.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-kvm-32-on-64.args
@@ -21,7 +21,7 @@ QEMU_AUDIO_DRV=none \
-initrd /arm.initrd \
-append 'console=ttyAMA0,115200n8 rw root=/dev/vda rootwait physmap.enabled=0' \
-usb \
--drive file=/arm.raw,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/arm.raw,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0 \
-device virtio-net-device,vlan=0,id=net0,mac=52:54:00:09:a4:37 \
-net user,vlan=0,name=hostnet0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-mmio-default-pci.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-mmio-default-pci.args
index 8968da2..a49bc82 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-mmio-default-pci.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-mmio-default-pci.args
@@ -25,7 +25,7 @@ QEMU_AUDIO_DRV=none \
-device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 \
-device virtio-serial-device,id=virtio-serial0 \
-usb \
--drive file=/aarch64.raw,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/aarch64.raw,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0 \
-device virtio-net-device,vlan=0,id=net0,mac=52:54:00:09:a4:37 \
-net user,vlan=0,name=hostnet0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-virtio.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-virtio.args
index b4863fc..f879560 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-virtio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-virtio.args
@@ -23,7 +23,7 @@ QEMU_AUDIO_DRV=none \
-dtb /aarch64.dtb \
-device virtio-serial-device,id=virtio-serial0 \
-usb \
--drive file=/aarch64.raw,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/aarch64.raw,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0 \
-device virtio-net-device,vlan=0,id=net0,mac=52:54:00:09:a4:37 \
-net user,vlan=0,name=hostnet0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virtio-pci.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virtio-pci.args
index a803ebd..142fd5b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virtio-pci.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virtio-pci.args
@@ -25,7 +25,7 @@ QEMU_AUDIO_DRV=none \
-device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 \
-device virtio-scsi-pci,id=scsi0,bus=pcie.0,addr=0x3 \
-usb \
--drive file=/aarch64.raw,if=none,id=drive-scsi0-0-0-0,format=raw \
+-drive file=/aarch64.raw,format=raw,if=none,id=drive-scsi0-0-0-0 \
-device scsi-disk,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\
id=scsi0-0-0-0 \
-device virtio-net-pci,vlan=0,id=net0,mac=52:54:00:09:a4:37,bus=pcie.0,addr=0x2 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-arm-vexpressa9-basic.args b/tests/qemuxml2argvdata/qemuxml2argv-arm-vexpressa9-basic.args
index 5f26d16..adaa6fc 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-arm-vexpressa9-basic.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-arm-vexpressa9-basic.args
@@ -22,7 +22,7 @@ QEMU_AUDIO_DRV=none \
115200n8 rw root=/dev/mmcblk0p3 rootwait physmap.enabled=0' \
-dtb /arm.dtb \
-usb \
--drive file=/arm.raw,if=sd,index=0,format=raw \
+-drive file=/arm.raw,format=raw,if=sd,index=0 \
-net nic,macaddr=52:54:00:09:a4:37,vlan=0,model=lan9118,name=net0 \
-net user,vlan=0,name=hostnet0 \
-serial pty
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-arm-vexpressa9-virtio.args b/tests/qemuxml2argvdata/qemuxml2argv-arm-vexpressa9-virtio.args
index fbff07d..eb807b4 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-arm-vexpressa9-virtio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-arm-vexpressa9-virtio.args
@@ -22,7 +22,7 @@ QEMU_AUDIO_DRV=none \
-dtb /arm.dtb \
-device virtio-serial-device,id=virtio-serial0 \
-usb \
--drive file=/arm.raw,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/arm.raw,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0 \
-device virtio-net-device,vlan=0,id=net0,mac=52:54:00:09:a4:37 \
-net user,vlan=0,name=hostnet0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-arm-virt-virtio.args b/tests/qemuxml2argvdata/qemuxml2argv-arm-virt-virtio.args
index 9c98444..0e90630 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-arm-virt-virtio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-arm-virt-virtio.args
@@ -22,7 +22,7 @@ QEMU_AUDIO_DRV=none \
-dtb /arm.dtb \
-device virtio-serial-device,id=virtio-serial0 \
-usb \
--drive file=/arm.raw,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/arm.raw,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0 \
-device virtio-net-device,vlan=0,id=net0,mac=52:54:00:09:a4:37 \
-net user,vlan=0,name=hostnet0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-auto.args b/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-auto.args
index 9f6e0d3..37e9988 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-auto.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-auto.args
@@ -18,6 +18,6 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-period.args b/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-period.args
index 8789386..333d0ae 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-period.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-period.args
@@ -18,6 +18,6 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x12
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-balloon-device.args b/tests/qemuxml2argvdata/qemuxml2argv-balloon-device.args
index 8789386..333d0ae 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-balloon-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-balloon-device.args
@@ -18,6 +18,6 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x12
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-bios-nvram.args b/tests/qemuxml2argvdata/qemuxml2argv-bios-nvram.args
index 3dd4e79..718f34b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-bios-nvram.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-bios-nvram.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-serial pty \
-device usb-tablet,id=input0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-bios.args b/tests/qemuxml2argvdata/qemuxml2argv-bios.args
index 0f0f73c..650e303 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-bios.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-bios.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-serial pty \
-device usb-tablet,id=input0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-blkdeviotune-max.args b/tests/qemuxml2argvdata/qemuxml2argv-blkdeviotune-max.args
index 5976153..e3c6a0b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-blkdeviotune-max.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-blkdeviotune-max.args
@@ -17,10 +17,10 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=qcow2,\
+-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,\
cache=none,bps=5000,iops=6000,bps_max=10000,iops_max=11000 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-1,format=qcow2,\
+-drive file=/dev/HostVG/QEMUGuest2,format=qcow2,if=none,id=drive-ide0-0-1,\
cache=none,bps_rd=5000,bps_wr=5500,iops_rd=3500,iops_wr=4000,bps_rd_max=6000,\
bps_wr_max=6500,iops_rd_max=7000,iops_wr_max=7500,iops_size=2000 \
-device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-blkdeviotune.args b/tests/qemuxml2argvdata/qemuxml2argv-blkdeviotune.args
index 4a4e156..7aca759 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-blkdeviotune.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-blkdeviotune.args
@@ -17,10 +17,10 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=qcow2,\
+-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,\
cache=none,bps=5000,iops=6000 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-1,format=qcow2,\
+-drive file=/dev/HostVG/QEMUGuest2,format=qcow2,if=none,id=drive-ide0-0-1,\
cache=none,bps_rd=5000,bps_wr=5000,iops=7000 \
-device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-blkiotune-device.args b/tests/qemuxml2argvdata/qemuxml2argv-blkiotune-device.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-blkiotune-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-blkiotune-device.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-blkiotune.args b/tests/qemuxml2argvdata/qemuxml2argv-blkiotune.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-blkiotune.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-blkiotune.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.args
index 71f9ac5..f100d91 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot d \
-usb \
--drive file=/dev/cdrom,if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/cdrom,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-complex-bootindex.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-complex-bootindex.args
index 18a0b8c..5784aa0 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-complex-bootindex.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-complex-bootindex.args
@@ -16,22 +16,22 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-usb \
--drive file=/tmp/vda.img,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/tmp/vda.img,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,\
id=virtio-disk0,bootindex=3 \
--drive file=/tmp/vdb.img,if=none,id=drive-virtio-disk1,format=raw \
+-drive file=/tmp/vdb.img,format=raw,if=none,id=drive-virtio-disk1 \
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk1,\
id=virtio-disk1 \
--drive file=/dev/HostVG/hda,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/hda,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/dev/HostVG/hdb,if=none,id=drive-ide0-0-1,format=raw \
+-drive file=/dev/HostVG/hdb,format=raw,if=none,id=drive-ide0-0-1 \
-device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \
--drive file=/dev/HostVG/hdc,if=none,media=cdrom,id=drive-ide0-1-0,format=raw \
+-drive file=/dev/HostVG/hdc,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \
--drive file=/dev/fd0,if=none,id=drive-fdc0-0-0,format=raw \
+-drive file=/dev/fd0,format=raw,if=none,id=drive-fdc0-0-0 \
-global isa-fdc.driveA=drive-fdc0-0-0 \
-global isa-fdc.bootindexA=4 \
--drive file=/dev/fd1,if=none,id=drive-fdc0-0-1,format=raw \
+-drive file=/dev/fd1,format=raw,if=none,id=drive-fdc0-0-1 \
-global isa-fdc.driveB=drive-fdc0-0-1 \
-device virtio-net-pci,vlan=0,id=net0,mac=00:11:22:33:44:11,bus=pci.0,addr=0x3,\
bootindex=2 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-complex.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-complex.args
index 5215d27..10fffbe 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-complex.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-complex.args
@@ -17,21 +17,21 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot dnca \
-usb \
--drive file=/tmp/vda.img,if=none,id=drive-virtio-disk0,boot=on,format=raw \
+-drive file=/tmp/vda.img,format=raw,if=none,id=drive-virtio-disk0,boot=on \
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,\
id=virtio-disk0 \
--drive file=/tmp/vdb.img,if=none,id=drive-virtio-disk1,format=raw \
+-drive file=/tmp/vdb.img,format=raw,if=none,id=drive-virtio-disk1 \
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk1,\
id=virtio-disk1 \
--drive file=/dev/HostVG/hda,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/hda,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/dev/HostVG/hdb,if=none,id=drive-ide0-0-1,format=raw \
+-drive file=/dev/HostVG/hdb,format=raw,if=none,id=drive-ide0-0-1 \
-device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \
--drive file=/dev/HostVG/hdc,if=none,media=cdrom,id=drive-ide0-1-0,format=raw \
+-drive file=/dev/HostVG/hdc,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
--drive file=/dev/fd0,if=none,id=drive-fdc0-0-0,format=raw \
+-drive file=/dev/fd0,format=raw,if=none,id=drive-fdc0-0-0 \
-global isa-fdc.driveA=drive-fdc0-0-0 \
--drive file=/dev/fd1,if=none,id=drive-fdc0-0-1,format=raw \
+-drive file=/dev/fd1,format=raw,if=none,id=drive-fdc0-0-1 \
-global isa-fdc.driveB=drive-fdc0-0-1 \
-device virtio-net-pci,vlan=0,id=net0,mac=00:11:22:33:44:11,bus=pci.0,addr=0x3 \
-net user,vlan=0,name=hostnet0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-floppy-q35.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-floppy-q35.args
index 90c97c9..eefbdff 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-floppy-q35.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-floppy-q35.args
@@ -18,6 +18,6 @@ QEMU_AUDIO_DRV=none \
-boot a \
-device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
-device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 \
--drive file=/tmp/firmware.img,if=none,id=drive-fdc0-0-0,format=raw \
+-drive file=/tmp/firmware.img,format=raw,if=none,id=drive-fdc0-0-0 \
-device isa-fdc,driveA=drive-fdc0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-floppy.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-floppy.args
index 8cde686..c085c82 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-floppy.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-floppy.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot a \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive file=/tmp/firmware.img,if=floppy,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive file=/tmp/firmware.img,format=raw,if=floppy,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive-bootindex.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive-bootindex.args
index 62dabe1..63d5e5e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive-bootindex.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive-bootindex.args
@@ -17,6 +17,6 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot menu=off \
-usb \
--drive file=/dev/cdrom,if=none,media=cdrom,id=drive-ide0-1-0,format=raw \
+-drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive.args
index 441f8fd..384c694 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive.args
@@ -17,6 +17,6 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot order=d,menu=off \
-usb \
--drive file=/dev/cdrom,if=none,media=cdrom,id=drive-ide0-1-0,format=raw \
+-drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable.args
index 8d3aece..717e4b4 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot order=d,menu=off \
-usb \
--drive file=/dev/cdrom,if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/cdrom,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable-with-timeout.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable-with-timeout.args
index 15b188f..9879657 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable-with-timeout.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable-with-timeout.args
@@ -17,6 +17,6 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot order=d,menu=on,splash-time=3000 \
-usb \
--drive file=/dev/cdrom,if=none,media=cdrom,id=drive-ide0-1-0,format=raw \
+-drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable.args
index d640b18..7764669 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable.args
@@ -17,6 +17,6 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot order=d,menu=on \
-usb \
--drive file=/dev/cdrom,if=none,media=cdrom,id=drive-ide0-1-0,format=raw \
+-drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-multi.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-multi.args
index 710249d..f36ff75 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-multi.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-multi.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot order=dcna,menu=on \
-usb \
--drive file=/dev/cdrom,if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/cdrom,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-network.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-network.args
index 692d1e2..92c4073 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-network.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-network.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot n \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-order.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-order.args
index 49c427f..94d70f7 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-order.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-order.args
@@ -16,15 +16,15 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/root/boot.iso,if=none,media=cdrom,id=drive-ide0-1-0,format=raw \
+-drive file=/root/boot.iso,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \
--drive file=sheepdog:example.org:6000:image,if=none,id=drive-virtio-disk0,\
-format=raw \
+-drive file=sheepdog:example.org:6000:image,format=raw,if=none,\
+id=drive-virtio-disk0 \
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,\
id=virtio-disk0,bootindex=3 \
--drive file=/dev/null,if=none,id=drive-fdc0-0-1,format=raw \
+-drive file=/dev/null,format=raw,if=none,id=drive-fdc0-0-1 \
-global isa-fdc.driveB=drive-fdc0-0-1 \
-global isa-fdc.bootindexB=4 \
-device virtio-net-pci,vlan=0,id=net0,mac=00:11:22:33:44:55,bus=pci.0,addr=0x3,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-strict.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-strict.args
index a8f54bc..6b82163 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-strict.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-strict.args
@@ -17,22 +17,22 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot strict=on \
-usb \
--drive file=/tmp/vda.img,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/tmp/vda.img,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,\
id=virtio-disk0,bootindex=3 \
--drive file=/tmp/vdb.img,if=none,id=drive-virtio-disk1,format=raw \
+-drive file=/tmp/vdb.img,format=raw,if=none,id=drive-virtio-disk1 \
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk1,\
id=virtio-disk1 \
--drive file=/dev/HostVG/hda,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/hda,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/dev/HostVG/hdb,if=none,id=drive-ide0-0-1,format=raw \
+-drive file=/dev/HostVG/hdb,format=raw,if=none,id=drive-ide0-0-1 \
-device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \
--drive file=/dev/HostVG/hdc,if=none,media=cdrom,id=drive-ide0-1-0,format=raw \
+-drive file=/dev/HostVG/hdc,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \
--drive file=/dev/fd0,if=none,id=drive-fdc0-0-0,format=raw \
+-drive file=/dev/fd0,format=raw,if=none,id=drive-fdc0-0-0 \
-global isa-fdc.driveA=drive-fdc0-0-0 \
-global isa-fdc.bootindexA=4 \
--drive file=/dev/fd1,if=none,id=drive-fdc0-0-1,format=raw \
+-drive file=/dev/fd1,format=raw,if=none,id=drive-fdc0-0-1 \
-global isa-fdc.driveB=drive-fdc0-0-1 \
-device virtio-net-pci,vlan=0,id=net0,mac=00:11:22:33:44:11,bus=pci.0,addr=0x3,\
bootindex=2 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-bootindex-floppy-q35.args b/tests/qemuxml2argvdata/qemuxml2argv-bootindex-floppy-q35.args
index 797db09..2c736a5 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-bootindex-floppy-q35.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-bootindex-floppy-q35.args
@@ -17,6 +17,6 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
-device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 \
--drive file=/tmp/firmware.img,if=none,id=drive-fdc0-0-0,format=raw \
+-drive file=/tmp/firmware.img,format=raw,if=none,id=drive-fdc0-0-0 \
-device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1 \
-device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args
index f0a6e3b..36faf6f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pipe,id=charchannel0,path=/tmp/guestfwd \
-netdev user,guestfwd=tcp:10.0.2.1:4600-chardev:charchannel0,id=user-channel0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc-old.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc-old.args
index 74b9e13..4146d1a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc-old.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc-old.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=spice \
-boot c \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device spicevmc,bus=virtio-serial1.0,nr=3,id=channel0 \
-spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc.args
index 7fade72..39a2c04 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=spice \
-boot c \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev spicevmc,id=charchannel0,name=vdagent \
-device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-auto.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-auto.args
index caf8cf9..c517651 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-auto.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-auto.args
@@ -23,7 +23,7 @@ addr=0x3 \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-device virtio-serial-pci,id=virtio-serial2,bus=pci.0,addr=0x4 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charchannel0 \
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-autoadd.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-autoadd.args
index 7e1c143..e8e3d64 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-autoadd.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-autoadd.args
@@ -22,7 +22,7 @@ QEMU_AUDIO_DRV=none \
addr=0x3 \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0x4 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charchannel0 \
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-autoassign.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-autoassign.args
index c65dd4a..ff8be5f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-autoassign.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-autoassign.args
@@ -22,7 +22,7 @@ QEMU_AUDIO_DRV=none \
addr=0x3 \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charchannel0 \
-device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-default.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-default.args
index e4d4408..857785d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-default.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-default.args
@@ -21,7 +21,7 @@ QEMU_AUDIO_DRV=none \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charchannel0 \
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-state.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-state.args
index 76a5deb..b041bbe 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-state.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-state.args
@@ -20,7 +20,7 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charchannel0 \
-device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-unix.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-unix.args
index 86a9e4a..94375b8 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-unix.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-unix.args
@@ -21,7 +21,7 @@ QEMU_AUDIO_DRV=none \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev socket,id=charchannel0,\
path=/tmp/domain-QEMUGuest1/org.qemu.guest_agent.0,server,nowait \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio.args
index fe7e19f..203f510 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio.args
@@ -20,7 +20,7 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charchannel0 \
-device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-catchup.args b/tests/qemuxml2argvdata/qemuxml2argv-clock-catchup.args
index 2653220..5d2e77a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-clock-catchup.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-catchup.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-france.args b/tests/qemuxml2argvdata/qemuxml2argv-clock-france.args
index 78198b6..fe0f7a8 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-clock-france.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-france.args
@@ -18,7 +18,7 @@ TZ=Europe/Paris \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-hpet-off.args b/tests/qemuxml2argvdata/qemuxml2argv-clock-hpet-off.args
index df8345f..8425181 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-clock-hpet-off.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-hpet-off.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime-basis-localtime.args b/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime-basis-localtime.args
index c89850e..75df3f6 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime-basis-localtime.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime-basis-localtime.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime.args b/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime.args
index 0ba4e2c..53dc4ef 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-utc.args b/tests/qemuxml2argvdata/qemuxml2argv-clock-utc.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-clock-utc.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-utc.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-variable.args b/tests/qemuxml2argvdata/qemuxml2argv-clock-variable.args
index 077c67e..cf5e9f8 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-clock-variable.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-variable.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-console-compat-auto.args b/tests/qemuxml2argvdata/qemuxml2argv-console-compat-auto.args
index a4e4df7..1adfde1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-console-compat-auto.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-console-compat-auto.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial pty \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.args
index 38b140c..23d5cc3 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charserial0 \
-device isa-serial,chardev=charserial0,id=serial0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-console-compat.args b/tests/qemuxml2argvdata/qemuxml2argv-console-compat.args
index a4e4df7..1adfde1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-console-compat.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-console-compat.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial pty \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-console-sclp.args b/tests/qemuxml2argvdata/qemuxml2argv-console-sclp.args
index 53c8af9..e0c1e66 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-console-sclp.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-console-sclp.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-mon chardev=charmonitor,id=monitor,mode=readline \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-s390,drive=drive-virtio-disk0,id=virtio-disk0 \
-chardev pty,id=charconsole0 \
-device sclpconsole,chardev=charconsole0,id=console0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-ccw.args b/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-ccw.args
index 9567f5a..1b2a658 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-ccw.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-ccw.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-mon chardev=charmonitor,id=monitor,mode=readline \
-no-acpi \
-device virtio-serial-ccw,id=virtio-serial0,devno=fe.0.0001 \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,\
bootindex=1 \
-chardev pty,id=charconsole0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-many.args b/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-many.args
index bd9196a..fd9e1e8 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-many.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-many.args
@@ -20,7 +20,7 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charserial0 \
-device isa-serial,chardev=charserial0,id=serial0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-s390.args b/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-s390.args
index 2f64735..4b61b13 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-s390.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-s390.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-mon chardev=charmonitor,id=monitor,mode=readline \
-no-acpi \
-device virtio-serial-s390,id=virtio-serial0 \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-s390,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
-chardev pty,id=charconsole0 \
-device virtconsole,chardev=charconsole0,id=console0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-console-virtio.args b/tests/qemuxml2argvdata/qemuxml2argv-console-virtio.args
index 47d58fa..020c68a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-console-virtio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-console-virtio.args
@@ -20,7 +20,7 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charconsole0 \
-device virtconsole,chardev=charconsole0,id=console0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-controller-order.args b/tests/qemuxml2argvdata/qemuxml2argv-controller-order.args
index 0e49b60..d460525 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-controller-order.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-controller-order.args
@@ -19,12 +19,12 @@ QEMU_AUDIO_DRV=spice \
-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x7 \
-device usb-ccid,id=ccid0 \
--drive file=/tmp/fdr.img,if=none,id=drive-virtio-disk0,format=raw,cache=none,\
+-drive file=/tmp/fdr.img,format=raw,if=none,id=drive-virtio-disk0,cache=none,\
aio=native \
-device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,\
id=virtio-disk0 \
--drive file=/tmp/Fedora-17-x86_64-Live-Desktop.iso,if=none,media=cdrom,\
-id=drive-ide0-1-0,format=raw \
+-drive file=/tmp/Fedora-17-x86_64-Live-Desktop.iso,format=raw,if=none,\
+media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-device virtio-net-pci,vlan=0,id=net0,mac=52:54:00:4d:4b:19,bus=pci.0,addr=0x3 \
-net user,vlan=0,name=hostnet0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cpu-host-passthrough-features.args b/tests/qemuxml2argvdata/qemuxml2argv-cpu-host-passthrough-features.args
index 3c30177..f1ae03a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-cpu-host-passthrough-features.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-cpu-host-passthrough-features.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cputune-zero-shares.args b/tests/qemuxml2argvdata/qemuxml2argv-cputune-zero-shares.args
index 4afff19..1c946da 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-cputune-zero-shares.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-cputune-zero-shares.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cputune.args b/tests/qemuxml2argvdata/qemuxml2argv-cputune.args
index 4afff19..1c946da 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-cputune.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-cputune.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args
index f85624d..cbacd9d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args
@@ -16,9 +16,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=qcow2,cache=none,\
+-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=ide,bus=0,unit=0,cache=none,\
aio=native \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,bus=1,unit=0,format=raw,\
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,media=cdrom,bus=1,unit=0,\
aio=threads \
-net none \
-serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-blockio.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-blockio.args
index e04a5cb..58f7a69 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-blockio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-blockio.args
@@ -18,9 +18,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-1,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-1 \
-device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \
--drive file=/tmp/idedisk.img,if=none,id=drive-ide0-0-2,format=raw \
+-drive file=/tmp/idedisk.img,format=raw,if=none,id=drive-ide0-0-2 \
-device ide-hd,bus=ide.0,unit=2,drive=drive-ide0-0-2,id=ide0-0-2,\
logical_block_size=512,physical_block_size=512 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args
index faacb54..10431aa 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftp.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftp.args
index 34b5f41..afc5f55 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftp.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftp.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-boot d \
-usb \
--drive file=ftp://host.name:21/url/path/file.iso,if=none,media=cdrom,\
-id=drive-ide0-1-0,format=raw \
+-drive file=ftp://host.name:21/url/path/file.iso,format=raw,if=none,media=cdrom,\
+id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftps.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftps.args
index 85a1b55..c2069db 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftps.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftps.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-boot d \
-usb \
--drive file=ftps://host.name:990/url/path/file.iso,if=none,media=cdrom,\
-id=drive-ide0-1-0,format=raw \
+-drive file=ftps://host.name:990/url/path/file.iso,format=raw,if=none,\
+media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-http.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-http.args
index 317db01..0aa4fce 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-http.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-http.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-boot d \
-usb \
--drive file=http://host.name:80/url/path/file.iso,if=none,media=cdrom,\
-id=drive-ide0-1-0,format=raw \
+-drive file=http://host.name:80/url/path/file.iso,format=raw,if=none,media=cdrom,\
+id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-https.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-https.args
index 384699b..ceca49e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-https.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-https.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-boot d \
-usb \
--drive file=https://host.name:443/url/path/file.iso,if=none,media=cdrom,\
-id=drive-ide0-1-0,format=raw \
+-drive file=https://host.name:443/url/path/file.iso,format=raw,if=none,\
+media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-tftp.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-tftp.args
index 8c14592..9ea4a37 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-tftp.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-tftp.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-boot d \
-usb \
--drive file=tftp://host.name:69/url/path/file.iso,if=none,media=cdrom,\
-id=drive-ide0-1-0,format=raw \
+-drive file=tftp://host.name:69/url/path/file.iso,format=raw,if=none,media=cdrom,\
+id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray-no-device-cap.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray-no-device-cap.args
index faacb54..10431aa 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray-no-device-cap.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray-no-device-cap.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray.args
index dea3f70..571d65d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray.args
@@ -17,13 +17,13 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot dc \
-usb \
--drive file=/var/lib/libvirt/images/f14.img,if=none,id=drive-virtio-disk0,\
-format=qcow2 \
+-drive file=/var/lib/libvirt/images/f14.img,format=qcow2,if=none,\
+id=drive-virtio-disk0 \
-device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,\
id=virtio-disk0 \
--drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,if=none,media=cdrom,\
-id=drive-ide0-1-0,format=raw \
+-drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,format=raw,if=none,\
+media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
--drive if=none,media=cdrom,id=drive-ide0-1-1,format=raw \
+-drive if=none,media=cdrom,id=drive-ide0-1-1 \
-device ide-drive,bus=ide.1,unit=1,drive=drive-ide0-1-1,id=ide0-1-1 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.args
index 9421754..caa730c 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive file=/root/boot.iso,if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive file=/root/boot.iso,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-copy_on_read.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-copy_on_read.args
index 45a75a0..ba9ec0d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-copy_on_read.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-copy_on_read.args
@@ -18,12 +18,12 @@ QEMU_AUDIO_DRV=none \
-boot dc \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 \
-usb \
--drive file=/var/lib/libvirt/images/f14.img,if=none,id=drive-virtio-disk0,\
-format=qcow2,copy-on-read=on \
+-drive file=/var/lib/libvirt/images/f14.img,format=qcow2,if=none,\
+id=drive-virtio-disk0,copy-on-read=on \
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,\
id=virtio-disk0 \
--drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,if=none,media=cdrom,\
-id=drive-ide0-1-0,format=raw \
+-drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,format=raw,if=none,\
+media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-device virtio-net-pci,tx=bh,vlan=0,id=net0,mac=52:54:00:e5:48:58,bus=pci.0,\
addr=0x3 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-cdrom.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-cdrom.args
index 1bf5dd6..1827357 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-cdrom.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-cdrom.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot d \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-disk.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-disk.args
index 75ba4c2..2d7084e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-disk.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-disk.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-directsync.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-directsync.args
index 3174af9..d49d408 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-directsync.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-directsync.args
@@ -16,9 +16,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=qcow2,\
+-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=ide,bus=0,unit=0,\
cache=directsync \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-unsafe.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-unsafe.args
index 911fc3e..628d19b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-unsafe.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-unsafe.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=qcow2,cache=unsafe \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=ide,bus=0,unit=0,cache=unsafe \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-none.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-none.args
index f3f8bdc..f810d4f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-none.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-none.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=qcow2,cache=none \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=ide,bus=0,unit=0,cache=none \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wb.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wb.args
index 540786f..2750f79 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wb.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wb.args
@@ -16,9 +16,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=qcow2,\
+-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=ide,bus=0,unit=0,\
cache=writeback \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wt.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wt.args
index eee0996..dced3ce 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wt.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wt.args
@@ -16,9 +16,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=qcow2,\
+-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=ide,bus=0,unit=0,\
cache=writethrough \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-copy-on-read.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-copy-on-read.args
index 592314e..a70e2b6 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-copy-on-read.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-copy-on-read.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw,\
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0,\
copy-on-read=on \
-net none \
-serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-discard.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-discard.args
index ca3a182..bfa3a7e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-discard.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-discard.args
@@ -17,11 +17,11 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot dc \
-usb \
--drive file=/var/lib/libvirt/images/f14.img,if=none,id=drive-virtio-disk0,\
-format=qcow2,discard=unmap \
+-drive file=/var/lib/libvirt/images/f14.img,format=qcow2,if=none,\
+id=drive-virtio-disk0,discard=unmap \
-device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,\
id=virtio-disk0 \
--drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,if=none,media=cdrom,\
-id=drive-ide0-1-0,format=raw,discard=ignore \
+-drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,format=raw,if=none,\
+media=cdrom,id=drive-ide0-1-0,discard=ignore \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-enospace.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-enospace.args
index c03aceb..7a25b1f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-enospace.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-enospace.args
@@ -16,9 +16,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=qcow2,cache=none,\
+-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=ide,bus=0,unit=0,cache=none,\
werror=enospc \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-stop.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-stop.args
index c5882f3..7c22fb1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-stop.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-stop.args
@@ -16,9 +16,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=qcow2,cache=none,\
+-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=ide,bus=0,unit=0,cache=none,\
werror=stop,rerror=stop \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-wreport-rignore.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-wreport-rignore.args
index 21bdd4a..48c3467 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-wreport-rignore.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-wreport-rignore.args
@@ -16,9 +16,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=qcow2,cache=none,\
+-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=ide,bus=0,unit=0,cache=none,\
werror=report,rerror=ignore \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fmt-qcow.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fmt-qcow.args
index 8e0c1eb..aa480e3 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fmt-qcow.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fmt-qcow.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=qcow2 \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=ide,bus=0,unit=0 \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-gluster.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-gluster.args
index 363ae82..f560308 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-gluster.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-gluster.args
@@ -16,9 +16,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=gluster://example.org:6000/Volume1/Image,if=virtio,format=raw \
--drive 'file=gluster+unix:///Volume2/Image?socket=/path/to/sock,if=virtio,\
-format=raw' \
+-drive file=gluster://example.org:6000/Volume1/Image,format=raw,if=virtio \
+-drive 'file=gluster+unix:///Volume2/Image?socket=/path/to/sock,format=raw,\
+if=virtio' \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth.args
index d0c030f..5bebcae 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth.args
@@ -17,9 +17,9 @@ QEMU_AUDIO_DRV=none \
-boot c \
-usb \
-drive file=iscsi://myname:AQCVn5hO6HzFAhAAq0NCv8jtJcIcE+HOBlMQ1A@example.org:\
-6000/iqn.1992-01.com.example,if=virtio,format=raw \
--drive file=iscsi://example.org:6000/iqn.1992-01.com.example/1,if=virtio,\
-format=raw \
+6000/iqn.1992-01.com.example,format=raw,if=virtio \
+-drive file=iscsi://example.org:6000/iqn.1992-01.com.example/1,format=raw,\
+if=virtio \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-lun.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-lun.args
index 689ad2e..a0ef17c 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-lun.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-lun.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x3 \
-usb \
--drive file=iscsi://example.org:3260/iqn.1992-01.com.example,if=none,\
-id=drive-scsi0-0-0-0,format=raw \
+-drive file=iscsi://example.org:3260/iqn.1992-01.com.example,format=raw,if=none,\
+id=drive-scsi0-0-0-0 \
-device scsi-block,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\
id=scsi0-0-0-0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi.args
index 50483d2..08edce1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi.args
@@ -16,10 +16,10 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=iscsi://example.org:6000/iqn.1992-01.com.example,if=virtio,\
-format=raw \
--drive file=iscsi://example.org:6000/iqn.1992-01.com.example/1,if=virtio,\
-format=raw \
+-drive file=iscsi://example.org:6000/iqn.1992-01.com.example,format=raw,\
+if=virtio \
+-drive file=iscsi://example.org:6000/iqn.1992-01.com.example/1,format=raw,\
+if=virtio \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-export.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-export.args
index d3f7bc9..2d5a9c3 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-export.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-export.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive file=nbd:example.org:6000:exportname=bar,if=virtio,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive file=nbd:example.org:6000:exportname=bar,format=raw,if=virtio \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-ipv6-export.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-ipv6-export.args
index 66174c7..19deae4 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-ipv6-export.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-ipv6-export.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive 'file=nbd://[::1]:6000/bar,if=virtio,format=raw' \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive 'file=nbd://[::1]:6000/bar,format=raw,if=virtio' \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-ipv6.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-ipv6.args
index 0b6cddb..64f5ed5 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-ipv6.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-ipv6.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive 'file=nbd://[::1]:6000,if=virtio,format=raw' \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive 'file=nbd://[::1]:6000,format=raw,if=virtio' \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-unix.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-unix.args
index 94c2af6..d6aae50 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-unix.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-unix.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive file=nbd:unix:/var/run/nbdsock:exportname=bar,if=virtio,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive file=nbd:unix:/var/run/nbdsock:exportname=bar,format=raw,if=virtio \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd.args
index d160bd9..4540deb 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive file=nbd:example.org:6000,if=virtio,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive file=nbd:example.org:6000,format=raw,if=virtio \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-auth.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-auth.args
index 3931318..d33818f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-auth.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-auth.args
@@ -16,11 +16,11 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-drive 'file=rbd:pool/image:id=myname:\
key=QVFDVm41aE82SHpGQWhBQXEwTkN2OGp0SmNJY0UrSE9CbE1RMUE=:\
auth_supported=cephx\;none:mon_host=mon1.example.org\:6321\;mon2.example.org\:\
-6322\;mon3.example.org\:6322,if=virtio,format=raw' \
+6322\;mon3.example.org\:6322,format=raw,if=virtio' \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-ceph-env.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-ceph-env.args
index 8dd1992..5ecac54 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-ceph-env.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-ceph-env.args
@@ -18,8 +18,8 @@ mon1.example.org:6321,mon2.example.org:6322,mon3.example.org:6322 \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive file=rbd:pool/image,if=virtio,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive file=rbd:pool/image,format=raw,if=virtio \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-ipv6.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-ipv6.args
index db17df6..a7927c3 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-ipv6.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-ipv6.args
@@ -16,10 +16,10 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-drive 'file=rbd:pool/image:auth_supported=none:mon_host=[\:\:1]\:\
6321\;example.org\:6789\;[ffff\:1234\:567\:abc\:\:0f]\:6322\;[2001\:db8\:\:ff00\:\
-42\:8329]\:6322,if=virtio,format=raw' \
+42\:8329]\:6322,format=raw,if=virtio' \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd.args
index 62d3280..bc6e497 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd.args
@@ -16,14 +16,14 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-drive 'file=rbd:pool/image:auth_supported=none:mon_host=mon1.example.org\:\
-6321\;mon2.example.org\:6322\;mon3.example.org\:6322,if=virtio,format=raw' \
--drive file=rbd:pool/image@asdf:auth_supported=none,if=virtio,format=raw \
+6321\;mon2.example.org\:6322\;mon3.example.org\:6322,format=raw,if=virtio' \
+-drive file=rbd:pool/image@asdf:auth_supported=none,format=raw,if=virtio \
-drive 'file=rbd:pool/image@foo:auth_supported=none:mon_host=mon1.example.org\:\
-6321\;mon2.example.org\:6322\;mon3.example.org\:6322,if=virtio,format=raw' \
+6321\;mon2.example.org\:6322\;mon3.example.org\:6322,format=raw,if=virtio' \
-drive file=rbd:pool/image@foo:auth_supported=none:conf=/blah/test.conf,\
-if=virtio,format=raw \
+format=raw,if=virtio \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-sheepdog.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-sheepdog.args
index 1639d0c..c9aee83 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-sheepdog.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-sheepdog.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMU,,Guest,,,,1,if=ide,bus=0,unit=0,format=raw \
--drive file=sheepdog:example.org:6000:image,,with,,commas,if=virtio,format=raw \
+-drive file=/dev/HostVG/QEMU,,Guest,,,,1,format=raw,if=ide,bus=0,unit=0 \
+-drive file=sheepdog:example.org:6000:image,,with,,commas,format=raw,if=virtio \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-no-boot.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-no-boot.args
index 6ed9ea3..2a9ac69 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-no-boot.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-no-boot.args
@@ -16,11 +16,11 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=2 \
--drive file=/dev/HostVG/QEMUGuest2,if=none,media=cdrom,id=drive-ide0-1-0,\
-format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\
+id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \
--drive file=/dev/fd0,if=none,id=drive-fdc0-0-0,format=raw \
+-drive file=/dev/fd0,format=raw,if=none,id=drive-fdc0-0-0 \
-global isa-fdc.driveA=drive-fdc0-0-0 \
-global isa-fdc.bootindexA=3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-readonly-disk.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-readonly-disk.args
index 1da7f9a..0fa299e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-readonly-disk.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-readonly-disk.args
@@ -18,9 +18,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/dev/sr0,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,\
-format=raw \
+-drive file=/dev/sr0,format=raw,if=none,media=cdrom,id=drive-ide0-1-0,\
+readonly=on \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-readonly-no-device.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-readonly-no-device.args
index 1697508..d75c353 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-readonly-no-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-readonly-no-device.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive file=/dev/sr0,if=ide,media=cdrom,bus=1,unit=0,readonly=on,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive file=/dev/sr0,format=raw,if=ide,media=cdrom,bus=1,unit=0,readonly=on \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.args
index b9187d1..5020b7e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.args
@@ -16,9 +16,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=qcow2,\
+-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=ide,bus=0,unit=0,\
serial=XYZXYZXYZYXXYZYZYXYZY,cache=none \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.args
index 3c8ab26..72a4183 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.args
@@ -16,9 +16,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive file=/dev/fd0,if=floppy,unit=0,format=raw \
--drive file=/tmp/firmware.img,if=floppy,unit=1,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive file=/dev/fd0,format=raw,if=floppy,unit=0 \
+-drive file=/tmp/firmware.img,format=raw,if=floppy,unit=1 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-tray-no-device-cap.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-tray-no-device-cap.args
index e06b010..885ebbe 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-tray-no-device-cap.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-tray-no-device-cap.args
@@ -16,9 +16,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive file=/dev/fd0,if=floppy,unit=0,format=raw \
--drive if=floppy,unit=1,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive file=/dev/fd0,format=raw,if=floppy,unit=0 \
+-drive if=floppy,unit=1 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-tray.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-tray.args
index 1400aec..60b57e2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-tray.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-tray.args
@@ -17,10 +17,10 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/dev/fd0,if=none,id=drive-fdc0-0-0,format=raw \
+-drive file=/dev/fd0,format=raw,if=none,id=drive-fdc0-0-0 \
-global isa-fdc.driveA=drive-fdc0-0-0 \
--drive if=none,id=drive-fdc0-0-1,format=raw \
+-drive if=none,id=drive-fdc0-0-1 \
-global isa-fdc.driveB=drive-fdc0-0-1 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy.args
index f920e67..d7a2302 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy.args
@@ -16,9 +16,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive file=/dev/fd0,if=floppy,unit=0,format=raw \
--drive file=/tmp/firmware.img,if=floppy,unit=1,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive file=/dev/fd0,format=raw,if=floppy,unit=0 \
+-drive file=/tmp/firmware.img,format=raw,if=floppy,unit=1 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-geometry.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-geometry.args
index 719023a..cf407f2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-geometry.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-geometry.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw,cyls=16383,\
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0,cyls=16383,\
heads=16,secs=63,trans=lba \
-net none \
-serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-ide-drive-split.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-ide-drive-split.args
index d27bf5f..29ea5e6 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-ide-drive-split.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-ide-drive-split.args
@@ -18,8 +18,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-1,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-1 \
-device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \
--drive file=/tmp/idedisk.img,if=none,id=drive-ide0-0-2,format=raw \
+-drive file=/tmp/idedisk.img,format=raw,if=none,id=drive-ide0-0-2 \
-device ide-hd,bus=ide.0,unit=2,drive=drive-ide0-0-2,id=ide0-0-2 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-ide-wwn.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-ide-wwn.args
index 2a0b884..e8969a4 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-ide-wwn.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-ide-wwn.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-1,format=raw,\
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-1,\
serial=WD-WMAP9A966149 \
-device ide-hd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1,\
wwn=0x5000c50015ea71ad \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-ioeventfd.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-ioeventfd.args
index d2537da..ee69558 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-ioeventfd.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-ioeventfd.args
@@ -18,12 +18,12 @@ QEMU_AUDIO_DRV=none \
-boot dc \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 \
-usb \
--drive file=/var/lib/libvirt/images/f14.img,if=none,id=drive-virtio-disk0,\
-format=qcow2 \
+-drive file=/var/lib/libvirt/images/f14.img,format=qcow2,if=none,\
+id=drive-virtio-disk0 \
-device virtio-blk-pci,ioeventfd=on,scsi=off,bus=pci.0,addr=0x4,\
drive=drive-virtio-disk0,id=virtio-disk0 \
--drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,if=none,media=cdrom,\
-id=drive-ide0-1-0,format=raw \
+-drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,format=raw,if=none,\
+media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-device virtio-net-pci,tx=bh,ioeventfd=off,vlan=0,id=net0,mac=52:54:00:e5:48:58,\
bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-iscsi.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-iscsi.args
index 73c1e66..950a2a1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-iscsi.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-iscsi.args
@@ -17,8 +17,8 @@ QEMU_AUDIO_DRV=none \
-boot c \
-usb \
-drive file=/dev/disk/by-path/ip-192.168.44.1:\
-3260-iscsi-iqn.2011-02.lan.hdserver:hydrar-desktop.win7vm-lun-0,if=ide,bus=0,\
-unit=0,format=raw \
+3260-iscsi-iqn.2011-02.lan.hdserver:hydrar-desktop.win7vm-lun-0,format=raw,\
+if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-many.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-many.args
index ad4ae62..ee446a5 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-many.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-many.args
@@ -16,10 +16,10 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,bus=0,unit=1,format=raw \
--drive file=/tmp/data.img,if=ide,bus=1,unit=0,format=raw \
--drive file=/tmp/logs.img,if=ide,bus=1,unit=1,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,bus=0,unit=1 \
+-drive file=/tmp/data.img,format=raw,if=ide,bus=1,unit=0 \
+-drive file=/tmp/logs.img,format=raw,if=ide,bus=1,unit=1 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-order.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-order.args
index 2e71c2a..8f5fabd 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-order.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-order.args
@@ -17,15 +17,15 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/dev/HostVG/QEMUGuest2,if=none,media=cdrom,id=drive-ide0-1-0,\
-format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\
+id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
--drive file=/tmp/data.img,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/tmp/data.img,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,\
id=virtio-disk0 \
--drive file=/tmp/logs.img,if=none,id=drive-virtio-disk1,format=raw \
+-drive file=/tmp/logs.img,format=raw,if=none,id=drive-virtio-disk1 \
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk1,\
id=virtio-disk1 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-sata-device.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-sata-device.args
index 8d9ce21..359d758 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-sata-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-sata-device.args
@@ -19,6 +19,6 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device ahci,id=sata0,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-sata0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
-device ide-drive,bus=sata0.0,drive=drive-sata0-0-0,id=sata0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-device-auto.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-device-auto.args
index ad9ea82..693905b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-device-auto.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-device-auto.args
@@ -19,8 +19,8 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device lsi,id=scsi0,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/tmp/scsidisk.img,if=none,id=drive-scsi0-0-0,format=raw \
+-drive file=/tmp/scsidisk.img,format=raw,if=none,id=drive-scsi0-0-0 \
-device scsi-disk,bus=scsi0.0,scsi-id=0,drive=drive-scsi0-0-0,id=scsi0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-device.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-device.args
index ad9ea82..693905b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-device.args
@@ -19,8 +19,8 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device lsi,id=scsi0,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/tmp/scsidisk.img,if=none,id=drive-scsi0-0-0,format=raw \
+-drive file=/tmp/scsidisk.img,format=raw,if=none,id=drive-scsi0-0-0 \
-device scsi-disk,bus=scsi0.0,scsi-id=0,drive=drive-scsi0-0-0,id=scsi0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-split.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-split.args
index 048a221..e3aad6a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-split.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-split.args
@@ -22,16 +22,16 @@ QEMU_AUDIO_DRV=none \
-device lsi,id=scsi2,bus=pci.0,addr=0x5 \
-device virtio-scsi-pci,id=scsi3,bus=pci.0,addr=0x6 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-scsi0-0-1-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-scsi0-0-1-0 \
-device scsi-cd,bus=scsi0.0,channel=0,scsi-id=1,lun=0,drive=drive-scsi0-0-1-0,\
id=scsi0-0-1-0 \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-scsi0-0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-scsi0-0-0-0 \
-device scsi-cd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\
id=scsi0-0-0-0 \
--drive file=/tmp/scsidisk.img,if=none,id=drive-scsi0-0-0-1,format=raw \
+-drive file=/tmp/scsidisk.img,format=raw,if=none,id=drive-scsi0-0-0-1 \
-device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=1,drive=drive-scsi0-0-0-1,\
id=scsi0-0-0-1 \
--drive file=/tmp/scsidisk.img,if=none,id=drive-scsi0-0-1-1,format=raw \
+-drive file=/tmp/scsidisk.img,format=raw,if=none,id=drive-scsi0-0-1-1 \
-device scsi-hd,bus=scsi0.0,channel=0,scsi-id=1,lun=1,drive=drive-scsi0-0-1-1,\
id=scsi0-0-1-1 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-vpd.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-vpd.args
index f6cc3b2..9f36a72 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-vpd.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-vpd.args
@@ -20,10 +20,10 @@ QEMU_AUDIO_DRV=none \
-device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x3 \
-device lsi,id=scsi1,bus=pci.0,addr=0x4 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-scsi0-0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-scsi0-0-0-0 \
-device scsi-cd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\
id=scsi0-0-0-0,vendor=SEAGATE,product=ST3146707LC \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-scsi1-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-scsi1-0-0 \
-device scsi-hd,bus=scsi1.0,scsi-id=0,drive=drive-scsi1-0-0,id=scsi1-0-0,\
vendor=SEAGATE,product=ST3567807GD \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-wwn.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-wwn.args
index 5a5bcf6..2517721 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-wwn.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-wwn.args
@@ -20,10 +20,10 @@ QEMU_AUDIO_DRV=none \
-device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x3 \
-device lsi,id=scsi1,bus=pci.0,addr=0x4 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-scsi0-0-1-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-scsi0-0-1-0 \
-device scsi-cd,bus=scsi0.0,channel=0,scsi-id=1,lun=0,drive=drive-scsi0-0-1-0,\
id=scsi0-0-1-0,wwn=0x5000c50015ea71ac \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-scsi0-0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-scsi0-0-0-0 \
-device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\
id=scsi0-0-0-0,wwn=0x5000c50015ea71ad \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-lun-passthrough.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-lun-passthrough.args
index d95eebc..d9f07ed 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-lun-passthrough.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-lun-passthrough.args
@@ -19,10 +19,10 @@ QEMU_AUDIO_DRV=none \
-device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x3 \
-device lsi,id=scsi1,bus=pci.0,addr=0x4 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-scsi0-0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-scsi0-0-0-0 \
-device scsi-block,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\
id=scsi0-0-0-0 \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-scsi0-0-1-1,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-scsi0-0-1-1 \
-device scsi-block,bus=scsi0.0,channel=0,scsi-id=1,lun=1,drive=drive-scsi0-0-1-1,\
id=scsi0-0-1-1 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-megasas.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-megasas.args
index 6c4e73f..17071fa 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-megasas.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-megasas.args
@@ -19,9 +19,9 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device megasas,id=scsi0,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/tmp/scsidisk.img,if=none,id=drive-scsi0-0-4-0,format=raw \
+-drive file=/tmp/scsidisk.img,format=raw,if=none,id=drive-scsi0-0-4-0 \
-device scsi-disk,bus=scsi0.0,channel=0,scsi-id=4,lun=0,drive=drive-scsi0-0-4-0,\
id=scsi0-0-4-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.args
index a3c79c2..38abc11 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.args
@@ -19,9 +19,9 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/tmp/scsidisk.img,if=none,id=drive-scsi0-0-4-0,format=raw \
+-drive file=/tmp/scsidisk.img,format=raw,if=none,id=drive-scsi0-0-4-0 \
-device scsi-disk,bus=scsi0.0,channel=0,scsi-id=4,lun=0,drive=drive-scsi0-0-4-0,\
id=scsi0-0-4-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.args
index 1dad9cf..e79ba4b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.args
@@ -19,9 +19,9 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device spapr-vscsi,id=scsi0,reg=0x2000 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/tmp/scsidisk.img,if=none,id=drive-scsi0-0-3-0,format=raw \
+-drive file=/tmp/scsidisk.img,format=raw,if=none,id=drive-scsi0-0-3-0 \
-device scsi-disk,bus=scsi0.0,channel=0,scsi-id=3,lun=0,drive=drive-scsi0-0-3-0,\
id=scsi0-0-3-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-serial.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-serial.args
index 6525fbf..d97fa45 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-serial.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-serial.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive 'file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-1,format=raw,\
+-drive 'file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-1,\
serial=\ \ WD-WMAP9A966149' \
-device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-snapshot.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-snapshot.args
index d679aec..b8c397a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-snapshot.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-snapshot.args
@@ -16,9 +16,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=qcow2,cache=none \
--drive file=/dev/HostVG/QEMUGuest3,if=ide,bus=2,unit=0,format=qcow2,cache=none \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,bus=1,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=ide,bus=0,unit=0,cache=none \
+-drive file=/dev/HostVG/QEMUGuest3,format=qcow2,if=ide,bus=2,unit=0,cache=none \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool-mode.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool-mode.args
index 7a39cf5..71f15a7 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool-mode.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool-mode.args
@@ -23,6 +23,6 @@ QEMU_AUDIO_DRV=none \
-drive file=iscsi://iscsi.example.com:3260/demo-target/2,if=none,media=cdrom,\
id=drive-ide0-0-2 \
-device ide-drive,bus=ide.0,unit=2,drive=drive-ide0-0-2,id=ide0-0-2 \
--drive file=/tmp/idedisk.img,if=none,id=drive-ide0-0-3,format=raw \
+-drive file=/tmp/idedisk.img,format=raw,if=none,id=drive-ide0-0-3 \
-device ide-drive,bus=ide.0,unit=3,drive=drive-ide0-0-3,id=ide0-0-3 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool.args
index 4f2d1d1..8188762 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool.args
@@ -20,8 +20,8 @@ QEMU_AUDIO_DRV=none \
-usb \
-drive file=/some/block/device/cdrom,if=none,media=cdrom,id=drive-ide0-0-1 \
-device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \
--drive if=none,media=cdrom,id=drive-ide0-1-0,format=raw \
+-drive if=none,media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
--drive file=/tmp/idedisk.img,if=none,id=drive-ide0-0-2,format=raw \
+-drive file=/tmp/idedisk.img,format=raw,if=none,id=drive-ide0-0-2 \
-device ide-drive,bus=ide.0,unit=2,drive=drive-ide0-0-2,id=ide0-0-2 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-usb-device-removable.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-usb-device-removable.args
index 62fbd61..24a0165 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-usb-device-removable.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-usb-device-removable.args
@@ -18,8 +18,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/tmp/usbdisk.img,if=none,id=drive-usb-disk0,format=raw \
+-drive file=/tmp/usbdisk.img,format=raw,if=none,id=drive-usb-disk0 \
-device usb-storage,drive=drive-usb-disk0,id=usb-disk0,removable=on \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-usb-device.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-usb-device.args
index e6fafc6..b9edf18 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-usb-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-usb-device.args
@@ -18,8 +18,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/tmp/usbdisk.img,if=none,id=drive-usb-disk0,format=raw \
+-drive file=/tmp/usbdisk.img,format=raw,if=none,id=drive-usb-disk0 \
-device usb-storage,drive=drive-usb-disk0,id=usb-disk0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-usb.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-usb.args
index ae740e6..f41f8b4 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-usb.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-usb.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-usbdevice disk:/tmp/usbdisk.img \
-net none \
-serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-ccw-many.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-ccw-many.args
index 15344fd..95ec441 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-ccw-many.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-ccw-many.args
@@ -16,12 +16,12 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-ccw,devno=0.0.0007,drive=drive-virtio-disk0,id=virtio-disk0 \
--drive file=/dev/HostVG/QEMUGuest4,if=none,id=drive-virtio-disk1,format=raw \
+-drive file=/dev/HostVG/QEMUGuest4,format=raw,if=none,id=drive-virtio-disk1 \
-device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk1,id=virtio-disk1 \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-virtio-disk2,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-virtio-disk2 \
-device virtio-blk-ccw,devno=fe.0.0001,drive=drive-virtio-disk2,id=virtio-disk2 \
--drive file=/dev/HostVG/QEMUGuest3,if=none,id=drive-virtio-disk3,format=raw \
+-drive file=/dev/HostVG/QEMUGuest3,format=raw,if=none,id=drive-virtio-disk3 \
-device virtio-blk-ccw,devno=fe.2.f00f,drive=drive-virtio-disk3,id=virtio-disk3 \
-device virtio-balloon-ccw,id=balloon0,devno=fe.0.000a
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-ccw.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-ccw.args
index d868187..2b58f21 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-ccw.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-ccw.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0 \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-virtio-disk1,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-virtio-disk1 \
-device virtio-blk-ccw,devno=0.0.0007,drive=drive-virtio-disk1,id=virtio-disk1 \
-device virtio-balloon-ccw,id=balloon0,devno=fe.0.000a
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-s390.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-s390.args
index cfcb916..c4ce463 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-s390.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-s390.args
@@ -16,5 +16,5 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-s390,drive=drive-virtio-disk0,id=virtio-disk0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-ccw.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-ccw.args
index 98106f4..81533d5 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-ccw.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-ccw.args
@@ -17,9 +17,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-device virtio-scsi-ccw,id=scsi0,devno=fe.0.0001 \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0 \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-scsi0-0-4-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-scsi0-0-4-0 \
-device scsi-disk,bus=scsi0.0,channel=0,scsi-id=4,lun=0,drive=drive-scsi0-0-4-0,\
id=scsi0-0-4-0 \
-device virtio-balloon-ccw,id=balloon0,devno=fe.0.000a
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-cmd_per_lun.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-cmd_per_lun.args
index 74be9f1..5950150 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-cmd_per_lun.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-cmd_per_lun.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device virtio-scsi-pci,id=scsi0,cmd_per_lun=50,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-scsi0-0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-scsi0-0-0-0 \
-device scsi-disk,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\
id=scsi0-0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-ioeventfd.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-ioeventfd.args
index 7a1f0b2..704a91c 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-ioeventfd.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-ioeventfd.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device virtio-scsi-pci,id=scsi0,ioeventfd=on,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-scsi0-0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-scsi0-0-0-0 \
-device scsi-disk,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\
id=scsi0-0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-max_sectors.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-max_sectors.args
index 108abb0..7e3406f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-max_sectors.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-max_sectors.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device virtio-scsi-pci,id=scsi0,max_sectors=512,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-scsi0-0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-scsi0-0-0-0 \
-device scsi-disk,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\
id=scsi0-0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-num_queues.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-num_queues.args
index f9bc22b..8c2a737 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-num_queues.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-num_queues.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device virtio-scsi-pci,id=scsi0,num_queues=8,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-scsi0-0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-scsi0-0-0-0 \
-device scsi-disk,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\
id=scsi0-0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio.args
index 99cc056..1cb71f7 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio.args
@@ -16,10 +16,10 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,bus=1,unit=0,format=raw \
--drive file=/tmp/data.img,if=virtio,format=raw \
--drive file=/tmp/logs.img,if=virtio,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
+-drive file=/tmp/data.img,format=raw,if=virtio \
+-drive file=/tmp/logs.img,format=raw,if=virtio \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-xenvbd.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-xenvbd.args
index ab3ef10..07fb4e4 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-xenvbd.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-xenvbd.args
@@ -16,10 +16,10 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,bus=1,unit=0,format=raw \
--drive file=/tmp/data.img,if=xen,index=0,format=raw \
--drive file=/tmp/logs.img,if=xen,index=6,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,media=cdrom,bus=1,unit=0 \
+-drive file=/tmp/data.img,format=raw,if=xen,index=0 \
+-drive file=/tmp/logs.img,format=raw,if=xen,index=6 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-encrypted-disk.args b/tests/qemuxml2argvdata/qemuxml2argv-encrypted-disk.args
index 1d4897e..206632c 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-encrypted-disk.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-encrypted-disk.args
@@ -21,8 +21,8 @@ server,nowait \
-no-acpi \
-boot c \
-usb \
--drive file=/storage/guest_disks/encryptdisk,if=none,id=drive-virtio-disk0,\
-format=raw,boot=on,format=qcow2 \
+-drive file=/storage/guest_disks/encryptdisk,format=raw,if=none,\
+id=drive-virtio-disk0,\,boot=on \
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,\
id=virtio-disk0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-event_idx.args b/tests/qemuxml2argvdata/qemuxml2argv-event_idx.args
index df5cd8d..2f031eb 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-event_idx.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-event_idx.args
@@ -18,12 +18,12 @@ QEMU_AUDIO_DRV=none \
-boot dc \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 \
-usb \
--drive file=/var/lib/libvirt/images/f14.img,if=none,id=drive-virtio-disk0,\
-format=qcow2 \
+-drive file=/var/lib/libvirt/images/f14.img,format=qcow2,if=none,\
+id=drive-virtio-disk0 \
-device virtio-blk-pci,event_idx=on,scsi=off,bus=pci.0,addr=0x4,\
drive=drive-virtio-disk0,id=virtio-disk0 \
--drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,if=none,media=cdrom,\
-id=drive-ide0-1-0,format=raw \
+-drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,format=raw,if=none,\
+media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-device virtio-net-pci,event_idx=off,vlan=0,id=net0,mac=52:54:00:e5:48:58,\
bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-fips-enabled.args b/tests/qemuxml2argvdata/qemuxml2argv-fips-enabled.args
index 6840535..36d572d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-fips-enabled.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-fips-enabled.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-fs9p-ccw.args b/tests/qemuxml2argvdata/qemuxml2argv-fs9p-ccw.args
index 3afcc65..19409c9 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-fs9p-ccw.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-fs9p-ccw.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0 \
-fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \
-device virtio-9p-ccw,id=fs0,fsdev=fsdev-fs0,mount_tag=/import/from/host,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-fs9p.args b/tests/qemuxml2argvdata/qemuxml2argv-fs9p.args
index b50fd85..09508f2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-fs9p.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-fs9p.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \
-device virtio-9p-pci,id=fs0,fsdev=fsdev-fs0,mount_tag=/import/from/host,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.args
index 04e00f7..d1a3d07 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.args
@@ -16,7 +16,7 @@ DISPLAY=:0.1 \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl.args
index 5615ad6..77088a8 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl.args
@@ -16,7 +16,7 @@ DISPLAY=:0.1 \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agent-file-xfer.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agent-file-xfer.args
index 48e892c..95c7b44 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agent-file-xfer.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agent-file-xfer.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=spice \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\
tls-channel=main,plaintext-channel=inputs,disable-agent-file-xfer \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agentmouse.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agentmouse.args
index cff9598..e4f75c4 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agentmouse.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agentmouse.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=spice \
-boot c \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev spicevmc,id=charchannel0,name=vdagent \
-device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-compression.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-compression.args
index 2e52369..268fb6b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-compression.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-compression.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=spice \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\
image-compression=auto_glz,jpeg-wan-compression=auto,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-qxl-vga.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-qxl-vga.args
index 5cfdb06..1739404 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-qxl-vga.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-qxl-vga.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=spice \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\
tls-channel=main,plaintext-channel=inputs \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-sasl.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-sasl.args
index 945924f..8c9207d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-sasl.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-sasl.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=spice \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-spice port=5903,tls-port=5904,sasl,addr=127.0.0.1,\
x509-dir=/etc/pki/libvirt-spice,tls-channel=default \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-timeout.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-timeout.args
index defd8e2..376793f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-timeout.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-timeout.args
@@ -18,12 +18,12 @@ QEMU_AUDIO_DRV=spice \
-boot dc \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 \
-usb \
--drive file=/var/lib/libvirt/images/f14.img,if=none,id=drive-virtio-disk0,\
-format=qcow2 \
+-drive file=/var/lib/libvirt/images/f14.img,format=qcow2,if=none,\
+id=drive-virtio-disk0 \
-device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,\
id=virtio-disk0 \
--drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,if=none,media=cdrom,\
-id=drive-ide0-1-0,format=raw \
+-drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,format=raw,if=none,\
+media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-device rtl8139,vlan=0,id=net0,mac=52:54:00:71:70:89,bus=pci.0,addr=0x7 \
-net tap,script=/etc/qemu-ifup,vlan=0,name=hostnet0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice.args
index 3ffd722..5e63e5e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=spice \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\
tls-channel=default,tls-channel=main,plaintext-channel=inputs,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-policy.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-policy.args
index 36e42e5..8d1dff5 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-policy.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-policy.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.args
index 88f77bd..8dce0bb 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-socket.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-socket.args
index 7e9271f..ca30fdf 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-socket.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-socket.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.args
index fbf44f9..165a60c 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc.args
index 22f2253..a228095 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address-device.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address-device.args
index 93f592f..8405851 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address-device.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device pci-assign,host=06:12.5,id=hostdev0,bus=pci.0,addr=0x3 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address.args
index 390cede..4b15729 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-boot.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-boot.args
index 5417f66..24b9e9b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-boot.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-boot.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-drive file=/dev/sg0,if=none,id=drive-hostdev0 \
-device scsi-generic,bus=scsi0.0,channel=0,scsi-id=4,lun=8,drive=drive-hostdev0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-lsi-iscsi-auth.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-lsi-iscsi-auth.args
index f2e7dcd..271d1f6 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-lsi-iscsi-auth.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-lsi-iscsi-auth.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device lsi,id=scsi0,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-drive file=iscsi://myname:AQCVn5hO6HzFAhAAq0NCv8jtJcIcE+HOBlMQ1A@example.org:\
3260/iqn.1992-01.com.example,if=none,format=raw,id=drive-hostdev0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-lsi-iscsi.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-lsi-iscsi.args
index 63f5a78..1dcb8b5 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-lsi-iscsi.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-lsi-iscsi.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device lsi,id=scsi0,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-drive file=iscsi://example.org:3260/iqn.1992-01.com.example,if=none,format=raw,\
id=drive-hostdev0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-lsi.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-lsi.args
index eb2a6fc..759d840 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-lsi.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-lsi.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device lsi,id=scsi0,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-drive file=/dev/sg0,if=none,id=drive-hostdev0 \
-device scsi-generic,bus=scsi0.0,scsi-id=7,drive=drive-hostdev0,id=hostdev0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-readonly.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-readonly.args
index 816d3c2..7f10bd3 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-readonly.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-readonly.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-drive file=/dev/sg0,if=none,id=drive-hostdev0,readonly=on \
-device scsi-generic,bus=scsi0.0,channel=0,scsi-id=4,lun=8,drive=drive-hostdev0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-iscsi-auth.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-iscsi-auth.args
index 2b3d87d..449bc4a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-iscsi-auth.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-iscsi-auth.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-drive file=iscsi://myname:AQCVn5hO6HzFAhAAq0NCv8jtJcIcE+HOBlMQ1A@example.org:\
3260/iqn.1992-01.com.example,if=none,format=raw,id=drive-hostdev0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-iscsi.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-iscsi.args
index eab55d9..3fc5295 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-iscsi.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-iscsi.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-drive file=iscsi://example.org:3260/iqn.1992-01.com.example,if=none,format=raw,\
id=drive-hostdev0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-scsi.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-scsi.args
index 745921c..cd44e37 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-scsi.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-scsi.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x3 \
-usb \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-drive file=/dev/sg0,if=none,id=drive-hostdev0 \
-device scsi-generic,bus=scsi0.0,channel=0,scsi-id=4,lun=8,drive=drive-hostdev0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device-boot.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device-boot.args
index c1f8a13..f9f8a89 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device-boot.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device-boot.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device usb-host,hostbus=14,hostaddr=6,id=hostdev0,bootindex=1 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device.args
index a48eb21..71a17c2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device usb-host,hostbus=14,hostaddr=6,id=hostdev0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.args
index 74aebd3..bc98613 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio-multidomain.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio-multidomain.args
index d5048a8..cb7fdb7 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio-multidomain.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio-multidomain.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device vfio-pci,host=55aa:20:0f.3,id=hostdev0,bus=pci.0,addr=0x3 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio.args
index 3003e89..8de439b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device vfio-pci,host=06:12.5,id=hostdev0,bus=pci.0,addr=0x3 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-numa.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-numa.args
index 77c1b91..fbe1159 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-numa.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-numa.args
@@ -31,11 +31,11 @@ addr=0x6 \
-device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x6.0x1 \
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x6.0x2 \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 \
--drive file=/var/lib/libvirt/images/fedora.qcow2,if=none,id=drive-virtio-disk0,\
-format=qcow2 \
+-drive file=/var/lib/libvirt/images/fedora.qcow2,format=qcow2,if=none,\
+id=drive-virtio-disk0 \
-device virtio-blk-pci,bus=pci.0,addr=0x7,drive=drive-virtio-disk0,\
id=virtio-disk0 \
--drive if=none,media=cdrom,id=drive-ide0-0-0,format=raw \
+-drive if=none,media=cdrom,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-serial pty \
-chardev socket,id=charchannel0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.args
index 01951e9..c440e8f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.args
@@ -31,7 +31,7 @@ mem-path=/dev/hugepages1G/libvirt/qemu,size=1073741824,host-nodes=3,policy=bind
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.args
index c2c2ca4..2fb3410 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.args
@@ -22,7 +22,7 @@ mem-path=/dev/hugepages2M/libvirt/qemu,size=805306368 \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.args
index ac7cd0a..e00c0b4 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.args
@@ -21,7 +21,7 @@ mem-path=/dev/hugepages1G/libvirt/qemu,size=805306368 \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages5.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages5.args
index 04bfbee..55a8a4b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages5.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages5.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages6.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages6.args
index 4c96d5e..8269608 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages6.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages6.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-shared.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-shared.args
index dd5e79e..331be14 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-shared.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-shared.args
@@ -31,7 +31,7 @@ mem-path=/dev/hugepages1G/libvirt/qemu,size=1073741824,host-nodes=3,policy=bind
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages.args
index 044b9fa..fd3ffb8 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse-addr.args b/tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse-addr.args
index 611eb2b..46dedc0 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse-addr.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse-addr.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device usb-mouse,id=input0,bus=usb.0,port=4 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse.args b/tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse.args
index 7a539af..be5b4b8 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-input-usbtablet.args b/tests/qemuxml2argvdata/qemuxml2argv-input-usbtablet.args
index 33f0edc..3c0be91 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-input-usbtablet.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-input-usbtablet.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-iothreads-disk-virtio-ccw.args b/tests/qemuxml2argvdata/qemuxml2argv-iothreads-disk-virtio-ccw.args
index f26b4a8..9e89682 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-iothreads-disk-virtio-ccw.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-iothreads-disk-virtio-ccw.args
@@ -18,10 +18,10 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-ccw,iothread=iothread1,devno=fe.0.0000,\
drive=drive-virtio-disk0,id=virtio-disk0 \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-virtio-disk1,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-virtio-disk1 \
-device virtio-blk-ccw,iothread=iothread2,devno=0.0.0007,\
drive=drive-virtio-disk1,id=virtio-disk1 \
-device virtio-balloon-ccw,id=balloon0,devno=fe.0.000a
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-iothreads-disk.args b/tests/qemuxml2argvdata/qemuxml2argv-iothreads-disk.args
index 687b816..c725de5 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-iothreads-disk.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-iothreads-disk.args
@@ -19,13 +19,13 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/var/lib/libvirt/images/iothrtest1.img,if=none,id=drive-virtio-disk1,\
-format=raw \
+-drive file=/var/lib/libvirt/images/iothrtest1.img,format=raw,if=none,\
+id=drive-virtio-disk1 \
-device virtio-blk-pci,iothread=iothread1,bus=pci.0,addr=0x4,\
drive=drive-virtio-disk1,id=virtio-disk1 \
--drive file=/var/lib/libvirt/images/iothrtest2.img,if=none,id=drive-virtio-disk2,\
-format=raw \
+-drive file=/var/lib/libvirt/images/iothrtest2.img,format=raw,if=none,\
+id=drive-virtio-disk2 \
-device virtio-blk-pci,iothread=iothread2,bus=pci.0,addr=0x3,\
drive=drive-virtio-disk2,id=virtio-disk2
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids-partial.args b/tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids-partial.args
index 7e91ba9..8991539 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids-partial.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids-partial.args
@@ -20,7 +20,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids.args b/tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids.args
index 4f5d3a0..0c71bef 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-iothreads.args b/tests/qemuxml2argvdata/qemuxml2argv-iothreads.args
index 604ae6f..083ba81 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-iothreads.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-iothreads.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.args b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.args
index dc53e77..339780e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.args b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.args
index bf660a4..7fe0779 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-lease.args b/tests/qemuxml2argvdata/qemuxml2argv-lease.args
index 720ed17..485c6a4 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-lease.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-lease.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-cdrom /root/boot.iso \
-net none \
-serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-off-argv.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-off-argv.args
index 9fee98f..c1609b1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-off-argv.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-off-argv.args
@@ -16,5 +16,5 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=virtio,index=0,id=drive-virtio-disk0,\
-format=raw
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=virtio,index=0,\
+id=drive-virtio-disk0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-off-cap.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-off-cap.args
index 2796d9b..d1a7821 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-off-cap.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-off-cap.args
@@ -16,5 +16,5 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-off-caps.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-off-caps.args
index 2796d9b..d1a7821 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-off-caps.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-off-caps.args
@@ -16,5 +16,5 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-on-argv.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-on-argv.args
index f44b98a..775b484 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-on-argv.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-on-argv.args
@@ -16,5 +16,5 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=virtio,index=0,id=drive-virtio-disk0,\
-format=raw
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=virtio,index=0,\
+id=drive-virtio-disk0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-on-cap.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-on-cap.args
index bdf028d..6dcf4c5 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-on-cap.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-on-cap.args
@@ -16,5 +16,5 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-on-caps.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-on-caps.args
index bdf028d..6dcf4c5 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-on-caps.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-aeskeywrap-on-caps.args
@@ -16,5 +16,5 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases1.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases1.args
index a507bd0..b118a2f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases1.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases1.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.args
index ba93e17..e848f28 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-core-off.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-core-off.args
index 75ddc81..571eb60 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-core-off.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-core-off.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-core-on.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-core-on.args
index d01e8e5..4415e95 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-core-on.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-core-on.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-off-argv.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-off-argv.args
index dcbdd5b..e35ab0f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-off-argv.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-off-argv.args
@@ -16,5 +16,5 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=virtio,index=0,id=drive-virtio-disk0,\
-format=raw
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=virtio,index=0,\
+id=drive-virtio-disk0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-off-cap.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-off-cap.args
index 4d696b1..2d8e516 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-off-cap.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-off-cap.args
@@ -16,5 +16,5 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-off-caps.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-off-caps.args
index 4d696b1..2d8e516 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-off-caps.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-off-caps.args
@@ -16,5 +16,5 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-on-argv.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-on-argv.args
index 77f9837..18dd415 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-on-argv.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-on-argv.args
@@ -16,5 +16,5 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=virtio,index=0,id=drive-virtio-disk0,\
-format=raw
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=virtio,index=0,\
+id=drive-virtio-disk0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-on-cap.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-on-cap.args
index 1963b84..0df1b7d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-on-cap.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-on-cap.args
@@ -16,5 +16,5 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-on-caps.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-on-caps.args
index 1963b84..0df1b7d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-on-caps.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-deakeywrap-on-caps.args
@@ -16,5 +16,5 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-keywrap-none-argv.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-keywrap-none-argv.args
index aa8dae0..283e9b3 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-keywrap-none-argv.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-keywrap-none-argv.args
@@ -16,5 +16,5 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=virtio,index=0,id=drive-virtio-disk0,\
-format=raw
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=virtio,index=0,\
+id=drive-virtio-disk0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-keywrap-none-caps.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-keywrap-none-caps.args
index f241a19..ae45867 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-keywrap-none-caps.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-keywrap-none-caps.args
@@ -16,5 +16,5 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-keywrap-none.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-keywrap-none.args
index f241a19..ae45867 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-keywrap-none.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-keywrap-none.args
@@ -16,5 +16,5 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-usb-opt.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-usb-opt.args
index 5d0efca..6d01b76 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-usb-opt.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-usb-opt.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-vmport-opt.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-vmport-opt.args
index cbc1c38..d166224 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-vmport-opt.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-vmport-opt.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug-dimm-addr.args b/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug-dimm-addr.args
index 22245f2..4888ee8 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug-dimm-addr.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug-dimm-addr.args
@@ -21,6 +21,6 @@ mem-path=/dev/hugepages2M/libvirt/qemu,size=536870912,host-nodes=1-3,policy=bind
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug-dimm.args b/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug-dimm.args
index 8382755..f85ed88 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug-dimm.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug-dimm.args
@@ -23,6 +23,6 @@ mem-path=/dev/hugepages2M/libvirt/qemu,size=536870912,host-nodes=1-3,policy=bind
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug.args b/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug.args
index 0ee4059..5282f4f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-memtune-unlimited.args b/tests/qemuxml2argvdata/qemuxml2argv-memtune-unlimited.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-memtune-unlimited.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-memtune-unlimited.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-memtune.args b/tests/qemuxml2argvdata/qemuxml2argv-memtune.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-memtune.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-memtune.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-metadata.args b/tests/qemuxml2argvdata/qemuxml2argv-metadata.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-metadata.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-metadata.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-migrate.args b/tests/qemuxml2argvdata/qemuxml2argv-migrate.args
index 709a25b..8967a60 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-migrate.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-migrate.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-minimal-msg-timestamp.args b/tests/qemuxml2argvdata/qemuxml2argv-minimal-msg-timestamp.args
index 5ba1465..4e2fb1d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-minimal-msg-timestamp.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-minimal-msg-timestamp.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args b/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args
index 5082812..a51d1f0 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
--drive file=/dev/HostVG/QEMUGuest1,if=virtio,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=virtio \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-minimal.args b/tests/qemuxml2argvdata/qemuxml2argv-minimal.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-minimal.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-minimal.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.args b/tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.args
index 32e09ba..124fde9 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-misc-disable-s3.args b/tests/qemuxml2argvdata/qemuxml2argv-misc-disable-s3.args
index d21775b..edd300d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-misc-disable-s3.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-misc-disable-s3.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-global PIIX4_PM.disable_s3=1 \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-misc-disable-suspends.args b/tests/qemuxml2argvdata/qemuxml2argv-misc-disable-suspends.args
index 07bf768..d757d5b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-misc-disable-suspends.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-misc-disable-suspends.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-global PIIX4_PM.disable_s4=1 \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-misc-enable-s4.args b/tests/qemuxml2argvdata/qemuxml2argv-misc-enable-s4.args
index f5c90b3..22e83dc 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-misc-enable-s4.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-misc-enable-s4.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-global PIIX4_PM.disable_s4=0 \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-misc-no-reboot.args b/tests/qemuxml2argvdata/qemuxml2argv-misc-no-reboot.args
index 766a71c..2923d61 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-misc-no-reboot.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-misc-no-reboot.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.args b/tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.args
index 32e09ba..124fde9 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-monitor-json.args b/tests/qemuxml2argvdata/qemuxml2argv-monitor-json.args
index 9f85fc0..9211263 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-monitor-json.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-monitor-json.args
@@ -19,6 +19,6 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/hda1,if=none,id=drive-ide0-0-0,format=qcow2 \
+-drive file=/dev/hda1,format=qcow2,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-multifunction-pci-device.args b/tests/qemuxml2argvdata/qemuxml2argv-multifunction-pci-device.args
index c27887a..51ebef2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-multifunction-pci-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-multifunction-pci-device.args
@@ -27,6 +27,6 @@ QEMU_AUDIO_DRV=none \
-device lsi,id=scsi7,bus=pci.0,addr=0x4.0x6 \
-device lsi,id=scsi8,bus=pci.0,addr=0x4.0x7 \
-usb \
--drive file=/tmp/scsidisk.img,if=none,id=drive-scsi0-0-0,format=raw \
+-drive file=/tmp/scsidisk.img,format=raw,if=none,id=drive-scsi0-0-0 \
-device scsi-disk,bus=scsi0.0,scsi-id=0,drive=drive-scsi0-0-0,id=scsi0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-client.args b/tests/qemuxml2argvdata/qemuxml2argv-net-client.args
index 267fbf2..953bde2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-client.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-client.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net nic,macaddr=52:54:00:8c:b9:05,vlan=0,model=rtl8139,name=net0 \
-net socket,connect=192.168.0.1:5558,vlan=0,name=hostnet0 \
-serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.args b/tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.args
index 26992ce..6032ed3 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139,name=net0 \
-net tap,ifname=nic02,script=/etc/qemu-ifup,vlan=0,name=hostnet0 \
-serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-eth-names.args b/tests/qemuxml2argvdata/qemuxml2argv-net-eth-names.args
index 78de72d..18607ab 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-eth-names.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-eth-names.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139,name=net0 \
-net tap,script=/etc/qemu-ifup,vlan=0,name=hostnet0 \
-net nic,macaddr=00:11:22:33:44:56,vlan=1,model=e1000,name=net1 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-eth.args b/tests/qemuxml2argvdata/qemuxml2argv-net-eth.args
index ddc5fa1..5a8da4d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-eth.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-eth.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139,name=net0 \
-net tap,script=/etc/qemu-ifup,vlan=0,name=hostnet0 \
-serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-multidomain.args b/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-multidomain.args
index 4ac6944..911290d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-multidomain.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-multidomain.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device pci-assign,host=2424:21:1c.6,id=hostdev0,bus=pci.0,addr=0x3 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio-multidomain.args b/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio-multidomain.args
index 2ae29d2..ad97c4d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio-multidomain.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio-multidomain.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device vfio-pci,host=0021:de:1f.1,id=hostdev0,bus=pci.0,addr=0x3 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio.args b/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio.args
index 3730bf8..827c099 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device vfio-pci,host=03:07.1,id=hostdev0,bus=pci.0,addr=0x3 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev.args b/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev.args
index 4f0cb3d..296621b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device pci-assign,host=03:07.1,id=hostdev0,bus=pci.0,addr=0x3 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args b/tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args
index 5594ce7..b816586 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net nic,macaddr=52:54:00:8c:b9:05,vlan=0,model=rtl8139,name=net0 \
-net socket,mcast=192.0.0.1:5558,vlan=0,name=hostnet0 \
-serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-server.args b/tests/qemuxml2argvdata/qemuxml2argv-net-server.args
index e5474f8..4dcd22a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-server.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-server.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net nic,macaddr=52:54:00:8c:b9:05,vlan=0,model=rtl8139,name=net0 \
-net socket,listen=192.168.0.1:5558,vlan=0,name=hostnet0 \
-serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-udp.args b/tests/qemuxml2argvdata/qemuxml2argv-net-udp.args
index fcbf3ff..590cb3e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-udp.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-udp.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net nic,macaddr=52:54:00:8c:b9:05,vlan=0,model=rtl8139,name=net0 \
-net socket,udp=192.168.10.1:5555,localaddr=192.168.10.1:5556,vlan=0,\
name=hostnet0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-user.args b/tests/qemuxml2argvdata/qemuxml2argv-net-user.args
index b4db69f..a6ac1ed 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-user.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-user.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139,name=net0 \
-net user,vlan=0,name=hostnet0 \
-serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser-multiq.args b/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser-multiq.args
index 999dede..1b2a66a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser-multiq.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser-multiq.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev socket,id=charnet0,path=/tmp/vhost0.sock,server \
-netdev type=vhost-user,id=hostnet0,chardev=charnet0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.args b/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.args
index c12f09d..86313a5 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev socket,id=charnet0,path=/tmp/vhost0.sock,server \
-netdev type=vhost-user,id=hostnet0,chardev=charnet0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-device.args b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-device.args
index b85ac1d..ff953d1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-device.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device virtio-net-pci,tx=bh,vlan=0,id=net0,mac=00:11:22:33:44:55,bus=pci.0,\
addr=0x3 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-disable-offloads.args b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-disable-offloads.args
index 6df16be..8260aa5 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-disable-offloads.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-disable-offloads.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest7,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest7,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device virtio-net-pci,csum=off,gso=off,host_tso4=off,host_tso6=off,host_ecn=off,\
host_ufo=off,mrg_rxbuf=off,guest_csum=off,guest_tso4=off,guest_tso6=off,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-netdev.args b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-netdev.args
index 1760a37..5bbeb1f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-netdev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-netdev.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-netdev user,id=hostnet0 \
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bus=pci.0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio.args b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio.args
index 169c57b..275c251 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net nic,macaddr=00:11:22:33:44:55,vlan=0,model=virtio,name=net0 \
-net user,vlan=0,name=hostnet0 \
-serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-no-shutdown.args b/tests/qemuxml2argvdata/qemuxml2argv-no-shutdown.args
index bbb895a..39f52a8 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-no-shutdown.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-no-shutdown.args
@@ -20,6 +20,6 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/hda1,if=none,id=drive-ide0-0-0,format=qcow2 \
+-drive file=/dev/hda1,format=qcow2,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-nographics-vga.args b/tests/qemuxml2argvdata/qemuxml2argv-nographics-vga.args
index 1ef677c..5f284e0 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-nographics-vga.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-nographics-vga.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-nographics.args b/tests/qemuxml2argvdata/qemuxml2argv-nographics.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-nographics.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-nographics.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-nosharepages.args b/tests/qemuxml2argvdata/qemuxml2argv-nosharepages.args
index 8019c00..b5d1f2d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-nosharepages.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-nosharepages.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-memory-vcpu-cpuset.args b/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-memory-vcpu-cpuset.args
index 4afff19..1c946da 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-memory-vcpu-cpuset.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-memory-vcpu-cpuset.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-memory-vcpu-no-cpuset-and-placement.args b/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-memory-vcpu-no-cpuset-and-placement.args
index 4afff19..1c946da 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-memory-vcpu-no-cpuset-and-placement.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-memory-vcpu-no-cpuset-and-placement.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-vcpu-static-numatune.args b/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-vcpu-static-numatune.args
index 4afff19..1c946da 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-vcpu-static-numatune.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-vcpu-static-numatune.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numad-static-memory-auto-vcpu.args b/tests/qemuxml2argvdata/qemuxml2argv-numad-static-memory-auto-vcpu.args
index 4afff19..1c946da 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-numad-static-memory-auto-vcpu.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numad-static-memory-auto-vcpu.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numad.args b/tests/qemuxml2argvdata/qemuxml2argv-numad.args
index 4afff19..1c946da 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-numad.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numad.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-nodeset-invalid.args b/tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-nodeset-invalid.args
index 4afff19..1c946da 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-nodeset-invalid.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-nodeset-invalid.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numatune-memory.args b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memory.args
index 4afff19..1c946da 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-numatune-memory.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memory.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-panic-no-address.args b/tests/qemuxml2argvdata/qemuxml2argv-panic-no-address.args
index e06d59f..02ecbe9 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-panic-no-address.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-panic-no-address.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
-device pvpanic
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-panic.args b/tests/qemuxml2argvdata/qemuxml2argv-panic.args
index 46ad1a0..03f1507 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-panic.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-panic.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
-device pvpanic,ioport=1285
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-parallel-parport-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-parallel-parport-chardev.args
index 5096d7f..2cefae9 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-parallel-parport-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-parallel-parport-chardev.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev parport,id=charparallel0,path=/dev/parport0 \
-device isa-parallel,chardev=charparallel0,id=parallel0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.args
index 2945394..d5ef7dd 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev socket,id=charparallel0,host=127.0.0.1,port=9999,server,nowait \
-device isa-parallel,chardev=charparallel0,id=parallel0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp.args b/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp.args
index 63f9f1e..54b5bb6 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel tcp:127.0.0.1:9999,server,nowait
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-addr.args b/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-addr.args
index 6171440..85a125c 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-addr.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-addr.args
@@ -23,7 +23,7 @@ QEMU_AUDIO_DRV=none \
-device pci-bridge,chassis_nr=6,id=pci.6,bus=pci.0,addr=0x8 \
-device pci-bridge,chassis_nr=7,id=pci.7,bus=pci.0,addr=0x9 \
-usb \
--drive file=/var/iso/f18kde.iso,if=none,media=cdrom,id=drive-ide0-1-0,format=raw \
+-drive file=/var/iso/f18kde.iso,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-vga cirrus \
-device virtio-balloon-pci,id=balloon0,bus=pci.7,addr=0x6
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-idx.args b/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-idx.args
index bea71a9..30214aa 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-idx.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-idx.args
@@ -24,7 +24,7 @@ QEMU_AUDIO_DRV=none \
-device pci-bridge,chassis_nr=6,id=pci.6,bus=pci.0,addr=0x9 \
-device pci-bridge,chassis_nr=7,id=pci.7,bus=pci.0,addr=0xa \
-usb \
--drive file=/var/iso/f18kde.iso,if=none,media=cdrom,id=drive-ide0-1-0,format=raw \
+-drive file=/var/iso/f18kde.iso,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-vga cirrus \
-device virtio-balloon-pci,id=balloon0,bus=pci.4,addr=0x6
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pci-bridge-many-disks.args b/tests/qemuxml2argvdata/qemuxml2argv-pci-bridge-many-disks.args
index 3ba9997..ce5df07 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pci-bridge-many-disks.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pci-bridge-many-disks.args
@@ -21,423 +21,423 @@ QEMU_AUDIO_DRV=none \
-device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.0,addr=0x4 \
-device pci-bridge,chassis_nr=3,id=pci.3,bus=pci.0,addr=0x5 \
-usb \
--drive file=/var/lib/libvirt/images/test.img,if=none,id=drive-virtio-disk0,\
-format=raw \
+-drive file=/var/lib/libvirt/images/test.img,format=raw,if=none,\
+id=drive-virtio-disk0 \
-device virtio-blk-pci,bus=pci.0,addr=0x6,drive=drive-virtio-disk0,\
id=virtio-disk0 \
--drive file=/var/lib/libvirt/images/disk-a-a.img,if=none,id=drive-virtio-disk26,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-a-a.img,format=raw,if=none,\
+id=drive-virtio-disk26 \
-device virtio-blk-pci,bus=pci.0,addr=0x7,drive=drive-virtio-disk26,\
id=virtio-disk26 \
--drive file=/var/lib/libvirt/images/disk-a-b.img,if=none,id=drive-virtio-disk27,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-a-b.img,format=raw,if=none,\
+id=drive-virtio-disk27 \
-device virtio-blk-pci,bus=pci.0,addr=0x8,drive=drive-virtio-disk27,\
id=virtio-disk27 \
--drive file=/var/lib/libvirt/images/disk-a-c.img,if=none,id=drive-virtio-disk28,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-a-c.img,format=raw,if=none,\
+id=drive-virtio-disk28 \
-device virtio-blk-pci,bus=pci.0,addr=0x9,drive=drive-virtio-disk28,\
id=virtio-disk28 \
--drive file=/var/lib/libvirt/images/disk-a-d.img,if=none,id=drive-virtio-disk29,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-a-d.img,format=raw,if=none,\
+id=drive-virtio-disk29 \
-device virtio-blk-pci,bus=pci.0,addr=0xa,drive=drive-virtio-disk29,\
id=virtio-disk29 \
--drive file=/var/lib/libvirt/images/disk-b-a.img,if=none,id=drive-virtio-disk52,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-b-a.img,format=raw,if=none,\
+id=drive-virtio-disk52 \
-device virtio-blk-pci,bus=pci.0,addr=0xb,drive=drive-virtio-disk52,\
id=virtio-disk52 \
--drive file=/var/lib/libvirt/images/disk-b-b.img,if=none,id=drive-virtio-disk53,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-b-b.img,format=raw,if=none,\
+id=drive-virtio-disk53 \
-device virtio-blk-pci,bus=pci.0,addr=0xc,drive=drive-virtio-disk53,\
id=virtio-disk53 \
--drive file=/var/lib/libvirt/images/disk-b-c.img,if=none,id=drive-virtio-disk54,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-b-c.img,format=raw,if=none,\
+id=drive-virtio-disk54 \
-device virtio-blk-pci,bus=pci.0,addr=0xd,drive=drive-virtio-disk54,\
id=virtio-disk54 \
--drive file=/var/lib/libvirt/images/disk-b-d.img,if=none,id=drive-virtio-disk55,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-b-d.img,format=raw,if=none,\
+id=drive-virtio-disk55 \
-device virtio-blk-pci,bus=pci.0,addr=0xe,drive=drive-virtio-disk55,\
id=virtio-disk55 \
--drive file=/var/lib/libvirt/images/disk-c-a.img,if=none,id=drive-virtio-disk78,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-c-a.img,format=raw,if=none,\
+id=drive-virtio-disk78 \
-device virtio-blk-pci,bus=pci.0,addr=0xf,drive=drive-virtio-disk78,\
id=virtio-disk78 \
--drive file=/var/lib/libvirt/images/disk-c-b.img,if=none,id=drive-virtio-disk79,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-c-b.img,format=raw,if=none,\
+id=drive-virtio-disk79 \
-device virtio-blk-pci,bus=pci.0,addr=0x10,drive=drive-virtio-disk79,\
id=virtio-disk79 \
--drive file=/var/lib/libvirt/images/disk-c-c.img,if=none,id=drive-virtio-disk80,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-c-c.img,format=raw,if=none,\
+id=drive-virtio-disk80 \
-device virtio-blk-pci,bus=pci.0,addr=0x11,drive=drive-virtio-disk80,\
id=virtio-disk80 \
--drive file=/var/lib/libvirt/images/disk-c-d.img,if=none,id=drive-virtio-disk81,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-c-d.img,format=raw,if=none,\
+id=drive-virtio-disk81 \
-device virtio-blk-pci,bus=pci.0,addr=0x12,drive=drive-virtio-disk81,\
id=virtio-disk81 \
--drive file=/var/lib/libvirt/images/disk-d-a.img,if=none,id=drive-virtio-disk104,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-d-a.img,format=raw,if=none,\
+id=drive-virtio-disk104 \
-device virtio-blk-pci,bus=pci.0,addr=0x13,drive=drive-virtio-disk104,\
id=virtio-disk104 \
--drive file=/var/lib/libvirt/images/disk-d-b.img,if=none,id=drive-virtio-disk105,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-d-b.img,format=raw,if=none,\
+id=drive-virtio-disk105 \
-device virtio-blk-pci,bus=pci.0,addr=0x14,drive=drive-virtio-disk105,\
id=virtio-disk105 \
--drive file=/var/lib/libvirt/images/disk-d-c.img,if=none,id=drive-virtio-disk106,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-d-c.img,format=raw,if=none,\
+id=drive-virtio-disk106 \
-device virtio-blk-pci,bus=pci.0,addr=0x15,drive=drive-virtio-disk106,\
id=virtio-disk106 \
--drive file=/var/lib/libvirt/images/disk-d-d.img,if=none,id=drive-virtio-disk107,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-d-d.img,format=raw,if=none,\
+id=drive-virtio-disk107 \
-device virtio-blk-pci,bus=pci.0,addr=0x16,drive=drive-virtio-disk107,\
id=virtio-disk107 \
--drive file=/var/lib/libvirt/images/disk-e-a.img,if=none,id=drive-virtio-disk130,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-e-a.img,format=raw,if=none,\
+id=drive-virtio-disk130 \
-device virtio-blk-pci,bus=pci.0,addr=0x17,drive=drive-virtio-disk130,\
id=virtio-disk130 \
--drive file=/var/lib/libvirt/images/disk-e-b.img,if=none,id=drive-virtio-disk131,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-e-b.img,format=raw,if=none,\
+id=drive-virtio-disk131 \
-device virtio-blk-pci,bus=pci.0,addr=0x18,drive=drive-virtio-disk131,\
id=virtio-disk131 \
--drive file=/var/lib/libvirt/images/disk-e-c.img,if=none,id=drive-virtio-disk132,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-e-c.img,format=raw,if=none,\
+id=drive-virtio-disk132 \
-device virtio-blk-pci,bus=pci.0,addr=0x19,drive=drive-virtio-disk132,\
id=virtio-disk132 \
--drive file=/var/lib/libvirt/images/disk-e-d.img,if=none,id=drive-virtio-disk133,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-e-d.img,format=raw,if=none,\
+id=drive-virtio-disk133 \
-device virtio-blk-pci,bus=pci.0,addr=0x1a,drive=drive-virtio-disk133,\
id=virtio-disk133 \
--drive file=/var/lib/libvirt/images/disk-f-a.img,if=none,id=drive-virtio-disk156,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-f-a.img,format=raw,if=none,\
+id=drive-virtio-disk156 \
-device virtio-blk-pci,bus=pci.0,addr=0x1b,drive=drive-virtio-disk156,\
id=virtio-disk156 \
--drive file=/var/lib/libvirt/images/disk-f-b.img,if=none,id=drive-virtio-disk157,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-f-b.img,format=raw,if=none,\
+id=drive-virtio-disk157 \
-device virtio-blk-pci,bus=pci.0,addr=0x1c,drive=drive-virtio-disk157,\
id=virtio-disk157 \
--drive file=/var/lib/libvirt/images/disk-f-c.img,if=none,id=drive-virtio-disk158,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-f-c.img,format=raw,if=none,\
+id=drive-virtio-disk158 \
-device virtio-blk-pci,bus=pci.0,addr=0x1d,drive=drive-virtio-disk158,\
id=virtio-disk158 \
--drive file=/var/lib/libvirt/images/disk-f-d.img,if=none,id=drive-virtio-disk159,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-f-d.img,format=raw,if=none,\
+id=drive-virtio-disk159 \
-device virtio-blk-pci,bus=pci.0,addr=0x1e,drive=drive-virtio-disk159,\
id=virtio-disk159 \
--drive file=/var/lib/libvirt/images/disk-g-a.img,if=none,id=drive-virtio-disk182,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-g-a.img,format=raw,if=none,\
+id=drive-virtio-disk182 \
-device virtio-blk-pci,bus=pci.0,addr=0x1f,drive=drive-virtio-disk182,\
id=virtio-disk182 \
--drive file=/var/lib/libvirt/images/disk-g-b.img,if=none,id=drive-virtio-disk183,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-g-b.img,format=raw,if=none,\
+id=drive-virtio-disk183 \
-device virtio-blk-pci,bus=pci.1,addr=0x1,drive=drive-virtio-disk183,\
id=virtio-disk183 \
--drive file=/var/lib/libvirt/images/disk-g-c.img,if=none,id=drive-virtio-disk184,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-g-c.img,format=raw,if=none,\
+id=drive-virtio-disk184 \
-device virtio-blk-pci,bus=pci.1,addr=0x2,drive=drive-virtio-disk184,\
id=virtio-disk184 \
--drive file=/var/lib/libvirt/images/disk-g-d.img,if=none,id=drive-virtio-disk185,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-g-d.img,format=raw,if=none,\
+id=drive-virtio-disk185 \
-device virtio-blk-pci,bus=pci.1,addr=0x3,drive=drive-virtio-disk185,\
id=virtio-disk185 \
--drive file=/var/lib/libvirt/images/disk-h-a.img,if=none,id=drive-virtio-disk208,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-h-a.img,format=raw,if=none,\
+id=drive-virtio-disk208 \
-device virtio-blk-pci,bus=pci.1,addr=0x4,drive=drive-virtio-disk208,\
id=virtio-disk208 \
--drive file=/var/lib/libvirt/images/disk-h-b.img,if=none,id=drive-virtio-disk209,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-h-b.img,format=raw,if=none,\
+id=drive-virtio-disk209 \
-device virtio-blk-pci,bus=pci.1,addr=0x5,drive=drive-virtio-disk209,\
id=virtio-disk209 \
--drive file=/var/lib/libvirt/images/disk-h-c.img,if=none,id=drive-virtio-disk210,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-h-c.img,format=raw,if=none,\
+id=drive-virtio-disk210 \
-device virtio-blk-pci,bus=pci.1,addr=0x6,drive=drive-virtio-disk210,\
id=virtio-disk210 \
--drive file=/var/lib/libvirt/images/disk-h-d.img,if=none,id=drive-virtio-disk211,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-h-d.img,format=raw,if=none,\
+id=drive-virtio-disk211 \
-device virtio-blk-pci,bus=pci.1,addr=0x7,drive=drive-virtio-disk211,\
id=virtio-disk211 \
--drive file=/var/lib/libvirt/images/disk-i-a.img,if=none,id=drive-virtio-disk234,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-i-a.img,format=raw,if=none,\
+id=drive-virtio-disk234 \
-device virtio-blk-pci,bus=pci.1,addr=0x8,drive=drive-virtio-disk234,\
id=virtio-disk234 \
--drive file=/var/lib/libvirt/images/disk-i-b.img,if=none,id=drive-virtio-disk235,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-i-b.img,format=raw,if=none,\
+id=drive-virtio-disk235 \
-device virtio-blk-pci,bus=pci.1,addr=0x9,drive=drive-virtio-disk235,\
id=virtio-disk235 \
--drive file=/var/lib/libvirt/images/disk-i-c.img,if=none,id=drive-virtio-disk236,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-i-c.img,format=raw,if=none,\
+id=drive-virtio-disk236 \
-device virtio-blk-pci,bus=pci.1,addr=0xa,drive=drive-virtio-disk236,\
id=virtio-disk236 \
--drive file=/var/lib/libvirt/images/disk-i-d.img,if=none,id=drive-virtio-disk237,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-i-d.img,format=raw,if=none,\
+id=drive-virtio-disk237 \
-device virtio-blk-pci,bus=pci.1,addr=0xb,drive=drive-virtio-disk237,\
id=virtio-disk237 \
--drive file=/var/lib/libvirt/images/disk-j-a.img,if=none,id=drive-virtio-disk260,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-j-a.img,format=raw,if=none,\
+id=drive-virtio-disk260 \
-device virtio-blk-pci,bus=pci.1,addr=0xc,drive=drive-virtio-disk260,\
id=virtio-disk260 \
--drive file=/var/lib/libvirt/images/disk-j-b.img,if=none,id=drive-virtio-disk261,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-j-b.img,format=raw,if=none,\
+id=drive-virtio-disk261 \
-device virtio-blk-pci,bus=pci.1,addr=0xd,drive=drive-virtio-disk261,\
id=virtio-disk261 \
--drive file=/var/lib/libvirt/images/disk-j-c.img,if=none,id=drive-virtio-disk262,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-j-c.img,format=raw,if=none,\
+id=drive-virtio-disk262 \
-device virtio-blk-pci,bus=pci.1,addr=0xe,drive=drive-virtio-disk262,\
id=virtio-disk262 \
--drive file=/var/lib/libvirt/images/disk-j-d.img,if=none,id=drive-virtio-disk263,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-j-d.img,format=raw,if=none,\
+id=drive-virtio-disk263 \
-device virtio-blk-pci,bus=pci.1,addr=0xf,drive=drive-virtio-disk263,\
id=virtio-disk263 \
--drive file=/var/lib/libvirt/images/disk-k-a.img,if=none,id=drive-virtio-disk286,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-k-a.img,format=raw,if=none,\
+id=drive-virtio-disk286 \
-device virtio-blk-pci,bus=pci.1,addr=0x10,drive=drive-virtio-disk286,\
id=virtio-disk286 \
--drive file=/var/lib/libvirt/images/disk-k-b.img,if=none,id=drive-virtio-disk287,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-k-b.img,format=raw,if=none,\
+id=drive-virtio-disk287 \
-device virtio-blk-pci,bus=pci.1,addr=0x11,drive=drive-virtio-disk287,\
id=virtio-disk287 \
--drive file=/var/lib/libvirt/images/disk-k-c.img,if=none,id=drive-virtio-disk288,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-k-c.img,format=raw,if=none,\
+id=drive-virtio-disk288 \
-device virtio-blk-pci,bus=pci.1,addr=0x12,drive=drive-virtio-disk288,\
id=virtio-disk288 \
--drive file=/var/lib/libvirt/images/disk-k-d.img,if=none,id=drive-virtio-disk289,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-k-d.img,format=raw,if=none,\
+id=drive-virtio-disk289 \
-device virtio-blk-pci,bus=pci.1,addr=0x13,drive=drive-virtio-disk289,\
id=virtio-disk289 \
--drive file=/var/lib/libvirt/images/disk-l-a.img,if=none,id=drive-virtio-disk312,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-l-a.img,format=raw,if=none,\
+id=drive-virtio-disk312 \
-device virtio-blk-pci,bus=pci.1,addr=0x14,drive=drive-virtio-disk312,\
id=virtio-disk312 \
--drive file=/var/lib/libvirt/images/disk-l-b.img,if=none,id=drive-virtio-disk313,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-l-b.img,format=raw,if=none,\
+id=drive-virtio-disk313 \
-device virtio-blk-pci,bus=pci.1,addr=0x15,drive=drive-virtio-disk313,\
id=virtio-disk313 \
--drive file=/var/lib/libvirt/images/disk-l-c.img,if=none,id=drive-virtio-disk314,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-l-c.img,format=raw,if=none,\
+id=drive-virtio-disk314 \
-device virtio-blk-pci,bus=pci.1,addr=0x16,drive=drive-virtio-disk314,\
id=virtio-disk314 \
--drive file=/var/lib/libvirt/images/disk-l-d.img,if=none,id=drive-virtio-disk315,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-l-d.img,format=raw,if=none,\
+id=drive-virtio-disk315 \
-device virtio-blk-pci,bus=pci.1,addr=0x17,drive=drive-virtio-disk315,\
id=virtio-disk315 \
--drive file=/var/lib/libvirt/images/disk-m-a.img,if=none,id=drive-virtio-disk338,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-m-a.img,format=raw,if=none,\
+id=drive-virtio-disk338 \
-device virtio-blk-pci,bus=pci.1,addr=0x18,drive=drive-virtio-disk338,\
id=virtio-disk338 \
--drive file=/var/lib/libvirt/images/disk-m-b.img,if=none,id=drive-virtio-disk339,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-m-b.img,format=raw,if=none,\
+id=drive-virtio-disk339 \
-device virtio-blk-pci,bus=pci.1,addr=0x19,drive=drive-virtio-disk339,\
id=virtio-disk339 \
--drive file=/var/lib/libvirt/images/disk-m-c.img,if=none,id=drive-virtio-disk340,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-m-c.img,format=raw,if=none,\
+id=drive-virtio-disk340 \
-device virtio-blk-pci,bus=pci.1,addr=0x1a,drive=drive-virtio-disk340,\
id=virtio-disk340 \
--drive file=/var/lib/libvirt/images/disk-m-d.img,if=none,id=drive-virtio-disk341,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-m-d.img,format=raw,if=none,\
+id=drive-virtio-disk341 \
-device virtio-blk-pci,bus=pci.1,addr=0x1b,drive=drive-virtio-disk341,\
id=virtio-disk341 \
--drive file=/var/lib/libvirt/images/disk-n-a.img,if=none,id=drive-virtio-disk364,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-n-a.img,format=raw,if=none,\
+id=drive-virtio-disk364 \
-device virtio-blk-pci,bus=pci.1,addr=0x1c,drive=drive-virtio-disk364,\
id=virtio-disk364 \
--drive file=/var/lib/libvirt/images/disk-n-b.img,if=none,id=drive-virtio-disk365,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-n-b.img,format=raw,if=none,\
+id=drive-virtio-disk365 \
-device virtio-blk-pci,bus=pci.1,addr=0x1d,drive=drive-virtio-disk365,\
id=virtio-disk365 \
--drive file=/var/lib/libvirt/images/disk-n-c.img,if=none,id=drive-virtio-disk366,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-n-c.img,format=raw,if=none,\
+id=drive-virtio-disk366 \
-device virtio-blk-pci,bus=pci.1,addr=0x1e,drive=drive-virtio-disk366,\
id=virtio-disk366 \
--drive file=/var/lib/libvirt/images/disk-n-d.img,if=none,id=drive-virtio-disk367,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-n-d.img,format=raw,if=none,\
+id=drive-virtio-disk367 \
-device virtio-blk-pci,bus=pci.1,addr=0x1f,drive=drive-virtio-disk367,\
id=virtio-disk367 \
--drive file=/var/lib/libvirt/images/disk-o-a.img,if=none,id=drive-virtio-disk390,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-o-a.img,format=raw,if=none,\
+id=drive-virtio-disk390 \
-device virtio-blk-pci,bus=pci.2,addr=0x1,drive=drive-virtio-disk390,\
id=virtio-disk390 \
--drive file=/var/lib/libvirt/images/disk-o-b.img,if=none,id=drive-virtio-disk391,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-o-b.img,format=raw,if=none,\
+id=drive-virtio-disk391 \
-device virtio-blk-pci,bus=pci.2,addr=0x2,drive=drive-virtio-disk391,\
id=virtio-disk391 \
--drive file=/var/lib/libvirt/images/disk-o-c.img,if=none,id=drive-virtio-disk392,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-o-c.img,format=raw,if=none,\
+id=drive-virtio-disk392 \
-device virtio-blk-pci,bus=pci.2,addr=0x3,drive=drive-virtio-disk392,\
id=virtio-disk392 \
--drive file=/var/lib/libvirt/images/disk-o-d.img,if=none,id=drive-virtio-disk393,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-o-d.img,format=raw,if=none,\
+id=drive-virtio-disk393 \
-device virtio-blk-pci,bus=pci.2,addr=0x4,drive=drive-virtio-disk393,\
id=virtio-disk393 \
--drive file=/var/lib/libvirt/images/disk-p-a.img,if=none,id=drive-virtio-disk416,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-p-a.img,format=raw,if=none,\
+id=drive-virtio-disk416 \
-device virtio-blk-pci,bus=pci.2,addr=0x5,drive=drive-virtio-disk416,\
id=virtio-disk416 \
--drive file=/var/lib/libvirt/images/disk-p-b.img,if=none,id=drive-virtio-disk417,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-p-b.img,format=raw,if=none,\
+id=drive-virtio-disk417 \
-device virtio-blk-pci,bus=pci.2,addr=0x6,drive=drive-virtio-disk417,\
id=virtio-disk417 \
--drive file=/var/lib/libvirt/images/disk-p-c.img,if=none,id=drive-virtio-disk418,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-p-c.img,format=raw,if=none,\
+id=drive-virtio-disk418 \
-device virtio-blk-pci,bus=pci.2,addr=0x7,drive=drive-virtio-disk418,\
id=virtio-disk418 \
--drive file=/var/lib/libvirt/images/disk-p-d.img,if=none,id=drive-virtio-disk419,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-p-d.img,format=raw,if=none,\
+id=drive-virtio-disk419 \
-device virtio-blk-pci,bus=pci.2,addr=0x8,drive=drive-virtio-disk419,\
id=virtio-disk419 \
--drive file=/var/lib/libvirt/images/disk-q-a.img,if=none,id=drive-virtio-disk442,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-q-a.img,format=raw,if=none,\
+id=drive-virtio-disk442 \
-device virtio-blk-pci,bus=pci.2,addr=0x9,drive=drive-virtio-disk442,\
id=virtio-disk442 \
--drive file=/var/lib/libvirt/images/disk-q-b.img,if=none,id=drive-virtio-disk443,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-q-b.img,format=raw,if=none,\
+id=drive-virtio-disk443 \
-device virtio-blk-pci,bus=pci.2,addr=0xa,drive=drive-virtio-disk443,\
id=virtio-disk443 \
--drive file=/var/lib/libvirt/images/disk-q-c.img,if=none,id=drive-virtio-disk444,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-q-c.img,format=raw,if=none,\
+id=drive-virtio-disk444 \
-device virtio-blk-pci,bus=pci.2,addr=0xb,drive=drive-virtio-disk444,\
id=virtio-disk444 \
--drive file=/var/lib/libvirt/images/disk-q-d.img,if=none,id=drive-virtio-disk445,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-q-d.img,format=raw,if=none,\
+id=drive-virtio-disk445 \
-device virtio-blk-pci,bus=pci.2,addr=0xc,drive=drive-virtio-disk445,\
id=virtio-disk445 \
--drive file=/var/lib/libvirt/images/disk-r-a.img,if=none,id=drive-virtio-disk468,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-r-a.img,format=raw,if=none,\
+id=drive-virtio-disk468 \
-device virtio-blk-pci,bus=pci.2,addr=0xd,drive=drive-virtio-disk468,\
id=virtio-disk468 \
--drive file=/var/lib/libvirt/images/disk-r-b.img,if=none,id=drive-virtio-disk469,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-r-b.img,format=raw,if=none,\
+id=drive-virtio-disk469 \
-device virtio-blk-pci,bus=pci.2,addr=0xe,drive=drive-virtio-disk469,\
id=virtio-disk469 \
--drive file=/var/lib/libvirt/images/disk-r-c.img,if=none,id=drive-virtio-disk470,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-r-c.img,format=raw,if=none,\
+id=drive-virtio-disk470 \
-device virtio-blk-pci,bus=pci.2,addr=0xf,drive=drive-virtio-disk470,\
id=virtio-disk470 \
--drive file=/var/lib/libvirt/images/disk-r-d.img,if=none,id=drive-virtio-disk471,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-r-d.img,format=raw,if=none,\
+id=drive-virtio-disk471 \
-device virtio-blk-pci,bus=pci.2,addr=0x10,drive=drive-virtio-disk471,\
id=virtio-disk471 \
--drive file=/var/lib/libvirt/images/disk-s-a.img,if=none,id=drive-virtio-disk494,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-s-a.img,format=raw,if=none,\
+id=drive-virtio-disk494 \
-device virtio-blk-pci,bus=pci.2,addr=0x11,drive=drive-virtio-disk494,\
id=virtio-disk494 \
--drive file=/var/lib/libvirt/images/disk-s-b.img,if=none,id=drive-virtio-disk495,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-s-b.img,format=raw,if=none,\
+id=drive-virtio-disk495 \
-device virtio-blk-pci,bus=pci.2,addr=0x12,drive=drive-virtio-disk495,\
id=virtio-disk495 \
--drive file=/var/lib/libvirt/images/disk-s-c.img,if=none,id=drive-virtio-disk496,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-s-c.img,format=raw,if=none,\
+id=drive-virtio-disk496 \
-device virtio-blk-pci,bus=pci.2,addr=0x13,drive=drive-virtio-disk496,\
id=virtio-disk496 \
--drive file=/var/lib/libvirt/images/disk-s-d.img,if=none,id=drive-virtio-disk497,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-s-d.img,format=raw,if=none,\
+id=drive-virtio-disk497 \
-device virtio-blk-pci,bus=pci.2,addr=0x14,drive=drive-virtio-disk497,\
id=virtio-disk497 \
--drive file=/var/lib/libvirt/images/disk-t-a.img,if=none,id=drive-virtio-disk520,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-t-a.img,format=raw,if=none,\
+id=drive-virtio-disk520 \
-device virtio-blk-pci,bus=pci.2,addr=0x15,drive=drive-virtio-disk520,\
id=virtio-disk520 \
--drive file=/var/lib/libvirt/images/disk-t-b.img,if=none,id=drive-virtio-disk521,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-t-b.img,format=raw,if=none,\
+id=drive-virtio-disk521 \
-device virtio-blk-pci,bus=pci.2,addr=0x16,drive=drive-virtio-disk521,\
id=virtio-disk521 \
--drive file=/var/lib/libvirt/images/disk-t-c.img,if=none,id=drive-virtio-disk522,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-t-c.img,format=raw,if=none,\
+id=drive-virtio-disk522 \
-device virtio-blk-pci,bus=pci.2,addr=0x17,drive=drive-virtio-disk522,\
id=virtio-disk522 \
--drive file=/var/lib/libvirt/images/disk-t-d.img,if=none,id=drive-virtio-disk523,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-t-d.img,format=raw,if=none,\
+id=drive-virtio-disk523 \
-device virtio-blk-pci,bus=pci.2,addr=0x18,drive=drive-virtio-disk523,\
id=virtio-disk523 \
--drive file=/var/lib/libvirt/images/disk-u-a.img,if=none,id=drive-virtio-disk546,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-u-a.img,format=raw,if=none,\
+id=drive-virtio-disk546 \
-device virtio-blk-pci,bus=pci.2,addr=0x19,drive=drive-virtio-disk546,\
id=virtio-disk546 \
--drive file=/var/lib/libvirt/images/disk-u-b.img,if=none,id=drive-virtio-disk547,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-u-b.img,format=raw,if=none,\
+id=drive-virtio-disk547 \
-device virtio-blk-pci,bus=pci.2,addr=0x1a,drive=drive-virtio-disk547,\
id=virtio-disk547 \
--drive file=/var/lib/libvirt/images/disk-u-c.img,if=none,id=drive-virtio-disk548,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-u-c.img,format=raw,if=none,\
+id=drive-virtio-disk548 \
-device virtio-blk-pci,bus=pci.2,addr=0x1b,drive=drive-virtio-disk548,\
id=virtio-disk548 \
--drive file=/var/lib/libvirt/images/disk-u-d.img,if=none,id=drive-virtio-disk549,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-u-d.img,format=raw,if=none,\
+id=drive-virtio-disk549 \
-device virtio-blk-pci,bus=pci.2,addr=0x1c,drive=drive-virtio-disk549,\
id=virtio-disk549 \
--drive file=/var/lib/libvirt/images/disk-v-a.img,if=none,id=drive-virtio-disk572,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-v-a.img,format=raw,if=none,\
+id=drive-virtio-disk572 \
-device virtio-blk-pci,bus=pci.2,addr=0x1d,drive=drive-virtio-disk572,\
id=virtio-disk572 \
--drive file=/var/lib/libvirt/images/disk-v-b.img,if=none,id=drive-virtio-disk573,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-v-b.img,format=raw,if=none,\
+id=drive-virtio-disk573 \
-device virtio-blk-pci,bus=pci.2,addr=0x1e,drive=drive-virtio-disk573,\
id=virtio-disk573 \
--drive file=/var/lib/libvirt/images/disk-v-c.img,if=none,id=drive-virtio-disk574,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-v-c.img,format=raw,if=none,\
+id=drive-virtio-disk574 \
-device virtio-blk-pci,bus=pci.2,addr=0x1f,drive=drive-virtio-disk574,\
id=virtio-disk574 \
--drive file=/var/lib/libvirt/images/disk-v-d.img,if=none,id=drive-virtio-disk575,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-v-d.img,format=raw,if=none,\
+id=drive-virtio-disk575 \
-device virtio-blk-pci,bus=pci.3,addr=0x1,drive=drive-virtio-disk575,\
id=virtio-disk575 \
--drive file=/var/lib/libvirt/images/disk-w-a.img,if=none,id=drive-virtio-disk598,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-w-a.img,format=raw,if=none,\
+id=drive-virtio-disk598 \
-device virtio-blk-pci,bus=pci.3,addr=0x2,drive=drive-virtio-disk598,\
id=virtio-disk598 \
--drive file=/var/lib/libvirt/images/disk-w-b.img,if=none,id=drive-virtio-disk599,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-w-b.img,format=raw,if=none,\
+id=drive-virtio-disk599 \
-device virtio-blk-pci,bus=pci.3,addr=0x3,drive=drive-virtio-disk599,\
id=virtio-disk599 \
--drive file=/var/lib/libvirt/images/disk-w-c.img,if=none,id=drive-virtio-disk600,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-w-c.img,format=raw,if=none,\
+id=drive-virtio-disk600 \
-device virtio-blk-pci,bus=pci.3,addr=0x4,drive=drive-virtio-disk600,\
id=virtio-disk600 \
--drive file=/var/lib/libvirt/images/disk-w-d.img,if=none,id=drive-virtio-disk601,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-w-d.img,format=raw,if=none,\
+id=drive-virtio-disk601 \
-device virtio-blk-pci,bus=pci.3,addr=0x5,drive=drive-virtio-disk601,\
id=virtio-disk601 \
--drive file=/var/lib/libvirt/images/disk-x-a.img,if=none,id=drive-virtio-disk624,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-x-a.img,format=raw,if=none,\
+id=drive-virtio-disk624 \
-device virtio-blk-pci,bus=pci.3,addr=0x6,drive=drive-virtio-disk624,\
id=virtio-disk624 \
--drive file=/var/lib/libvirt/images/disk-x-b.img,if=none,id=drive-virtio-disk625,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-x-b.img,format=raw,if=none,\
+id=drive-virtio-disk625 \
-device virtio-blk-pci,bus=pci.3,addr=0x7,drive=drive-virtio-disk625,\
id=virtio-disk625 \
--drive file=/var/lib/libvirt/images/disk-x-c.img,if=none,id=drive-virtio-disk626,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-x-c.img,format=raw,if=none,\
+id=drive-virtio-disk626 \
-device virtio-blk-pci,bus=pci.3,addr=0x8,drive=drive-virtio-disk626,\
id=virtio-disk626 \
--drive file=/var/lib/libvirt/images/disk-x-d.img,if=none,id=drive-virtio-disk627,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-x-d.img,format=raw,if=none,\
+id=drive-virtio-disk627 \
-device virtio-blk-pci,bus=pci.3,addr=0x9,drive=drive-virtio-disk627,\
id=virtio-disk627 \
--drive file=/var/lib/libvirt/images/disk-y-a.img,if=none,id=drive-virtio-disk650,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-y-a.img,format=raw,if=none,\
+id=drive-virtio-disk650 \
-device virtio-blk-pci,bus=pci.3,addr=0xa,drive=drive-virtio-disk650,\
id=virtio-disk650 \
--drive file=/var/lib/libvirt/images/disk-y-b.img,if=none,id=drive-virtio-disk651,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-y-b.img,format=raw,if=none,\
+id=drive-virtio-disk651 \
-device virtio-blk-pci,bus=pci.3,addr=0xb,drive=drive-virtio-disk651,\
id=virtio-disk651 \
--drive file=/var/lib/libvirt/images/disk-y-c.img,if=none,id=drive-virtio-disk652,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-y-c.img,format=raw,if=none,\
+id=drive-virtio-disk652 \
-device virtio-blk-pci,bus=pci.3,addr=0xc,drive=drive-virtio-disk652,\
id=virtio-disk652 \
--drive file=/var/lib/libvirt/images/disk-y-d.img,if=none,id=drive-virtio-disk653,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-y-d.img,format=raw,if=none,\
+id=drive-virtio-disk653 \
-device virtio-blk-pci,bus=pci.3,addr=0xd,drive=drive-virtio-disk653,\
id=virtio-disk653 \
--drive file=/var/lib/libvirt/images/disk-z-a.img,if=none,id=drive-virtio-disk676,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-z-a.img,format=raw,if=none,\
+id=drive-virtio-disk676 \
-device virtio-blk-pci,bus=pci.3,addr=0xe,drive=drive-virtio-disk676,\
id=virtio-disk676 \
--drive file=/var/lib/libvirt/images/disk-z-b.img,if=none,id=drive-virtio-disk677,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-z-b.img,format=raw,if=none,\
+id=drive-virtio-disk677 \
-device virtio-blk-pci,bus=pci.3,addr=0xf,drive=drive-virtio-disk677,\
id=virtio-disk677 \
--drive file=/var/lib/libvirt/images/disk-z-c.img,if=none,id=drive-virtio-disk678,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-z-c.img,format=raw,if=none,\
+id=drive-virtio-disk678 \
-device virtio-blk-pci,bus=pci.3,addr=0x10,drive=drive-virtio-disk678,\
id=virtio-disk678 \
--drive file=/var/lib/libvirt/images/disk-z-d.img,if=none,id=drive-virtio-disk679,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-z-d.img,format=raw,if=none,\
+id=drive-virtio-disk679 \
-device virtio-blk-pci,bus=pci.3,addr=0x11,drive=drive-virtio-disk679,\
id=virtio-disk679
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pci-many.args b/tests/qemuxml2argvdata/qemuxml2argv-pci-many.args
index 4c9a69c..3908504 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pci-many.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pci-many.args
@@ -16,118 +16,118 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \
-boot c \
-usb \
--drive file=/var/iso/f18kde.iso,if=none,media=cdrom,id=drive-ide0-1-0,format=raw \
+-drive file=/var/iso/f18kde.iso,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
--drive file=/var/lib/libvirt/images/test.img,if=none,id=drive-virtio-disk0,\
-format=raw \
+-drive file=/var/lib/libvirt/images/test.img,format=raw,if=none,\
+id=drive-virtio-disk0 \
-device virtio-blk-pci,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,\
id=virtio-disk0 \
--drive file=/var/lib/libvirt/images/test1.img,if=none,id=drive-virtio-disk1,\
-format=raw \
+-drive file=/var/lib/libvirt/images/test1.img,format=raw,if=none,\
+id=drive-virtio-disk1 \
-device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk1,\
id=virtio-disk1 \
--drive file=/var/lib/libvirt/images/disk-a-a.img,if=none,id=drive-virtio-disk26,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-a-a.img,format=raw,if=none,\
+id=drive-virtio-disk26 \
-device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk26,\
id=virtio-disk26 \
--drive file=/var/lib/libvirt/images/disk-a-b.img,if=none,id=drive-virtio-disk27,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-a-b.img,format=raw,if=none,\
+id=drive-virtio-disk27 \
-device virtio-blk-pci,bus=pci.0,addr=0x7,drive=drive-virtio-disk27,\
id=virtio-disk27 \
--drive file=/var/lib/libvirt/images/disk-a-c.img,if=none,id=drive-virtio-disk28,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-a-c.img,format=raw,if=none,\
+id=drive-virtio-disk28 \
-device virtio-blk-pci,bus=pci.0,addr=0x8,drive=drive-virtio-disk28,\
id=virtio-disk28 \
--drive file=/var/lib/libvirt/images/disk-a-d.img,if=none,id=drive-virtio-disk29,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-a-d.img,format=raw,if=none,\
+id=drive-virtio-disk29 \
-device virtio-blk-pci,bus=pci.0,addr=0x9,drive=drive-virtio-disk29,\
id=virtio-disk29 \
--drive file=/var/lib/libvirt/images/disk-b-a.img,if=none,id=drive-virtio-disk52,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-b-a.img,format=raw,if=none,\
+id=drive-virtio-disk52 \
-device virtio-blk-pci,bus=pci.0,addr=0xa,drive=drive-virtio-disk52,\
id=virtio-disk52 \
--drive file=/var/lib/libvirt/images/disk-b-b.img,if=none,id=drive-virtio-disk53,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-b-b.img,format=raw,if=none,\
+id=drive-virtio-disk53 \
-device virtio-blk-pci,bus=pci.0,addr=0xb,drive=drive-virtio-disk53,\
id=virtio-disk53 \
--drive file=/var/lib/libvirt/images/disk-b-c.img,if=none,id=drive-virtio-disk54,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-b-c.img,format=raw,if=none,\
+id=drive-virtio-disk54 \
-device virtio-blk-pci,bus=pci.0,addr=0xc,drive=drive-virtio-disk54,\
id=virtio-disk54 \
--drive file=/var/lib/libvirt/images/disk-b-d.img,if=none,id=drive-virtio-disk55,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-b-d.img,format=raw,if=none,\
+id=drive-virtio-disk55 \
-device virtio-blk-pci,bus=pci.0,addr=0xd,drive=drive-virtio-disk55,\
id=virtio-disk55 \
--drive file=/var/lib/libvirt/images/disk-c-a.img,if=none,id=drive-virtio-disk78,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-c-a.img,format=raw,if=none,\
+id=drive-virtio-disk78 \
-device virtio-blk-pci,bus=pci.0,addr=0xe,drive=drive-virtio-disk78,\
id=virtio-disk78 \
--drive file=/var/lib/libvirt/images/disk-c-b.img,if=none,id=drive-virtio-disk79,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-c-b.img,format=raw,if=none,\
+id=drive-virtio-disk79 \
-device virtio-blk-pci,bus=pci.0,addr=0xf,drive=drive-virtio-disk79,\
id=virtio-disk79 \
--drive file=/var/lib/libvirt/images/disk-c-c.img,if=none,id=drive-virtio-disk80,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-c-c.img,format=raw,if=none,\
+id=drive-virtio-disk80 \
-device virtio-blk-pci,bus=pci.0,addr=0x10,drive=drive-virtio-disk80,\
id=virtio-disk80 \
--drive file=/var/lib/libvirt/images/disk-c-d.img,if=none,id=drive-virtio-disk81,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-c-d.img,format=raw,if=none,\
+id=drive-virtio-disk81 \
-device virtio-blk-pci,bus=pci.0,addr=0x11,drive=drive-virtio-disk81,\
id=virtio-disk81 \
--drive file=/var/lib/libvirt/images/disk-d-a.img,if=none,id=drive-virtio-disk104,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-d-a.img,format=raw,if=none,\
+id=drive-virtio-disk104 \
-device virtio-blk-pci,bus=pci.0,addr=0x12,drive=drive-virtio-disk104,\
id=virtio-disk104 \
--drive file=/var/lib/libvirt/images/disk-d-b.img,if=none,id=drive-virtio-disk105,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-d-b.img,format=raw,if=none,\
+id=drive-virtio-disk105 \
-device virtio-blk-pci,bus=pci.0,addr=0x13,drive=drive-virtio-disk105,\
id=virtio-disk105 \
--drive file=/var/lib/libvirt/images/disk-d-c.img,if=none,id=drive-virtio-disk106,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-d-c.img,format=raw,if=none,\
+id=drive-virtio-disk106 \
-device virtio-blk-pci,bus=pci.0,addr=0x14,drive=drive-virtio-disk106,\
id=virtio-disk106 \
--drive file=/var/lib/libvirt/images/disk-d-d.img,if=none,id=drive-virtio-disk107,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-d-d.img,format=raw,if=none,\
+id=drive-virtio-disk107 \
-device virtio-blk-pci,bus=pci.0,addr=0x15,drive=drive-virtio-disk107,\
id=virtio-disk107 \
--drive file=/var/lib/libvirt/images/disk-e-a.img,if=none,id=drive-virtio-disk130,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-e-a.img,format=raw,if=none,\
+id=drive-virtio-disk130 \
-device virtio-blk-pci,bus=pci.0,addr=0x16,drive=drive-virtio-disk130,\
id=virtio-disk130 \
--drive file=/var/lib/libvirt/images/disk-e-b.img,if=none,id=drive-virtio-disk131,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-e-b.img,format=raw,if=none,\
+id=drive-virtio-disk131 \
-device virtio-blk-pci,bus=pci.0,addr=0x17,drive=drive-virtio-disk131,\
id=virtio-disk131 \
--drive file=/var/lib/libvirt/images/disk-e-c.img,if=none,id=drive-virtio-disk132,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-e-c.img,format=raw,if=none,\
+id=drive-virtio-disk132 \
-device virtio-blk-pci,bus=pci.0,addr=0x18,drive=drive-virtio-disk132,\
id=virtio-disk132 \
--drive file=/var/lib/libvirt/images/disk-e-d.img,if=none,id=drive-virtio-disk133,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-e-d.img,format=raw,if=none,\
+id=drive-virtio-disk133 \
-device virtio-blk-pci,bus=pci.0,addr=0x19,drive=drive-virtio-disk133,\
id=virtio-disk133 \
--drive file=/var/lib/libvirt/images/disk-f-a.img,if=none,id=drive-virtio-disk156,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-f-a.img,format=raw,if=none,\
+id=drive-virtio-disk156 \
-device virtio-blk-pci,bus=pci.0,addr=0x1a,drive=drive-virtio-disk156,\
id=virtio-disk156 \
--drive file=/var/lib/libvirt/images/disk-f-b.img,if=none,id=drive-virtio-disk157,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-f-b.img,format=raw,if=none,\
+id=drive-virtio-disk157 \
-device virtio-blk-pci,bus=pci.0,addr=0x1b,drive=drive-virtio-disk157,\
id=virtio-disk157 \
--drive file=/var/lib/libvirt/images/disk-f-c.img,if=none,id=drive-virtio-disk158,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-f-c.img,format=raw,if=none,\
+id=drive-virtio-disk158 \
-device virtio-blk-pci,bus=pci.0,addr=0x1c,drive=drive-virtio-disk158,\
id=virtio-disk158 \
--drive file=/var/lib/libvirt/images/disk-f-d.img,if=none,id=drive-virtio-disk159,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-f-d.img,format=raw,if=none,\
+id=drive-virtio-disk159 \
-device virtio-blk-pci,bus=pci.0,addr=0x1d,drive=drive-virtio-disk159,\
id=virtio-disk159 \
--drive file=/var/lib/libvirt/images/disk-g-a.img,if=none,id=drive-virtio-disk182,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-g-a.img,format=raw,if=none,\
+id=drive-virtio-disk182 \
-device virtio-blk-pci,bus=pci.0,addr=0x1e,drive=drive-virtio-disk182,\
id=virtio-disk182 \
--drive file=/var/lib/libvirt/images/disk-g-b.img,if=none,id=drive-virtio-disk183,\
-format=raw \
+-drive file=/var/lib/libvirt/images/disk-g-b.img,format=raw,if=none,\
+id=drive-virtio-disk183 \
-device virtio-blk-pci,bus=pci.0,addr=0x1f,drive=drive-virtio-disk183,\
id=virtio-disk183 \
-vga cirrus \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pci-rom.args b/tests/qemuxml2argvdata/qemuxml2argv-pci-rom.args
index 58f038c..1adf6b7 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pci-rom.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pci-rom.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device virtio-net-pci,vlan=0,id=net0,mac=52:54:00:24:a5:9f,bus=pci.0,addr=0x3,\
rombar=1 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pci-serial-dev-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-pci-serial-dev-chardev.args
index e7b9975..84e1a82 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pci-serial-dev-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pci-serial-dev-chardev.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev tty,id=charserial0,path=/dev/ttyS2 \
-device pci-serial,chardev=charserial0,id=serial0,bus=pci.0,addr=0x4 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pcie-root-port.args b/tests/qemuxml2argvdata/qemuxml2argv-pcie-root-port.args
index 2803835..10fc47b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pcie-root-port.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pcie-root-port.args
@@ -20,7 +20,7 @@ QEMU_AUDIO_DRV=none \
-device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 \
-device ioh3420,port=0x10,chassis=3,id=pci.3,bus=pcie.0,addr=0x2 \
-device ioh3420,port=0x1a,chassis=40,id=pci.4,bus=pcie.0,addr=0x3 \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-sata0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
-device ide-drive,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0 \
-vga qxl \
-global qxl-vga.ram_size=67108864 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pcie-switch-downstream-port.args b/tests/qemuxml2argvdata/qemuxml2argv-pcie-switch-downstream-port.args
index 3059e2d..a53dd00 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pcie-switch-downstream-port.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pcie-switch-downstream-port.args
@@ -28,7 +28,7 @@ QEMU_AUDIO_DRV=none \
-device xio3130-downstream,port=0x4,chassis=10,id=pci.10,bus=pci.4,addr=0x4 \
-device xio3130-downstream,port=0x5,chassis=11,id=pci.11,bus=pci.4,addr=0x5 \
-device xio3130-downstream,port=0x6,chassis=12,id=pci.12,bus=pci.4,addr=0x6 \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-sata0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
-device ide-drive,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0 \
-vga qxl \
-global qxl-vga.ram_size=67108864 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pcie-switch-upstream-port.args b/tests/qemuxml2argvdata/qemuxml2argv-pcie-switch-upstream-port.args
index 01c2693..e577ae6 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pcie-switch-upstream-port.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pcie-switch-upstream-port.args
@@ -22,7 +22,7 @@ QEMU_AUDIO_DRV=none \
-device ioh3420,port=0x18,chassis=4,id=pci.4,bus=pcie.0,addr=0x3 \
-device x3130-upstream,id=pci.5,bus=pci.3,addr=0x0 \
-device x3130-upstream,id=pci.6,bus=pci.4,addr=0x0 \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-sata0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
-device ide-drive,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0 \
-vga qxl \
-global qxl-vga.ram_size=67108864 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pcihole64-q35.args b/tests/qemuxml2argvdata/qemuxml2argv-pcihole64-q35.args
index cf20760..1e1cc0b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pcihole64-q35.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pcihole64-q35.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-global q35-pcihost.pci-hole64-size=1048576K \
-device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
-device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-sata0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
-device ide-drive,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0 \
-vga qxl \
-global qxl-vga.ram_size=67108864 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-user-assigned.args b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-user-assigned.args
index 413231b..44c6ab0 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-user-assigned.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-user-assigned.args
@@ -21,7 +21,7 @@ QEMU_AUDIO_DRV=none \
-device spapr-vscsi,id=scsi0,reg=0x2000 \
-device spapr-vscsi,id=scsi1,reg=0x30000000 \
-usb \
--drive file=/tmp/scsidisk.img,if=none,id=drive-scsi1-0-0-0,format=raw \
+-drive file=/tmp/scsidisk.img,format=raw,if=none,id=drive-scsi1-0-0-0 \
-device scsi-disk,bus=scsi1.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi1-0-0-0,\
id=scsi1-0-0-0 \
-chardev pty,id=charserial0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio.args b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio.args
index 5962d4a..eeebe50 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio.args
@@ -21,7 +21,7 @@ QEMU_AUDIO_DRV=none \
-device spapr-vscsi,id=scsi0,reg=0x2000 \
-device spapr-vscsi,id=scsi1,reg=0x3000 \
-usb \
--drive file=/tmp/scsidisk.img,if=none,id=drive-scsi1-0-0-0,format=raw \
+-drive file=/tmp/scsidisk.img,format=raw,if=none,id=drive-scsi1-0-0-0 \
-device scsi-disk,bus=scsi1.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi1-0-0-0,\
id=scsi1-0-0-0 \
-chardev pty,id=charserial0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-q35.args b/tests/qemuxml2argvdata/qemuxml2argv-q35.args
index 7020e60..efe6e69 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-q35.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-q35.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-boot c \
-device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
-device pci-bridge,chassis_nr=56,id=pci.2,bus=pci.1,addr=0x1 \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-sata0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
-device ide-drive,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0 \
-vga qxl \
-global qxl-vga.ram_size=67108864 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns0.args b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns0.args
index ba786b9..8d43bdb 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns0.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns0.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none ARGUMENT
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns1.args b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns1.args
index ba786b9..8d43bdb 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns1.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns1.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none ARGUMENT
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline.args b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline.args
index ba786b9..8d43bdb 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none ARGUMENT
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline-ns0.args b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline-ns0.args
index ba786b9..8d43bdb 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline-ns0.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline-ns0.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none ARGUMENT
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline.args b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline.args
index ba786b9..8d43bdb 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none ARGUMENT
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-ns0.args b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-ns0.args
index ba786b9..8d43bdb 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-ns0.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-ns0.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none ARGUMENT
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-no-env.args b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-no-env.args
index a022600..19dafcc 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-no-env.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-no-env.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns.args b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns.args
index b6f7627..a93938e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns.args
@@ -18,7 +18,7 @@ BAR='' \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-restore-v2-fd.args b/tests/qemuxml2argvdata/qemuxml2argv-restore-v2-fd.args
index a5e82fe..91bb8f4 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-restore-v2-fd.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-restore-v2-fd.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-restore-v2.args b/tests/qemuxml2argvdata/qemuxml2argv-restore-v2.args
index 44896c2..b3366b8 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-restore-v2.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-restore-v2.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-s390-allow-bogus-usb-controller.args b/tests/qemuxml2argvdata/qemuxml2argv-s390-allow-bogus-usb-controller.args
index 1b53ca9..a5c35cc 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-s390-allow-bogus-usb-controller.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-s390-allow-bogus-usb-controller.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-mon chardev=charmonitor,id=monitor,mode=readline \
-no-acpi \
-device virtio-serial-s390,id=virtio-serial0 \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-s390,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
-chardev pty,id=charconsole0 \
-device virtconsole,chardev=charconsole0,id=console0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-s390-allow-bogus-usb-none.args b/tests/qemuxml2argvdata/qemuxml2argv-s390-allow-bogus-usb-none.args
index 1b53ca9..a5c35cc 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-s390-allow-bogus-usb-none.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-s390-allow-bogus-usb-none.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-mon chardev=charmonitor,id=monitor,mode=readline \
-no-acpi \
-device virtio-serial-s390,id=virtio-serial0 \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-s390,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
-chardev pty,id=charconsole0 \
-device virtconsole,chardev=charconsole0,id=console0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dac-none.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dac-none.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dac-none.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dac-none.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-baselabel.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-baselabel.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-baselabel.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-baselabel.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-labelskip.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-labelskip.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-labelskip.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-labelskip.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.args
index 49709c3..6cfa48d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--drive file=/dev/HostVG/QEMUGuest2,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
+-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-relabel.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-relabel.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-relabel.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-relabel.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-none.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-none.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-none.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-none.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-labelskip.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-labelskip.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-labelskip.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-labelskip.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-relabel.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-relabel.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-relabel.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-relabel.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev-iobase.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev-iobase.args
index 1ad0975..61d957e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev-iobase.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev-iobase.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev tty,id=charserial0,path=/dev/ttyS2 \
-device isa-serial,chardev=charserial0,id=serial0,iobase=0x3f8,irq=0x4 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.args
index 0b5b488..559eb97 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev tty,id=charserial0,path=/dev/ttyS2 \
-device isa-serial,chardev=charserial0,id=serial0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-dev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-dev.args
index 778421e..9b75988 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-dev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-dev.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial /dev/ttyS2 \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.args
index 4345eb0..860994f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev file,id=charserial0,path=/tmp/serial.log,append=on \
-device isa-serial,chardev=charserial0,id=serial0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-file.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-file.args
index 14e07da..796b245 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-file.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-file.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial file:/tmp/serial.log \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.args
index 963fcdf..fb1fce4 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charserial0 \
-device isa-serial,chardev=charserial0,id=serial0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-many.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-many.args
index 8ab4d8c..d23cb32 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-many.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-many.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial pty \
-serial file:/tmp/serial.log \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.args
index 38b140c..23d5cc3 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charserial0 \
-device isa-serial,chardev=charserial0,id=serial0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-pty.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-pty.args
index a4e4df7..1adfde1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-pty.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-pty.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial pty \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport-nospice.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport-nospice.args
index 6f74a49..22d4776 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport-nospice.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport-nospice.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport.args
index 99aeccf..8041f0b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=spice \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev spiceport,id=charserial0,name=org.qemu.console.serial.0 \
-device isa-serial,chardev=charserial0,id=serial0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.args
index c589dc4..b415573 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev socket,id=charserial0,host=127.0.0.1,port=9999 \
-device isa-serial,chardev=charserial0,id=serial0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.args
index 806cd0a..ae564ab 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev socket,id=charserial0,host=127.0.0.1,port=9999,telnet,server,nowait \
-device isa-serial,chardev=charserial0,id=serial0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet.args
index 26e494a..a44caa1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial telnet:127.0.0.1:9999,server,nowait \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp.args
index dc0e722..e08ad0f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial tcp:127.0.0.1:9999 \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.args
index dcc1b90..f8e3487 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev udp,id=charserial0,host=127.0.0.1,port=9998,localaddr=127.0.0.1,\
localport=9999 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-udp.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-udp.args
index df4bf2d..b40adbf 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-udp.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-udp.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial udp:127.0.0.1:9998@127.0.0.1:9999 \
-serial udp::9999@:0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.args
index a427c51..9d28dc6 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev socket,id=charserial0,path=/tmp/serial.sock \
-device isa-serial,chardev=charserial0,id=serial0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-unix.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-unix.args
index 41e71cf..80961d0 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-unix.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-unix.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial unix:/tmp/serial.sock \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.args
index ad6d151..98f1021 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.args
@@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev vc,id=charserial0 \
-device isa-serial,chardev=charserial0,id=serial0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-vc.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-vc.args
index 72c1aaa..1acbbbc 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-vc.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-vc.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial vc \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-smbios.args b/tests/qemuxml2argvdata/qemuxml2argv-smbios.args
index 1d61a84..cd2a598 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-smbios.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-smbios.args
@@ -22,7 +22,7 @@ serial=CZC1065993,asset=CZC1065993,location=Upside down' \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-smp.args b/tests/qemuxml2argvdata/qemuxml2argv-smp.args
index 5ebbedd..ebaa83e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-smp.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-smp.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-sound-device.args b/tests/qemuxml2argvdata/qemuxml2argv-sound-device.args
index 5fea153..ab6e0da 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-sound-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-sound-device.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-soundhw pcspk \
-device ES1370,id=sound1,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-sound.args b/tests/qemuxml2argvdata/qemuxml2argv-sound.args
index 2d1e267..bc005d0 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-sound.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-sound.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-device-pciaddr-default.args b/tests/qemuxml2argvdata/qemuxml2argv-video-device-pciaddr-default.args
index 3116c4f..573bc9f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-device-pciaddr-default.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-device-pciaddr-default.args
@@ -16,8 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,if=none,id=drive-ide0-0-0,\
-format=qcow2,cache=none \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,\
+id=drive-ide0-0-0,cache=none \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-vnc 127.0.0.1:-5900 \
-device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,bus=pci.0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device-vgamem.args b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device-vgamem.args
index f85708c..96e3a58 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device-vgamem.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device-vgamem.args
@@ -17,8 +17,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,if=none,id=drive-ide0-0-0,\
-format=qcow2,cache=none \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,\
+id=drive-ide0-0-0,cache=none \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=16,\
bus=pci.0,addr=0x2 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device.args b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device.args
index ad5a775..495d807 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device.args
@@ -17,8 +17,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,if=none,id=drive-ide0-0-0,\
-format=qcow2,cache=none \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,\
+id=drive-ide0-0-0,cache=none \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,bus=pci.0,\
addr=0x2 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-nodevice.args b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-nodevice.args
index 8427c00..19cbea2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-nodevice.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-nodevice.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,if=ide,bus=0,unit=0,format=qcow2,\
+-drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=ide,bus=0,unit=0,\
cache=none \
-net none \
-serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device-vgamem.args b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device-vgamem.args
index 28dc75c..5d04de0 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device-vgamem.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device-vgamem.args
@@ -17,8 +17,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,if=none,id=drive-ide0-0-0,\
-format=qcow2,cache=none \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,\
+id=drive-ide0-0-0,cache=none \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=16,\
bus=pci.0,addr=0x2 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device.args b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device.args
index b7312c3..f4e9666 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device.args
@@ -17,8 +17,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,if=none,id=drive-ide0-0-0,\
-format=qcow2,cache=none \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,\
+id=drive-ide0-0-0,cache=none \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,bus=pci.0,\
addr=0x2 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-vga-device-vgamem.args b/tests/qemuxml2argvdata/qemuxml2argv-video-vga-device-vgamem.args
index 0935b7d..5a7e27f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-vga-device-vgamem.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-vga-device-vgamem.args
@@ -17,8 +17,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,if=none,id=drive-ide0-0-0,\
-format=qcow2,cache=none \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,\
+id=drive-ide0-0-0,cache=none \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device VGA,id=video0,vgamem_mb=16,bus=pci.0,addr=0x2 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-vga-device.args b/tests/qemuxml2argvdata/qemuxml2argv-video-vga-device.args
index 6a21a79..336a5de 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-vga-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-vga-device.args
@@ -17,8 +17,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,if=none,id=drive-ide0-0-0,\
-format=qcow2,cache=none \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,\
+id=drive-ide0-0-0,cache=none \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device VGA,id=video0,bus=pci.0,addr=0x2 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-vga-nodevice.args b/tests/qemuxml2argvdata/qemuxml2argv-video-vga-nodevice.args
index 27e5b4e..8af1a90 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-vga-nodevice.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-vga-nodevice.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,if=ide,bus=0,unit=0,format=qcow2,\
+-drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=ide,bus=0,unit=0,\
cache=none \
-net none \
-serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-virtio-gpu-device.args b/tests/qemuxml2argvdata/qemuxml2argv-video-virtio-gpu-device.args
index 8beb089..ac3efc5 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-virtio-gpu-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-virtio-gpu-device.args
@@ -17,8 +17,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,if=none,id=drive-ide0-0-0,\
-format=qcow2,cache=none \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,\
+id=drive-ide0-0-0,cache=none \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device virtio-vga,id=video0,bus=pci.0,addr=0x2 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-virtio-gpu-virgl.args b/tests/qemuxml2argvdata/qemuxml2argv-video-virtio-gpu-virgl.args
index 43fdd63..c15a353 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-virtio-gpu-virgl.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-virtio-gpu-virgl.args
@@ -17,8 +17,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,if=none,id=drive-ide0-0-0,\
-format=qcow2,cache=none \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,\
+id=drive-ide0-0-0,cache=none \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device virtio-vga,id=video0,virgl=on,bus=pci.0,addr=0x2 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-virtio-lun.args b/tests/qemuxml2argvdata/qemuxml2argv-virtio-lun.args
index 302c634..3bc28bf 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-virtio-lun.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-virtio-lun.args
@@ -18,10 +18,10 @@ QEMU_AUDIO_DRV=none \
-boot dc \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 \
-usb \
--drive file=/dev/sdfake,if=none,id=drive-virtio-disk0,format=qcow2 \
+-drive file=/dev/sdfake,format=qcow2,if=none,id=drive-virtio-disk0 \
-device virtio-blk-pci,scsi=on,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,\
id=virtio-disk0 \
--drive file=/dev/sdfake2,if=none,id=drive-virtio-disk1,format=qcow2 \
+-drive file=/dev/sdfake2,format=qcow2,if=none,id=drive-virtio-disk1 \
-device virtio-blk-pci,scsi=on,bus=pci.0,addr=0x5,drive=drive-virtio-disk1,\
id=virtio-disk1 \
-device virtio-net-pci,vlan=0,id=net0,mac=52:54:00:e5:48:58,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-ccw.args b/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-ccw.args
index 2591c3d..da31a74 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-ccw.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-ccw.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-mon chardev=charmonitor,id=monitor,mode=readline \
-no-acpi \
-device virtio-serial-ccw,id=virtio-serial0,devno=fe.0.0001 \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,\
bootindex=1 \
-chardev pty,id=charconsole0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-watchdog-device.args b/tests/qemuxml2argvdata/qemuxml2argv-watchdog-device.args
index 157f46b..265b616 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-watchdog-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-watchdog-device.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device ib700,id=watchdog0 \
-watchdog-action poweroff \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-watchdog-diag288.args b/tests/qemuxml2argvdata/qemuxml2argv-watchdog-diag288.args
index c320656..44a6a03 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-watchdog-diag288.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-watchdog-diag288.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-chardev socket,id=charmonitor,path=/tmp/test-monitor,server,nowait \
-mon chardev=charmonitor,id=monitor,mode=readline \
-no-acpi \
--drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
-device virtio-blk-s390,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
-device diag288,id=watchdog0 \
-watchdog-action inject-nmi
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-watchdog-dump.args b/tests/qemuxml2argvdata/qemuxml2argv-watchdog-dump.args
index ba12816..8240b3c 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-watchdog-dump.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-watchdog-dump.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-watchdog-injectnmi.args b/tests/qemuxml2argvdata/qemuxml2argv-watchdog-injectnmi.args
index 06af337..61114ec 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-watchdog-injectnmi.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-watchdog-injectnmi.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-watchdog.args b/tests/qemuxml2argvdata/qemuxml2argv-watchdog.args
index 6bd2f91..cb40337 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-watchdog.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-watchdog.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \
-boot c \
-usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
-net none \
-serial none \
-parallel none \
--
2.4.10
2
1
[libvirt] [PATCH] storage: Clean up error path for create buildPool failure
by John Ferlan 05 Jan '16
by John Ferlan 05 Jan '16
05 Jan '16
Commit id 'aeb1078ab' added a buildPool option and failure path which
calls virStoragePoolObjRemove, which unlocks the pool, clears the 'pool'
variable, and goto cleanup. However, at cleanup virStoragePoolObjUnlock
is called without check if pool is non NULL.
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/storage/storage_driver.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index 0bb577f..81c0b8c 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -930,7 +930,8 @@ storagePoolCreate(virStoragePoolPtr obj,
cleanup:
VIR_FREE(stateFile);
- virStoragePoolObjUnlock(pool);
+ if (pool)
+ virStoragePoolObjUnlock(pool);
return ret;
}
--
2.5.0
2
2
[libvirt] [PATCH] libvirt-domain: fix dxml passing in virDomainMigrateToURI2
by Ján Tomko 05 Jan '16
by Ján Tomko 05 Jan '16
05 Jan '16
The refactoring in commit a26669d silently ignored the dxml
parameter of virDomainMigrateToURI2.
https://bugzilla.redhat.com/show_bug.cgi?id=1295405
---
src/libvirt-domain.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index 970b0db..7290892 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c
@@ -4404,7 +4404,7 @@ virDomainMigrateToURI2(virDomainPtr domain,
else
dconnuri = NULL;
- if (virDomainMigrateUnmanaged(domain, NULL, flags,
+ if (virDomainMigrateUnmanaged(domain, dxml, flags,
dname, dconnuri, miguri, bandwidth) < 0)
goto error;
--
2.4.6
2
1
[libvirt] [PATCHv2] conf: rework code around 'append' attribute to make coverity happy
by Dmitry Mishin 05 Jan '16
by Dmitry Mishin 05 Jan '16
05 Jan '16
Additionally fixed condition to use proper type define, thanks to John Ferlan
Signed-off-by: Dmitry Mishin <dim(a)virtuozzo.com>
---
src/conf/domain_conf.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index f210c0b..9d47846 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -1723,10 +1723,11 @@ virDomainChrSourceDefCopy(virDomainChrSourceDefPtr dest,
switch (src->type) {
case VIR_DOMAIN_CHR_TYPE_FILE:
- dest->data.file.append = src->data.file.append;
case VIR_DOMAIN_CHR_TYPE_PTY:
case VIR_DOMAIN_CHR_TYPE_DEV:
case VIR_DOMAIN_CHR_TYPE_PIPE:
+ if (src->type == VIR_DOMAIN_CHR_TYPE_FILE)
+ dest->data.file.append = src->data.file.append;
if (VIR_STRDUP(dest->data.file.path, src->data.file.path) < 0)
return -1;
break;
@@ -9386,12 +9387,12 @@ virDomainChrSourceDefParseXML(virDomainChrSourceDefPtr def,
switch ((virDomainChrType) def->type) {
case VIR_DOMAIN_CHR_TYPE_FILE:
- if (!append)
- append = virXMLPropString(cur, "append");
case VIR_DOMAIN_CHR_TYPE_PTY:
case VIR_DOMAIN_CHR_TYPE_DEV:
case VIR_DOMAIN_CHR_TYPE_PIPE:
case VIR_DOMAIN_CHR_TYPE_UNIX:
+ if (!append && def->type == VIR_DOMAIN_CHR_TYPE_FILE)
+ append = virXMLPropString(cur, "append");
/* PTY path is only parsed from live xml. */
if (!path &&
(def->type != VIR_DOMAIN_CHR_TYPE_PTY ||
@@ -9476,15 +9477,15 @@ virDomainChrSourceDefParseXML(virDomainChrSourceDefPtr def,
break;
case VIR_DOMAIN_CHR_TYPE_FILE:
- if (append &&
+ case VIR_DOMAIN_CHR_TYPE_PTY:
+ case VIR_DOMAIN_CHR_TYPE_DEV:
+ case VIR_DOMAIN_CHR_TYPE_PIPE:
+ if (append && def->type == VIR_DOMAIN_CHR_TYPE_FILE &&
(def->data.file.append = virTristateSwitchTypeFromString(append)) <= 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Invalid append attribute value '%s'"), append);
goto error;
}
- case VIR_DOMAIN_CHR_TYPE_PTY:
- case VIR_DOMAIN_CHR_TYPE_DEV:
- case VIR_DOMAIN_CHR_TYPE_PIPE:
if (!path &&
def->type != VIR_DOMAIN_CHR_TYPE_PTY) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -20071,7 +20072,7 @@ virDomainChrSourceDefFormat(virBufferPtr buf,
virBufferEscapeString(buf, "<source path='%s'",
def->data.file.path);
if (def->type == VIR_DOMAIN_CHR_TYPE_FILE &&
- def->data.file.append)
+ def->data.file.append != VIR_TRISTATE_SWITCH_ABSENT)
virBufferAsprintf(buf, " append='%s'",
virTristateSwitchTypeToString(def->data.file.append));
virDomainSourceDefFormatSeclabel(buf, nseclabels, seclabels, flags);
--
1.8.3.1
2
1
[libvirt] [PATCH] docs: Describe new 'append' attribute for chardevs source
by Dmitry Mishin 05 Jan '16
by Dmitry Mishin 05 Jan '16
05 Jan '16
Signed-off-by: Dmitry Mishin <dim(a)virtuozzo.com>
---
docs/formatdomain.html.in | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index a8bd48e..9bbd548 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -5227,7 +5227,7 @@ qemu-kvm -net nic,model=? /dev/null
<target port='0'/>
</serial>
<serial type='file'>
- <source path='/tmp/file'>
+ <source path='/tmp/file' append='on'>
<seclabel model='dac' relabel='no'/>
</source>
<target port='0'/>
@@ -5264,6 +5264,14 @@ qemu-kvm -net nic,model=? /dev/null
</p>
<p>
+ If the interface presented to host is <code>file</code>, the
+ <code>source</code> element may contain an optional attribute
+ <code>append</code> that specifies whether or not the information in the
+ file should be preserved on domain restart. Allowed values are
+ <code>on</code> and <code>off</code> (default).
+ </p>
+
+ <p>
Each character device element has an optional
sub-element <code><address></code> which can tie the
device to a
--
1.8.3.1
2
1
The VIR_DOMAIN_STATS_VCPU flag to virDomainListGetStats
enables reporting of stats about vCPUs. Currently we
only report the cumulative CPU running time and the
execution state.
This adds reporting of the wait time - time the vCPU
wants to run, but the host schedular has something else
running ahead of it.
The data is reported per-vCPU eg
$ virsh domstats --vcpu demo
Domain: 'demo'
vcpu.current=4
vcpu.maximum=4
vcpu.0.state=1
vcpu.0.time=1420000000
vcpu.0.wait=18403928
vcpu.1.state=1
vcpu.1.time=130000000
vcpu.1.wait=10612111
vcpu.2.state=1
vcpu.2.time=110000000
vcpu.2.wait=12759501
vcpu.3.state=1
vcpu.3.time=90000000
vcpu.3.wait=21825087
In implementing this I notice our reporting of CPU execute
time has very poor granularity, since we are getting it
from /proc/$PID/stat. As a future enhancement we should
prefer to get CPU execute time from /proc/$PID/schedstat
or /proc/$PID/sched (if either exist on the running kernel)
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
src/qemu/qemu_driver.c | 100 +++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 96 insertions(+), 4 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 783a7cd..5293294 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -1361,6 +1361,80 @@ static char *qemuConnectGetCapabilities(virConnectPtr conn) {
static int
+qemuGetSchedInfo(unsigned long long *cpuWait,
+ pid_t pid, pid_t tid)
+{
+ char *proc = NULL;
+ char *data = NULL;
+ char **lines = NULL;
+ size_t i;
+ int ret = -1;
+ double val;
+
+ *cpuWait = 0;
+
+ /* In general, we cannot assume pid_t fits in int; but /proc parsing
+ * is specific to Linux where int works fine. */
+ if (tid)
+ ret = virAsprintf(&proc, "/proc/%d/task/%d/sched", (int)pid, (int)tid);
+ else
+ ret = virAsprintf(&proc, "/proc/%d/sched", (int)pid);
+ if (ret < 0)
+ goto cleanup;
+
+ /* The file is not guaranteed to exist (needs CONFIG_SCHED_DEBUG) */
+ if (access(proc, R_OK) < 0)
+ return 0;
+
+ if (virFileReadAll(proc, (1<<16), &data) < 0)
+ goto cleanup;
+
+ lines = virStringSplit(data, "\n", 0);
+ if (!lines)
+ goto cleanup;
+
+ for (i = 0; lines[i] != NULL; i++) {
+ const char *line = lines[i];
+
+ /* Needs CONFIG_SCHEDSTATS. The second check
+ * is the old name the kernel used in past */
+ if (STRPREFIX(line, "se.statistics.wait_sum") ||
+ STRPREFIX(line, "se.wait_sum")) {
+ line = strchr(line, ':');
+ if (!line) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Missing separate in sched info '%s'"),
+ lines[i]);
+ goto cleanup;
+ }
+ line++;
+ while (*line == ' ') {
+ line++;
+ }
+
+ if (virStrToDouble(line, NULL, &val) < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Unable to parse sched info value '%s'"),
+ line);
+ goto cleanup;
+ }
+
+ *cpuWait = (unsigned long long)(val * 1000000);
+ break;
+ }
+ }
+
+ ret = 0;
+
+ cleanup:
+ VIR_FREE(data);
+ VIR_FREE(proc);
+ VIR_FREE(lines);
+ return ret;
+}
+
+
+static int
qemuGetProcessInfo(unsigned long long *cpuTime, int *lastCpu, long *vm_rss,
pid_t pid, int tid)
{
@@ -1424,6 +1498,7 @@ qemuGetProcessInfo(unsigned long long *cpuTime, int *lastCpu, long *vm_rss,
static int
qemuDomainHelperGetVcpus(virDomainObjPtr vm,
virVcpuInfoPtr info,
+ unsigned long long *cpuwait,
int maxinfo,
unsigned char *cpumaps,
int maplen)
@@ -1476,6 +1551,11 @@ qemuDomainHelperGetVcpus(virDomainObjPtr vm,
virBitmapFree(map);
}
+ if (cpuwait) {
+ if (qemuGetSchedInfo(&(cpuwait[i]), vm->pid, vcpupid) < 0)
+ return -1;
+ }
+
ncpuinfo++;
}
@@ -5517,7 +5597,7 @@ qemuDomainGetVcpus(virDomainPtr dom,
goto cleanup;
}
- ret = qemuDomainHelperGetVcpus(vm, info, maxinfo, cpumaps, maplen);
+ ret = qemuDomainHelperGetVcpus(vm, info, NULL, maxinfo, cpumaps, maplen);
cleanup:
virDomainObjEndAPI(&vm);
@@ -19089,6 +19169,7 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
int ret = -1;
char param_name[VIR_TYPED_PARAM_FIELD_LENGTH];
virVcpuInfoPtr cpuinfo = NULL;
+ unsigned long long *cpuwait = NULL;
if (virTypedParamsAddUInt(&record->params,
&record->nparams,
@@ -19104,10 +19185,12 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
virDomainDefGetVcpusMax(dom->def)) < 0)
return -1;
- if (VIR_ALLOC_N(cpuinfo, virDomainDefGetVcpus(dom->def)) < 0)
- return -1;
+ if (VIR_ALLOC_N(cpuinfo, virDomainDefGetVcpus(dom->def)) < 0 ||
+ VIR_ALLOC_N(cpuwait, virDomainDefGetVcpus(dom->def)) < 0)
+ goto cleanup;
- if (qemuDomainHelperGetVcpus(dom, cpuinfo, virDomainDefGetVcpus(dom->def),
+ if (qemuDomainHelperGetVcpus(dom, cpuinfo, cpuwait,
+ virDomainDefGetVcpus(dom->def),
NULL, 0) < 0) {
virResetLastError();
ret = 0; /* it's ok to be silent and go ahead */
@@ -19136,12 +19219,21 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
param_name,
cpuinfo[i].cpuTime) < 0)
goto cleanup;
+ snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH,
+ "vcpu.%zu.wait", i);
+ if (virTypedParamsAddULLong(&record->params,
+ &record->nparams,
+ maxparams,
+ param_name,
+ cpuwait[i]) < 0)
+ goto cleanup;
}
ret = 0;
cleanup:
VIR_FREE(cpuinfo);
+ VIR_FREE(cpuwait);
return ret;
}
--
2.5.0
4
3
05 Jan '16
https://bugzilla.redhat.com/show_bug.cgi?id=1293351
I've came across a bit of a silly scenario, but long story short:
after domain was resumed, the virDomainSetTime() API hung for 5
seconds after which it failed with an error. Problem was, that
there is no guest agent installed in the domain. But this got me
thinking and digging into the code. So even though we do listen
to VSERPORT_CHANGE events and connect and disconnect ourselves to
guest agent, we still do connect to the guest agent at both
domain startup and resume. This is a bit silly as it produces the
delay - basically, because we connect to the guest agent,
priv->agent is not NULL. Therefore qemuDomainAgentAvailable()
will return true. And the place where we hang? Well,
historically, when there was no VSERPORT_CHANGE event, we used a
dummy ping command to the guest which has 5 seconds timeout. And
it's still there and effective. So there's where the delay comes
from.
What's the resolution? Well, I'm introducing new capability
QEMU_CAPS_VSERPORT_CHANGE that is enabled iff qemu is capable of
the event. And, during domain startup, reconnect after resume and
attach we do connect to the agent socket iff the capability is
NOT set.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_capabilities.c | 2 ++
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_domain.c | 11 ++++-------
src/qemu/qemu_domain.h | 2 +-
src/qemu/qemu_driver.c | 2 +-
src/qemu/qemu_process.c | 25 +++++++++++++++++++------
src/qemu/qemu_process.h | 4 +++-
tests/qemucapabilitiesdata/caps_2.1.1-1.caps | 1 +
tests/qemucapabilitiesdata/caps_2.4.0-1.caps | 1 +
tests/qemucapabilitiesdata/caps_2.5.0-1.caps | 1 +
10 files changed, 34 insertions(+), 16 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 6e5d203..9e11af9 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -308,6 +308,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
"virtio-tablet", /* 205 */
"virtio-input-host",
+ "vserport-change-event",
);
@@ -1479,6 +1480,7 @@ struct virQEMUCapsStringFlags virQEMUCapsEvents[] = {
{ "SPICE_MIGRATE_COMPLETED", QEMU_CAPS_SEAMLESS_MIGRATION },
{ "DEVICE_DELETED", QEMU_CAPS_DEVICE_DEL_EVENT },
{ "MIGRATION", QEMU_CAPS_MIGRATION_EVENT },
+ { "VSERPORT_CHANGE", QEMU_CAPS_VSERPORT_CHANGE },
};
struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 61d6379..983faf6 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -335,6 +335,7 @@ typedef enum {
/* 205 */
QEMU_CAPS_VIRTIO_TABLET, /* -device virtio-tablet-{device,pci} */
QEMU_CAPS_VIRTIO_INPUT_HOST, /* -device virtio-input-host-{device,pci} */
+ QEMU_CAPS_VSERPORT_CHANGE, /* VSERPORT_CHANGE event */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index bb8d47f..1c546f8 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -3650,10 +3650,9 @@ qemuDomainSupportsBlockJobs(virDomainObjPtr vm,
* Returns the pointer to the channel definition that is used to access the
* guest agent if the agent is configured or NULL otherwise.
*/
-virDomainChrSourceDefPtr
+virDomainChrDefPtr
qemuFindAgentConfig(virDomainDefPtr def)
{
- virDomainChrSourceDefPtr config = NULL;
size_t i;
for (i = 0; i < def->nchannels; i++) {
@@ -3662,13 +3661,11 @@ qemuFindAgentConfig(virDomainDefPtr def)
if (channel->targetType != VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_VIRTIO)
continue;
- if (STREQ_NULLABLE(channel->target.name, "org.qemu.guest_agent.0")) {
- config = &channel->source;
- break;
- }
+ if (STREQ_NULLABLE(channel->target.name, "org.qemu.guest_agent.0"))
+ return channel;
}
- return config;
+ return NULL;
}
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
index cff48d7..ca88f8a 100644
--- a/src/qemu/qemu_domain.h
+++ b/src/qemu/qemu_domain.h
@@ -487,7 +487,7 @@ int qemuDomainAlignMemorySizes(virDomainDefPtr def);
void qemuDomainMemoryDeviceAlignSize(virDomainDefPtr def,
virDomainMemoryDefPtr mem);
-virDomainChrSourceDefPtr qemuFindAgentConfig(virDomainDefPtr def);
+virDomainChrDefPtr qemuFindAgentConfig(virDomainDefPtr def);
bool qemuDomainMachineIsQ35(const virDomainDef *def);
bool qemuDomainMachineIsI440FX(const virDomainDef *def);
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index e8ba3a6..fc00073 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -4486,7 +4486,7 @@ processSerialChangedEvent(virQEMUDriverPtr driver,
if (STREQ_NULLABLE(dev.data.chr->target.name, "org.qemu.guest_agent.0")) {
if (newstate == VIR_DOMAIN_CHR_DEVICE_STATE_CONNECTED) {
if (!priv->agent) {
- if ((rc = qemuConnectAgent(driver, vm)) == -2)
+ if ((rc = qemuConnectAgent(driver, vm, true)) == -2)
goto endjob;
if (rc < 0)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index f274068..3aca227 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -198,16 +198,29 @@ static qemuAgentCallbacks agentCallbacks = {
int
-qemuConnectAgent(virQEMUDriverPtr driver, virDomainObjPtr vm)
+qemuConnectAgent(virQEMUDriverPtr driver,
+ virDomainObjPtr vm,
+ bool force)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
int ret = -1;
qemuAgentPtr agent = NULL;
- virDomainChrSourceDefPtr config = qemuFindAgentConfig(vm->def);
+ virDomainChrDefPtr config = qemuFindAgentConfig(vm->def);
if (!config)
return 0;
+ if (!force &&
+ virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_VSERPORT_CHANGE) &&
+ config->state == VIR_DOMAIN_CHR_DEVICE_STATE_DISCONNECTED) {
+ /* With newer qemus capable of VSERPORT_CHANGE event, we are connecting and
+ * disconnecting to the guest agent as it connects or disconnects to the
+ * channel within the guest. So, it's important to connect here iff we are
+ * running qemu not capable of the event or we are called from the event
+ * callback (@force == true). */
+ return 0;
+ }
+
if (virSecurityManagerSetDaemonSocketLabel(driver->securityManager,
vm->def) < 0) {
VIR_ERROR(_("Failed to set security context for agent for %s"),
@@ -223,7 +236,7 @@ qemuConnectAgent(virQEMUDriverPtr driver, virDomainObjPtr vm)
virObjectUnlock(vm);
agent = qemuAgentOpen(vm,
- config,
+ &config->source,
&agentCallbacks);
virObjectLock(vm);
@@ -3525,7 +3538,7 @@ qemuProcessReconnect(void *opaque)
goto error;
/* Failure to connect to agent shouldn't be fatal */
- if ((ret = qemuConnectAgent(driver, obj)) < 0) {
+ if ((ret = qemuConnectAgent(driver, obj, false)) < 0) {
if (ret == -2)
goto error;
@@ -4950,7 +4963,7 @@ qemuProcessLaunch(virConnectPtr conn,
goto cleanup;
/* Failure to connect to agent shouldn't be fatal */
- if ((rv = qemuConnectAgent(driver, vm)) < 0) {
+ if ((rv = qemuConnectAgent(driver, vm, false)) < 0) {
if (rv == -2)
goto cleanup;
@@ -5665,7 +5678,7 @@ int qemuProcessAttach(virConnectPtr conn ATTRIBUTE_UNUSED,
goto error;
/* Failure to connect to agent shouldn't be fatal */
- if ((ret = qemuConnectAgent(driver, vm)) < 0) {
+ if ((ret = qemuConnectAgent(driver, vm, false)) < 0) {
if (ret == -2)
goto error;
diff --git a/src/qemu/qemu_process.h b/src/qemu/qemu_process.h
index 85e3a06..555181f 100644
--- a/src/qemu/qemu_process.h
+++ b/src/qemu/qemu_process.h
@@ -151,6 +151,8 @@ int qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver,
virDomainDiskDefPtr qemuProcessFindDomainDiskByAlias(virDomainObjPtr vm,
const char *alias);
-int qemuConnectAgent(virQEMUDriverPtr driver, virDomainObjPtr vm);
+int qemuConnectAgent(virQEMUDriverPtr driver,
+ virDomainObjPtr vm,
+ bool force);
#endif /* __QEMU_PROCESS_H__ */
diff --git a/tests/qemucapabilitiesdata/caps_2.1.1-1.caps b/tests/qemucapabilitiesdata/caps_2.1.1-1.caps
index 1098dcf..332b85a 100644
--- a/tests/qemucapabilitiesdata/caps_2.1.1-1.caps
+++ b/tests/qemucapabilitiesdata/caps_2.1.1-1.caps
@@ -159,4 +159,5 @@
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
+ <flag name='vserport-change-event'/>
</qemuCaps>
diff --git a/tests/qemucapabilitiesdata/caps_2.4.0-1.caps b/tests/qemucapabilitiesdata/caps_2.4.0-1.caps
index d67a48d..1a5fe81 100644
--- a/tests/qemucapabilitiesdata/caps_2.4.0-1.caps
+++ b/tests/qemucapabilitiesdata/caps_2.4.0-1.caps
@@ -167,4 +167,5 @@
<flag name='virtio-mouse'/>
<flag name='virtio-tablet'/>
<flag name='virtio-input-host'/>
+ <flag name='vserport-change-event'/>
</qemuCaps>
diff --git a/tests/qemucapabilitiesdata/caps_2.5.0-1.caps b/tests/qemucapabilitiesdata/caps_2.5.0-1.caps
index f4f3673..8b3586a 100644
--- a/tests/qemucapabilitiesdata/caps_2.5.0-1.caps
+++ b/tests/qemucapabilitiesdata/caps_2.5.0-1.caps
@@ -168,4 +168,5 @@
<flag name='virtio-mouse'/>
<flag name='virtio-tablet'/>
<flag name='virtio-input-host'/>
+ <flag name='vserport-change-event'/>
</qemuCaps>
--
2.4.10
2
4
05 Jan '16
We have few code samples there that are almost unreadable when formatted
because they are not indented properly. By indenting them they are
formatted as code and hence quite readable. Also adjust descriptions to
be comments and add semicolons so that the code sample looks like sample
of a working code.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
src/libvirt-domain.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index b91388e77e00..970b0db0f23c 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c
@@ -10572,15 +10572,17 @@ virDomainGetBlockIoTune(virDomainPtr dom,
* Typical use sequence is below.
*
* getting total stats: set start_cpu as -1, ncpus 1
- * virDomainGetCPUStats(dom, NULL, 0, -1, 1, 0) => nparams
- * params = calloc(nparams, sizeof(virTypedParameter))
- * virDomainGetCPUStats(dom, params, nparams, -1, 1, 0) => total stats.
+ *
+ * virDomainGetCPUStats(dom, NULL, 0, -1, 1, 0); // nparams
+ * params = calloc(nparams, sizeof(virTypedParameter))
+ * virDomainGetCPUStats(dom, params, nparams, -1, 1, 0); // total stats.
*
* getting per-cpu stats:
- * virDomainGetCPUStats(dom, NULL, 0, 0, 0, 0) => ncpus
- * virDomainGetCPUStats(dom, NULL, 0, 0, 1, 0) => nparams
- * params = calloc(ncpus * nparams, sizeof(virTypedParameter))
- * virDomainGetCPUStats(dom, params, nparams, 0, ncpus, 0) => per-cpu stats
+ *
+ * virDomainGetCPUStats(dom, NULL, 0, 0, 0, 0); // ncpus
+ * virDomainGetCPUStats(dom, NULL, 0, 0, 1, 0); // nparams
+ * params = calloc(ncpus * nparams, sizeof(virTypedParameter));
+ * virDomainGetCPUStats(dom, params, nparams, 0, ncpus, 0); // per-cpu stats
*
* Returns -1 on failure, or the number of statistics that were
* populated per cpu on success (this will be less than the total
--
2.6.4
2
1