]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: make monitor command API available during async jobs
authorNikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Wed, 22 Jun 2016 13:17:50 +0000 (16:17 +0300)
committerJiri Denemark <jdenemar@redhat.com>
Thu, 23 Jun 2016 13:18:31 +0000 (15:18 +0200)
  One can not issue monitor commands manually during async calls thru
designated API while this could be useful for testing/debugging purposes.
qemuDomainQemuMonitorCommand uses job of type QEMU_JOB_MODIFY and any async
call disable parallel execution of this type of job. The only state that is
changed is taint variable. AFAIU the only place we can mess is resetting
taint flag in qemuProcessStop routine under some async job. But this can not
happen thanx to both virDomainObjIsActive check in qemuDomainQemuMonitorCommand
and resetting active status in qemuProcessStop before taint flag.

  Change job type to QEMU_JOB_QUERY and thus make the API call available for
most of async jobs.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
src/qemu/qemu_driver.c

index fa050463e286107e30bfeab39d5a0c9c67c51442..ee717f052a6cf2c120cf5c5a5eb66e839498a82d 100644 (file)
@@ -15521,7 +15521,7 @@ static int qemuDomainQemuMonitorCommand(virDomainPtr domain, const char *cmd,
     if (virDomainQemuMonitorCommandEnsureACL(domain->conn, vm->def) < 0)
         goto cleanup;
 
-    if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MODIFY) < 0)
+    if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_QUERY) < 0)
         goto cleanup;
 
     if (!virDomainObjIsActive(vm)) {