提交 9e01760b 编写于 作者: P Peter Krempa

qemu: domain: Don't redetect backing chain when using -blockdev

We need to load the backing chain from the XML when using -blockdev.
Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
Reviewed-by: NJán Tomko <jtomko@redhat.com>
上级 8d5f5333
...@@ -6027,8 +6027,10 @@ qemuProcessPrepareHostStorage(virQEMUDriverPtr driver, ...@@ -6027,8 +6027,10 @@ qemuProcessPrepareHostStorage(virQEMUDriverPtr driver,
virDomainObjPtr vm, virDomainObjPtr vm,
unsigned int flags) unsigned int flags)
{ {
qemuDomainObjPrivatePtr priv = vm->privateData;
size_t i; size_t i;
bool cold_boot = flags & VIR_QEMU_PROCESS_START_COLD; bool cold_boot = flags & VIR_QEMU_PROCESS_START_COLD;
bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV);
for (i = vm->def->ndisks; i > 0; i--) { for (i = vm->def->ndisks; i > 0; i--) {
size_t idx = i - 1; size_t idx = i - 1;
...@@ -6037,7 +6039,9 @@ qemuProcessPrepareHostStorage(virQEMUDriverPtr driver, ...@@ -6037,7 +6039,9 @@ qemuProcessPrepareHostStorage(virQEMUDriverPtr driver,
if (virStorageSourceIsEmpty(disk->src)) if (virStorageSourceIsEmpty(disk->src))
continue; continue;
virStorageSourceBackingStoreClear(disk->src); /* backing chain needs to be redetected if we aren't using blockdev */
if (!blockdev)
virStorageSourceBackingStoreClear(disk->src);
if (qemuDomainDetermineDiskChain(driver, vm, disk, true) >= 0) if (qemuDomainDetermineDiskChain(driver, vm, disk, true) >= 0)
continue; continue;
...@@ -7713,7 +7717,8 @@ qemuProcessReconnect(void *opaque) ...@@ -7713,7 +7717,8 @@ qemuProcessReconnect(void *opaque)
goto error; goto error;
/* backing chains need to be refreshed only if they could change */ /* backing chains need to be refreshed only if they could change */
if (priv->reconnectBlockjobs != VIR_TRISTATE_BOOL_NO) { if (priv->reconnectBlockjobs != VIR_TRISTATE_BOOL_NO &&
!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) {
/* This should be the only place that calls /* This should be the only place that calls
* qemuDomainDetermineDiskChain with @report_broken == false * qemuDomainDetermineDiskChain with @report_broken == false
* to guarantee best-effort domain reconnect */ * to guarantee best-effort domain reconnect */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册