summaryrefslogtreecommitdiff
path: root/tests/qemu-iotests/024
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@linux.vnet.ibm.com>2011-02-04 12:55:02 +0000
committerKevin Wolf <kwolf@redhat.com>2012-02-23 10:29:46 +0100
commitdd0c35d69b31cfccaca30842787f0450ab70056c (patch)
tree1e0e01e85f5c4e01b973670b701dd6823e5abe68 /tests/qemu-iotests/024
parent9cdfa1b34e22bc09e80042b1ef3e4a5096f260d5 (diff)
downloadqemu-dd0c35d69b31cfccaca30842787f0450ab70056c.tar.gz
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 <stefanha@linux.vnet.ibm.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'tests/qemu-iotests/024')
-rwxr-xr-xtests/qemu-iotests/0244
1 files changed, 2 insertions, 2 deletions
diff --git a/tests/qemu-iotests/024 b/tests/qemu-iotests/024
index 3d6f103b65..554b74b2d3 100755
--- a/tests/qemu-iotests/024
+++ b/tests/qemu-iotests/024
@@ -61,14 +61,14 @@ echo "Creating backing file"
echo
_make_test_img 1G
-io_pattern writev $((-2 * CLUSTER_SIZE)) $CLUSTER_SIZE $((2 * CLUSTER_SIZE)) 8 0x11
+io_pattern writev 0 $CLUSTER_SIZE $((2 * CLUSTER_SIZE)) 8 0x11
mv $TEST_IMG $TEST_IMG.base_old
echo "Creating new backing file"
echo
_make_test_img 1G
-io_pattern writev $((-4 * CLUSTER_SIZE)) $((2 * CLUSTER_SIZE)) $((4 * CLUSTER_SIZE)) 4 0x22
+io_pattern writev 0 $((2 * CLUSTER_SIZE)) $((4 * CLUSTER_SIZE)) 4 0x22
mv $TEST_IMG $TEST_IMG.base_new
echo "Creating COW image"