]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Use stricter checks in virQEMUCapsFillDomainDeviceDiskCaps()
authorAndrea Bolognani <abologna@redhat.com>
Thu, 23 Jun 2016 08:24:43 +0000 (10:24 +0200)
committerAndrea Bolognani <abologna@redhat.com>
Fri, 24 Jun 2016 08:17:59 +0000 (10:17 +0200)
Unfortunately, we can't just call qemuDomainMachineIsPSeries()
here, because we don't have a virDomainDef instance; that said,
the open-coded check should match said function as closely as
possible.

src/qemu/qemu_capabilities.c

index 5fcd744b7c57993514650d4a2a4e78fee0ec68a5..01466fcfe1fac5b44ebffccf6e971b4a76bd2938 100644 (file)
@@ -4139,7 +4139,8 @@ virQEMUCapsFillDomainDeviceDiskCaps(virQEMUCapsPtr qemuCaps,
                              VIR_DOMAIN_DISK_DEVICE_LUN);
 
     /* PowerPC pseries based VMs do not support floppy device */
-    if (!(ARCH_IS_PPC64(qemuCaps->arch) && STRPREFIX(machine, "pseries")))
+    if (!ARCH_IS_PPC64(qemuCaps->arch) ||
+        (STRNEQ(machine, "pseries") && !STRPREFIX(machine, "pseries-")))
         VIR_DOMAIN_CAPS_ENUM_SET(disk->diskDevice, VIR_DOMAIN_DISK_DEVICE_FLOPPY);
 
     VIR_DOMAIN_CAPS_ENUM_SET(disk->bus,
@@ -4149,7 +4150,8 @@ virQEMUCapsFillDomainDeviceDiskCaps(virQEMUCapsPtr qemuCaps,
                              /* VIR_DOMAIN_DISK_BUS_SD */);
 
     /* PowerPC pseries based VMs do not support floppy device */
-    if (!(ARCH_IS_PPC64(qemuCaps->arch) && STRPREFIX(machine, "pseries")))
+    if (!ARCH_IS_PPC64(qemuCaps->arch) ||
+        (STRNEQ(machine, "pseries") && !STRPREFIX(machine, "pseries-")))
         VIR_DOMAIN_CAPS_ENUM_SET(disk->bus, VIR_DOMAIN_DISK_BUS_FDC);
 
     if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_USB_STORAGE))