qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: 858585 jemmy <jemmy858585@gmail.com>
Cc: Bug 1681688 <1681688@bugs.launchpad.net>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [Bug 1681688] Re: qemu live migration failed
Date: Tue, 11 Apr 2017 15:57:00 +0200	[thread overview]
Message-ID: <20170411135700.GM4516@noname.str.redhat.com> (raw)
In-Reply-To: <CAOGPPbctB_RKy1G9+MuKwVN7T7hn6dwKuQ27hVpoVWX8CVyhYg@mail.gmail.com>

Am 11.04.2017 um 15:35 hat 858585 jemmy geschrieben:
> Hi Kevin:
>    Can you provide some information about the original bug which you want fix?
> 
>    the original comment:
>    Usually guest devices don't like other writers to the same image, so
>    they use blk_set_perm() to prevent this from happening.
> 
>    i don't find where the dest qemu will use blk_set_perm during migration.
>    but after apply this patch, blkconf_apply_backend_options don't update the
>    blk->root->perm.

Do I understand correctly that this is not simply live migration, but
block live migration (with 'migrate -b')?

Can you please post a backtrace not of the successful case, but of the
failing assertion?

Kevin

> On Tue, Apr 11, 2017 at 4:21 PM, Lidong Chen <jemmy858585@gmail.com> wrote:
> > blk->root->perm is 1 when blk_new_open.
> >
> > the blk->root->perm is update to 3 during virtio_blk_device_realize.
> >
> > but after this commit, the blk->root->perm is still 1. and cause
> > bdrv_aligned_pwritev failed.
> >
> > Breakpoint 1, blk_set_perm (blk=0x14c32b0, perm=3, shared_perm=29, errp=0x7fffffffd380) at block/block-backend.c:579
> > 579     {
> > (gdb) bt
> > #0  blk_set_perm (blk=0x14c32b0, perm=3, shared_perm=29, errp=0x7fffffffd380) at block/block-backend.c:579
> > #1  0x000000000063484b in blkconf_apply_backend_options (conf=0x2de7fd0, readonly=false, resizable=true, errp=0x7fffffffd380) at hw/block/block.c:77
> > #2  0x00000000004a57bd in virtio_blk_device_realize (dev=0x2de7e30, errp=0x7fffffffd3e0) at /data/qemu/hw/block/virtio-blk.c:931
> > #3  0x00000000004f688e in virtio_device_realize (dev=0x2de7e30, errp=0x7fffffffd468) at /data/qemu/hw/virtio/virtio.c:2485
> > #4  0x000000000065806f in device_set_realized (obj=0x2de7e30, value=true, errp=0x7fffffffd6d8) at hw/core/qdev.c:939
> > #5  0x000000000083aaf5 in property_set_bool (obj=0x2de7e30, v=0x2e67a90, name=0xaf4b53 "realized", opaque=0x2de9660, errp=0x7fffffffd6d8) at qom/object.c:1860
> > #6  0x0000000000838c46 in object_property_set (obj=0x2de7e30, v=0x2e67a90, name=0xaf4b53 "realized", errp=0x7fffffffd6d8) at qom/object.c:1094
> > #7  0x000000000083c23f in object_property_set_qobject (obj=0x2de7e30, value=0x2e679e0, name=0xaf4b53 "realized", errp=0x7fffffffd6d8) at qom/qom-qobject.c:27
> > #8  0x0000000000838f9a in object_property_set_bool (obj=0x2de7e30, value=true, name=0xaf4b53 "realized", errp=0x7fffffffd6d8) at qom/object.c:1163
> > #9  0x00000000007bafac in virtio_blk_pci_realize (vpci_dev=0x2ddf920, errp=0x7fffffffd6d8) at hw/virtio/virtio-pci.c:1975
> > #10 0x00000000007ba966 in virtio_pci_realize (pci_dev=0x2ddf920, errp=0x7fffffffd6d8) at hw/virtio/virtio-pci.c:1853
> > #11 0x000000000071e439 in pci_qdev_realize (qdev=0x2ddf920, errp=0x7fffffffd7b8) at hw/pci/pci.c:2001
> > #12 0x00000000007badaa in virtio_pci_dc_realize (qdev=0x2ddf920, errp=0x7fffffffd7b8) at hw/virtio/virtio-pci.c:1930
> > #13 0x000000000065806f in device_set_realized (obj=0x2ddf920, value=true, errp=0x7fffffffd9a8) at hw/core/qdev.c:939
> > #14 0x000000000083aaf5 in property_set_bool (obj=0x2ddf920, v=0x2decfd0, name=0x9b2c0e "realized", opaque=0x2ddf5d0, errp=0x7fffffffd9a8) at qom/object.c:1860
> > #15 0x0000000000838c46 in object_property_set (obj=0x2ddf920, v=0x2decfd0, name=0x9b2c0e "realized", errp=0x7fffffffd9a8) at qom/object.c:1094
> > #16 0x000000000083c23f in object_property_set_qobject (obj=0x2ddf920, value=0x2dece90, name=0x9b2c0e "realized", errp=0x7fffffffd9a8) at qom/qom-qobject.c:27
> > #17 0x0000000000838f9a in object_property_set_bool (obj=0x2ddf920, value=true, name=0x9b2c0e "realized", errp=0x7fffffffd9a8) at qom/object.c:1163
> > #18 0x00000000005bfcea in qdev_device_add (opts=0x1451320, errp=0x7fffffffda30) at qdev-monitor.c:624
> > #19 0x00000000005c9662 in device_init_func (opaque=0x0, opts=0x1451320, errp=0x0) at vl.c:2305
> > #20 0x000000000095f491 in qemu_opts_foreach (list=0xe5bd80, func=0x5c9624 <device_init_func>, opaque=0x0, errp=0x0) at util/qemu-option.c:1114
> > #21 0x00000000005ce9be in main (argc=46, argv=0x7fffffffdeb8, envp=0x7fffffffe030) at vl.c:4583
> >
> > --
> > You received this bug notification because you are a member of qemu-
> > devel-ml, which is subscribed to QEMU.
> > https://bugs.launchpad.net/bugs/1681688
> >
> > Title:
> >   qemu live migration failed
> >
> > Status in QEMU:
> >   New
> >
> > Bug description:
> >   qemu live migration failed
> >
> >   the dest qemu report this error.
> >
> >   Receiving block device images
> >   Completed 0 %^Mqemu-system-x86_64: block/io.c:1348: bdrv_aligned_pwritev: Assertion `child->perm & BLK_PERM_WRITE' failed.
> >
> >   this bug is caused by this patch:
> >   http://git.qemu-project.org/?p=qemu.git;a=commit;h=d35ff5e6b3aa3a706b0aa3bcf11400fac945b67a
> >
> >   rollback this commit, the problem solved.
> >
> > To manage notifications about this bug go to:
> > https://bugs.launchpad.net/qemu/+bug/1681688/+subscriptions
> >

  reply	other threads:[~2017-04-11 13:57 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-11  8:01 [Qemu-devel] [Bug 1681688] [NEW] qemu live migration failed Lidong Chen
2017-04-11  8:21 ` [Qemu-devel] [Bug 1681688] " Lidong Chen
2017-04-11 13:35   ` 858585 jemmy
2017-04-11 13:57     ` Kevin Wolf [this message]
2017-04-11 14:00       ` Laurent Vivier
2017-04-11 14:05       ` Laurent Vivier
2017-04-18 19:42 ` pranith
2017-04-18 20:10 ` pranith
2020-11-17 11:52 ` Thomas Huth
2021-01-17  4:17 ` Launchpad Bug Tracker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170411135700.GM4516@noname.str.redhat.com \
    --to=kwolf@redhat.com \
    --cc=1681688@bugs.launchpad.net \
    --cc=jemmy858585@gmail.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).