On Tue, Jul 28, 2015 at 04:50:08PM +0800, Liu Yuan wrote: > On Sat, Jul 18, 2015 at 01:44:24AM +0900, Hitoshi Mitake wrote: > > Current sheepdog driver only serializes create requests in oid > > unit. This mechanism isn't enough for handling requests to > > overwrapping area spanning multiple oids, so it can result bugs like > > below: > > https://bugs.launchpad.net/sheepdog-project/+bug/1456421 > > I'm a bit late to review the patch since I'm not on the cc list, but I'd like > to > get the idea how the mentioned bug relates to the serialization of requests? > > The mentioned bug looks to me more a bug of sheepdog because the create and > write request will only unref a single oid. The bug report is unclear about > why the object idx in inode becomes zero, at least not pointing that it > relates > to QEMU. > > But this patch assume QEMU send the requests the wrong way and just vaguely > says it is just wrong without reason. > > What is overrapping requests? As far as I understand, the request that stride > over two objects will be split into two, to make sure all the requests fit the > sheepdog object size. Allow requests run concurrently on different SD objects > is > way achieving high performance. This patch mutes this feature, to me, without > a > decent reason. > > Probably I miss something hidden, but I'd like someone enlighten me about it > because this patch might slow down QEMU VM over sheepdog. > > Thanks, > Yuan
Cc Jeff