[libvirt PATCH v3 04/16] conf: add <graphics type='dbus'>

Michal Prívozník mprivozn at redhat.com
Wed May 4 08:17:27 UTC 2022


On 12/22/21 20:43, marcandre.lureau at redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau at redhat.com>
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau at redhat.com>
> ---
>  docs/schemas/basictypes.rng                   |  7 ++
>  docs/schemas/domaincommon.rng                 | 33 ++++++++
>  src/conf/domain_conf.c                        | 78 ++++++++++++++++++-
>  src/conf/domain_conf.h                        |  8 ++
>  src/conf/domain_validate.c                    |  9 ++-
>  src/libxl/libxl_conf.c                        |  1 +
>  src/qemu/qemu_capabilities.c                  |  2 +
>  src/qemu/qemu_command.c                       |  2 +
>  src/qemu/qemu_domain.c                        |  1 +
>  src/qemu/qemu_driver.c                        |  6 +-
>  src/qemu/qemu_hotplug.c                       |  1 +
>  src/qemu/qemu_process.c                       |  4 +
>  src/qemu/qemu_validate.c                      |  1 +
>  src/vmx/vmx.c                                 |  1 +
>  .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml  |  1 +
>  .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml  |  1 +
>  tests/domaincapsdata/qemu_7.0.0.x86_64.xml    |  1 +
>  .../graphics-dbus-address.xml                 | 35 +++++++++
>  tests/qemuxml2argvdata/graphics-dbus-p2p.xml  | 33 ++++++++
>  tests/qemuxml2argvdata/graphics-dbus.xml      | 33 ++++++++
>  .../graphics-dbus-address.xml                 |  1 +
>  .../qemuxml2xmloutdata/graphics-dbus-p2p.xml  |  1 +
>  tests/qemuxml2xmloutdata/graphics-dbus.xml    |  1 +
>  tests/qemuxml2xmltest.c                       | 10 +++
>  24 files changed, 267 insertions(+), 4 deletions(-)
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.xml
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.xml
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus.xml
>  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-address.xml
>  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-p2p.xml
>  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus.xml
> 

> diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
> index 144ba4dd1211..cd219df0ac3c 100644
> --- a/src/conf/domain_conf.h
> +++ b/src/conf/domain_conf.h
> @@ -1741,6 +1741,7 @@ typedef enum {
>      VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP,
>      VIR_DOMAIN_GRAPHICS_TYPE_SPICE,
>      VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS,
> +    VIR_DOMAIN_GRAPHICS_TYPE_DBUS,
>  
>      VIR_DOMAIN_GRAPHICS_TYPE_LAST
>  } virDomainGraphicsType;
> @@ -1924,6 +1925,13 @@ struct _virDomainGraphicsDef {
>          struct {
>              char *rendernode;
>          } egl_headless;
> +        struct {
> +            bool p2p;

I wonder if it makes sense to turn this into proper virTristateBool. I
mean, that way we can track whether user entered p2p into the XML at
all. But I don't care that much/

> +            char *address;
> +            char *rendernode;
> +            virTristateBool gl;
> +            bool fromConfig;    /* true if the @address is config file originated */
> +        } dbus;
>      } data;
>      /* nListens, listens, and *port are only useful if type is vnc,
>       * rdp, or spice. They've been extracted from the union only to


Squash this in please:

diff --git c/src/libxl/libxl_domain.c i/src/libxl/libxl_domain.c
index dbe44f4ffc..af938192a9 100644
--- c/src/libxl/libxl_domain.c
+++ i/src/libxl/libxl_domain.c
@@ -957,6 +957,7 @@ libxlDomainCleanup(libxlDriverPrivate *driver,
         case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
         case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
         case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
+        case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
         case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
             break;
         }
diff --git c/src/libxl/libxl_driver.c i/src/libxl/libxl_driver.c
index 9ffa20161d..d4ae875854 100644
--- c/src/libxl/libxl_driver.c
+++ i/src/libxl/libxl_driver.c
@@ -465,6 +465,7 @@ libxlReconnectDomain(virDomainObj *vm,
          case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
          case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
          case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
+         case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
          case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
              break;
          }


Michal



More information about the libvir-list mailing list