qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] audio: Never send migration section


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH] audio: Never send migration section
Date: Tue, 10 Aug 2021 06:58:06 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0

On 8/9/21 7:12 PM, Daniel P. Berrangé wrote:
> On Mon, Aug 09, 2021 at 06:09:56PM +0100, Dr. David Alan Gilbert (git) wrote:
>> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
>>
>> The audio migration vmstate is empty, and always has been; we can't
>> just remove it though because an old qemu might send it us.
>> Changes with -audiodev now mean it's sometimes created when it didn't
>> used to be, and can confuse migration to old qemu.

Not a 6.1 regression but easy change for rc3 IMO.

>> Change it so that vmstate_audio is never sent; if it's received it
>> should still be accepted, and old qemu's shouldn't be too upset if it's
>> missing.

Worth Cc: stable@ maybe?

>> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
>> ---
>>  audio/audio.c | 10 ++++++++++
>>  1 file changed, 10 insertions(+)
> 
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> Tested-by: Daniel P. Berrangé <berrange@redhat.com>
> 
> 
> For testing I have a VM with -audiodev, but *WITHOUT* any sound
> frontend devices. Live migrating to a QEMU using QEMU_AUDIO_DRV
> would previously fail. With this applied it now works, showing
> that we dont uncessarily send this.
> 
> I also tested migration to a QEMU with -audiodev, but without
> this patch, and that still works as before, showing that QEMU
> is happy if this section is not sent.
> 
>>
>> diff --git a/audio/audio.c b/audio/audio.c
>> index 59453ef856..54a153c0ef 100644
>> --- a/audio/audio.c
>> +++ b/audio/audio.c
>> @@ -1622,10 +1622,20 @@ void audio_cleanup(void)
>>      }
>>  }
>>  
>> +static bool vmstate_audio_needed(void *opaque)
>> +{
>> +    /*
>> +     * Never needed, this vmstate only exists in case
>> +     * an old qemu sends it to us.
>> +     */
>> +    return false;
>> +}
>> +
>>  static const VMStateDescription vmstate_audio = {
>>      .name = "audio",
>>      .version_id = 1,
>>      .minimum_version_id = 1,
>> +    .needed = vmstate_audio_needed,
>>      .fields = (VMStateField[]) {
>>          VMSTATE_END_OF_LIST()
>>      }
>> -- 
>> 2.31.1
>>
> 
> Regards,
> Daniel
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]