[libvirt] [PATCH 02/11] qemu: exit early if USB_CONTROLLER_MODEL_NONE is present

Ján Tomko jtomko at redhat.com
Wed Jan 16 07:56:07 UTC 2019


This removes the need to mark it in the 'usbcontroller' variable.

Signed-off-by: Ján Tomko <jtomko at redhat.com>
---
 src/qemu/qemu_command.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index d6b7d11cc6..80b05efa03 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -3026,6 +3026,19 @@ qemuBuildLegacyUSBControllerCommandLine(virCommandPtr cmd,
                                         const virDomainDef *def,
                                         int usbcontroller)
 {
+    size_t i;
+
+    for (i = 0; i < def->ncontrollers; i++) {
+        virDomainControllerDefPtr cont = def->controllers[i];
+
+        if (cont->type != VIR_DOMAIN_CONTROLLER_TYPE_USB)
+            continue;
+
+        /* If we have mode='none', there are no other USB controllers */
+        if (cont->model == VIR_DOMAIN_CONTROLLER_MODEL_USB_NONE)
+            return 0;
+    }
+
     if (usbcontroller == 0 &&
         !qemuDomainIsQ35(def) &&
         !qemuDomainIsARMVirt(def) &&
@@ -3127,7 +3140,6 @@ qemuBuildControllerDevCommandLine(virCommandPtr cmd,
             /* skip USB controllers with type none.*/
             if (cont->type == VIR_DOMAIN_CONTROLLER_TYPE_USB &&
                 cont->model == VIR_DOMAIN_CONTROLLER_MODEL_USB_NONE) {
-                usbcontroller = -1; /* mark we don't want a controller */
                 continue;
             }
 
-- 
2.20.1




More information about the libvir-list mailing list