diff options
author | Marc-André Lureau | 2018-12-05 21:37:35 +0100 |
---|---|---|
committer | Markus Armbruster | 2018-12-12 09:55:57 +0100 |
commit | 269d25cdeb3acecf0033d6809dd7e23ebbc78ce9 (patch) | |
tree | ae8b8f804c878d02ceef6f6e941b40524c4d7885 /net | |
parent | monitor: check if chardev can switch gcontext for OOB (diff) | |
download | qemu-269d25cdeb3acecf0033d6809dd7e23ebbc78ce9.tar.gz qemu-269d25cdeb3acecf0033d6809dd7e23ebbc78ce9.tar.xz qemu-269d25cdeb3acecf0033d6809dd7e23ebbc78ce9.zip |
colo: check chardev can switch context
COLO uses a worker context (iothread) to drive the chardev. All
backends are not able to switch the context, let's report an error in
this case.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20181205203737.9011-6-marcandre.lureau@redhat.com>
Reviewed-by: Li Zhijian <lizhiian@cn.fujitsu.com>
Reviewed-by: Zhang Chen <zhangckid@gmail.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/colo-compare.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/colo-compare.c b/net/colo-compare.c index a39191d522..9156ab3349 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -957,6 +957,12 @@ static int find_and_check_chardev(Chardev **chr, return 1; } + if (!qemu_chr_has_feature(*chr, QEMU_CHAR_FEATURE_GCONTEXT)) { + error_setg(errp, "chardev \"%s\" cannot switch context", + chr_name); + return 1; + } + return 0; } |