From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:34227) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rn9cW-0002lL-RE for qemu-devel@nongnu.org; Tue, 17 Jan 2012 09:02:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rn9cO-00083P-Ns for qemu-devel@nongnu.org; Tue, 17 Jan 2012 09:02:40 -0500 Received: from mx1.redhat.com ([209.132.183.28]:52965) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rn9cO-00083L-8v for qemu-devel@nongnu.org; Tue, 17 Jan 2012 09:02:32 -0500 Message-ID: <4F158029.50709@redhat.com> Date: Tue, 17 Jan 2012 15:05:29 +0100 From: Kevin Wolf MIME-Version: 1.0 References: <1326460457-19446-1-git-send-email-stefanha@linux.vnet.ibm.com> <1326460457-19446-14-git-send-email-stefanha@linux.vnet.ibm.com> <4F157728.1060702@redhat.com> <20120117135046.GA24928@amt.cnet> In-Reply-To: <20120117135046.GA24928@amt.cnet> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v5 13/15] block: add support for partial streaming List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Marcelo Tosatti Cc: Luiz Capitulino , Stefan Hajnoczi , qemu-devel@nongnu.org Am 17.01.2012 14:50, schrieb Marcelo Tosatti: > On Tue, Jan 17, 2012 at 02:27:04PM +0100, Kevin Wolf wrote: >> Am 13.01.2012 14:14, schrieb Stefan Hajnoczi: >>> From: Marcelo Tosatti >>> >>> Add support for streaming data from an intermediate section of the >>> image chain (see patch and documentation for details). >>> >>> Signed-off-by: Marcelo Tosatti >>> Signed-off-by: Stefan Hajnoczi >> >> I'm afraid that in the review for the previous version I couldn't see >> the wood for the trees... This does limit the COR requests issued by >> image streaming, but not those issued by the guest. Am I missing >> something? This is not what we want, is it? > > What you mean "limit the COR requests"? base -> sn1 -> sn2 You only want to copy the content of sn1 into sn2 and keep base. The streaming coroutine is doing the right thing because it checks is_allocated_base. However, if it is the guest that reads some data from base, COR copies it into sn2 even though it's in the common base file. Maybe streaming shouldn't enable normal COR on images, but instead of calling bdrv_co_read it could directly call bdrv_co_copy_on_readv(). Kevin