[libvirt] [PATCH v3 0/4] Move ide validation from qemuBuildControllerDevStr to qemuDomainDeviceDefValidate

Validate IDE controllers in qemuDomainDeviceDefValidate for reminding users earlier. v2->v3: * split original patch to multiple patches. * making the validation is preferred over the PostParse for avoiding guests disappear. * remove ide from the pseries and the ccw tests. Lin Ma (4): tests: qemuxml2argv: Use scsi controller instead of ide in pseries tests: qemuhotplugtest: Drop ide controller in ccw qemu_command: Drop IDE validation code in qemuBuildControllerDevStr qemu_domain: Error out earlier when configuring IDE controller incorrectly src/qemu/qemu_command.c | 10 +------ src/qemu/qemu_domain.c | 35 +++++++++++++++++++++- .../qemuhotplug-base-ccw-live+ccw-virtio.xml | 4 --- ...ive-with-2-ccw-virtio+ccw-virtio-1-explicit.xml | 4 --- ...live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml | 4 --- ...qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml | 4 --- ...-live-with-ccw-virtio+ccw-virtio-2-explicit.xml | 4 --- ...-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml | 4 --- .../qemuhotplug-base-ccw-live-with-ccw-virtio.xml | 4 --- .../qemuhotplug-base-ccw-live.xml | 4 --- .../qemuxml2argv-disk-floppy-pseries.args | 2 +- .../qemuxml2argv-disk-floppy-pseries.xml | 4 +-- 12 files changed, 38 insertions(+), 45 deletions(-) -- 2.9.2

Adding an IDE controller for a machinetype that has no built-in IDE controller, Libvirt will log an error. Currently the machinetype list which returns by qemuDomainMachineHasBuiltinIDE only includes 440fx, malta, sun4u and g3beige. Signed-off-by: Lin Ma <lma@suse.com> --- tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.args index 72a4183..44b5751 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.args @@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \ -no-acpi \ -boot c \ -usb \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \ +-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/fd0,format=raw,if=floppy,unit=0 \ -drive file=/tmp/firmware.img,format=raw,if=floppy,unit=1 \ -net none \ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.xml index be0ede6..df82cfd 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.xml +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.xml @@ -17,7 +17,7 @@ <disk type='block' device='disk'> <driver name='qemu' type='raw'/> <source dev='/dev/HostVG/QEMUGuest1'/> - <target dev='hda' bus='ide'/> + <target dev='hda' bus='scsi'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='block' device='floppy'> @@ -34,7 +34,7 @@ </disk> <controller type='usb' index='0'/> <controller type='fdc' index='0'/> - <controller type='ide' index='0'/> + <controller type='scsi' index='0'/> <controller type='pci' index='0' model='pci-root'/> <memballoon model='none'/> </devices> -- 2.9.2

On Fri, Dec 01, 2017 at 07:31:29PM +0800, Lin Ma wrote:
Adding an IDE controller for a machinetype that has no built-in IDE controller, Libvirt will log an error. Currently the machinetype list which returns by qemuDomainMachineHasBuiltinIDE only includes 440fx, malta, sun4u and g3beige.
Signed-off-by: Lin Ma <lma@suse.com> --- tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.args index 72a4183..44b5751 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.args @@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \ -no-acpi \ -boot c \ -usb \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \ +-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/fd0,format=raw,if=floppy,unit=0 \ -drive file=/tmp/firmware.img,format=raw,if=floppy,unit=1 \ -net none \
This change is bogus, current libvirt should never generate -hda The .args file can be dropped for this test case, since it expects failure. Jan

