From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33024) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aWlPh-0001Ve-LV for qemu-devel@nongnu.org; Fri, 19 Feb 2016 08:48:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aWlPg-0005hk-Ms for qemu-devel@nongnu.org; Fri, 19 Feb 2016 08:48:05 -0500 Date: Fri, 19 Feb 2016 14:47:56 +0100 From: Kevin Wolf Message-ID: <20160219134756.GD5228@noname.redhat.com> References: <1453307106-28330-1-git-send-email-kwolf@redhat.com> <1453307106-28330-9-git-send-email-kwolf@redhat.com> <56C5EB3A.90303@redhat.com> <20160219091748.GB5228@noname.redhat.com> <56C6F04F.1080403@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <56C6F04F.1080403@redhat.com> Subject: Re: [Qemu-devel] [PULL 08/17] block: Assert no write requests under BDRV_O_INCOMING List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laurent Vivier Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org Am 19.02.2016 um 11:37 hat Laurent Vivier geschrieben: > > > On 19/02/2016 10:17, Kevin Wolf wrote: > > Am 18.02.2016 um 17:03 hat Laurent Vivier geschrieben: > >> Hi, > >> > >> this commit breaks incoming migration case: > >> > >> qemu-system-ppc64 XXX -incoming tcp:0:4444 > >> qemu-system-ppc64: .../qemu/block/io.c:1304: bdrv_co_do_pwritev: > >> Assertion `!(bs->open_flags & 0x0800)' failed. > >> > >> Without "-incoming", the same command line boots fine. > >> > >> Are you aware of the problem? > > > > No, and with no other command line options it works for me: > > > > $ ppc64-softmmu/qemu-system-ppc64 -incoming tcp::4444 > > > > I have also tested somewhat more realistic cases on x86 (including > > performing actual migrations) before committing the patch, so it's not > > generally broken. > > > > Can you please give the full command line and the stack backtrace? I > > think you're seeing a bug where some PPC hardware tries to read (or > > access anyway) the image before the migration has completed. This is for > > obvious reasons wrong (the contents may still change until the VM is > > handed over). > > It happens before the migration has started, as soon as I start qemu > with "-incoming" parameter. > > The simplified command line is: > > qemu-system-ppc64 > -drive file=rhel7.2-le.qcow2,format=qcow2,snapshot=on > -incoming tcp:0:4444 > > The problem seems coming from "snapshot=on". Aha. The combination of migration with snapshot=on is obvious nonsense (because on the destination the disk state would be reverted while the guest OS thinks the disk is unchanged), so we should probably take a migration blocker when an image with snapshot=on is opened. Kevin