[pve-devel] [PATCH] since qemu 1.7 xbzrle is AUTOMATICALLY enabled in the end of transfer - we need to explicit disable all feature we do not want

Stefan Priebe - Profihost AG s.priebe at profihost.ag
Mon Feb 10 09:28:21 CET 2014


Hi Alex,

you can see if it is off or on by checking the xbzrle cache size during
migration. If it is > 0 it is on.

Stefan
Am 10.02.2014 09:23, schrieb Alexandre DERUMIER:
>>> No idea why they enable all features now by default.
> 
> This is strange, if I do a "info migrate" in monitor during the migration, the features are off by default. (at least on source)
> 
> 
> ----- Mail original ----- 
> 
> De: "Stefan Priebe - Profihost AG" <s.priebe at profihost.ag> 
> À: "Alexandre DERUMIER" <aderumier at odiso.com> 
> Cc: pve-devel at pve.proxmox.com 
> Envoyé: Lundi 10 Février 2014 08:00:22 
> Objet: Re: [pve-devel] [PATCH] since qemu 1.7 xbzrle is AUTOMATICALLY enabled in the end of transfer - we need to explicit disable all feature we do not want 
> 
> 
> Am 10.02.2014 um 07:42 schrieb Alexandre DERUMIER <aderumier at odiso.com>: 
> 
>>>> I won't try them ;-) xbzrle is just unstable since a long time i don't 
>>>> believe it's suddenly stable ;- 
>>
>> Yes, same here, I also wanted to say that it's was not stable yet. 
> 
> No idea why they enable all features now by default. 
> 
> Stefan 
> 
>>
>> ----- Mail original ----- 
>>
>> De: "Stefan Priebe" <s.priebe at profihost.ag> 
>> À: "Alexandre DERUMIER" <aderumier at odiso.com> 
>> Cc: pve-devel at pve.proxmox.com 
>> Envoyé: Dimanche 9 Février 2014 15:24:04 
>> Objet: Re: [pve-devel] [PATCH] since qemu 1.7 xbzrle is AUTOMATICALLY enabled in the end of transfer - we need to explicit disable all feature we do not want 
>>
>> Am 09.02.2014 14:45, schrieb Alexandre DERUMIER: 
>>> Good catch ! 
>>
>> Thanks! 
>>
>>> I see in migration.c 
>>> static MigrationState *migrate_init(const MigrationParams *params) 
>>> { 
>>> ... 
>>> bool enabled_capabilities[MIGRATION_CAPABILITY_MAX]; 
>>>
>>> So I think that all capabilities are enabled by default now. 
>>>
>>> (BTW, any chance that xbzlre is related to your migration swap error ?) 
>>
>> Yes it's exactly xbzrle - that was the reason i detected that it was 
>> enabled. 
>>
>>>
>>> I see 2recents commits in qemu 
>>>
>>> "migration:fix free XBZRLE decoded_buf wrong" 
>>> http://git.qemu.org/?p=qemu.git;a=commit;h=905f26f2221e139ac0e7317ddac158c50f5cf876 
>>>
>>> "Set xbzrle buffers to NULL after freeing them to avoid double free errors" 
>>> http://git.qemu.org/?p=qemu.git;a=commit;h=f6c6483b259a2395ee44cfa966f622e0f2dbe2ae 
>>
>> I won't try them ;-) xbzrle is just unstable since a long time i don't 
>> believe it's suddenly stable ;-) 
>>
>>> ----- Mail original ----- 
>>>
>>> De: "Stefan Priebe" <s.priebe at profihost.ag> 
>>> À: pve-devel at pve.proxmox.com 
>>> Envoyé: Samedi 8 Février 2014 20:20:55 
>>> Objet: [pve-devel] [PATCH] since qemu 1.7 xbzrle is AUTOMATICALLY enabled in the end of transfer - we need to explicit disable all feature we do not want 
>>>
>>>
>>> Signed-off-by: Stefan Priebe <s.priebe at profihost.ag> 
>>> --- 
>>> PVE/QemuServer.pm | 8 +++----- 
>>> 1 file changed, 3 insertions(+), 5 deletions(-) 
>>>
>>> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm 
>>> index 8e2184e..3bb9820 100644 
>>> --- a/PVE/QemuServer.pm 
>>> +++ b/PVE/QemuServer.pm 
>>> @@ -3162,12 +3162,10 @@ sub set_migration_caps { 
>>> my $supported_capabilities = vm_mon_cmd_nocheck($vmid, "query-migrate-capabilities"); 
>>>
>>> for my $supported_capability (@$supported_capabilities) { 
>>> - if ($enabled_cap->{$supported_capability->{capability}} eq 1) { 
>>> - push @$cap_ref, { 
>>> - capability => $supported_capability->{capability}, 
>>> - state => JSON::true, 
>>> + push @$cap_ref, { 
>>> + capability => $supported_capability->{capability}, 
>>> + state => ($enabled_cap->{$supported_capability->{capability}}) ? JSON::true : JSON::false, 
>>> }; 
>>> - } 
>>> } 
>>>
>>> vm_mon_cmd_nocheck($vmid, "migrate-set-capabilities", capabilities => $cap_ref); 
>>>



More information about the pve-devel mailing list