[libvirt] [PATCH RESEND 0/2] qemu: reject invalid video accel* settings

This series adds a couple checks for invalid video accel* settings, incase users screw up their XML when trying to enable spice GL No change since last posting, just rebased to master Cole Robinson (2): qemu: command: Error on accel3d with non-virtio qemu: command: Error on accel2d src/qemu/qemu_command.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) -- 2.7.4

We should be raising an error if accel3d is present for any non-virtio video as well, incase someone tries it for say 'qxl' --- src/qemu/qemu_command.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 6944129..f3c26f9 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -4066,18 +4066,20 @@ qemuBuildDeviceVideoStr(const virDomainDef *def, virBufferAsprintf(&buf, "%s,id=%s", model, video->info.alias); - if (video->type == VIR_DOMAIN_VIDEO_TYPE_VIRTIO) { - if (video->accel && video->accel->accel3d == VIR_TRISTATE_SWITCH_ON) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VIRTIO_GPU_VIRGL)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - "%s", _("virtio-gpu 3d acceleration is not supported")); - goto error; - } - - virBufferAsprintf(&buf, ",virgl=%s", - virTristateSwitchTypeToString(video->accel->accel3d)); + if (video->accel && video->accel->accel3d == VIR_TRISTATE_SWITCH_ON) { + if (video->type != VIR_DOMAIN_VIDEO_TYPE_VIRTIO || + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VIRTIO_GPU_VIRGL)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("%s 3d acceleration is not supported"), + virDomainVideoTypeToString(video->type)); + goto error; } - } else if (video->type == VIR_DOMAIN_VIDEO_TYPE_QXL) { + + virBufferAsprintf(&buf, ",virgl=%s", + virTristateSwitchTypeToString(video->accel->accel3d)); + } + + if (video->type == VIR_DOMAIN_VIDEO_TYPE_QXL) { if (video->vram > (UINT_MAX / 1024)) { virReportError(VIR_ERR_OVERFLOW, _("value for 'vram' must be less than '%u'"), -- 2.7.4

qemu doesn't have any accel2d support wired up. Explicitly error if a user tries it out, or typos the accel3d option --- src/qemu/qemu_command.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index f3c26f9..4fdb410 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -4066,6 +4066,12 @@ qemuBuildDeviceVideoStr(const virDomainDef *def, virBufferAsprintf(&buf, "%s,id=%s", model, video->info.alias); + if (video->accel && video->accel->accel2d == VIR_TRISTATE_SWITCH_ON) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("qemu does not support the accel2d setting")); + goto error; + } + if (video->accel && video->accel->accel3d == VIR_TRISTATE_SWITCH_ON) { if (video->type != VIR_DOMAIN_VIDEO_TYPE_VIRTIO || !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VIRTIO_GPU_VIRGL)) { -- 2.7.4

On Wed, Jun 22, 2016 at 03:53:48PM -0400, Cole Robinson wrote:
This series adds a couple checks for invalid video accel* settings, incase users screw up their XML when trying to enable spice GL
No change since last posting, just rebased to master
Cole Robinson (2): qemu: command: Error on accel3d with non-virtio qemu: command: Error on accel2d
Looks good, ACK series.
src/qemu/qemu_command.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-)
-- 2.7.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
participants (2)
-
Cole Robinson
-
Martin Kletzander