iotests: Fix cluster size in parallels images tests (131)

In this test cluster size is 64k, but modern tools generate images with
cluster size 1M. Calculate cluster size using track field from image header.

Signed-off-by: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
Reviewed-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: Denis V. Lunev <den@openvz.org>
This commit is contained in:
Alexander Ivanov 2023-07-01 12:11:21 +02:00 committed by Denis V. Lunev
parent dbfc55606a
commit 8e10861b7d
2 changed files with 26 additions and 23 deletions

View file

@ -44,10 +44,13 @@ _supported_os Linux
inuse_offset=$((0x2c)) inuse_offset=$((0x2c))
size=$((64 * 1024 * 1024)) size=$((64 * 1024 * 1024))
CLUSTER_SIZE=$((64 * 1024))
IMGFMT=parallels IMGFMT=parallels
_make_test_img $size _make_test_img $size
# get cluster size in sectors from "tracks" header field
CLUSTER_SIZE_OFFSET=28
CLUSTER_SIZE=$(peek_file_le $TEST_IMG $CLUSTER_SIZE_OFFSET 4)
CLUSTER_SIZE=$((CLUSTER_SIZE * 512))
CLUSTER_HALF_SIZE=$((CLUSTER_SIZE / 2)) CLUSTER_HALF_SIZE=$((CLUSTER_SIZE / 2))
CLUSTER_DBL_SIZE=$((CLUSTER_SIZE * 2)) CLUSTER_DBL_SIZE=$((CLUSTER_SIZE * 2))

View file

@ -1,26 +1,26 @@
QA output created by 131 QA output created by 131
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
== read empty image == == read empty image ==
read 65536/65536 bytes at offset 32768 read 1048576/1048576 bytes at offset 524288
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
== write more than 1 block in a row == == write more than 1 block in a row ==
wrote 131072/131072 bytes at offset 32768 wrote 2097152/2097152 bytes at offset 524288
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 2 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
== read less than block == == read less than block ==
read 32768/32768 bytes at offset 32768 read 524288/524288 bytes at offset 524288
32 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 512 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
== read exactly 1 block == == read exactly 1 block ==
read 65536/65536 bytes at offset 65536 read 1048576/1048576 bytes at offset 1048576
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
== read more than 1 block == == read more than 1 block ==
read 131072/131072 bytes at offset 32768 read 2097152/2097152 bytes at offset 524288
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 2 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
== check that there is no trash after written == == check that there is no trash after written ==
read 32768/32768 bytes at offset 163840 read 524288/524288 bytes at offset 2621440
32 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 512 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
== check that there is no trash before written == == check that there is no trash before written ==
read 32768/32768 bytes at offset 0 read 524288/524288 bytes at offset 0
32 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 512 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
== Corrupt image == == Corrupt image ==
qemu-io: can't open device TEST_DIR/t.parallels: parallels: Image was not closed correctly; cannot be opened read/write qemu-io: can't open device TEST_DIR/t.parallels: parallels: Image was not closed correctly; cannot be opened read/write
ERROR image was not closed correctly ERROR image was not closed correctly
@ -35,19 +35,19 @@ The following inconsistencies were found and repaired:
Double checking the fixed image now... Double checking the fixed image now...
No errors were found on the image. No errors were found on the image.
read 65536/65536 bytes at offset 65536 read 1048576/1048576 bytes at offset 1048576
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
== allocate with backing == == allocate with backing ==
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864 Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
wrote 65536/65536 bytes at offset 0 wrote 1048576/1048576 bytes at offset 0
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 64/64 bytes at offset 0 wrote 64/64 bytes at offset 0
64 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 64 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 64/64 bytes at offset 0 read 64/64 bytes at offset 0
64 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 64 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 65472/65472 bytes at offset 64 read 1048512/1048512 bytes at offset 64
63.938 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 1023.938 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 67043328/67043328 bytes at offset 65536 read 66060288/66060288 bytes at offset 1048576
63.938 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 63 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
*** done *** done