[Qemu-devel] [PATCH] fix the co_queue multi-adding bug

2015-02-07 Thread w00214312
From: Bin Wu When we test the drive_mirror between different hosts by ndb devices, we find that, during the cancel phase the qemu process crashes sometimes. By checking the crash core file, we find the stack as follows, which means a coroutine re-enter error occurs: (gdb) bt #0 0x7fdfc744d

[Qemu-devel] [PATCH] qemu-coroutine-lock: fix co_queue multi-adding bug

2015-02-07 Thread w00214312
From: Bin Wu When a coroutine holds a lock, other coroutines who want to get the lock must wait on a co_queue by adding themselves to the CoQueue. However, if a waiting coroutine is woken up with the lock still be holding by other coroutine, this waiting coroutine will add itself to the co_queue