]> git.ipfire.org Git - thirdparty/libvirt.git/commit
qemu: fix nested job with driver lock held
authorEric Blake <eblake@redhat.com>
Wed, 27 Jul 2011 23:13:22 +0000 (17:13 -0600)
committerEric Blake <eblake@redhat.com>
Thu, 28 Jul 2011 14:07:44 +0000 (08:07 -0600)
commitd9fcd17ec283d0c8a12cdac230a8d3999ce47666
tree481b432972b6965aa6193ca4b4902483657dd611
parent09d7eba99d95b887bd284b3418ea21438f6af277
qemu: fix nested job with driver lock held

qemuMigrationUpdateJobStatus (called in a loop by migration
and save tasks) uses qemuDomainObjEnterMonitorWithDriver;
however, that function ended up starting a nested job without
releasing the driver.

Since no one else is making nested calls, we can inline the
internal functions to properly track driver_locked.

* src/qemu/qemu_domain.h (qemuDomainObjBeginNestedJob)
(qemuDomainObjBeginNestedJobWithDriver)
(qemuDomainObjEndNestedJob): Drop unused prototypes.
* src/qemu/qemu_domain.c (qemuDomainObjEnterMonitorInternal):
Reflect driver lock to nested job.
(qemuDomainObjBeginNestedJob)
(qemuDomainObjBeginNestedJobWithDriver)
(qemuDomainObjEndNestedJob): Drop unused functions.
src/qemu/qemu_domain.c
src/qemu/qemu_domain.h