[sheepdog] [PATCH 1/5] farm: add concurrent access support to the same object

Liu Yuan namei.unix at gmail.com
Sat Jun 2 16:04:13 CEST 2012


On 06/02/2012 09:54 PM, Christoph Hellwig wrote:

> Can you add some comments describing on why we lock here?  The sheepdog
> protocol assumes only one VM writes to any given object, so for "normal"
> operations it's not nessecary.  The only use case is protecting against
> recovery, so is there any reason we can't avoid the locking if a node
> is not currently undergoing recovery operations?


It is due to sheepdog's QEMU block driver which issue async IO requests
to sheep gateway. Linux kernel(dunno other kernels) just could issue
request less than (equal to) 512K for default operation and since our
object size is 4M, so adjacent requests will be routed to the same object.

Thanks,
Yuan



More information about the sheepdog mailing list