[libvirt] [PATCH] qemu: Update fsfreeze status on domain state transitions
Martin Kletzander
mkletzan at redhat.com
Thu Nov 6 13:46:16 UTC 2014
On Mon, Nov 03, 2014 at 01:22:07PM +0100, Michal Privoznik wrote:
>As of b6d4dad1 (1.2.5) libvirt keeps track if domain disks have been
>frozen. However, this falls into that set of information which don't
>survive domain restart. Therefore, we need to clear the flag upon some
>state transitions. Moreover, once we clear the flag we must update the
>status file too.
>
>Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
>---
> src/qemu/qemu_driver.c | 10 +++++-----
> src/qemu/qemu_process.c | 10 ++++++++++
> 2 files changed, 15 insertions(+), 5 deletions(-)
>
[...]
>diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
>index ba8ba82..0df375c 100644
>--- a/src/qemu/qemu_process.c
>+++ b/src/qemu/qemu_process.c
>@@ -536,12 +537,20 @@ qemuProcessHandleReset(qemuMonitorPtr mon ATTRIBUTE_UNUSED,
> priv = vm->privateData;
> if (priv->agent)
> qemuAgentNotifyEvent(priv->agent, QEMU_AGENT_EVENT_RESET);
>+ /* Clear some domain runtime information. For instance,
>+ * fsfreeze won't survive domain reset. This, however,
>+ * required the domain status file to be rewritten onto disk. */
>+ priv->quiesced = false;
>
> virObjectUnlock(vm);
>
>+ if (virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm) < 0)
>+ VIR_WARN("Failed to save status on vm %s", vm->def->name);
>+
The domain has to be locked when you're saving it, ACK if you move
these two lines before the virObjectUnlock(vm) call.
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20141106/8c5d57e8/attachment-0001.sig>
More information about the libvir-list
mailing list