On Thu, Aug 5, 2021 at 6:06 PM <marcandre.lur...@redhat.com> wrote: > From: Marc-André Lureau <marcandre.lur...@redhat.com> > > The current implementation lacks migration support. After migration, > vdagent support will be broken (even after a restart of the daemons). > Let's try to fix it in 6.2. > > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > --- > ui/vdagent.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/ui/vdagent.c b/ui/vdagent.c > index 7d8cb963ff..603a2a7bd2 100644 > --- a/ui/vdagent.c > +++ b/ui/vdagent.c > @@ -6,6 +6,7 @@ > #include "qemu/option.h" > #include "qemu/units.h" > #include "hw/qdev-core.h" > +#include "migration/blocker.h" > #include "ui/clipboard.h" > #include "ui/console.h" > #include "ui/input.h" > @@ -23,6 +24,9 @@ > struct VDAgentChardev { > Chardev parent; > > + /* TODO: migration isn't yet supported */ > + Error *migration_blocker; > + > /* config */ > bool mouse; > bool clipboard; > @@ -599,6 +603,10 @@ static void vdagent_chr_open(Chardev *chr, > return; > #endif > > + if (migrate_add_blocker(vd->migration_blocker, errp) != 0) { > + return; > + } > + > vd->mouse = VDAGENT_MOUSE_DEFAULT; > if (cfg->has_mouse) { > vd->mouse = cfg->mouse; > @@ -832,6 +840,8 @@ static void vdagent_chr_init(Object *obj) > VDAgentChardev *vd = QEMU_VDAGENT_CHARDEV(obj); > > buffer_init(&vd->outbuf, "vdagent-outbuf"); > + error_setg(&vd->migration_blocker, > + "The vdagent chardev doesn't yet support migration"); > } > > static void vdagent_chr_fini(Object *obj) > @@ -840,6 +850,7 @@ static void vdagent_chr_fini(Object *obj) > > Missing + migrate_del_blocker(vd->migration_blocker);
vdagent_disconnect(vd); > buffer_free(&vd->outbuf); > + error_free(vd->migration_blocker); > } > > static const TypeInfo vdagent_chr_type_info = { > -- > 2.32.0.264.g75ae10bc75 > > > -- Marc-André Lureau