Yes. I have tested using same device twice as described in my previous mail. 
Without lock: 
If issuing "qemu-nbd -c /dev/nbd0 disk.img" and "qemu-nbd -c  /dev/nbd0 
disk1.img" almost at the same time, both can pass nbd_init() and get to 
nbd_client(), then the latter one will fail and exit, but the first one does 
not work well either (fail to show partitions.) That's why I think we should 
add a lock in an earlier time. 
If issuing two commands in a long enough inetval, the first one can work well, 
the second one will fail at nbd_init(). 

Thanks, 
Chunyan 

>>> Paolo Bonzini <pbonz...@redhat.com> 11/17/2011 9:41 PM >>>
On 11/17/2011 12:36 PM, Chunyan Liu wrote:
>
> Adding lock to the nbd device before connecting disk image to that device to
> handling race conditions.
This removes the possibility for other programs to lock.  Have you
checked what happens if you use the same device twice and whether you
can piggyback on e.g. an EBUSY from the NBD_SET_SOCK ioctl?

Paolo

Reply via email to