From 4b31aeaaa431a2a0a85bedf205358c2499a8f35d Mon Sep 17 00:00:00 2001 Message-Id: <4b31aeaaa431a2a0a85bedf205358c2499a8f35d@dist-git> From: Michal Privoznik Date: Mon, 19 Jan 2015 12:43:42 +0100 Subject: [PATCH] conf: Format interface's driver more frequently RHEL-7.0.z: https://bugzilla.redhat.com/show_bug.cgi?id=1183447 RHEL-7.1: https://bugzilla.redhat.com/show_bug.cgi?id=1128751 There's this element under which can have several attributes. However, the driver element is currently formated only if the driver's name or txmode has been specified. This makes only a little sense as we parse even partial , for instance: But such XML would never get formatted back. Signed-off-by: Michal Privoznik (cherry picked from commit 3085702b5461d3b0b057c37cf5fbff432244f529) Signed-off-by: Jiri Denemark --- src/conf/domain_conf.c | 4 +- .../qemuxml2argv-interface-driver.xml | 51 ++++++++++++++++++++++ tests/qemuxml2xmltest.c | 1 + 3 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-interface-driver.xml diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index bb2e7ef..922c5e6 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -15387,7 +15387,9 @@ virDomainNetDefFormat(virBufferPtr buf, virBufferEscapeString(buf, "\n", def->model); if (STREQ(def->model, "virtio") && - (def->driver.virtio.name || def->driver.virtio.txmode)) { + (def->driver.virtio.name || def->driver.virtio.txmode || + def->driver.virtio.ioeventfd || def->driver.virtio.event_idx || + def->driver.virtio.queues)) { virBufferAddLit(buf, "driver.virtio.name) { virBufferAsprintf(buf, " name='%s'", diff --git a/tests/qemuxml2argvdata/qemuxml2argv-interface-driver.xml b/tests/qemuxml2argvdata/qemuxml2argv-interface-driver.xml new file mode 100644 index 0000000..ec5ab61 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-interface-driver.xml @@ -0,0 +1,51 @@ + + test + 15d091de-0181-456b-9554-e4382dc1f1ab + 1048576 + 1048576 + 1 + + hvm + + + + + + destroy + restart + restart + + /usr/bin/qemu + + + + +
+ + + + + + +
+ + + +
+ + + + + + + + + + + + + + + + + diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index d16fdc3..11ac108 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -255,6 +255,7 @@ mymain(void) DO_TEST("lease"); DO_TEST("event_idx"); DO_TEST("vhost_queues"); + DO_TEST("interface-driver"); DO_TEST("virtio-lun"); DO_TEST("usb-redir"); -- 2.2.1