On 01/17/2013 10:25 AM, Viktor Mihajlovski wrote:
The driver mutex was unlocked in qemuDomainModifyDeviceFlags before
entering qemuDomainObjBeginJobWithDriver where it will be unlocked once
more leaving it in an undefined state. The result was that two
threads were simultaneously looking up the domain hash table during
multiple parallel device attach/detach operations.
Luckily this triggered a virHashIterationError.
Signed-off-by: Viktor Mihajlovski <mihajlov(a)linux.vnet.ibm.com>
---
src/qemu/qemu_driver.c | 1 -
1 file changed, 1 deletion(-)
I tracked this down to commit 8c5d2ba; it looks like Michal encountered
a case of git botching a rebase when forward-porting a patch. If you'll
look at that commit, we removed a qemuDriverUnlock() from one function
(qemuDomainSendKey), added it to another (qemuDomainModifyDeviceFlags),
neither in a pair; and neither matches the commit message mention of
DomainHasManagedSaveImage. You only repaired one piece of the damage,
but missed the other damage, and we still haven't fixed the intended
function.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org