Re: [Qemu-devel] [PATCH v3 0/4] fix image fleecing
06.07.2018 16:41, Vladimir Sementsov-Ogievskiy wrote: 06.07.2018 10:17, Fam Zheng wrote: On Thu, 07/05 10:46, Vladimir Sementsov-Ogievskiy wrote: Hi all. This fixes image fleecing scheme for 3.0, details are in 04 patch. Looks like this breaks 'test-replication': http://patchew.org/QEMU/20180705074638.770905-1-vsement...@virtuozzo.com/ test-replication: /stor/work/qemu/block/io.c:725: wait_serialising_requests: Assertion `qemu_coroutine_self() != req->co' failed. GTester: last random seed: R02Se49967625f19c5be9918a2503fb2fff5 test-replication: /stor/work/qemu/block/io.c:725: wait_serialising_requests: Assertion `qemu_coroutine_self() != req->co' failed. GTESTER tests/test-qht-par GTester: last random seed: R02S8fad2bb2daddc51eb51623bb7c86cb67 test-replication: /stor/work/qemu/block/io.c:725: wait_serialising_requests: Assertion `qemu_coroutine_self() != req->co' failed. GTester: last random seed: R02S024718e9b1e2b1facafe254c43e1430b Fam interesting. in gdb I see, that both requests are identical (i.e. their BdrvTrackedRequeststructs, except list filed)writes (self and req)... and it's actually the same request, duplicated in the ist, first it is created in bdrv_co_copy_range_internal, and than again, #0 tracked_request_begin (req=0x7fffe8f9e7d0, bs=0x55a43040, offset=33554432, bytes=33554432, type= BDRV_TRACKED_WRITE) at block/io.c:598 #1 0x555f76bc in bdrv_co_copy_range_internal (src=0x5597ef80, src_offset=33882112, dst=0x559f1d30, dst_offset=33554432, bytes=33554432, read_flags=BDRV_REQ_NO_SERIALISING, write_flags=BDRV_REQ_SERIALISING, recurse_src=true) at block/io.c:2949 #2 0x555f78e9 in bdrv_co_copy_range_from (src=0x5597ef80, src_offset=33882112, dst=0x559f1d30, dst_offset=33554432, bytes=33554432, read_flags=BDRV_REQ_NO_SERIALISING, write_flags=BDRV_REQ_SERIALISING) at block/io.c:2995 #3 0x555ae931 in qcow2_co_copy_range_from (bs=0x55977ff0, src=0x559f14d0, src_offset=33554432, dst=0x559f1d30, dst_offset=33554432, bytes=33554432, read_flags=BDRV_REQ_NO_SERIALISING, write_flags=BDRV_REQ_SERIALISING) at block/qcow2.c:3311 #4 0x555f77cf in bdrv_co_copy_range_internal (src=0x559f14d0, src_offset=33554432, dst=0x559f1d30, dst_offset=33554432, bytes=33554432, read_flags=BDRV_REQ_NO_SERIALISING, write_flags=BDRV_REQ_SERIALISING, recurse_src=true) at block/io.c:2966 so, it's actually bug in copy_range architecture. will fix with the next resend.. -- Best regards, Vladimir
Re: [Qemu-devel] [PATCH v3 0/4] fix image fleecing
06.07.2018 10:17, Fam Zheng wrote: On Thu, 07/05 10:46, Vladimir Sementsov-Ogievskiy wrote: Hi all. This fixes image fleecing scheme for 3.0, details are in 04 patch. Looks like this breaks 'test-replication': http://patchew.org/QEMU/20180705074638.770905-1-vsement...@virtuozzo.com/ test-replication: /stor/work/qemu/block/io.c:725: wait_serialising_requests: Assertion `qemu_coroutine_self() != req->co' failed. GTester: last random seed: R02Se49967625f19c5be9918a2503fb2fff5 test-replication: /stor/work/qemu/block/io.c:725: wait_serialising_requests: Assertion `qemu_coroutine_self() != req->co' failed. GTESTER tests/test-qht-par GTester: last random seed: R02S8fad2bb2daddc51eb51623bb7c86cb67 test-replication: /stor/work/qemu/block/io.c:725: wait_serialising_requests: Assertion `qemu_coroutine_self() != req->co' failed. GTester: last random seed: R02S024718e9b1e2b1facafe254c43e1430b Fam interesting. in gdb I see, that both requests are identical (i.e. their BdrvTrackedRequeststructs, except list filed)writes (self and req)... and it's actually the same request, duplicated in the ist, first it is created in bdrv_co_copy_range_internal, and than again, #0 tracked_request_begin (req=0x7fffe8f9e7d0, bs=0x55a43040, offset=33554432, bytes=33554432, type= BDRV_TRACKED_WRITE) at block/io.c:598 #1 0x555f76bc in bdrv_co_copy_range_internal (src=0x5597ef80, src_offset=33882112, dst=0x559f1d30, dst_offset=33554432, bytes=33554432, read_flags=BDRV_REQ_NO_SERIALISING, write_flags=BDRV_REQ_SERIALISING, recurse_src=true) at block/io.c:2949 #2 0x555f78e9 in bdrv_co_copy_range_from (src=0x5597ef80, src_offset=33882112, dst=0x559f1d30, dst_offset=33554432, bytes=33554432, read_flags=BDRV_REQ_NO_SERIALISING, write_flags=BDRV_REQ_SERIALISING) at block/io.c:2995 #3 0x555ae931 in qcow2_co_copy_range_from (bs=0x55977ff0, src=0x559f14d0, src_offset=33554432, dst=0x559f1d30, dst_offset=33554432, bytes=33554432, read_flags=BDRV_REQ_NO_SERIALISING, write_flags=BDRV_REQ_SERIALISING) at block/qcow2.c:3311 #4 0x555f77cf in bdrv_co_copy_range_internal (src=0x559f14d0, src_offset=33554432, dst=0x559f1d30, dst_offset=33554432, bytes=33554432, read_flags=BDRV_REQ_NO_SERIALISING, write_flags=BDRV_REQ_SERIALISING, recurse_src=true) at block/io.c:2966 so, it's actually bug in copy_range architecture. -- Best regards, Vladimir
Re: [Qemu-devel] [PATCH v3 0/4] fix image fleecing
On Thu, 07/05 10:46, Vladimir Sementsov-Ogievskiy wrote: > Hi all. > > This fixes image fleecing scheme for 3.0, details are in 04 patch. Looks like this breaks 'test-replication': http://patchew.org/QEMU/20180705074638.770905-1-vsement...@virtuozzo.com/ test-replication: /stor/work/qemu/block/io.c:725: wait_serialising_requests: Assertion `qemu_coroutine_self() != req->co' failed. GTester: last random seed: R02Se49967625f19c5be9918a2503fb2fff5 test-replication: /stor/work/qemu/block/io.c:725: wait_serialising_requests: Assertion `qemu_coroutine_self() != req->co' failed. GTESTER tests/test-qht-par GTester: last random seed: R02S8fad2bb2daddc51eb51623bb7c86cb67 test-replication: /stor/work/qemu/block/io.c:725: wait_serialising_requests: Assertion `qemu_coroutine_self() != req->co' failed. GTester: last random seed: R02S024718e9b1e2b1facafe254c43e1430b Fam