[libvirt] [PATCH v2] qemu: neglect cur_balloon in supplied xml

John Ferlan jferlan at redhat.com
Wed Aug 31 11:21:46 UTC 2016



On 08/25/2016 05:04 AM, Nikolay Shirokovskiy wrote:
> 
> 
> On 30.07.2016 16:04, John Ferlan wrote:
>> s/$subj/qemu: Filter cur_balloon ABI check for certain transactions
>>
>> On 06/09/2016 10:32 AM, Nikolay Shirokovskiy wrote:
>>> cur_balloon value can change in between preparing external config and
>>> using it in operations like save and migrate. As a resutl operation will
>>> fail for ABI inconsistency. cur_balloon changes can not be predicted
>>> generally and thus operations will fail from time to time.
>>>
>>> Skip checking cur_balloon if domain lock can not be hold between
>>> preparing external config outside of libvirt and checking it against active
>>> config. Instead update cur_balloon value in external config from active config.
>>> This way it is protected from forges and is keeped up to date too.
>>>
>>
>> s/$commit/
>>
>> Since the domain lock is not held during preparation of an external XML
>> config, it is possible that the value can change resulting in unexpected
>> failures during ABI consistency checking for some save and migrate
>> operations.
>>
>> This patch adds a new flag to skip the checking of the cur_balloon value
>> and then sets the destination value to the source value to ensure
>> subsequent checks without the skip flag will succeed.
>>
>>> Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy at virtuozzo.com>
>>> ---
>>>  src/conf/domain_conf.c    | 14 +++++++++++---
>>>  src/conf/domain_conf.h    |  9 +++++++++
>>>  src/libvirt_private.syms  |  1 +
>>>  src/qemu/qemu_domain.c    | 29 ++++++++++++++++++++---------
>>>  src/qemu/qemu_domain.h    |  6 +++---
>>>  src/qemu/qemu_driver.c    |  5 +++--
>>>  src/qemu/qemu_migration.c |  4 ++--
>>>  7 files changed, 49 insertions(+), 19 deletions(-)
>>>
>>
>> This change seems reasonable to me and it doesn't seem to negate the
>> primary focus of commit id 'f2fc1eee' (which added the checks).
>>
>> I do have a few suggestions and can make those locally before pushing
>> after the current release is cut.
>>
>>
> 
> Thanx! I argee to all the suggestions, especially to keeping the name of the function
> that checks ABI. After all its name reflects 99% of its functionality and it is
> idiomatic for 'check' functions to have side effects in this project.
> 

OK - so I'll make the adjustments including going back to the original
name qemuDomainDefCheckABIStability as a bool and will push after the
release is out.

John




More information about the libvir-list mailing list