]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: bulk stats: Fix logic in monitor handling
authorFrancesco Romani <fromani@redhat.com>
Thu, 11 Dec 2014 07:44:09 +0000 (08:44 +0100)
committerMartin Kletzander <mkletzan@redhat.com>
Thu, 11 Dec 2014 13:11:06 +0000 (14:11 +0100)
A logic bug in qemuConnectGetAllDomainStats makes the code mark the
monitor as available when qemuDomainObjBeginJob fails, instead of when
it succeeds, as the correct flow requires.

This patch fixes the check and updates the code documentation
accordingly.

Broken by commit 57023c0a3af4af1c547189c1f6712ed5edeb0c0b.

Signed-off-by: Francesco Romani <fromani@redhat.com>
(cherry picked from commit cb104ef734dfea12cb8826dba7e2c98912c4b7e1)
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
src/qemu/qemu_driver.c

index d3e6a929ec6b2ff47d28268b1f58f817bf0dba79..cb3d40f482004172f837d89e9acb0a2ad41a54be 100644 (file)
@@ -18168,9 +18168,9 @@ qemuConnectGetAllDomainStats(virConnectPtr conn,
         }
 
         if (HAVE_JOB(privflags) &&
-            qemuDomainObjBeginJob(driver, dom, QEMU_JOB_QUERY) < 0)
-            /* As it was never requested. Gather as much as possible anyway. */
+            qemuDomainObjBeginJob(driver, dom, QEMU_JOB_QUERY) == 0)
             domflags |= QEMU_DOMAIN_STATS_HAVE_JOB;
+        /* else: without a job it's still possible to gather some data */
 
         if (qemuDomainGetStats(conn, dom, stats, &tmp, domflags) < 0)
             goto endjob;