[libvirt] [PATCH] conf: Fix XML formatting of RNG device info

https://bugzilla.redhat.com/show_bug.cgi?id=1035118 When outputting the XML for the RNG device, the code didn't format the PCI address info. Additionally the schema wasn't expecting the info although it was being parsed and used internally. Fix those mistakes and add test for the PCI info section. --- docs/schemas/domaincommon.rng | 6 ++++++ src/conf/domain_conf.c | 5 +++++ tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.xml | 1 + 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 80848d2..38c6801 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -3956,6 +3956,12 @@ <optional> <ref name="rng-rate"/> </optional> + <optional> + <ref name="alias"/> + </optional> + <optional> + <ref name="address"/> + </optional> </interleave> </element> </define> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 65bd9b1..0268847 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -15832,6 +15832,11 @@ virDomainRNGDefFormat(virBufferPtr buf, break; } + if (virDomainDeviceInfoIsSet(&def->info, flags)) { + if (virDomainDeviceInfoFormat(buf, &def->info, flags) < 0) + return -1; + } + virBufferAddLit(buf, " </rng>\n"); return 0; diff --git a/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.args b/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.args index 01e9f89..4ae6257 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.args @@ -4,4 +4,4 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \ -monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -usb \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \ -object rng-random,id=rng0 \ --device virtio-rng-pci,rng=rng0,bus=pci.0,addr=0x4 +-device virtio-rng-pci,rng=rng0,bus=pci.0,addr=0x7 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.xml b/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.xml index 0852dea..0a7bf61 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.xml +++ b/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.xml @@ -18,6 +18,7 @@ <memballoon model='virtio'/> <rng model='virtio'> <backend model='random'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </rng> </devices> </domain> -- 1.8.4.3

On 12/05/2013 10:36 AM, Peter Krempa wrote:
https://bugzilla.redhat.com/show_bug.cgi?id=1035118
When outputting the XML for the RNG device, the code didn't format the PCI address info. Additionally the schema wasn't expecting the info although it was being parsed and used internally. Fix those mistakes and add test for the PCI info section. --- docs/schemas/domaincommon.rng | 6 ++++++ src/conf/domain_conf.c | 5 +++++ tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.xml | 1 + 4 files changed, 13 insertions(+), 1 deletion(-)
ACK. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

On 12/05/13 20:26, Eric Blake wrote:
On 12/05/2013 10:36 AM, Peter Krempa wrote:
https://bugzilla.redhat.com/show_bug.cgi?id=1035118
When outputting the XML for the RNG device, the code didn't format the PCI address info. Additionally the schema wasn't expecting the info although it was being parsed and used internally. Fix those mistakes and add test for the PCI info section. --- docs/schemas/domaincommon.rng | 6 ++++++ src/conf/domain_conf.c | 5 +++++ tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.xml | 1 + 4 files changed, 13 insertions(+), 1 deletion(-)
ACK.
Thanks; Pushed. Peter
participants (2)
-
Eric Blake
-
Peter Krempa