diff mbox series

[for,8.2] hw/audio/virtio-sound: mark the device as unmigratable

Message ID 20231204072837.6058-1-vr_qemu@t-online.de
State New
Headers show
Series [for,8.2] hw/audio/virtio-sound: mark the device as unmigratable | expand

Commit Message

Volker Rümelin Dec. 4, 2023, 7:28 a.m. UTC
The virtio-sound device is currently not migratable. QEMU crashes
on the source machine at some point during the migration with a
segmentation fault.

Even with this bug fixed, the virtio-sound device doesn't migrate
the state of the audio streams. For example, running streams leave
the device on the destination machine in a broken condition.

Mark the device as unmigratable until these issues have been fixed.

Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
---
 hw/audio/virtio-snd.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Volker Rümelin Dec. 4, 2023, 7:52 a.m. UTC | #1
Am 04.12.23 um 08:28 schrieb Volker Rümelin:

> The virtio-sound device is currently not migratable. QEMU crashes
> on the source machine at some point during the migration with a
> segmentation fault.
>
> Even with this bug fixed, the virtio-sound device doesn't migrate
> the state of the audio streams. For example, running streams leave
> the device on the destination machine in a broken condition.
>
> Mark the device as unmigratable until these issues have been fixed.
>
> Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
> ---
>  hw/audio/virtio-snd.c | 1 +
>  1 file changed, 1 insertion(+)

I already have a working patch series with 6 patches to fix these
issues. I wrote them in the last two days, which means they are not yet
in a reviewable state and the series is too big for 8.2. I think I need
another weekend or two before I send them to the qemu-devel mailing list.

With best regards,
Volker

> diff --git a/hw/audio/virtio-snd.c b/hw/audio/virtio-snd.c
> index 2fe966e311..b10fad1228 100644
> --- a/hw/audio/virtio-snd.c
> +++ b/hw/audio/virtio-snd.c
> @@ -68,6 +68,7 @@ static const VMStateDescription vmstate_virtio_snd_device = {
>  
>  static const VMStateDescription vmstate_virtio_snd = {
>      .name = TYPE_VIRTIO_SND,
> +    .unmigratable = 1,
>      .minimum_version_id = VIRTIO_SOUND_VM_VERSION,
>      .version_id = VIRTIO_SOUND_VM_VERSION,
>      .fields = (VMStateField[]) {
Marc-André Lureau Dec. 4, 2023, 8:03 a.m. UTC | #2
Hi

On Mon, Dec 4, 2023 at 11:30 AM Volker Rümelin <vr_qemu@t-online.de> wrote:
>
> The virtio-sound device is currently not migratable. QEMU crashes
> on the source machine at some point during the migration with a
> segmentation fault.
>
> Even with this bug fixed, the virtio-sound device doesn't migrate
> the state of the audio streams. For example, running streams leave
> the device on the destination machine in a broken condition.
>
> Mark the device as unmigratable until these issues have been fixed.
>
> Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

I'll queue this.

> ---
>  hw/audio/virtio-snd.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/hw/audio/virtio-snd.c b/hw/audio/virtio-snd.c
> index 2fe966e311..b10fad1228 100644
> --- a/hw/audio/virtio-snd.c
> +++ b/hw/audio/virtio-snd.c
> @@ -68,6 +68,7 @@ static const VMStateDescription vmstate_virtio_snd_device = {
>
>  static const VMStateDescription vmstate_virtio_snd = {
>      .name = TYPE_VIRTIO_SND,
> +    .unmigratable = 1,
>      .minimum_version_id = VIRTIO_SOUND_VM_VERSION,
>      .version_id = VIRTIO_SOUND_VM_VERSION,
>      .fields = (VMStateField[]) {
> --
> 2.35.3
>
>
Manos Pitsidianakis Dec. 4, 2023, 8:07 a.m. UTC | #3
On Mon, 4 Dec 2023 at 09:29, Volker Rümelin <vr_qemu@t-online.de> wrote:
>
> The virtio-sound device is currently not migratable. QEMU crashes
> on the source machine at some point during the migration with a
> segmentation fault.
>
> Even with this bug fixed, the virtio-sound device doesn't migrate
> the state of the audio streams. For example, running streams leave
> the device on the destination machine in a broken condition.
>
> Mark the device as unmigratable until these issues have been fixed.
>
> Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
> ---
>  hw/audio/virtio-snd.c | 1 +
>  1 file changed, 1 insertion(+)

Hello Volker!

I don't have the slightest clue on how migration works, but if this is
enough to prevent those bugs from happening, it sounds good to me.

Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Michael S. Tsirkin Dec. 4, 2023, 8:20 a.m. UTC | #4
On Mon, Dec 04, 2023 at 08:28:37AM +0100, Volker Rümelin wrote:
> The virtio-sound device is currently not migratable. QEMU crashes
> on the source machine at some point during the migration with a
> segmentation fault.
> 
> Even with this bug fixed, the virtio-sound device doesn't migrate
> the state of the audio streams. For example, running streams leave
> the device on the destination machine in a broken condition.
> 
> Mark the device as unmigratable until these issues have been fixed.
> 
> Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>

Acked-by: Michael S. Tsirkin <mst@redhat.com>

> ---
>  hw/audio/virtio-snd.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/audio/virtio-snd.c b/hw/audio/virtio-snd.c
> index 2fe966e311..b10fad1228 100644
> --- a/hw/audio/virtio-snd.c
> +++ b/hw/audio/virtio-snd.c
> @@ -68,6 +68,7 @@ static const VMStateDescription vmstate_virtio_snd_device = {
>  
>  static const VMStateDescription vmstate_virtio_snd = {
>      .name = TYPE_VIRTIO_SND,
> +    .unmigratable = 1,
>      .minimum_version_id = VIRTIO_SOUND_VM_VERSION,
>      .version_id = VIRTIO_SOUND_VM_VERSION,
>      .fields = (VMStateField[]) {
> -- 
> 2.35.3
diff mbox series

Patch

diff --git a/hw/audio/virtio-snd.c b/hw/audio/virtio-snd.c
index 2fe966e311..b10fad1228 100644
--- a/hw/audio/virtio-snd.c
+++ b/hw/audio/virtio-snd.c
@@ -68,6 +68,7 @@  static const VMStateDescription vmstate_virtio_snd_device = {
 
 static const VMStateDescription vmstate_virtio_snd = {
     .name = TYPE_VIRTIO_SND,
+    .unmigratable = 1,
     .minimum_version_id = VIRTIO_SOUND_VM_VERSION,
     .version_id = VIRTIO_SOUND_VM_VERSION,
     .fields = (VMStateField[]) {