qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] drive transactions (was Re: [PATCH 2/2 v2] Add the bloc


From: Federico Simoncelli
Subject: Re: [Qemu-devel] drive transactions (was Re: [PATCH 2/2 v2] Add the blockdev-reopen and blockdev-migrate commands)
Date: Mon, 27 Feb 2012 11:33:00 -0500 (EST)

----- Original Message -----
> From: "Paolo Bonzini" <address@hidden>
> To: "Luiz Capitulino" <address@hidden>
> Cc: "Federico Simoncelli" <address@hidden>, address@hidden, address@hidden, 
> address@hidden,
> address@hidden, "Jeff Cody" <address@hidden>
> Sent: Monday, February 27, 2012 3:39:33 PM
> Subject: drive transactions (was Re: [PATCH 2/2 v2] Add the blockdev-reopen 
> and blockdev-migrate commands)
> 
> > > 4) incremental=true, new_image_file passed:
> > >    - no images will be created
> > >    - writes will be mirrored to new_image_file and dest
> 
> No need to provide this from within QEMU, because libvirt/oVirt can
> do
> the dance using elementary operations:
> 
>     blockdev-begin-transaction
>     drive-reopen device new-image-file
>     drive-mirror streaming=false device dest
>     blockdev-commit-transaction
> 
> No strange optional arguments, no proliferation of commands, etc.
>  The
> only downside is that if someone tries to do (4) without transactions
> (or without stopping the VM) they'll get corruption because atomicity
> is
> required.

I'm all for the modularity of the commands (I suggested it since the beginning),
but all this infrastructure goes way beyond what I'd need for oVirt now.

When I submitted my patches we knew that my work wasn't the definitive solution
(eg: the future implementation of -blockdev). So I'd suggest to try and settle
with something that is good enough and that is not preventing a future 
improvement.

What about having a (temporary) flag in drive-mirror to accept also a 
new-image-file
until we will have the optimal solution?

-- 
Federico



reply via email to

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