]> 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:10:18 +0000 (14:10 +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 2d0bc85cf2a57c80433bfc9c9f7c99db48898b11..ffbc2abe9185f4436a6191644b6660695f583124 100644 (file)
@@ -18528,9 +18528,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;