[libvirt] [PATCH] snapshot: make quiesce a bit safer

Michal Privoznik mprivozn at redhat.com
Mon Mar 19 10:04:39 UTC 2012


On 16.03.2012 21:49, Eric Blake wrote:
> If a guest is paused, we were silently ignoring the quiesce flag,
> which results in unclean snapshots, contrary to the intent of the
> flag.  Since we can't quiesce without guest agent support, we should
> instead fail if the guest is not running.
> 
> Meanwhile, if we attempt a quiesce command, but the guest agent
> doesn't respond, and we time out, we may have left the command
> pending on the guest's queue, and when the guest resumes parsing
> commands, it will freeze even though our command is no longer
> around to issue a thaw.  To be safe, we must _always_ pair every
> quiesce call with a counterpart thaw, even if the quiesce call
> failed due to a timeout, so that if a guest wakes up and starts
> processing a command backlog, it will not get stuck in a frozen
> state.
> 
> * src/qemu/qemu_driver.c (qemuDomainSnapshotCreateDiskActive):
> Always issue thaw after a quiesce, even if quiesce failed.
> (qemuDomainSnapshotFSThaw): Add a parameter.
> ---
> 
> See also: https://bugzilla.redhat.com/show_bug.cgi?id=804210
> https://www.redhat.com/archives/libvir-list/2012-March/msg00708.html
> 
>  src/qemu/qemu_driver.c |   51 +++++++++++++++++++++++++++++++++--------------
>  1 files changed, 36 insertions(+), 15 deletions(-)
> 

ACK this and the follow up patch as well.

Michal




More information about the libvir-list mailing list