Adding an IDE controller for a machinetype that has no built-in IDE controller, libvirt will log an error. Currently the machinetype list which returns by qemuDomainMachineHasBuiltinIDE only includes 440fx, malta, sun4u and g3beige. Signed-off-by: Lin Ma <lma@suse.com> --- tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml | 4 ---- ...uhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-explicit.xml | 4 ---- ...muhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml | 4 ---- .../qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml | 4 ---- ...emuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml | 4 ---- .../qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml | 4 ---- .../qemuhotplug-base-ccw-live-with-ccw-virtio.xml | 4 ---- tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live.xml | 4 ---- 8 files changed, 32 deletions(-) diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml index cd03d0e..75948f3 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml @@ -33,10 +33,6 @@ <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> - <controller type='ide' index='0'> - <alias name='ide0'/> - <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> - </controller> <controller type='scsi' index='0' model='virtio-scsi'> <alias name='scsi0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-explicit.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-explicit.xml index 519d816..3016581 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-explicit.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-explicit.xml @@ -43,10 +43,6 @@ <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> - <controller type='ide' index='0'> - <alias name='ide0'/> - <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> - </controller> <controller type='scsi' index='0' model='virtio-scsi'> <alias name='scsi0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml index 7be75f9..bb9d427 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml @@ -43,10 +43,6 @@ <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> - <controller type='ide' index='0'> - <alias name='ide0'/> - <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> - </controller> <controller type='scsi' index='0' model='virtio-scsi'> <alias name='scsi0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml index a83f1b5..c41f5af 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml @@ -33,10 +33,6 @@ <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> - <controller type='ide' index='0'> - <alias name='ide0'/> - <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> - </controller> <controller type='scsi' index='0' model='virtio-scsi'> <alias name='scsi0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml index 3e90207..b1114db 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml @@ -42,10 +42,6 @@ <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> - <controller type='ide' index='0'> - <alias name='ide0'/> - <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> - </controller> <controller type='scsi' index='0' model='virtio-scsi'> <alias name='scsi0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml index 3e90207..b1114db 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml @@ -42,10 +42,6 @@ <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> - <controller type='ide' index='0'> - <alias name='ide0'/> - <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> - </controller> <controller type='scsi' index='0' model='virtio-scsi'> <alias name='scsi0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio.xml index 0fa8d03..3476f61 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio.xml @@ -32,10 +32,6 @@ <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> - <controller type='ide' index='0'> - <alias name='ide0'/> - <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> - </controller> <controller type='scsi' index='0' model='virtio-scsi'> <alias name='scsi0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live.xml index d4434a1..3a202d0 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live.xml @@ -23,10 +23,6 @@ <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> - <controller type='ide' index='0'> - <alias name='ide0'/> - <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> - </controller> <controller type='scsi' index='0' model='virtio-scsi'> <alias name='scsi0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> -- 2.9.2

The corresponding code will be moved to qemuDomainControllerDefValidate by next patch. Signed-off-by: Lin Ma <lma@suse.com> --- src/qemu/qemu_command.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 6a8da1d..2074ff6 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3127,17 +3127,9 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef, /* Since we currently only support the integrated IDE * controller on various boards, if we ever get to here, it's * because some other machinetype had an IDE controller - * specified, or one with a single IDE contraller had multiple + * specified, or one with a single IDE controller had multiple * ide controllers specified. */ - if (qemuDomainHasBuiltinIDE(domainDef)) - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("Only a single IDE controller is supported " - "for this machine type")); - else - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("IDE controllers are unsupported for " - "this QEMU binary or machine type")); goto error; default: -- 2.9.2

On Fri, Dec 01, 2017 at 07:31:31PM +0800, Lin Ma wrote:
The corresponding code will be moved to qemuDomainControllerDefValidate by next patch.
Signed-off-by: Lin Ma <lma@suse.com> --- src/qemu/qemu_command.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 6a8da1d..2074ff6 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3127,17 +3127,9 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef, /* Since we currently only support the integrated IDE * controller on various boards, if we ever get to here, it's * because some other machinetype had an IDE controller - * specified, or one with a single IDE contraller had multiple + * specified, or one with a single IDE controller had multiple * ide controllers specified. */ - if (qemuDomainHasBuiltinIDE(domainDef)) - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("Only a single IDE controller is supported " - "for this machine type")); - else - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("IDE controllers are unsupported for " - "this QEMU binary or machine type"));
This is not correct, we shouldn't error out without setting any error message. This whole case should be removed and IDE controller should be handled by the "default" path if it ever happen to reach this code. Pavel
goto error;
default: -- 2.9.2
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

On 12/01/2017 08:06 AM, Pavel Hrdina wrote:
On Fri, Dec 01, 2017 at 07:31:31PM +0800, Lin Ma wrote:
The corresponding code will be moved to qemuDomainControllerDefValidate by next patch.
Signed-off-by: Lin Ma <lma@suse.com> --- src/qemu/qemu_command.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 6a8da1d..2074ff6 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3127,17 +3127,9 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef, /* Since we currently only support the integrated IDE * controller on various boards, if we ever get to here, it's * because some other machinetype had an IDE controller - * specified, or one with a single IDE contraller had multiple + * specified, or one with a single IDE controller had multiple * ide controllers specified. */ - if (qemuDomainHasBuiltinIDE(domainDef)) - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("Only a single IDE controller is supported " - "for this machine type")); - else - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("IDE controllers are unsupported for " - "this QEMU binary or machine type"));
This is not correct, we shouldn't error out without setting any error message. This whole case should be removed and IDE controller should be handled by the "default" path if it ever happen to reach this code.
Hmm.. yeah, you make a good point... Having the default: path handle this scenario is perhaps better - it's one of those shouldn't get here type deals because we wouldn't be adding any sort of "ide" on the command line at this point and should never call this if the Validation code did it's job. Still as I noted in my cover letter response to this series - subsuming this into another series which I'll post after the freeze. John
Pavel
goto error;
default: -- 2.9.2
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

