Am 14.08.2012 16:52, schrieb Luiz Capitulino:
> On Tue, 14 Aug 2012 15:48:37 +0200
> Kevin Wolf <[email protected]> wrote:
>
>> Am 14.08.2012 15:32, schrieb Anthony Liguori:
>>> To be replaced with live block copy.
>>>
>>> Signed-off-by: Anthony Liguori <[email protected]>
>>
>> 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.
Kevin