mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-01 23:03:54 -06:00
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>
This commit is contained in:
parent
9cdfa1b34e
commit
dd0c35d69b
12 changed files with 1879 additions and 1869 deletions
|
@ -23,7 +23,7 @@ function do_is_allocated() {
|
|||
local count=$4
|
||||
|
||||
for i in `seq 1 $count`; do
|
||||
echo alloc $(( start + i * step )) $size
|
||||
echo alloc $(( start + (i - 1) * step )) $size
|
||||
done
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,7 @@ function do_io() {
|
|||
|
||||
echo === IO: pattern $pattern >&2
|
||||
for i in `seq 1 $count`; do
|
||||
echo $op -P $pattern $(( start + i * step )) $size
|
||||
echo $op -P $pattern $(( start + (i - 1) * step )) $size
|
||||
done
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue