qemu: process: Don't try to redetect missing qemuCaps on reconnect

The redetection was originally added in 43c01d3838 as a way to recover
from libvirtd upgrade from the time when we didn't persist the qemu
capabilities in the status XML. Also this the oldest supported qemu by
more than two years.

Even if somebody would have a running VM running at least qemu 1.5 with
such an old libvirt we certainly wouldn't do the right thing by
redetecting the capabilities and then trying to communicate with qemu.

For now it will be the best to just stop considering this scenario any
more and error out for such VM.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2019-11-24 08:35:59 +01:00
parent 2504dbeb5d
commit 530d7a73f4

View File

@ -8085,12 +8085,12 @@ qemuProcessReconnect(void *opaque)
goto error;
}
/* If upgrading from old libvirtd we won't have found any
* caps in the domain status, so re-query them
*/
if (!priv->qemuCaps &&
(qemuDomainUpdateQEMUCaps(obj, driver->qemuCapsCache) < 0))
if (!priv->qemuCaps) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("domain '%s' has no capabilities recorded"),
obj->def->name);
goto error;
}
/* In case the domain shutdown while we were not running,
* we need to finish the shutdown process. And we need to do it after