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

Reply via email to