From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48263) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZK0ac-0005MV-C9 for qemu-devel@nongnu.org; Tue, 28 Jul 2015 04:50:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZK0aZ-0004iH-5M for qemu-devel@nongnu.org; Tue, 28 Jul 2015 04:50:22 -0400 Received: from mail-ig0-x236.google.com ([2607:f8b0:4001:c05::236]:38595) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZK0aZ-0004hy-08 for qemu-devel@nongnu.org; Tue, 28 Jul 2015 04:50:19 -0400 Received: by iggf3 with SMTP id f3so111833091igg.1 for ; Tue, 28 Jul 2015 01:50:17 -0700 (PDT) Date: Tue, 28 Jul 2015 16:50:08 +0800 From: Liu Yuan Message-ID: <20150728085008.GA4291@ubuntu-trusty> References: <1437151464-5458-1-git-send-email-mitake.hitoshi@lab.ntt.co.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1437151464-5458-1-git-send-email-mitake.hitoshi@lab.ntt.co.jp> Subject: Re: [Qemu-devel] [sheepdog] [PATCH] sheepdog: serialize requests to overwrapping area List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Hitoshi Mitake Cc: Kevin Wolf , sheepdog@lists.wpkg.org, MORITA Kazutaka , qemu-devel@nongnu.org, Stefan Hajnoczi , Teruaki Ishizaki 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