[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 08/17] block: Assert no write requests under BDRV
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PULL 08/17] block: Assert no write requests under BDRV_O_INCOMING |
Date: |
Fri, 19 Feb 2016 14:47:56 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
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