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

Dmitry Andreev dandreev at virtuozzo.com
Wed Mar 16 08:34:22 UTC 2016


Sorry, forget to remove cc to libvir-list at redhat.com.

On 16.03.2016 11:30, Dmitry Andreev wrote:
> Макс, можно тебя попросить вмержить этот патч?
>
> commit c5e81090eaf40d5735402f94a7446ced3e78a7df
> commit 8047d45704a3af77a2c4b88f48e3c98d853813b8
>
> А прошлую версию удалить.
>
> commit fbd032c5e92b799052c487710b1ce6d8d65269a8
> commit d040dafb362ddec8c090d52cbcd2a8f745bfa916
>
> Три месяца с первой версии :О
>
> On 15.03.2016 22:20, Cole Robinson wrote:
>> 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