----- Original Message ----- > From: "Paolo Bonzini" <pbonz...@redhat.com> > To: "Luiz Capitulino" <lcapitul...@redhat.com> > Cc: "Federico Simoncelli" <fsimo...@redhat.com>, kw...@redhat.com, > mtosa...@redhat.com, qemu-devel@nongnu.org, > arm...@redhat.com, "Jeff Cody" <jc...@redhat.com> > 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