mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06: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:
parent
5724035ed5
commit
ac02c09dd8
@ -3033,28 +3033,21 @@ qemuDumpToFd(virQEMUDriver *driver,
|
|||||||
const char *dumpformat)
|
const char *dumpformat)
|
||||||
{
|
{
|
||||||
qemuDomainObjPrivate *priv = vm->privateData;
|
qemuDomainObjPrivate *priv = vm->privateData;
|
||||||
bool detach = false;
|
int rc = -1;
|
||||||
int ret = -1;
|
|
||||||
|
|
||||||
detach = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DUMP_COMPLETED);
|
|
||||||
|
|
||||||
if (qemuSecuritySetImageFDLabel(driver->securityManager, vm->def, fd) < 0)
|
if (qemuSecuritySetImageFDLabel(driver->securityManager, vm->def, fd) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (detach) {
|
qemuDomainJobSetStatsType(vm->job->current,
|
||||||
qemuDomainJobSetStatsType(vm->job->current,
|
QEMU_DOMAIN_JOB_STATS_TYPE_MEMDUMP);
|
||||||
QEMU_DOMAIN_JOB_STATS_TYPE_MEMDUMP);
|
|
||||||
} else {
|
|
||||||
g_clear_pointer(&vm->job->current, virDomainJobDataFree);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (qemuDomainObjEnterMonitorAsync(vm, asyncJob) < 0)
|
if (qemuDomainObjEnterMonitorAsync(vm, asyncJob) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (dumpformat) {
|
if (dumpformat) {
|
||||||
ret = qemuMonitorGetDumpGuestMemoryCapability(priv->mon, dumpformat);
|
rc = qemuMonitorGetDumpGuestMemoryCapability(priv->mon, dumpformat);
|
||||||
|
|
||||||
if (ret <= 0) {
|
if (rc <= 0) {
|
||||||
virReportError(VIR_ERR_INVALID_ARG,
|
virReportError(VIR_ERR_INVALID_ARG,
|
||||||
_("unsupported dumpformat '%s' "
|
_("unsupported dumpformat '%s' "
|
||||||
"for this QEMU binary"),
|
"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);
|
qemuDomainObjExitMonitor(vm);
|
||||||
if (ret < 0)
|
if (rc < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (detach)
|
return qemuDumpWaitForCompletion(vm);
|
||||||
ret = qemuDumpWaitForCompletion(vm);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user