[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 18/18] ui/vdagent: add a migration blocker
From: |
marcandre . lureau |
Subject: |
[PULL 18/18] ui/vdagent: add a migration blocker |
Date: |
Tue, 31 Aug 2021 17:31:32 +0400 |
From: Marc-André Lureau <marcandre.lureau@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.lureau@redhat.com>
Message-Id: <20210805135715.857938-19-marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
---
ui/vdagent.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/ui/vdagent.c b/ui/vdagent.c
index 7d8cb963ff..19e8fbfc96 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,14 +840,18 @@ 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)
{
VDAgentChardev *vd = QEMU_VDAGENT_CHARDEV(obj);
+ 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.33.0.rc2
- [PULL 08/18] ui/clipboard: release owned grabs on unregister, (continued)
- [PULL 08/18] ui/clipboard: release owned grabs on unregister, marcandre . lureau, 2021/08/31
- [PULL 09/18] ui/vdagent: disconnect handlers and reset state on finalize, marcandre . lureau, 2021/08/31
- [PULL 10/18] ui/vdagent: reset outbuf on disconnect, marcandre . lureau, 2021/08/31
- [PULL 11/18] ui/vdagent: split clipboard recv message handling, marcandre . lureau, 2021/08/31
- [PULL 12/18] ui/vdagent: use qemu_clipboard_peer_release helper, marcandre . lureau, 2021/08/31
- [PULL 13/18] ui/vdagent: use qemu_clipboard_info helper, marcandre . lureau, 2021/08/31
- [PULL 14/18] ui/vdagent: send empty clipboard when unhandled, marcandre . lureau, 2021/08/31
- [PULL 15/18] ui/gtk-clipboard: use qemu_clipboard_info helper, marcandre . lureau, 2021/08/31
- [PULL 16/18] ui/vdagent: send release when no clipboard owner, marcandre . lureau, 2021/08/31
- [PULL 17/18] ui/gtk-clipboard: emit release clipboard events, marcandre . lureau, 2021/08/31
- [PULL 18/18] ui/vdagent: add a migration blocker,
marcandre . lureau <=
- Re: [PULL 00/18] UI/clipboard fixes, Peter Maydell, 2021/08/31