qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [patch 6/7] QEMU live block copy


From: Avi Kivity
Subject: Re: [Qemu-devel] [patch 6/7] QEMU live block copy
Date: Tue, 31 May 2011 19:14:57 +0300
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.1.10-1.fc15 Lightning/1.0b3pre Thunderbird/3.1.10

On 05/31/2011 07:06 PM, Marcelo Tosatti wrote:
On Sun, May 29, 2011 at 11:54:25AM +0300, Avi Kivity wrote:
>  On 05/24/2011 12:31 AM, Marcelo Tosatti wrote:
>  >Support live image copy + switch. That is, copy an image backing
>  >a guest hard disk to a destination image (destination image must
>  >be created separately), and switch to this copy.
>  >
>  >Command syntax:
>  >
>  >block_copy device filename [-i] -- live block copy device to image
>  >               -i for incremental copy (base image shared between src and 
destination)
>  >
>  >Please refer to qmp-commands diff for more details.
>
>  IMO it would have been nicer to use the mirror driver for all
>  copying; there would be no STAGE_DIRTY; simply a background process
>  that copies over all blocks, taking care not to conflict with
>  ongoing writes.

Don't see the advantage of doing that.

No dirty logging
No conflict with migration
Simpler conceptually (IMO)

Disadvantages:

- Guest write performance is affected during copying (guest writes
   compete with stream of writes from copy).

Competes anyway with your background task?

- Complexity to handle copy write conflict (there is no need to handle
   that with current solution).

If new write from source A overlaps an in-flight write from source B, hold it in a list off the B request, and re-issue it on B completion.

- Unability to have the mirror functionality in a separate driver.

Why?

>  It would also remove the conflict with migration.

There is no fundamental problem with migration, its simply unsupported
now.

Why?

>  But that's an implementation detail and can be changed later.



--
error compiling committee.c: too many arguments to function




reply via email to

[Prev in Thread] Current Thread [Next in Thread]