]> git-server-git.apps.pok.os.sepia.ceph.com Git - qemu-iotests.git/commit
Use zero-based offsets for IO patterns
authorStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Fri, 4 Feb 2011 12:55:02 +0000 (12:55 +0000)
committerChristoph Hellwig <hch@lst.de>
Fri, 4 Feb 2011 17:57:41 +0000 (10:57 -0700)
commite723497ccb2be48f405999fc252e997e4950e6e7
tree81d9404e1dea5577896737c9388dcccd76caf1e4
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>
67 files changed:
.gitignore [new file with mode: 0644]
001 [new file with mode: 0755]
001.out [new file with mode: 0644]
002 [new file with mode: 0755]
002.out [new file with mode: 0644]
003 [new file with mode: 0755]
003.out [new file with mode: 0644]
004 [new file with mode: 0755]
004.out [new file with mode: 0644]
005 [new file with mode: 0755]
005.out [new file with mode: 0644]
006 [new file with mode: 0755]
006.out [new file with mode: 0644]
007 [new file with mode: 0755]
007.out [new file with mode: 0644]
008 [new file with mode: 0755]
008.out [new file with mode: 0644]
009 [new file with mode: 0755]
009.out [new file with mode: 0644]
010 [new file with mode: 0755]
010.out [new file with mode: 0644]
011 [new file with mode: 0755]
011.out [new file with mode: 0644]
012 [new file with mode: 0755]
012.out [new file with mode: 0644]
013 [new file with mode: 0755]
013.out [new file with mode: 0644]
014 [new file with mode: 0755]
014.out [new file with mode: 0644]
015 [new file with mode: 0755]
015.out [new file with mode: 0644]
016 [new file with mode: 0755]
016.out [new file with mode: 0644]
017 [new file with mode: 0755]
017.out [new file with mode: 0644]
018 [new file with mode: 0755]
018.out [new file with mode: 0644]
019 [new file with mode: 0755]
019.out [new file with mode: 0644]
020 [new file with mode: 0755]
020.out [new file with mode: 0644]
021 [new file with mode: 0755]
021.out [new file with mode: 0644]
022 [new file with mode: 0755]
022.out [new file with mode: 0644]
023 [new file with mode: 0755]
023.out [new file with mode: 0644]
024 [new file with mode: 0755]
024.out [new file with mode: 0644]
025 [new file with mode: 0755]
025.out [new file with mode: 0644]
026 [new file with mode: 0755]
026.out [new file with mode: 0644]
027 [new file with mode: 0755]
027.out [new file with mode: 0644]
028 [new file with mode: 0755]
028.out [new file with mode: 0644]
COPYING [new file with mode: 0644]
Makefile [new file with mode: 0644]
README [new file with mode: 0644]
check [new file with mode: 0755]
common [new file with mode: 0644]
common.config [new file with mode: 0644]
common.filter [new file with mode: 0644]
common.pattern [new file with mode: 0644]
common.rc [new file with mode: 0644]
group [new file with mode: 0644]