]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Assume QEMU_CAPS_DUMP_COMPLETED
authorMichal Privoznik <mprivozn@redhat.com>
Mon, 7 Nov 2022 13:43:02 +0000 (14:43 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 8 Nov 2022 11:10:50 +0000 (12:10 +0100)
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>
src/qemu/qemu_driver.c

index 56b809617acc601ba5faca03ef490011419ce285..bcdd55b089ba7c34fb061b860ae8c5d1805c117e 100644 (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);
 }