[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_
Re: [Qemu-devel] [PATCH for-2.8] migration: Fix return code of ram_save_iterate()
Mon, 14 Nov 2016 19:34:59 +0100
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)
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>
I don't know how we broked this so much.
Re: [Qemu-devel] [PATCH for-2.8] migration: Fix return code of ram_save_iterate(),
Juan Quintela <=