]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
ch: Do not add stub console to ch VMs
authorPraveen K Paladugu <prapal@linux.microsoft.com>
Thu, 9 Feb 2023 22:09:28 +0000 (22:09 +0000)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 10 Feb 2023 14:23:21 +0000 (15:23 +0100)
virDomainDefAddConsoleCompat in post parsing step appends a stub console
of type VIR_DOMAIN_CHR_TYPE_NULL to ch VMs' Domain XML. Cloud-hypervisor's
deviceValidateCallback (chValidateDomainDeviceDef) checks that the type of
stub console is not of type VIR_DOMAIN_CHR_TYPE_PTY and throws an error.

This commit introduces NO_STUB_CONSOLE feature check to Domain features and
uses it to skip adding stub console to ch VMs.

Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/ch/ch_domain.c
src/conf/domain_conf.c
src/conf/domain_conf.h

index 83defbb416fb732793ed2e034afab3eac8ca4301..cf9865447955de8777ca59a0d7f993b176e405ff 100644 (file)
@@ -262,6 +262,7 @@ virDomainDefParserConfig virCHDriverDomainDefParserConfig = {
     .domainPostParseBasicCallback = virCHDomainDefPostParseBasic,
     .domainPostParseCallback = virCHDomainDefPostParse,
     .deviceValidateCallback = chValidateDomainDeviceDef,
+    .features = VIR_DOMAIN_DEF_FEATURE_NO_STUB_CONSOLE,
 };
 
 virCHMonitor *
index ff1c78ecd1a911963574800dedd570a4c9135aea..a5578324b93aa1e47fc41342c529c067bfba7a70 100644 (file)
@@ -21751,9 +21751,10 @@ virDomainDefAddImplicitVideo(virDomainDef *def, virDomainXMLOption *xmlopt)
 int
 virDomainDefAddImplicitDevices(virDomainDef *def, virDomainXMLOption *xmlopt)
 {
-    if (virDomainDefAddConsoleCompat(def) < 0)
-        return -1;
-
+    if ((xmlopt->config.features & VIR_DOMAIN_DEF_FEATURE_NO_STUB_CONSOLE) == 0) {
+        if (virDomainDefAddConsoleCompat(def) < 0)
+            return -1;
+    }
     if (virDomainDefAddImplicitControllers(def) < 0)
         return -1;
 
index e684edcf95b426904f68462706fefa3094b0f42d..62f80d653da88e410203cfaf9d2e713ca5fca6cf 100644 (file)
@@ -3231,6 +3231,7 @@ typedef enum {
     VIR_DOMAIN_DEF_FEATURE_FW_AUTOSELECT = (1 << 7),
     VIR_DOMAIN_DEF_FEATURE_NET_MODEL_STRING = (1 << 8),
     VIR_DOMAIN_DEF_FEATURE_DISK_FD = (1 << 9),
+    VIR_DOMAIN_DEF_FEATURE_NO_STUB_CONSOLE = (1 << 10),
 } virDomainDefFeatures;