On 11/04/2017 15:57, Kevin Wolf wrote: > 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?
It happens only with postcopy migration. qemu-system-x86_64: /home/lvivier/Projects/qemu/block/io.c:1348: bdrv_aligned_pwritev: Assertion `child->perm & BLK_PERM_WRITE' failed. Program received signal SIGABRT, Aborted. 0x00007ffff35061f7 in raise () from /lib64/libc.so.6 ... (gdb) bt #0 0x00007ffff35061f7 in raise () from /lib64/libc.so.6 #1 0x00007ffff35078e8 in abort () from /lib64/libc.so.6 #2 0x00007ffff34ff266 in __assert_fail_base () from /lib64/libc.so.6 #3 0x00007ffff34ff312 in __assert_fail () from /lib64/libc.so.6 #4 0x0000555555a92d1a in bdrv_aligned_pwritev (req=req@entry=0x7ffed02fae70, offset=offset@entry=12424523776, bytes=12288, align=align@entry=1, qiov=qiov@entry=0x555558601a20, flags=flags@entry=0, child=0x555556661fb0, child=0x555556661fb0) at /home/lvivier/Projects/qemu/block/io.c:1348 #5 0x0000555555a93906 in bdrv_co_pwritev (child=0x555556661fb0, offset=offset@entry=12424523776, bytes=<optimized out>, bytes@entry=12288, qiov=qiov@entry=0x555558601a20, flags=0) at /home/lvivier/Projects/qemu/block/io.c:1622 #6 0x0000555555a84a30 in blk_co_pwritev (blk=0x5555566565e0, offset=12424523776, bytes=12288, qiov=0x555558601a20, flags=<optimized out>) at /home/lvivier/Projects/qemu/block/block-backend.c:992 #7 0x0000555555a84b4a in blk_aio_write_entry (opaque=0x55555760aba0) at /home/lvivier/Projects/qemu/block/block-backend.c:1183 #8 0x0000555555b1639a in coroutine_trampoline (i0=<optimized out>, i1=<optimized out>) at /home/lvivier/Projects/qemu/util/coroutine-ucontext.c:79 #9 0x00007ffff3517d40 in ?? () from /lib64/libc.so.6 #10 0x00007fffffffcdd0 in ?? () ---Type <return> to continue, or q <return> to quit--- #11 0x0000000000000000 in ?? () Laurent