Re: [Qemu-block] [Questions] NBD issue or CoMutex->holder issue?

2016-10-11 Thread Changlong Xie
On 10/11/2016 06:47 PM, Paolo Bonzini wrote: the free_sema->queue head, so set free_sema->holder as >revelant coroutine. NBD is using the CoMutex in a way that wasn't anticipated. The simplest fix is to change it to CoQueue, which is like a condition variable. Instead of locking if in_flight

Re: [Qemu-block] [Questions] NBD issue or CoMutex->holder issue?

2016-10-11 Thread Paolo Bonzini
On 11/10/2016 12:35, Changlong Xie wrote: > For nbd client, if request number is large than MAX_NBD_REQUESTS(16), we > will queue the rest requests into free_sema->queue. > When nbd client receives one reply, it will unlock free_sema, then pop > the free_sema->queue head, so set