[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [sheepdog] [PATCH] sheepdog: serialize requests to over
From: |
Liu Yuan |
Subject: |
Re: [Qemu-devel] [sheepdog] [PATCH] sheepdog: serialize requests to overwrapping area |
Date: |
Tue, 28 Jul 2015 17:35:02 +0800 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
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