Validate IDE controllers in qemuDomainDeviceDefValidate for reminding users earlier. Signed-off-by: Lin Ma <lma@suse.com> --- src/qemu/qemu_domain.c | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index e8e0313..f14cb17 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -3885,6 +3885,36 @@ qemuDomainDeviceDefValidateDisk(const virDomainDiskDef *disk) static int +qemuDomainControllerDefValidate(const virDomainControllerDef *controller, + const virDomainDef *def) +{ + if (controller->type == VIR_DOMAIN_CONTROLLER_TYPE_IDE) { + /* No need to check implicit/builtin IDE controller */ + if (controller->idx == 0 && qemuDomainHasBuiltinIDE(def)) + return 0; + + /* Since we currently only support the integrated IDE + * controller on various boards, if we ever get to here, it's + * because some other machinetype had an IDE controller + * specified, or one with a single IDE controller had multiple + * ide controllers specified. + */ + if (qemuDomainHasBuiltinIDE(def)) + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Only a single IDE controller is supported " + "for this machine type")); + else + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("IDE controllers are unsupported for " + "this QEMU binary or machine type: %s"), + def->os.machine); + return -1; + } + return 0; +} + + +static int qemuDomainDeviceDefValidate(const virDomainDeviceDef *dev, const virDomainDef *def, void *opaque ATTRIBUTE_UNUSED) @@ -3928,11 +3958,14 @@ qemuDomainDeviceDefValidate(const virDomainDeviceDef *dev, ret = qemuDomainDeviceDefValidateDisk(dev->data.disk); break; + case VIR_DOMAIN_DEVICE_CONTROLLER: + ret = qemuDomainControllerDefValidate(dev->data.controller, def); + break; + case VIR_DOMAIN_DEVICE_LEASE: case VIR_DOMAIN_DEVICE_FS: case VIR_DOMAIN_DEVICE_INPUT: case VIR_DOMAIN_DEVICE_SOUND: - case VIR_DOMAIN_DEVICE_CONTROLLER: case VIR_DOMAIN_DEVICE_GRAPHICS: case VIR_DOMAIN_DEVICE_HUB: case VIR_DOMAIN_DEVICE_MEMBALLOON: -- 2.9.2

On 12/01/2017 06:31 AM, Lin Ma wrote:
Validate IDE controllers in qemuDomainDeviceDefValidate for reminding users earlier.
v2->v3: * split original patch to multiple patches. * making the validation is preferred over the PostParse for avoiding guests disappear. * remove ide from the pseries and the ccw tests.
Lin Ma (4): tests: qemuxml2argv: Use scsi controller instead of ide in pseries tests: qemuhotplugtest: Drop ide controller in ccw qemu_command: Drop IDE validation code in qemuBuildControllerDevStr qemu_domain: Error out earlier when configuring IDE controller incorrectly
src/qemu/qemu_command.c | 10 +------ src/qemu/qemu_domain.c | 35 +++++++++++++++++++++- .../qemuhotplug-base-ccw-live+ccw-virtio.xml | 4 --- ...ive-with-2-ccw-virtio+ccw-virtio-1-explicit.xml | 4 --- ...live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml | 4 --- ...qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml | 4 --- ...-live-with-ccw-virtio+ccw-virtio-2-explicit.xml | 4 --- ...-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml | 4 --- .../qemuhotplug-base-ccw-live-with-ccw-virtio.xml | 4 --- .../qemuhotplug-base-ccw-live.xml | 4 --- .../qemuxml2argv-disk-floppy-pseries.args | 2 +- .../qemuxml2argv-disk-floppy-pseries.xml | 4 +-- 12 files changed, 38 insertions(+), 45 deletions(-)
Essentially what I was looking for; however, patches 3 & 4 need to be combined; otherwise, a git bisect that lands at patch 3 wouldn't get the desired result. Also, not sure the comment (currently) in patch 3 would need to stay in the qemu_command code or as you've also done move it to the qemu_domain code. In any case, I have some patches on my local branch which would take the next step to move a majority of the checks in qemuBuildControllerDevStr into a sequence of Validation API's in qemu_domain. Once the freeze is over, I'll post it with your changes merged in. It's ready to go, I just didn't want to post during freeze. Tks - John
participants (4)
-
John Ferlan
-
Ján Tomko
-
Lin Ma
-
Pavel Hrdina