]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Implement VIR_DOMAIN_JOB_STATS_KEEP_COMPLETED
authorPeter Krempa <pkrempa@redhat.com>
Mon, 25 Nov 2019 13:19:10 +0000 (14:19 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 3 Dec 2019 14:26:53 +0000 (15:26 +0100)
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
src/qemu/qemu_driver.c

index 3076fc21e223ecd26a33430e6d7053a8375edc43..348bddbac45decaf10a1eaabf79a7f59e9cc4026 100644 (file)
@@ -13964,7 +13964,8 @@ qemuDomainGetJobStats(virDomainPtr dom,
     bool completed = !!(flags & VIR_DOMAIN_JOB_STATS_COMPLETED);
     int ret = -1;
 
-    virCheckFlags(VIR_DOMAIN_JOB_STATS_COMPLETED, -1);
+    virCheckFlags(VIR_DOMAIN_JOB_STATS_COMPLETED |
+                  VIR_DOMAIN_JOB_STATS_KEEP_COMPLETED, -1);
 
     if (!(vm = qemuDomainObjFromDomain(dom)))
         goto cleanup;
@@ -13986,7 +13987,7 @@ qemuDomainGetJobStats(virDomainPtr dom,
 
     ret = qemuDomainJobInfoToParams(&jobInfo, type, params, nparams);
 
-    if (completed && ret == 0)
+    if (completed && ret == 0 && !(flags & VIR_DOMAIN_JOB_STATS_KEEP_COMPLETED))
         VIR_FREE(priv->job.completed);
 
  cleanup: