qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH for-2.8] migration: Fix return code of ram_save_


From: Thomas Huth
Subject: Re: [Qemu-devel] [PATCH for-2.8] migration: Fix return code of ram_save_iterate()
Date: Fri, 18 Nov 2016 09:13:20 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0

On 17.11.2016 04:45, David Gibson wrote:
> On Mon, Nov 14, 2016 at 07:34:59PM +0100, Juan Quintela wrote:
>> Thomas Huth <address@hidden> wrote:
>>> qemu_savevm_state_iterate() expects the iterators to return 1
>>> when they are done, and 0 if there is still something left to do.
>>> However, ram_save_iterate() does not obey this rule and returns
>>> the number of saved pages instead. This causes a fatal hang with
>>> ppc64 guests when you run QEMU like this (also works with TCG):
>>>
>>>  qemu-img create -f qcow2  /tmp/test.qcow2 1M
>>>  qemu-system-ppc64 -nographic -nodefaults -m 256 \
>>>                    -hda /tmp/test.qcow2 -serial mon:stdio
>>>
>>> ... then switch to the monitor by pressing CTRL-a c and try to
>>> save a snapshot with "savevm test1" for example.
>>>
>>> After the first iteration, ram_save_iterate() always returns 0 here,
>>> so that qemu_savevm_state_iterate() hangs in an endless loop and you
>>> can only "kill -9" the QEMU process.
>>> Fix it by using proper return values in ram_save_iterate().
>>>
>>> Signed-off-by: Thomas Huth <address@hidden>
>>
>> Reviewed-by: Juan Quintela <address@hidden>
>>
>> Applied.
>>
>> I don't know how we broked this so much.
> 
> Note that block save iterate has the same bug...

I think you're right. Care to send a patch?

 Thomas



Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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