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