[libvirt] [PATCH v5 2/2] qemuDomainRevertToSnapshot: save domain configuration

Cole Robinson crobinso at redhat.com
Tue Mar 15 19:20:03 UTC 2016


On 03/12/2016 10:39 AM, Dmitry Andreev wrote:
> Reverting to a snapshot may change domain configuration. New
> configuration should be saved if domain has persistent flag.
> 
> VIR_DOMAIN_EVENT_DEFINED_FROM_SNAPSHOT is emitted in case of
> configuration update.
> ---
>  src/qemu/qemu_driver.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index a0d6596..edf39d9 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -15546,6 +15546,15 @@ qemuDomainRevertToSnapshot(virDomainSnapshotPtr snapshot,
>      } else if (snap) {
>          snap->def->current = false;
>      }
> +    if (ret == 0 && config && vm->persistent &&
> +        !(ret = virDomainSaveConfig(cfg->configDir, driver->caps,
> +                                    vm->newDef ? vm->newDef : vm->def))) {
> +        detail = VIR_DOMAIN_EVENT_DEFINED_FROM_SNAPSHOT;
> +        qemuDomainEventQueue(driver,
> +            virDomainEventLifecycleNewFromObj(vm,
> +                                              VIR_DOMAIN_EVENT_DEFINED,
> +                                              detail));
> +    }
>      if (event) {
>          qemuDomainEventQueue(driver, event);
>          qemuDomainEventQueue(driver, event2);
> 

I was a bit confused by this at first, since you are conditionalizing on
'config' and I thought we only AssignDef'd it for certain code paths... but
indeed if config is present we always assign it to some part of the VM. I
tested briefly with virt-manager too and this seems to fix things.

ACK and pushed. Thanks!

- Cole




More information about the libvir-list mailing list