From: Peter Krempa Date: Sun, 24 Nov 2019 08:23:54 +0000 (+0100) Subject: qemu: process: Move clearing of the BLOCKDEV capability to qemuProcessPrepareQEMUCaps X-Git-Tag: v6.0.0-rc1~529 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3a075524d999bb881e626d091d7c714c7d7bcb9b;p=thirdparty%2Flibvirt.git qemu: process: Move clearing of the BLOCKDEV capability to qemuProcessPrepareQEMUCaps Start aggregating all capability post-processing code in one place. The comment was modified while moving it as it was mentioning floppies which are no longer clearing the blockdev capability. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index e85b33a279..921ad82c5d 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -5502,6 +5502,7 @@ qemuProcessPrepareQEMUCaps(virDomainObjPtr vm, virFileCachePtr qemuCapsCache) { qemuDomainObjPrivatePtr priv = vm->privateData; + size_t i; virObjectUnref(priv->qemuCaps); if (!(priv->qemuCaps = virQEMUCapsCacheLookupCopy(qemuCapsCache, @@ -5510,6 +5511,14 @@ qemuProcessPrepareQEMUCaps(virDomainObjPtr vm, 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; } @@ -6273,15 +6282,6 @@ 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