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(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org