From dd0c35d69b31cfccaca30842787f0450ab70056c Mon Sep 17 00:00:00 2001 From: Stefan Hajnoczi Date: Fri, 4 Feb 2011 12:55:02 +0000 Subject: qemu-iotests: Use zero-based offsets for IO patterns The io_pattern style functions have the following loop: for i in `seq 1 $count`; do echo ... $(( start + i * step )) ... done Offsets are 1-based so start=1024, step=512, count=4 yields: 1536, 2048, 2560, 3072 Normally we expect: 1024, 1536, 2048, 2560 Most tests ignore this detail, which means that they perform I/O to a slightly different range than expected by the test author. Later on things got less innocent and tests started trying to compensate for the 1-based indexing. This included negative start values in test 024 and my own attempt with count-1 in test 028! The end result is that tests that use io_pattern are hard to reason about and don't work the way you'd expect. It's time to clean this mess up. This patch switches io_pattern to 0-based offsets. This requires adjusting the golden outputs since I/O ranges are now shifted and output differs. Verifying these output diffs is easy, however. Each diff hunk moves one I/O from beyond the end of the pattern range to the beginning. Signed-off-by: Stefan Hajnoczi Signed-off-by: Christoph Hellwig --- tests/qemu-iotests/020.out | 52 +++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 26 deletions(-) (limited to 'tests/qemu-iotests/020.out') diff --git a/tests/qemu-iotests/020.out b/tests/qemu-iotests/020.out index f128b21d1d..9b8fd43edc 100644 --- a/tests/qemu-iotests/020.out +++ b/tests/qemu-iotests/020.out @@ -3,6 +3,8 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=6442450944 Filling base image === IO: pattern 0 +qemu-io> wrote 512/512 bytes at offset 0 +512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> wrote 512/512 bytes at offset 1024 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> wrote 512/512 bytes at offset 2048 @@ -129,12 +131,12 @@ qemu-io> wrote 512/512 bytes at offset 63488 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> wrote 512/512 bytes at offset 64512 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -qemu-io> wrote 512/512 bytes at offset 65536 -512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> === IO: pattern 128 -qemu-io> wrote 65536/65536 bytes at offset 131072 +qemu-io> wrote 65536/65536 bytes at offset 65536 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> === IO: pattern 0 +qemu-io> wrote 512/512 bytes at offset 4294967296 +512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> wrote 512/512 bytes at offset 4294968320 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> wrote 512/512 bytes at offset 4294969344 @@ -261,10 +263,8 @@ qemu-io> wrote 512/512 bytes at offset 4295030784 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> wrote 512/512 bytes at offset 4295031808 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -qemu-io> wrote 512/512 bytes at offset 4295032832 -512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> === IO: pattern 128 -qemu-io> wrote 65536/65536 bytes at offset 4295098368 +qemu-io> wrote 65536/65536 bytes at offset 4295032832 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> No errors were found on the image. Creating test image with backing file @@ -273,6 +273,8 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=6442450944 backing_file='TEST_DI Filling test image === IO: pattern 1 +qemu-io> wrote 512/512 bytes at offset 512 +512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> wrote 512/512 bytes at offset 1536 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> wrote 512/512 bytes at offset 2560 @@ -399,12 +401,12 @@ qemu-io> wrote 512/512 bytes at offset 64000 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> wrote 512/512 bytes at offset 65024 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -qemu-io> wrote 512/512 bytes at offset 66048 -512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> === IO: pattern 0 -qemu-io> wrote 65536/65536 bytes at offset 196608 +qemu-io> wrote 65536/65536 bytes at offset 131072 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> === IO: pattern 1 +qemu-io> wrote 512/512 bytes at offset 4294967808 +512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> wrote 512/512 bytes at offset 4294968832 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> wrote 512/512 bytes at offset 4294969856 @@ -531,16 +533,16 @@ qemu-io> wrote 512/512 bytes at offset 4295031296 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> wrote 512/512 bytes at offset 4295032320 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -qemu-io> wrote 512/512 bytes at offset 4295033344 -512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> === IO: pattern 0 -qemu-io> wrote 65536/65536 bytes at offset 4295163904 +qemu-io> wrote 65536/65536 bytes at offset 4295098368 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> No errors were found on the image. Image committed. Reading from the backing file === IO: pattern 0 +qemu-io> read 512/512 bytes at offset 0 +512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> read 512/512 bytes at offset 1024 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> read 512/512 bytes at offset 2048 @@ -667,9 +669,9 @@ qemu-io> read 512/512 bytes at offset 63488 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> read 512/512 bytes at offset 64512 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -qemu-io> read 512/512 bytes at offset 65536 -512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> === IO: pattern 1 +qemu-io> read 512/512 bytes at offset 512 +512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> read 512/512 bytes at offset 1536 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> read 512/512 bytes at offset 2560 @@ -796,18 +798,18 @@ qemu-io> read 512/512 bytes at offset 64000 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> read 512/512 bytes at offset 65024 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -qemu-io> read 512/512 bytes at offset 66048 -512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> === IO: pattern 128 -qemu-io> read 65536/65536 bytes at offset 131072 +qemu-io> read 65536/65536 bytes at offset 65536 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> === IO: pattern 0 -qemu-io> read 65536/65536 bytes at offset 196608 +qemu-io> read 65536/65536 bytes at offset 131072 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> === IO: pattern 0 -qemu-io> read 65536/65536 bytes at offset 393216 +qemu-io> read 65536/65536 bytes at offset 327680 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> === IO: pattern 0 +qemu-io> read 512/512 bytes at offset 4294967296 +512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> read 512/512 bytes at offset 4294968320 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> read 512/512 bytes at offset 4294969344 @@ -934,9 +936,9 @@ qemu-io> read 512/512 bytes at offset 4295030784 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> read 512/512 bytes at offset 4295031808 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -qemu-io> read 512/512 bytes at offset 4295032832 -512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> === IO: pattern 1 +qemu-io> read 512/512 bytes at offset 4294967808 +512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> read 512/512 bytes at offset 4294968832 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> read 512/512 bytes at offset 4294969856 @@ -1063,16 +1065,14 @@ qemu-io> read 512/512 bytes at offset 4295031296 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> read 512/512 bytes at offset 4295032320 512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -qemu-io> read 512/512 bytes at offset 4295033344 -512.000000 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> === IO: pattern 128 -qemu-io> read 65536/65536 bytes at offset 4295098368 +qemu-io> read 65536/65536 bytes at offset 4295032832 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> === IO: pattern 0 -qemu-io> read 65536/65536 bytes at offset 4295163904 +qemu-io> read 65536/65536 bytes at offset 4295098368 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> === IO: pattern 0 -qemu-io> read 65536/65536 bytes at offset 4295360512 +qemu-io> read 65536/65536 bytes at offset 4295294976 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) qemu-io> No errors were found on the image. *** done -- cgit v1.2.3