Vladislav Yasevich <vyase...@redhat.com> wrote: > Add a qmp command that can trigger guest announcements. > > Based on work of Germano Veit Michel <germ...@redhat.com> > > Signed-off-by: Vladislav Yasevich <vyase...@redhat.com> > --- > migration/savevm.c | 14 ++++++++++++++ > qapi-schema.json | 19 +++++++++++++++++++ > 2 files changed, 33 insertions(+) > > diff --git a/migration/savevm.c b/migration/savevm.c > index a4097c9..b55ce6a 100644 > --- a/migration/savevm.c > +++ b/migration/savevm.c > @@ -265,6 +265,20 @@ void qemu_announce_self(AnnounceParameters *params) > qemu_announce_self_once(timer); > } > > +void qmp_announce_self(bool has_params, AnnounceParameters *params, > + Error **errp) > +{ > + AnnounceParameters announce_params; > + > + memcpy(&announce_params, qemu_get_announce_params(), > + sizeof(announce_params)); > + > + if (has_params) > + qemu_set_announce_parameters(&announce_params, params); > + > + qemu_announce_self(&announce_params);
Are I missreading qemu_annouce_self()? My reading is that it passes announce_params to a timer (i.e. async function), but here announce_params is a local variable here, no?