[libvirt] [PATCH 07/12] qemu: domain: Put the egl-headless' rendernode device into the namespace

Erik Skultety posted 12 patches 7 years, 2 months ago
There is a newer version of this series
[libvirt] [PATCH 07/12] qemu: domain: Put the egl-headless' rendernode device into the namespace
Posted by Erik Skultety 7 years, 2 months ago
Just like for SPICE, we need to put the DRI device into the namespace,
otherwise it will be left out from the DAC relabeling process.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
---
 src/qemu/qemu_domain.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 2f65bbe34e..569b35bcd0 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -11877,11 +11877,18 @@ qemuDomainSetupGraphics(virQEMUDriverConfigPtr cfg ATTRIBUTE_UNUSED,
                         virDomainGraphicsDefPtr gfx,
                         const struct qemuDomainCreateDeviceData *data)
 {
-    const char *rendernode = gfx->data.spice.rendernode;
+    const char *rendernode = NULL;
 
-    if (gfx->type != VIR_DOMAIN_GRAPHICS_TYPE_SPICE ||
-        gfx->data.spice.gl != VIR_TRISTATE_BOOL_YES ||
-        !rendernode)
+    if (gfx->type != VIR_DOMAIN_GRAPHICS_TYPE_SPICE &&
+        gfx->type != VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS)
+        return 0;
+
+    if (gfx->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE)
+        rendernode = gfx->data.spice.rendernode;
+    else
+        rendernode = gfx->data.egl_headless.rendernode;
+
+    if (!rendernode)
         return 0;
 
     return qemuDomainCreateDevice(rendernode, data, false);
-- 
2.19.1

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 07/12] qemu: domain: Put the egl-headless' rendernode device into the namespace
Posted by Ján Tomko 7 years, 2 months ago
On Thu, Nov 22, 2018 at 05:36:05PM +0100, Erik Skultety wrote:
>Just like for SPICE, we need to put the DRI device into the namespace,
>otherwise it will be left out from the DAC relabeling process.
>
>Signed-off-by: Erik Skultety <eskultet@redhat.com>
>---
> src/qemu/qemu_domain.c | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
>diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
>index 2f65bbe34e..569b35bcd0 100644
>--- a/src/qemu/qemu_domain.c
>+++ b/src/qemu/qemu_domain.c
>@@ -11877,11 +11877,18 @@ qemuDomainSetupGraphics(virQEMUDriverConfigPtr cfg ATTRIBUTE_UNUSED,
>                         virDomainGraphicsDefPtr gfx,
>                         const struct qemuDomainCreateDeviceData *data)
> {
>-    const char *rendernode = gfx->data.spice.rendernode;
>+    const char *rendernode = NULL;
>
>-    if (gfx->type != VIR_DOMAIN_GRAPHICS_TYPE_SPICE ||
>-        gfx->data.spice.gl != VIR_TRISTATE_BOOL_YES ||
>-        !rendernode)
>+    if (gfx->type != VIR_DOMAIN_GRAPHICS_TYPE_SPICE &&
>+        gfx->type != VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS)
>+        return 0;
>+
>+    if (gfx->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE)
>+        rendernode = gfx->data.spice.rendernode;
>+    else
>+        rendernode = gfx->data.egl_headless.rendernode;
>+

These changes are repetitive, consider a helper like virDomainInputDefGetPath

Jano
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list