
On 04/06/2012 09:19 AM, Paolo Bonzini wrote:
Il 06/04/2012 06:36, Eric Blake ha scritto:
if 'block_job_cancel' were made part of 'transaction', you could copy multiple disks at the same point in time without pausing the domain.
This is doable.
The transactioned command would do a qemu_aio_flush() in the prepare phase, and a normal block_job_cancel in the commit phase.
This also implies we may want to add a --quiesce flag to the pivot operation, so that when breaking a mirror, the side of the mirror that we are abandoning is at least in a stable state with regards to guest I/O.
I don't think this is needed. Either it makes a difference so it should be the default, or it doesn't and then it is not a useful knob.
I'm talking about the guest agent. It may make a difference, but cannot be the default, because you cannot trust the guest agent to be present. I'm thinking this will be like the --quiesce operation of snapshot-create, as another situation where the guest agent quiesce can usefully surround a 'transaction' command to improve the results, but must not be default. -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org