[libvirt] [PATCH 3/6] qemu: explicitly disable audio if there is no sound device

John Ferlan jferlan at redhat.com
Mon Nov 20 22:55:10 UTC 2017



On 11/14/2017 08:45 AM, Pavel Hrdina wrote:
> If there is no sound device configured for the guest we can disable the
> audio output because hot-plugging sound devices isn't supported.
> 
> Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
> ---
>  src/qemu/qemu_command.c                                              | 5 +++++
>  tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc-old.args        | 2 +-
>  tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc.args            | 2 +-
>  tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.args     | 1 +
>  tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl.args                | 1 +
>  .../qemuxml2argv-graphics-spice-agent-file-xfer.args                 | 2 +-
>  tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agentmouse.args   | 2 +-
>  .../qemuxml2argv-graphics-spice-auto-socket-cfg.args                 | 2 +-
>  tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-auto-socket.args  | 2 +-
>  tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-compression.args  | 2 +-
>  tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-no-args.args      | 2 +-
>  tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-qxl-vga.args      | 2 +-
>  tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-sasl.args         | 2 +-
>  tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-socket.args       | 2 +-
>  tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-usb-redir.args    | 2 +-
>  tests/qemuxml2argvdata/qemuxml2argv-graphics-spice.args              | 2 +-
>  tests/qemuxml2argvdata/qemuxml2argv-name-escape.args                 | 2 +-
>  tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport.args            | 2 +-
>  tests/qemuxml2argvdata/qemuxml2argv-video-virtio-gpu-spice-gl.args   | 2 +-
>  19 files changed, 23 insertions(+), 16 deletions(-)
> 
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index e1ef1b05fa..c5c7bd7e54 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -4447,6 +4447,11 @@ qemuBuildSoundAudioEnv(virCommandPtr cmd,
>                         const virDomainDef *def,
>                         virQEMUDriverConfigPtr cfg)
>  {
> +    if (def->nsounds == 0) {
> +        virCommandAddEnvString(cmd, "QEMU_AUDIO_DRV=none");
> +        return;
> +    }
> +

But based on the changes to the .args file for Spice - wouldn't the
default be whatever Spice had? Now we're requiring someone to configure
the sound for Spice?

What about a migration... On hostA with 3.9.0 - we have sound... We
migrate to hostB with these patches and the sound goes away?


>      if (def->ngraphics == 0) {
>          if (cfg->nogfxAllowHostAudio)

Also if there was no graphics and no sound device previously, the domain
would be started with whatever QEMU_AUDIO_DRV was set to (outside
libvirt context), with this path, right?  So in this case, we then also
would "lose" the sound - I think that'd be the text console case.

Maybe I just need to be convince more on this one.  Always "of concern"
to remove some default just in case "someone" has assumed that [and I
haven't looked ahead yet, so my opinion could change again ;-)]

John

>              virCommandAddEnvPassBlockSUID(cmd, "QEMU_AUDIO_DRV", NULL);
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc-old.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc-old.args
> index 19f7e11d22..dae3636f6b 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc-old.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc-old.args
> @@ -3,7 +3,7 @@ PATH=/bin \
>  HOME=/home/test \
>  USER=test \
>  LOGNAME=test \
> -QEMU_AUDIO_DRV=spice \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name QEMUGuest1 \
>  -S \
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc.args
> index fa9f4c5279..1f49107632 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc.args
> @@ -3,7 +3,7 @@ PATH=/bin \
>  HOME=/home/test \
>  USER=test \
>  LOGNAME=test \
> -QEMU_AUDIO_DRV=spice \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name QEMUGuest1 \
>  -S \
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.args
> index cc833970cc..ec858ddcb0 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.args
> @@ -5,6 +5,7 @@ USER=test \
>  LOGNAME=test \
>  XAUTHORITY=/root/.Xauthority \
>  DISPLAY=:0.1 \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name QEMUGuest1 \
>  -S \
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl.args
> index b9492e83f4..3f7631dc07 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl.args
> @@ -5,6 +5,7 @@ USER=test \
>  LOGNAME=test \
>  XAUTHORITY=/root/.Xauthority \
>  DISPLAY=:0.1 \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name QEMUGuest1 \
>  -S \
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agent-file-xfer.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agent-file-xfer.args
> index 9492458831..433b5c5b68 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agent-file-xfer.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agent-file-xfer.args
> @@ -3,7 +3,7 @@ PATH=/bin \
>  HOME=/home/test \
>  USER=test \
>  LOGNAME=test \
> -QEMU_AUDIO_DRV=spice \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name QEMUGuest1 \
>  -S \
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agentmouse.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agentmouse.args
> index a45ab2205c..7d40c10fcd 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agentmouse.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agentmouse.args
> @@ -3,7 +3,7 @@ PATH=/bin \
>  HOME=/home/test \
>  USER=test \
>  LOGNAME=test \
> -QEMU_AUDIO_DRV=spice \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name QEMUGuest1 \
>  -S \
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-auto-socket-cfg.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-auto-socket-cfg.args
> index b0c16077d6..9dfb3c6843 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-auto-socket-cfg.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-auto-socket-cfg.args
> @@ -3,7 +3,7 @@ PATH=/bin \
>  HOME=/home/test \
>  USER=test \
>  LOGNAME=test \
> -QEMU_AUDIO_DRV=spice \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name QEMUGuest1 \
>  -S \
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-auto-socket.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-auto-socket.args
> index b0c16077d6..9dfb3c6843 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-auto-socket.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-auto-socket.args
> @@ -3,7 +3,7 @@ PATH=/bin \
>  HOME=/home/test \
>  USER=test \
>  LOGNAME=test \
> -QEMU_AUDIO_DRV=spice \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name QEMUGuest1 \
>  -S \
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-compression.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-compression.args
> index 07a1d12bda..c7dc9e4b8a 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-compression.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-compression.args
> @@ -3,7 +3,7 @@ PATH=/bin \
>  HOME=/home/test \
>  USER=test \
>  LOGNAME=test \
> -QEMU_AUDIO_DRV=spice \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name QEMUGuest1 \
>  -S \
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-no-args.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-no-args.args
> index e7b402169f..50ac953368 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-no-args.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-no-args.args
> @@ -3,7 +3,7 @@ PATH=/bin \
>  HOME=/home/test \
>  USER=test \
>  LOGNAME=test \
> -QEMU_AUDIO_DRV=spice \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name QEMUGuest1 \
>  -S \
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-qxl-vga.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-qxl-vga.args
> index f6c25af18a..0d88091675 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-qxl-vga.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-qxl-vga.args
> @@ -3,7 +3,7 @@ PATH=/bin \
>  HOME=/home/test \
>  USER=test \
>  LOGNAME=test \
> -QEMU_AUDIO_DRV=spice \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name QEMUGuest1 \
>  -S \
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-sasl.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-sasl.args
> index 6198510aa0..e3483e9a71 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-sasl.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-sasl.args
> @@ -4,7 +4,7 @@ HOME=/home/test \
>  USER=test \
>  LOGNAME=test \
>  SASL_CONF_PATH=/root/.sasl2 \
> -QEMU_AUDIO_DRV=spice \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name QEMUGuest1 \
>  -S \
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-socket.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-socket.args
> index 34a4dced0a..d3a4774cb9 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-socket.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-socket.args
> @@ -3,7 +3,7 @@ PATH=/bin \
>  HOME=/home/test \
>  USER=test \
>  LOGNAME=test \
> -QEMU_AUDIO_DRV=spice \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name QEMUGuest1 \
>  -S \
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-usb-redir.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-usb-redir.args
> index 8deaee335f..49cc42b792 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-usb-redir.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-usb-redir.args
> @@ -3,7 +3,7 @@ PATH=/bin \
>  HOME=/home/test \
>  USER=test \
>  LOGNAME=test \
> -QEMU_AUDIO_DRV=spice \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name QEMUGuest1 \
>  -S \
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice.args
> index d5d1869645..2cb76e929e 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice.args
> @@ -3,7 +3,7 @@ PATH=/bin \
>  HOME=/home/test \
>  USER=test \
>  LOGNAME=test \
> -QEMU_AUDIO_DRV=spice \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name QEMUGuest1 \
>  -S \
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-name-escape.args b/tests/qemuxml2argvdata/qemuxml2argv-name-escape.args
> index d94ab76312..9e631ee5ec 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-name-escape.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-name-escape.args
> @@ -3,7 +3,7 @@ PATH=/bin \
>  HOME=/home/test \
>  USER=test \
>  LOGNAME=test \
> -QEMU_AUDIO_DRV=spice \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name guest=foo=1,,bar=2,debug-threads=on \
>  -S \
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport.args
> index a3981499a2..93d758864e 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport.args
> @@ -3,7 +3,7 @@ PATH=/bin \
>  HOME=/home/test \
>  USER=test \
>  LOGNAME=test \
> -QEMU_AUDIO_DRV=spice \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name QEMUGuest1 \
>  -S \
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-virtio-gpu-spice-gl.args b/tests/qemuxml2argvdata/qemuxml2argv-video-virtio-gpu-spice-gl.args
> index 9c6ba79578..04327951f6 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-video-virtio-gpu-spice-gl.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-video-virtio-gpu-spice-gl.args
> @@ -3,7 +3,7 @@ PATH=/bin \
>  HOME=/home/test \
>  USER=test \
>  LOGNAME=test \
> -QEMU_AUDIO_DRV=spice \
> +QEMU_AUDIO_DRV=none \
>  /usr/bin/qemu-system-i686 \
>  -name QEMUGuest1 \
>  -S \
> 




More information about the libvir-list mailing list