23.07.2020 11:19, Max Reitz wrote:
> On 01.06.20 20:11, Vladimir Sementsov-Ogievskiy wrote:
>> The further change of moving backup to be a on block-copy call will
>
> -on?
one :)
>
>> make copying chunk-size and cluster-size a separate things. So, even
>
> s/a/two/
>
>> with 64k cluster sized qcow2 image, default chunk would be 1M.
>> 185 test however assumes, that with speed limited to 64K, one iteration
>> would result in offset=64K. It will change, as first iteration would
>> result in offset=1M independently of speed.
>>
>> So, let's explicitly specify, what test wants: set max-chunk to 64K, so
>> that one iteration is 64K. Note, that we don't need to limit
>> max-workers, as block-copy rate limitator will handle the situation and
>
> *limitator
>
>> wouldn't start new workers when speed limit is obviously reached.
>>
>> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
>> ---
>> tests/qemu-iotests/185 | 3 ++-
>> tests/qemu-iotests/185.out | 2 +-
>> 2 files changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/tests/qemu-iotests/185 b/tests/qemu-iotests/185
>> index fd5e6ebe11..6afb3fc82f 100755
>> --- a/tests/qemu-iotests/185
>> +++ b/tests/qemu-iotests/185
>> @@ -182,7 +182,8 @@ _send_qemu_cmd $h \
>> 'target': '$TEST_IMG.copy',
>> 'format': '$IMGFMT',
>> 'sync': 'full',
>> - 'speed': 65536 } }" \
>> + 'speed': 65536,
>> + 'x-max-chunk': 65536 } }" \
>
> Out of curiosity, would it also suffice to disable copy offloading?
Note that x-max-chunk works even with copy offloading enabled, it sets maximum only for background copying, not for all operations.
>
> But anyway:
>
> Reviewed-by: Max Reitz <mreitz@redhat.com>
>
>> "return"
>>
>> # If we don't sleep here 'quit' command races with disk I/O
>> diff --git a/tests/qemu-iotests/185.out b/tests/qemu-iotests/185.out
>> index ac5ab16bc8..5232647972 100644
>> --- a/tests/qemu-iotests/185.out
>> +++ b/tests/qemu-iotests/185.out
>> @@ -61,7 +61,7 @@ Formatting 'TEST_DIR/t.qcow2.copy', fmt=qcow2 size=67108864 cluster_size=65536 l
>>
>> { 'execute': 'qmp_capabilities' }
>> {"return": {}}
>> -{ 'execute': 'drive-backup', 'arguments': { 'device': 'disk', 'target': 'TEST_DIR/t.IMGFMT.copy', 'format': 'IMGFMT', 'sync': 'full', 'speed': 65536 } }
>> +{ 'execute': 'drive-backup', 'arguments': { 'device': 'disk', 'target': 'TEST_DIR/t.IMGFMT.copy', 'format': 'IMGFMT', 'sync': 'full', 'speed': 65536, 'x-max-chunk': 65536 } }
>> Formatting 'TEST_DIR/t.qcow2.copy', fmt=qcow2 size=67108864 cluster_size=65536 lazy_refcounts=off refcount_bits=16 compression_type=zlib
>> {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "disk"}}
>> {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "disk"}}
>>
>
>
--
Best regards,
Vladimir