From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:35399) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QXrf0-0002xp-Hi for qemu-devel@nongnu.org; Sat, 18 Jun 2011 05:17:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QXrey-0000kT-PX for qemu-devel@nongnu.org; Sat, 18 Jun 2011 05:17:46 -0400 Received: from mail-gy0-f173.google.com ([209.85.160.173]:61338) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QXrey-0000jx-DP for qemu-devel@nongnu.org; Sat, 18 Jun 2011 05:17:44 -0400 Received: by gyg10 with SMTP id 10so24515gyg.4 for ; Sat, 18 Jun 2011 02:17:43 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: <1308075511-4745-1-git-send-email-stefanha@linux.vnet.ibm.com> <4DF9F899.5050301@redhat.com> <4DF9FBE4.9080300@redhat.com> <4DFA004E.9010001@redhat.com> <20110616145243.GB12173@amt.cnet> <20110616153018.GA20714@stefanha-thinkpad.localdomain> <20110617123152.GA7379@amt.cnet> Date: Sat, 18 Jun 2011 10:17:43 +0100 Message-ID: From: Stefan Hajnoczi Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] Image streaming and live block copy List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Marcelo Tosatti Cc: Kevin Wolf , Anthony Liguori , Stefan Hajnoczi , jes sorensen , Dor Laor , qemu-devel@nongnu.org, Avi Kivity , Adam Litke On Sat, Jun 18, 2011 at 10:15 AM, Stefan Hajnoczi wrot= e: > On Fri, Jun 17, 2011 at 1:31 PM, Marcelo Tosatti wr= ote: >> On Thu, Jun 16, 2011 at 04:30:18PM +0100, Stefan Hajnoczi wrote: >>> On Thu, Jun 16, 2011 at 11:52:43AM -0300, Marcelo Tosatti wrote: >>> This approach does not use the backing file feature? >>> >>> > blkstream block driver: >>> > >>> > - Maintain in memory whether given block is allocated in local image, >>> > if not, read from remote, write to local. Set block as local. >>> > Local and remote simply two block drivers from image streaming driver >>> > POV. >>> > - Once all blocks are local, notify mgmt so it can switch to local >>> > copy. >>> > - Writes are mirrored to source and destination, minding guest writes >>> > over copy writes. >>> >>> We open the remote file read-only for image streaming and do not want t= o >>> mirror writes. >> >> Why not? Is there any disadvantage of mirroring writes? > > Think of the use case with a Fedora master image over NFS. =A0You want a > local clone of that master image and use the stream command to copy > the data from the master image into the local clone. > > You cannot modify that master image because other VMs are using it too > and/or you want to be able to clone new VMs from it in the future. BTW the workaround is to create two local images: 1. Local clone with master image as a backing file. This is the live block copy source image. 2. Local image without a backing file. This is the live block copy destination image. But this is not very elegant. Writes get mirrored so that crash recovery w= orks. Compare that to image streaming, which works across crash and doesn't duplicate I/O. Stefan