Skip to content

Commit

Permalink
iotests: Fix cluster size in parallels images tests (131)
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
AlexanderIvanov-Virtuozzo authored and Denis V. Lunev committed Sep 6, 2023
1 parent dbfc556 commit 8e10861
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 23 deletions.
5 changes: 4 additions & 1 deletion tests/qemu-iotests/131
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,13 @@ _supported_os Linux
inuse_offset=$((0x2c))

size=$((64 * 1024 * 1024))
CLUSTER_SIZE=$((64 * 1024))
IMGFMT=parallels
_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_DBL_SIZE=$((CLUSTER_SIZE * 2))

Expand Down
44 changes: 22 additions & 22 deletions tests/qemu-iotests/131.out
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
QA output created by 131
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
== read empty image ==
read 65536/65536 bytes at offset 32768
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 1048576/1048576 bytes at offset 524288
1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
== write more than 1 block in a row ==
wrote 131072/131072 bytes at offset 32768
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 2097152/2097152 bytes at offset 524288
2 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
== read less than block ==
read 32768/32768 bytes at offset 32768
32 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 524288/524288 bytes at offset 524288
512 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
== read exactly 1 block ==
read 65536/65536 bytes at offset 65536
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 1048576/1048576 bytes at offset 1048576
1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
== read more than 1 block ==
read 131072/131072 bytes at offset 32768
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 2097152/2097152 bytes at offset 524288
2 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
== check that there is no trash after written ==
read 32768/32768 bytes at offset 163840
32 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 524288/524288 bytes at offset 2621440
512 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
== check that there is no trash before written ==
read 32768/32768 bytes at offset 0
32 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 524288/524288 bytes at offset 0
512 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
== Corrupt image ==
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
Expand All @@ -35,19 +35,19 @@ The following inconsistencies were found and repaired:

Double checking the fixed image now...
No errors were found on the image.
read 65536/65536 bytes at offset 65536
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 1048576/1048576 bytes at offset 1048576
1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
== allocate with backing ==
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
wrote 65536/65536 bytes at offset 0
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 1048576/1048576 bytes at offset 0
1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 64/64 bytes at offset 0
64 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 64/64 bytes at offset 0
64 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 65472/65472 bytes at offset 64
63.938 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 67043328/67043328 bytes at offset 65536
63.938 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 1048512/1048512 bytes at offset 64
1023.938 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 66060288/66060288 bytes at offset 1048576
63 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
*** done

0 comments on commit 8e10861

Please sign in to comment.