qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@gmail.com>
To: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Anthony Liguori <aliguori@us.ibm.com>,
	Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
	jes sorensen <jes.sorensen@redhat.com>,
	Dor Laor <dlaor@redhat.com>,
	qemu-devel@nongnu.org, Avi Kivity <avi@redhat.com>,
	Adam Litke <agl@us.ibm.com>
Subject: Re: [Qemu-devel] Image streaming and live block copy
Date: Sat, 18 Jun 2011 10:17:43 +0100	[thread overview]
Message-ID: <BANLkTi=MTRzsVW8A0WqRs3ypbpb2cCHiyA@mail.gmail.com> (raw)
In-Reply-To: <BANLkTinqjkiRmJ224qcf49qTdo0hE536UQ@mail.gmail.com>

On Sat, Jun 18, 2011 at 10:15 AM, Stefan Hajnoczi <stefanha@gmail.com> wrote:
> On Fri, Jun 17, 2011 at 1:31 PM, Marcelo Tosatti <mtosatti@redhat.com> wrote:
>> 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 to
>>> mirror writes.
>>
>> Why not? Is there any disadvantage of mirroring writes?
>
> Think of the use case with a Fedora master image over NFS.  You 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 works.

Compare that to image streaming, which works across crash and doesn't
duplicate I/O.

Stefan

  reply	other threads:[~2011-06-18  9:17 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-14 18:18 [Qemu-devel] [PATCH 00/13] QED image streaming Stefan Hajnoczi
2011-06-14 18:18 ` [Qemu-devel] [PATCH 01/13] qemu-config: }, { -> }, { to please checkpatch.pl Stefan Hajnoczi
2011-06-14 18:18 ` [Qemu-devel] [PATCH 02/13] block: add -drive copy-on-read=on|off Stefan Hajnoczi
2011-06-14 18:18 ` [Qemu-devel] [PATCH 03/13] qed: replace is_write with flags field Stefan Hajnoczi
2011-06-14 18:18 ` [Qemu-devel] [PATCH 04/13] qed: extract qed_start_allocating_write() Stefan Hajnoczi
2011-06-14 18:18 ` [Qemu-devel] [PATCH 05/13] qed: make qed_aio_write_alloc() reusable Stefan Hajnoczi
2011-06-14 18:18 ` [Qemu-devel] [PATCH 06/13] qed: add support for copy-on-read Stefan Hajnoczi
2011-06-14 18:18 ` [Qemu-devel] [PATCH 07/13] qed: avoid deadlock on emulated synchronous I/O Stefan Hajnoczi
2011-06-14 18:18 ` [Qemu-devel] [PATCH 08/13] qerror: add qerror_from_args() to create qerror objects Stefan Hajnoczi
2011-06-14 18:18 ` [Qemu-devel] [PATCH 09/13] block: add bdrv_aio_copy_backing() Stefan Hajnoczi
2011-06-14 18:18 ` [Qemu-devel] [PATCH 10/13] qmp: add QMP support for stream commands Stefan Hajnoczi
2011-06-14 18:18 ` [Qemu-devel] [PATCH 11/13] block: add -drive stream=on|off Stefan Hajnoczi
2011-06-14 18:18 ` [Qemu-devel] [PATCH 12/13] qed: intelligent streaming implementation Stefan Hajnoczi
2011-06-14 18:18 ` [Qemu-devel] [PATCH 13/13] trace: trace bdrv_aio_readv/writev error paths Stefan Hajnoczi
2011-06-15 10:46 ` [Qemu-devel] [PATCH 00/13] QED image streaming Philipp Hahn
2011-06-15 12:18   ` Stefan Hajnoczi
2011-06-16 12:35 ` [Qemu-devel] Image streaming and live block copy (was: [PATCH 00/13] QED image streaming) Kevin Wolf
2011-06-16 12:49   ` [Qemu-devel] Image streaming and live block copy Avi Kivity
2011-06-16 13:08     ` Kevin Wolf
2011-06-16 13:38       ` Avi Kivity
2011-06-16 14:52       ` Marcelo Tosatti
2011-06-16 15:30         ` Stefan Hajnoczi
2011-06-17 12:31           ` Marcelo Tosatti
2011-06-18  9:15             ` Stefan Hajnoczi
2011-06-18  9:17               ` Stefan Hajnoczi [this message]
2011-06-19 16:02                 ` Dor Laor
2011-06-24  9:28                   ` Stefan Hajnoczi
2011-06-26 12:50                     ` Dor Laor
2011-06-27  7:48                       ` Kevin Wolf
2011-06-27  9:13                         ` Dor Laor
2011-06-17 13:54           ` Marcelo Tosatti
2011-06-17  8:36         ` Kevin Wolf
2011-06-17  8:57           ` Stefan Hajnoczi
2011-06-17  9:22             ` Kevin Wolf
2011-06-17 10:11               ` Stefan Hajnoczi
2011-06-17 12:21           ` Anthony Liguori
2011-06-17 13:04           ` Marcelo Tosatti
2011-06-17 13:50           ` Marcelo Tosatti
2011-06-16 13:10   ` Anthony Liguori
2011-06-16 13:50     ` Kevin Wolf
2011-06-16 14:38   ` [Qemu-devel] Image streaming and live block copy (was: [PATCH 00/13] QED image streaming) Marcelo Tosatti
2011-06-16 14:55     ` Marcelo Tosatti
2011-06-17  8:21     ` [Qemu-devel] Image streaming and live block copy Kevin Wolf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='BANLkTi=MTRzsVW8A0WqRs3ypbpb2cCHiyA@mail.gmail.com' \
    --to=stefanha@gmail.com \
    --cc=agl@us.ibm.com \
    --cc=aliguori@us.ibm.com \
    --cc=avi@redhat.com \
    --cc=dlaor@redhat.com \
    --cc=jes.sorensen@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).