qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for


From: Kevin Wolf
Subject: Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
Date: Tue, 14 Aug 2012 17:59:50 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120605 Thunderbird/13.0

Am 14.08.2012 17:48, schrieb Luiz Capitulino:
> On Tue, 14 Aug 2012 17:02:26 +0200
> Kevin Wolf <address@hidden> wrote:
> 
>> Am 14.08.2012 16:52, schrieb Luiz Capitulino:
>>> On Tue, 14 Aug 2012 15:48:37 +0200
>>> Kevin Wolf <address@hidden> wrote:
>>>
>>>> Am 14.08.2012 15:32, schrieb Anthony Liguori:
>>>>> To be replaced with live block copy.
>>>>>
>>>>> Signed-off-by: Anthony Liguori <address@hidden>
>>>>
>>>> Might be worth adding a deprecation note in qapi-schema.json.
>>>>
>>>>> ---
>>>>>  migration.c |    9 +++++++++
>>>>>  1 files changed, 9 insertions(+), 0 deletions(-)
>>>>>
>>>>> diff --git a/migration.c b/migration.c
>>>>> index 653a3c1..babccf4 100644
>>>>> --- a/migration.c
>>>>> +++ b/migration.c
>>>>> @@ -482,10 +482,19 @@ void qmp_migrate(const char *uri, bool has_blk, 
>>>>> bool blk,
>>>>>      MigrationParams params;
>>>>>      const char *p;
>>>>>      int ret;
>>>>> +    static bool suppress_deprecation_message;
>>>>>  
>>>>>      params.blk = blk;
>>>>>      params.shared = inc;
>>>>>  
>>>>> +    if (blk && !suppress_deprecation_message) {
>>>>
>>>> Hm, it's consistent with when we start block migration, but has_blk is
>>>> completely ignored for that and blk seems to be uninitialised if
>>>> !has_blk. I think this needs to be fixed. (Why does qmp-marshal.c even
>>>> compile when it can use blk uninitialised...?)
>>>
>>> Are you referring to qmp_marshal_input_migrate()? Where does it use
>>> blk uninitialized?
>>
>> Yes, I am. Maybe I'm missing the obvious thing, but:
>>
>> bool blk;
>> ...
>> if (has_blk) {
>>     visit_type_bool(v, &blk, "blk", errp);
>> }
>> ...
>> qmp_migrate(uri, has_blk, blk, has_inc, inc, has_detach, detach, errp);
>>
>> If has_blk is false, blk is never assigned a value before the
>> qmp_migrate() call, which uses it.
> 
> Yes, qmp_migrate() should only use blk if has_blk is true. The point you
> made above about this patch is correct. I thought you were talking about
> other usages.

I thought the compiler should warn about it independent of the
implementation of qmp_migrate(), because strictly speaking you're
already using blk in qmp_marshal_input_migrate(), even though
qmp_migrate() doesn't look at the parameter.

Kevin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]