]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
domain_conf: fix migration/managedsave with usb keyboard 5/head
authorPavel Hrdina <phrdina@redhat.com>
Fri, 6 May 2016 11:55:15 +0000 (13:55 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Fri, 6 May 2016 13:48:38 +0000 (15:48 +0200)
Commin 36785c7e refactored the code for input devices but introduced a
bug where we removed all keyboard from migratable XML.  We have to
remove only implicit keyboards like PS2 or XEN.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
src/conf/domain_conf.c

index cc99301cfc744a9ba404a222dac742dbbbe402cd..7fcaafeb42b8bbcfe3be5457b565f28bc44a6fea 100644 (file)
@@ -21077,8 +21077,10 @@ virDomainInputDefFormat(virBufferPtr buf,
     const char *bus = virDomainInputBusTypeToString(def->bus);
 
     /* don't format keyboard into migratable XML for backward compatibility */
-    if (def->type == VIR_DOMAIN_INPUT_TYPE_KBD &&
-        flags & VIR_DOMAIN_DEF_FORMAT_MIGRATABLE)
+    if (flags & VIR_DOMAIN_DEF_FORMAT_MIGRATABLE &&
+        def->type == VIR_DOMAIN_INPUT_TYPE_KBD &&
+        (def->bus == VIR_DOMAIN_INPUT_BUS_PS2 ||
+         def->bus == VIR_DOMAIN_INPUT_BUS_XEN))
         return 0;
 
     if (!type) {