On 01/18/2013 03:13 PM, Eric Blake wrote:
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.
I was trying to make out what went wrong with that commit, but so far
it looked good to me. Specifically, qemuDomainMonitorCommand looked sane
and I wasn't seeing anything lock related in
qemuDomainHasManagedSaveImage.
Looking again, it seems that there's now a superfluous DriverUnlock
in the qemuDomainManagedSave (log message?) cleanup section which
actually belongs to qemuDomainSendKey. I will send out a patch for that
soon.
Thanks for pointing out the asymmetry.
P.S: I was selectively replacing the mutexes for the driver with
error checking ones to find the place of mutex corruption. Is
there any interest in making this configurable for test purposes?
If so (and time allows) I could prepare something for review.
--
Mit freundlichen Grüßen/Kind Regards
Viktor Mihajlovski
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martina Köderitz
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294