From 8de96e270aed6afab96e5ddca39ec22f9a06bbd0 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Wed, 12 Apr 2023 12:41:53 +0200 Subject: [PATCH] qemu_hotplug: Deny live detach of MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I've tried, then I've tried even harder, but still wasn't able to make sense of our console backcompat code in all its fine details. Since I value my sanity, let's just forbid hotunplug of , especially since detaching of corresponding works. Signed-off-by: Michal Privoznik Reviewed-by: Ján Tomko --- src/qemu/qemu_hotplug.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index d9a102191f..5072798cb7 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -5693,6 +5693,16 @@ qemuDomainDetachDeviceChr(virQEMUDriver *driver, goto cleanup; } + if (vmdef->os.type == VIR_DOMAIN_OSTYPE_HVM && + tmpChr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE && + (tmpChr->targetType == VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_SERIAL || + tmpChr->targetType == VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_NONE)) { + /* Raise this limitation once device removal works. */ + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", + _("detaching of is unsupported. Try corresponding instead")); + goto cleanup; + } + /* guestfwd channels are not really -device rather than * -netdev. We need to treat them slightly differently. */ guestfwd = tmpChr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL &&