e2f938265e
Add testcase which checks that allocations during copy-on-read are performed on the subcluster basis when subclusters are enabled in target image. This testcase also triggers the following assert with previous commit not being applied, so we check that as well: qemu-io: ../block/io.c:1236: bdrv_co_do_copy_on_readv: Assertion `skip_bytes < pnum' failed. Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Denis V. Lunev <den@openvz.org> Signed-off-by: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Message-ID: <20230711172553.234055-4-andrey.drobyshev@virtuozzo.com>
59 lines
2.5 KiB
Plaintext
59 lines
2.5 KiB
Plaintext
QA output created by 197
|
|
|
|
=== Copy-on-read ===
|
|
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=4294967296
|
|
wrote 1024/1024 bytes at offset 3221225472
|
|
1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
Formatting 'TEST_DIR/t.wrap.IMGFMT', fmt=IMGFMT size=4294967296 backing_file=TEST_DIR/t.IMGFMT backing_fmt=IMGFMT
|
|
wrote 65536/65536 bytes at offset 1048576
|
|
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
read 131072/131072 bytes at offset 1048576
|
|
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
read 0/0 bytes at offset 0
|
|
0 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
read 2147483136/2147483136 bytes at offset 1024
|
|
2 GiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
read 1024/1024 bytes at offset 3221226496
|
|
1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
qemu-io: can't open device TEST_DIR/t.wrap.qcow2: Can't use copy-on-read on read-only device
|
|
2 GiB (0x80010000) bytes allocated at offset 0 bytes (0x0)
|
|
1023.938 MiB (0x3fff0000) bytes not allocated at offset 2 GiB (0x80010000)
|
|
64 KiB (0x10000) bytes allocated at offset 3 GiB (0xc0000000)
|
|
1023.938 MiB (0x3fff0000) bytes not allocated at offset 3 GiB (0xc0010000)
|
|
No errors were found on the image.
|
|
Images are identical.
|
|
|
|
=== Partial final cluster ===
|
|
|
|
Formatting 'TEST_DIR/t.wrap.IMGFMT', fmt=IMGFMT size=1024
|
|
read 1024/1024 bytes at offset 0
|
|
1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
1 KiB (0x400) bytes allocated at offset 0 bytes (0x0)
|
|
No errors were found on the image.
|
|
|
|
=== Copy-on-read with subclusters ===
|
|
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=65536
|
|
Formatting 'TEST_DIR/t.wrap.IMGFMT', fmt=IMGFMT size=65536 backing_file=TEST_DIR/t.IMGFMT backing_fmt=IMGFMT
|
|
wrote 65536/65536 bytes at offset 0
|
|
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
wrote 2048/2048 bytes at offset 28672
|
|
2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
wrote 2048/2048 bytes at offset 34816
|
|
2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
Offset Length File
|
|
0 0x7000 TEST_DIR/t.IMGFMT
|
|
0x7000 0x800 TEST_DIR/t.wrap.IMGFMT
|
|
0x7800 0x1000 TEST_DIR/t.IMGFMT
|
|
0x8800 0x800 TEST_DIR/t.wrap.IMGFMT
|
|
0x9000 0x7000 TEST_DIR/t.IMGFMT
|
|
read 4096/4096 bytes at offset 30720
|
|
4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
Offset Length File
|
|
0 0x7000 TEST_DIR/t.IMGFMT
|
|
0x7000 0x2000 TEST_DIR/t.wrap.IMGFMT
|
|
0x9000 0x7000 TEST_DIR/t.IMGFMT
|
|
No errors were found on the image.
|
|
*** done
|