From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50779) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c4Une-0001z2-P7 for qemu-devel@nongnu.org; Wed, 09 Nov 2016 10:28:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c4Una-0004hk-T2 for qemu-devel@nongnu.org; Wed, 09 Nov 2016 10:28:30 -0500 Received: from mx1.redhat.com ([209.132.183.28]:48094) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1c4Una-0004gd-N4 for qemu-devel@nongnu.org; Wed, 09 Nov 2016 10:28:26 -0500 References: <1478265017-5700-1-git-send-email-thuth@redhat.com> <20161109071800.GA1888@amit-lp.rh> <1283dfcc-2f4a-299d-6ecb-16ccd5eff89e@redhat.com> <20161109151351.GC7738@work-vm> From: Thomas Huth Message-ID: <9c44c2ec-ff09-8667-f78c-644686eec0ed@redhat.com> Date: Wed, 9 Nov 2016 16:28:22 +0100 MIME-Version: 1.0 In-Reply-To: <20161109151351.GC7738@work-vm> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH for-2.8] migration: Fix return code of ram_save_iterate() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Dr. David Alan Gilbert" Cc: Amit Shah , Juan Quintela , qemu-devel@nongnu.org, David Gibson On 09.11.2016 16:13, Dr. David Alan Gilbert wrote: > * Thomas Huth (thuth@redhat.com) wrote: >> On 09.11.2016 08:18, Amit Shah wrote: >>> On (Fri) 04 Nov 2016 [14:10:17], Thomas Huth 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): >>> >>> "works with" -- does that mean reproduces with? >> >> Yes, that's what I've meant: You can reproduce it with TCG (e.g. running >> on a x86 system), too, there's no need for a real POWER machine with KVM >> here. > > How did you trigger it on x86? As described below - qemu-img + qemu-system-ppc64 + savevm is enough to trigger it on a x86 host. > >>>> 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. Thomas