1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-20 06:50:22 +03:00

qemu: Assume QEMU_CAPS_DUMP_COMPLETED

Introduced in QEMU's commit of v2.6.0-rc0~74^2~6 the
DUMP_COMPLETED event is always available for all QEMU versions we
support (4.2.0, currently). Therefore, we can assume the
capability is always set and thus doesn't need to be checked for.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Michal Privoznik 2022-11-07 14:43:02 +01:00
parent 5724035ed5
commit ac02c09dd8

View File

@ -3033,28 +3033,21 @@ qemuDumpToFd(virQEMUDriver *driver,
const char *dumpformat)
{
qemuDomainObjPrivate *priv = vm->privateData;
bool detach = false;
int ret = -1;
detach = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DUMP_COMPLETED);
int rc = -1;
if (qemuSecuritySetImageFDLabel(driver->securityManager, vm->def, fd) < 0)
return -1;
if (detach) {
qemuDomainJobSetStatsType(vm->job->current,
QEMU_DOMAIN_JOB_STATS_TYPE_MEMDUMP);
} else {
g_clear_pointer(&vm->job->current, virDomainJobDataFree);
}
qemuDomainJobSetStatsType(vm->job->current,
QEMU_DOMAIN_JOB_STATS_TYPE_MEMDUMP);
if (qemuDomainObjEnterMonitorAsync(vm, asyncJob) < 0)
return -1;
if (dumpformat) {
ret = qemuMonitorGetDumpGuestMemoryCapability(priv->mon, dumpformat);
rc = qemuMonitorGetDumpGuestMemoryCapability(priv->mon, dumpformat);
if (ret <= 0) {
if (rc <= 0) {
virReportError(VIR_ERR_INVALID_ARG,
_("unsupported dumpformat '%s' "
"for this QEMU binary"),
@ -3064,16 +3057,13 @@ qemuDumpToFd(virQEMUDriver *driver,
}
}
ret = qemuMonitorDumpToFd(priv->mon, fd, dumpformat, detach);
rc = qemuMonitorDumpToFd(priv->mon, fd, dumpformat, true);
qemuDomainObjExitMonitor(vm);
if (ret < 0)
if (rc < 0)
return -1;
if (detach)
ret = qemuDumpWaitForCompletion(vm);
return ret;
return qemuDumpWaitForCompletion(vm);
}