qemu: process: clear QEMU_CAPS_BLOCKDEV for VMs with SD card

SD cards are currently passed by using -drive only which would not be
compatible with using -blockdev fully.

Clear QEMU_CAPS_BLOCKDEV if the VM has such devices.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2018-06-07 12:03:00 +02:00
parent 6a0bd2d80e
commit 8d5f5333c2

View File

@ -5885,6 +5885,15 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver,
qemuProcessPrepareAllowReboot(vm);
/* clear the 'blockdev' capability for VMs which have disks that need
* -drive or which have floppies where we can't reliably get the QOM path */
for (i = 0; i < vm->def->ndisks; i++) {
if (qemuDiskBusNeedsDriveArg(vm->def->disks[i]->bus)) {
virQEMUCapsClear(priv->qemuCaps, QEMU_CAPS_BLOCKDEV);
break;
}
}
/*
* Normally PCI addresses are assigned in the virDomainCreate
* or virDomainDefine methods. We might still need to assign