virFileCachePtr qemuCapsCache)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
+ size_t i;
virObjectUnref(priv->qemuCaps);
if (!(priv->qemuCaps = virQEMUCapsCacheLookupCopy(qemuCapsCache,
vm->def->os.machine)))
return -1;
+ /* clear the 'blockdev' capability for VMs which have disks that need -drive */
+ for (i = 0; i < vm->def->ndisks; i++) {
+ if (qemuDiskBusNeedsDriveArg(vm->def->disks[i]->bus)) {
+ virQEMUCapsClear(priv->qemuCaps, QEMU_CAPS_BLOCKDEV);
+ break;
+ }
+ }
+
return 0;
}
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