diff options
Diffstat (limited to 'tests/qemu-iotests')
49 files changed, 1384 insertions, 3221 deletions
diff --git a/tests/qemu-iotests/004 b/tests/qemu-iotests/004 index 6f2aa3d9a..67e1beb20 100755 --- a/tests/qemu-iotests/004 +++ b/tests/qemu-iotests/004 @@ -37,7 +37,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 . ./common.rc . ./common.filter -_supported_fmt raw qcow qcow2 qed vdi vmdk vhdx luks +_supported_fmt raw qcow qcow2 qed vdi vmdk vhdx _supported_proto generic _supported_os Linux diff --git a/tests/qemu-iotests/012 b/tests/qemu-iotests/012 index 01a770d59..d1d3f2209 100755 --- a/tests/qemu-iotests/012 +++ b/tests/qemu-iotests/012 @@ -43,16 +43,13 @@ _supported_fmt generic _supported_proto file _supported_os Linux -# Remove once all tests are fixed to use TEST_IMG_FILE -# correctly and common.rc sets it unconditionally -test -z "$TEST_IMG_FILE" && TEST_IMG_FILE=$TEST_IMG size=128M _make_test_img $size echo echo "== mark image read-only" -chmod a-w "$TEST_IMG_FILE" +chmod a-w "$TEST_IMG" echo echo "== read from read-only image" diff --git a/tests/qemu-iotests/023.out b/tests/qemu-iotests/023.out index 664871b30..d4e9be25e 100644 --- a/tests/qemu-iotests/023.out +++ b/tests/qemu-iotests/023.out @@ -225,78 +225,42 @@ wrote 512/512 bytes at offset 108544 wrote 512/512 bytes at offset 109568 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 216 -wrote 512/512 bytes at offset 110848 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 111872 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 112896 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 113920 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 114944 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 115968 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 116992 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 118016 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 119040 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 120064 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 121088 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 122112 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 123136 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 124160 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 125184 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 126208 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 127232 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 128256 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 129280 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 130304 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 131328 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 132352 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 133376 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 134400 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 135424 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 136448 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 137472 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 138496 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 139520 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 140544 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 141568 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 142592 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 143616 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 144640 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 145664 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 146688 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 110848 is not sector aligned +offset 111872 is not sector aligned +offset 112896 is not sector aligned +offset 113920 is not sector aligned +offset 114944 is not sector aligned +offset 115968 is not sector aligned +offset 116992 is not sector aligned +offset 118016 is not sector aligned +offset 119040 is not sector aligned +offset 120064 is not sector aligned +offset 121088 is not sector aligned +offset 122112 is not sector aligned +offset 123136 is not sector aligned +offset 124160 is not sector aligned +offset 125184 is not sector aligned +offset 126208 is not sector aligned +offset 127232 is not sector aligned +offset 128256 is not sector aligned +offset 129280 is not sector aligned +offset 130304 is not sector aligned +offset 131328 is not sector aligned +offset 132352 is not sector aligned +offset 133376 is not sector aligned +offset 134400 is not sector aligned +offset 135424 is not sector aligned +offset 136448 is not sector aligned +offset 137472 is not sector aligned +offset 138496 is not sector aligned +offset 139520 is not sector aligned +offset 140544 is not sector aligned +offset 141568 is not sector aligned +offset 142592 is not sector aligned +offset 143616 is not sector aligned +offset 144640 is not sector aligned +offset 145664 is not sector aligned +offset 146688 is not sector aligned === IO: pattern 33 wrote 2048/2048 bytes at offset 147968 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -543,78 +507,42 @@ read 512/512 bytes at offset 108544 read 512/512 bytes at offset 109568 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 216 -read 512/512 bytes at offset 110848 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 111872 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 112896 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 113920 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 114944 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 115968 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 116992 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 118016 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 119040 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 120064 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 121088 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 122112 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 123136 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 124160 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 125184 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 126208 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 127232 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 128256 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 129280 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 130304 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 131328 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 132352 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 133376 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 134400 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 135424 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 136448 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 137472 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 138496 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 139520 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 140544 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 141568 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 142592 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 143616 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 144640 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 145664 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 146688 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 110848 is not sector aligned +offset 111872 is not sector aligned +offset 112896 is not sector aligned +offset 113920 is not sector aligned +offset 114944 is not sector aligned +offset 115968 is not sector aligned +offset 116992 is not sector aligned +offset 118016 is not sector aligned +offset 119040 is not sector aligned +offset 120064 is not sector aligned +offset 121088 is not sector aligned +offset 122112 is not sector aligned +offset 123136 is not sector aligned +offset 124160 is not sector aligned +offset 125184 is not sector aligned +offset 126208 is not sector aligned +offset 127232 is not sector aligned +offset 128256 is not sector aligned +offset 129280 is not sector aligned +offset 130304 is not sector aligned +offset 131328 is not sector aligned +offset 132352 is not sector aligned +offset 133376 is not sector aligned +offset 134400 is not sector aligned +offset 135424 is not sector aligned +offset 136448 is not sector aligned +offset 137472 is not sector aligned +offset 138496 is not sector aligned +offset 139520 is not sector aligned +offset 140544 is not sector aligned +offset 141568 is not sector aligned +offset 142592 is not sector aligned +offset 143616 is not sector aligned +offset 144640 is not sector aligned +offset 145664 is not sector aligned +offset 146688 is not sector aligned === IO: pattern 33 read 2048/2048 bytes at offset 147968 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -861,78 +789,42 @@ wrote 512/512 bytes at offset 108544 wrote 512/512 bytes at offset 109568 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 216 -wrote 512/512 bytes at offset 110848 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 111872 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 112896 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 113920 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 114944 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 115968 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 116992 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 118016 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 119040 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 120064 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 121088 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 122112 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 123136 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 124160 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 125184 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 126208 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 127232 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 128256 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 129280 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 130304 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 131328 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 132352 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 133376 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 134400 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 135424 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 136448 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 137472 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 138496 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 139520 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 140544 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 141568 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 142592 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 143616 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 144640 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 145664 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 146688 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 110848 is not sector aligned +offset 111872 is not sector aligned +offset 112896 is not sector aligned +offset 113920 is not sector aligned +offset 114944 is not sector aligned +offset 115968 is not sector aligned +offset 116992 is not sector aligned +offset 118016 is not sector aligned +offset 119040 is not sector aligned +offset 120064 is not sector aligned +offset 121088 is not sector aligned +offset 122112 is not sector aligned +offset 123136 is not sector aligned +offset 124160 is not sector aligned +offset 125184 is not sector aligned +offset 126208 is not sector aligned +offset 127232 is not sector aligned +offset 128256 is not sector aligned +offset 129280 is not sector aligned +offset 130304 is not sector aligned +offset 131328 is not sector aligned +offset 132352 is not sector aligned +offset 133376 is not sector aligned +offset 134400 is not sector aligned +offset 135424 is not sector aligned +offset 136448 is not sector aligned +offset 137472 is not sector aligned +offset 138496 is not sector aligned +offset 139520 is not sector aligned +offset 140544 is not sector aligned +offset 141568 is not sector aligned +offset 142592 is not sector aligned +offset 143616 is not sector aligned +offset 144640 is not sector aligned +offset 145664 is not sector aligned +offset 146688 is not sector aligned === IO: pattern 33 wrote 2048/2048 bytes at offset 147968 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -1179,78 +1071,42 @@ read 512/512 bytes at offset 108544 read 512/512 bytes at offset 109568 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 216 -read 512/512 bytes at offset 110848 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 111872 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 112896 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 113920 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 114944 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 115968 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 116992 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 118016 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 119040 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 120064 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 121088 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 122112 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 123136 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 124160 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 125184 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 126208 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 127232 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 128256 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 129280 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 130304 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 131328 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 132352 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 133376 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 134400 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 135424 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 136448 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 137472 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 138496 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 139520 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 140544 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 141568 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 142592 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 143616 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 144640 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 145664 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 146688 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 110848 is not sector aligned +offset 111872 is not sector aligned +offset 112896 is not sector aligned +offset 113920 is not sector aligned +offset 114944 is not sector aligned +offset 115968 is not sector aligned +offset 116992 is not sector aligned +offset 118016 is not sector aligned +offset 119040 is not sector aligned +offset 120064 is not sector aligned +offset 121088 is not sector aligned +offset 122112 is not sector aligned +offset 123136 is not sector aligned +offset 124160 is not sector aligned +offset 125184 is not sector aligned +offset 126208 is not sector aligned +offset 127232 is not sector aligned +offset 128256 is not sector aligned +offset 129280 is not sector aligned +offset 130304 is not sector aligned +offset 131328 is not sector aligned +offset 132352 is not sector aligned +offset 133376 is not sector aligned +offset 134400 is not sector aligned +offset 135424 is not sector aligned +offset 136448 is not sector aligned +offset 137472 is not sector aligned +offset 138496 is not sector aligned +offset 139520 is not sector aligned +offset 140544 is not sector aligned +offset 141568 is not sector aligned +offset 142592 is not sector aligned +offset 143616 is not sector aligned +offset 144640 is not sector aligned +offset 145664 is not sector aligned +offset 146688 is not sector aligned === IO: pattern 33 read 2048/2048 bytes at offset 147968 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -1499,78 +1355,42 @@ wrote 512/512 bytes at offset 4295075840 wrote 512/512 bytes at offset 4295076864 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 216 -wrote 512/512 bytes at offset 4295078144 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295079168 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295080192 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295081216 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295082240 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295083264 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295084288 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295085312 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295086336 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295087360 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295088384 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295089408 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295090432 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295091456 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295092480 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295093504 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295094528 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295095552 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295096576 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295097600 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295098624 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295099648 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295100672 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295101696 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295102720 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295103744 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295104768 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295105792 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295106816 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295107840 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295108864 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295109888 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295110912 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295111936 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295112960 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295113984 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 4295078144 is not sector aligned +offset 4295079168 is not sector aligned +offset 4295080192 is not sector aligned +offset 4295081216 is not sector aligned +offset 4295082240 is not sector aligned +offset 4295083264 is not sector aligned +offset 4295084288 is not sector aligned +offset 4295085312 is not sector aligned +offset 4295086336 is not sector aligned +offset 4295087360 is not sector aligned +offset 4295088384 is not sector aligned +offset 4295089408 is not sector aligned +offset 4295090432 is not sector aligned +offset 4295091456 is not sector aligned +offset 4295092480 is not sector aligned +offset 4295093504 is not sector aligned +offset 4295094528 is not sector aligned +offset 4295095552 is not sector aligned +offset 4295096576 is not sector aligned +offset 4295097600 is not sector aligned +offset 4295098624 is not sector aligned +offset 4295099648 is not sector aligned +offset 4295100672 is not sector aligned +offset 4295101696 is not sector aligned +offset 4295102720 is not sector aligned +offset 4295103744 is not sector aligned +offset 4295104768 is not sector aligned +offset 4295105792 is not sector aligned +offset 4295106816 is not sector aligned +offset 4295107840 is not sector aligned +offset 4295108864 is not sector aligned +offset 4295109888 is not sector aligned +offset 4295110912 is not sector aligned +offset 4295111936 is not sector aligned +offset 4295112960 is not sector aligned +offset 4295113984 is not sector aligned === IO: pattern 33 wrote 2048/2048 bytes at offset 4295115264 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -1817,78 +1637,42 @@ read 512/512 bytes at offset 4295075840 read 512/512 bytes at offset 4295076864 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 216 -read 512/512 bytes at offset 4295078144 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295079168 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295080192 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295081216 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295082240 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295083264 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295084288 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295085312 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295086336 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295087360 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295088384 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295089408 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295090432 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295091456 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295092480 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295093504 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295094528 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295095552 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295096576 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295097600 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295098624 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295099648 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295100672 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295101696 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295102720 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295103744 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295104768 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295105792 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295106816 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295107840 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295108864 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295109888 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295110912 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295111936 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295112960 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295113984 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 4295078144 is not sector aligned +offset 4295079168 is not sector aligned +offset 4295080192 is not sector aligned +offset 4295081216 is not sector aligned +offset 4295082240 is not sector aligned +offset 4295083264 is not sector aligned +offset 4295084288 is not sector aligned +offset 4295085312 is not sector aligned +offset 4295086336 is not sector aligned +offset 4295087360 is not sector aligned +offset 4295088384 is not sector aligned +offset 4295089408 is not sector aligned +offset 4295090432 is not sector aligned +offset 4295091456 is not sector aligned +offset 4295092480 is not sector aligned +offset 4295093504 is not sector aligned +offset 4295094528 is not sector aligned +offset 4295095552 is not sector aligned +offset 4295096576 is not sector aligned +offset 4295097600 is not sector aligned +offset 4295098624 is not sector aligned +offset 4295099648 is not sector aligned +offset 4295100672 is not sector aligned +offset 4295101696 is not sector aligned +offset 4295102720 is not sector aligned +offset 4295103744 is not sector aligned +offset 4295104768 is not sector aligned +offset 4295105792 is not sector aligned +offset 4295106816 is not sector aligned +offset 4295107840 is not sector aligned +offset 4295108864 is not sector aligned +offset 4295109888 is not sector aligned +offset 4295110912 is not sector aligned +offset 4295111936 is not sector aligned +offset 4295112960 is not sector aligned +offset 4295113984 is not sector aligned === IO: pattern 33 read 2048/2048 bytes at offset 4295115264 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -2135,78 +1919,42 @@ wrote 512/512 bytes at offset 4295075840 wrote 512/512 bytes at offset 4295076864 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 216 -wrote 512/512 bytes at offset 4295078144 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295079168 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295080192 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295081216 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295082240 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295083264 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295084288 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295085312 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295086336 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295087360 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295088384 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295089408 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295090432 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295091456 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295092480 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295093504 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295094528 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295095552 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295096576 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295097600 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295098624 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295099648 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295100672 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295101696 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295102720 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295103744 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295104768 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295105792 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295106816 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295107840 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295108864 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295109888 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295110912 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295111936 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295112960 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295113984 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 4295078144 is not sector aligned +offset 4295079168 is not sector aligned +offset 4295080192 is not sector aligned +offset 4295081216 is not sector aligned +offset 4295082240 is not sector aligned +offset 4295083264 is not sector aligned +offset 4295084288 is not sector aligned +offset 4295085312 is not sector aligned +offset 4295086336 is not sector aligned +offset 4295087360 is not sector aligned +offset 4295088384 is not sector aligned +offset 4295089408 is not sector aligned +offset 4295090432 is not sector aligned +offset 4295091456 is not sector aligned +offset 4295092480 is not sector aligned +offset 4295093504 is not sector aligned +offset 4295094528 is not sector aligned +offset 4295095552 is not sector aligned +offset 4295096576 is not sector aligned +offset 4295097600 is not sector aligned +offset 4295098624 is not sector aligned +offset 4295099648 is not sector aligned +offset 4295100672 is not sector aligned +offset 4295101696 is not sector aligned +offset 4295102720 is not sector aligned +offset 4295103744 is not sector aligned +offset 4295104768 is not sector aligned +offset 4295105792 is not sector aligned +offset 4295106816 is not sector aligned +offset 4295107840 is not sector aligned +offset 4295108864 is not sector aligned +offset 4295109888 is not sector aligned +offset 4295110912 is not sector aligned +offset 4295111936 is not sector aligned +offset 4295112960 is not sector aligned +offset 4295113984 is not sector aligned === IO: pattern 33 wrote 2048/2048 bytes at offset 4295115264 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -2453,78 +2201,42 @@ read 512/512 bytes at offset 4295075840 read 512/512 bytes at offset 4295076864 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 216 -read 512/512 bytes at offset 4295078144 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295079168 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295080192 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295081216 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295082240 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295083264 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295084288 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295085312 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295086336 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295087360 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295088384 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295089408 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295090432 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295091456 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295092480 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295093504 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295094528 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295095552 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295096576 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295097600 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295098624 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295099648 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295100672 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295101696 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295102720 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295103744 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295104768 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295105792 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295106816 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295107840 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295108864 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295109888 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295110912 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295111936 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295112960 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295113984 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 4295078144 is not sector aligned +offset 4295079168 is not sector aligned +offset 4295080192 is not sector aligned +offset 4295081216 is not sector aligned +offset 4295082240 is not sector aligned +offset 4295083264 is not sector aligned +offset 4295084288 is not sector aligned +offset 4295085312 is not sector aligned +offset 4295086336 is not sector aligned +offset 4295087360 is not sector aligned +offset 4295088384 is not sector aligned +offset 4295089408 is not sector aligned +offset 4295090432 is not sector aligned +offset 4295091456 is not sector aligned +offset 4295092480 is not sector aligned +offset 4295093504 is not sector aligned +offset 4295094528 is not sector aligned +offset 4295095552 is not sector aligned +offset 4295096576 is not sector aligned +offset 4295097600 is not sector aligned +offset 4295098624 is not sector aligned +offset 4295099648 is not sector aligned +offset 4295100672 is not sector aligned +offset 4295101696 is not sector aligned +offset 4295102720 is not sector aligned +offset 4295103744 is not sector aligned +offset 4295104768 is not sector aligned +offset 4295105792 is not sector aligned +offset 4295106816 is not sector aligned +offset 4295107840 is not sector aligned +offset 4295108864 is not sector aligned +offset 4295109888 is not sector aligned +offset 4295110912 is not sector aligned +offset 4295111936 is not sector aligned +offset 4295112960 is not sector aligned +offset 4295113984 is not sector aligned === IO: pattern 33 read 2048/2048 bytes at offset 4295115264 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -2777,78 +2489,42 @@ read 512/512 bytes at offset 108544 read 512/512 bytes at offset 109568 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 216 -read 512/512 bytes at offset 110848 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 111872 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 112896 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 113920 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 114944 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 115968 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 116992 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 118016 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 119040 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 120064 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 121088 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 122112 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 123136 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 124160 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 125184 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 126208 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 127232 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 128256 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 129280 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 130304 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 131328 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 132352 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 133376 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 134400 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 135424 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 136448 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 137472 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 138496 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 139520 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 140544 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 141568 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 142592 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 143616 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 144640 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 145664 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 146688 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 110848 is not sector aligned +offset 111872 is not sector aligned +offset 112896 is not sector aligned +offset 113920 is not sector aligned +offset 114944 is not sector aligned +offset 115968 is not sector aligned +offset 116992 is not sector aligned +offset 118016 is not sector aligned +offset 119040 is not sector aligned +offset 120064 is not sector aligned +offset 121088 is not sector aligned +offset 122112 is not sector aligned +offset 123136 is not sector aligned +offset 124160 is not sector aligned +offset 125184 is not sector aligned +offset 126208 is not sector aligned +offset 127232 is not sector aligned +offset 128256 is not sector aligned +offset 129280 is not sector aligned +offset 130304 is not sector aligned +offset 131328 is not sector aligned +offset 132352 is not sector aligned +offset 133376 is not sector aligned +offset 134400 is not sector aligned +offset 135424 is not sector aligned +offset 136448 is not sector aligned +offset 137472 is not sector aligned +offset 138496 is not sector aligned +offset 139520 is not sector aligned +offset 140544 is not sector aligned +offset 141568 is not sector aligned +offset 142592 is not sector aligned +offset 143616 is not sector aligned +offset 144640 is not sector aligned +offset 145664 is not sector aligned +offset 146688 is not sector aligned === IO: pattern 33 read 2048/2048 bytes at offset 147968 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -3095,78 +2771,42 @@ read 512/512 bytes at offset 108544 read 512/512 bytes at offset 109568 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 216 -read 512/512 bytes at offset 110848 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 111872 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 112896 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 113920 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 114944 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 115968 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 116992 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 118016 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 119040 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 120064 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 121088 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 122112 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 123136 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 124160 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 125184 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 126208 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 127232 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 128256 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 129280 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 130304 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 131328 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 132352 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 133376 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 134400 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 135424 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 136448 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 137472 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 138496 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 139520 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 140544 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 141568 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 142592 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 143616 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 144640 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 145664 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 146688 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 110848 is not sector aligned +offset 111872 is not sector aligned +offset 112896 is not sector aligned +offset 113920 is not sector aligned +offset 114944 is not sector aligned +offset 115968 is not sector aligned +offset 116992 is not sector aligned +offset 118016 is not sector aligned +offset 119040 is not sector aligned +offset 120064 is not sector aligned +offset 121088 is not sector aligned +offset 122112 is not sector aligned +offset 123136 is not sector aligned +offset 124160 is not sector aligned +offset 125184 is not sector aligned +offset 126208 is not sector aligned +offset 127232 is not sector aligned +offset 128256 is not sector aligned +offset 129280 is not sector aligned +offset 130304 is not sector aligned +offset 131328 is not sector aligned +offset 132352 is not sector aligned +offset 133376 is not sector aligned +offset 134400 is not sector aligned +offset 135424 is not sector aligned +offset 136448 is not sector aligned +offset 137472 is not sector aligned +offset 138496 is not sector aligned +offset 139520 is not sector aligned +offset 140544 is not sector aligned +offset 141568 is not sector aligned +offset 142592 is not sector aligned +offset 143616 is not sector aligned +offset 144640 is not sector aligned +offset 145664 is not sector aligned +offset 146688 is not sector aligned === IO: pattern 33 read 2048/2048 bytes at offset 147968 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -3415,78 +3055,42 @@ read 512/512 bytes at offset 4295075840 read 512/512 bytes at offset 4295076864 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 216 -read 512/512 bytes at offset 4295078144 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295079168 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295080192 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295081216 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295082240 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295083264 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295084288 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295085312 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295086336 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295087360 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295088384 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295089408 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295090432 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295091456 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295092480 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295093504 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295094528 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295095552 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295096576 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295097600 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295098624 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295099648 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295100672 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295101696 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295102720 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295103744 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295104768 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295105792 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295106816 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295107840 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295108864 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295109888 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295110912 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295111936 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295112960 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295113984 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 4295078144 is not sector aligned +offset 4295079168 is not sector aligned +offset 4295080192 is not sector aligned +offset 4295081216 is not sector aligned +offset 4295082240 is not sector aligned +offset 4295083264 is not sector aligned +offset 4295084288 is not sector aligned +offset 4295085312 is not sector aligned +offset 4295086336 is not sector aligned +offset 4295087360 is not sector aligned +offset 4295088384 is not sector aligned +offset 4295089408 is not sector aligned +offset 4295090432 is not sector aligned +offset 4295091456 is not sector aligned +offset 4295092480 is not sector aligned +offset 4295093504 is not sector aligned +offset 4295094528 is not sector aligned +offset 4295095552 is not sector aligned +offset 4295096576 is not sector aligned +offset 4295097600 is not sector aligned +offset 4295098624 is not sector aligned +offset 4295099648 is not sector aligned +offset 4295100672 is not sector aligned +offset 4295101696 is not sector aligned +offset 4295102720 is not sector aligned +offset 4295103744 is not sector aligned +offset 4295104768 is not sector aligned +offset 4295105792 is not sector aligned +offset 4295106816 is not sector aligned +offset 4295107840 is not sector aligned +offset 4295108864 is not sector aligned +offset 4295109888 is not sector aligned +offset 4295110912 is not sector aligned +offset 4295111936 is not sector aligned +offset 4295112960 is not sector aligned +offset 4295113984 is not sector aligned === IO: pattern 33 read 2048/2048 bytes at offset 4295115264 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -3733,78 +3337,42 @@ read 512/512 bytes at offset 4295075840 read 512/512 bytes at offset 4295076864 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 216 -read 512/512 bytes at offset 4295078144 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295079168 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295080192 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295081216 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295082240 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295083264 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295084288 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295085312 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295086336 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295087360 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295088384 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295089408 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295090432 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295091456 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295092480 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295093504 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295094528 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295095552 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295096576 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295097600 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295098624 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295099648 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295100672 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295101696 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295102720 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295103744 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295104768 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295105792 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295106816 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295107840 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295108864 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295109888 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295110912 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295111936 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295112960 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295113984 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 4295078144 is not sector aligned +offset 4295079168 is not sector aligned +offset 4295080192 is not sector aligned +offset 4295081216 is not sector aligned +offset 4295082240 is not sector aligned +offset 4295083264 is not sector aligned +offset 4295084288 is not sector aligned +offset 4295085312 is not sector aligned +offset 4295086336 is not sector aligned +offset 4295087360 is not sector aligned +offset 4295088384 is not sector aligned +offset 4295089408 is not sector aligned +offset 4295090432 is not sector aligned +offset 4295091456 is not sector aligned +offset 4295092480 is not sector aligned +offset 4295093504 is not sector aligned +offset 4295094528 is not sector aligned +offset 4295095552 is not sector aligned +offset 4295096576 is not sector aligned +offset 4295097600 is not sector aligned +offset 4295098624 is not sector aligned +offset 4295099648 is not sector aligned +offset 4295100672 is not sector aligned +offset 4295101696 is not sector aligned +offset 4295102720 is not sector aligned +offset 4295103744 is not sector aligned +offset 4295104768 is not sector aligned +offset 4295105792 is not sector aligned +offset 4295106816 is not sector aligned +offset 4295107840 is not sector aligned +offset 4295108864 is not sector aligned +offset 4295109888 is not sector aligned +offset 4295110912 is not sector aligned +offset 4295111936 is not sector aligned +offset 4295112960 is not sector aligned +offset 4295113984 is not sector aligned === IO: pattern 33 read 2048/2048 bytes at offset 4295115264 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -4055,78 +3623,42 @@ wrote 512/512 bytes at offset 109056 wrote 512/512 bytes at offset 110080 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 217 -wrote 512/512 bytes at offset 111360 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 112384 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 113408 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 114432 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 115456 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 116480 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 117504 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 118528 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 119552 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 120576 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 121600 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 122624 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 123648 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 124672 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 125696 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 126720 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 127744 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 128768 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 129792 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 130816 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 131840 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 132864 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 133888 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 134912 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 135936 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 136960 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 137984 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 139008 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 140032 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 141056 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 142080 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 143104 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 144128 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 145152 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 146176 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 147200 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 111360 is not sector aligned +offset 112384 is not sector aligned +offset 113408 is not sector aligned +offset 114432 is not sector aligned +offset 115456 is not sector aligned +offset 116480 is not sector aligned +offset 117504 is not sector aligned +offset 118528 is not sector aligned +offset 119552 is not sector aligned +offset 120576 is not sector aligned +offset 121600 is not sector aligned +offset 122624 is not sector aligned +offset 123648 is not sector aligned +offset 124672 is not sector aligned +offset 125696 is not sector aligned +offset 126720 is not sector aligned +offset 127744 is not sector aligned +offset 128768 is not sector aligned +offset 129792 is not sector aligned +offset 130816 is not sector aligned +offset 131840 is not sector aligned +offset 132864 is not sector aligned +offset 133888 is not sector aligned +offset 134912 is not sector aligned +offset 135936 is not sector aligned +offset 136960 is not sector aligned +offset 137984 is not sector aligned +offset 139008 is not sector aligned +offset 140032 is not sector aligned +offset 141056 is not sector aligned +offset 142080 is not sector aligned +offset 143104 is not sector aligned +offset 144128 is not sector aligned +offset 145152 is not sector aligned +offset 146176 is not sector aligned +offset 147200 is not sector aligned === IO: pattern 34 wrote 2048/2048 bytes at offset 148480 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -4373,78 +3905,42 @@ read 512/512 bytes at offset 109056 read 512/512 bytes at offset 110080 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 217 -read 512/512 bytes at offset 111360 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 112384 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 113408 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 114432 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 115456 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 116480 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 117504 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 118528 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 119552 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 120576 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 121600 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 122624 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 123648 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 124672 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 125696 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 126720 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 127744 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 128768 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 129792 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 130816 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 131840 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 132864 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 133888 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 134912 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 135936 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 136960 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 137984 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 139008 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 140032 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 141056 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 142080 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 143104 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 144128 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 145152 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 146176 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 147200 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 111360 is not sector aligned +offset 112384 is not sector aligned +offset 113408 is not sector aligned +offset 114432 is not sector aligned +offset 115456 is not sector aligned +offset 116480 is not sector aligned +offset 117504 is not sector aligned +offset 118528 is not sector aligned +offset 119552 is not sector aligned +offset 120576 is not sector aligned +offset 121600 is not sector aligned +offset 122624 is not sector aligned +offset 123648 is not sector aligned +offset 124672 is not sector aligned +offset 125696 is not sector aligned +offset 126720 is not sector aligned +offset 127744 is not sector aligned +offset 128768 is not sector aligned +offset 129792 is not sector aligned +offset 130816 is not sector aligned +offset 131840 is not sector aligned +offset 132864 is not sector aligned +offset 133888 is not sector aligned +offset 134912 is not sector aligned +offset 135936 is not sector aligned +offset 136960 is not sector aligned +offset 137984 is not sector aligned +offset 139008 is not sector aligned +offset 140032 is not sector aligned +offset 141056 is not sector aligned +offset 142080 is not sector aligned +offset 143104 is not sector aligned +offset 144128 is not sector aligned +offset 145152 is not sector aligned +offset 146176 is not sector aligned +offset 147200 is not sector aligned === IO: pattern 34 read 2048/2048 bytes at offset 148480 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -4691,78 +4187,42 @@ wrote 512/512 bytes at offset 109056 wrote 512/512 bytes at offset 110080 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 217 -wrote 512/512 bytes at offset 111360 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 112384 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 113408 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 114432 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 115456 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 116480 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 117504 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 118528 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 119552 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 120576 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 121600 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 122624 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 123648 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 124672 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 125696 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 126720 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 127744 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 128768 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 129792 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 130816 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 131840 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 132864 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 133888 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 134912 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 135936 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 136960 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 137984 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 139008 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 140032 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 141056 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 142080 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 143104 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 144128 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 145152 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 146176 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 147200 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 111360 is not sector aligned +offset 112384 is not sector aligned +offset 113408 is not sector aligned +offset 114432 is not sector aligned +offset 115456 is not sector aligned +offset 116480 is not sector aligned +offset 117504 is not sector aligned +offset 118528 is not sector aligned +offset 119552 is not sector aligned +offset 120576 is not sector aligned +offset 121600 is not sector aligned +offset 122624 is not sector aligned +offset 123648 is not sector aligned +offset 124672 is not sector aligned +offset 125696 is not sector aligned +offset 126720 is not sector aligned +offset 127744 is not sector aligned +offset 128768 is not sector aligned +offset 129792 is not sector aligned +offset 130816 is not sector aligned +offset 131840 is not sector aligned +offset 132864 is not sector aligned +offset 133888 is not sector aligned +offset 134912 is not sector aligned +offset 135936 is not sector aligned +offset 136960 is not sector aligned +offset 137984 is not sector aligned +offset 139008 is not sector aligned +offset 140032 is not sector aligned +offset 141056 is not sector aligned +offset 142080 is not sector aligned +offset 143104 is not sector aligned +offset 144128 is not sector aligned +offset 145152 is not sector aligned +offset 146176 is not sector aligned +offset 147200 is not sector aligned === IO: pattern 34 wrote 2048/2048 bytes at offset 148480 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -5009,78 +4469,42 @@ read 512/512 bytes at offset 109056 read 512/512 bytes at offset 110080 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 217 -read 512/512 bytes at offset 111360 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 112384 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 113408 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 114432 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 115456 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 116480 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 117504 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 118528 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 119552 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 120576 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 121600 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 122624 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 123648 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 124672 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 125696 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 126720 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 127744 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 128768 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 129792 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 130816 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 131840 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 132864 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 133888 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 134912 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 135936 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 136960 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 137984 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 139008 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 140032 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 141056 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 142080 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 143104 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 144128 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 145152 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 146176 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 147200 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 111360 is not sector aligned +offset 112384 is not sector aligned +offset 113408 is not sector aligned +offset 114432 is not sector aligned +offset 115456 is not sector aligned +offset 116480 is not sector aligned +offset 117504 is not sector aligned +offset 118528 is not sector aligned +offset 119552 is not sector aligned +offset 120576 is not sector aligned +offset 121600 is not sector aligned +offset 122624 is not sector aligned +offset 123648 is not sector aligned +offset 124672 is not sector aligned +offset 125696 is not sector aligned +offset 126720 is not sector aligned +offset 127744 is not sector aligned +offset 128768 is not sector aligned +offset 129792 is not sector aligned +offset 130816 is not sector aligned +offset 131840 is not sector aligned +offset 132864 is not sector aligned +offset 133888 is not sector aligned +offset 134912 is not sector aligned +offset 135936 is not sector aligned +offset 136960 is not sector aligned +offset 137984 is not sector aligned +offset 139008 is not sector aligned +offset 140032 is not sector aligned +offset 141056 is not sector aligned +offset 142080 is not sector aligned +offset 143104 is not sector aligned +offset 144128 is not sector aligned +offset 145152 is not sector aligned +offset 146176 is not sector aligned +offset 147200 is not sector aligned === IO: pattern 34 read 2048/2048 bytes at offset 148480 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -5329,78 +4753,42 @@ wrote 512/512 bytes at offset 4295076352 wrote 512/512 bytes at offset 4295077376 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 217 -wrote 512/512 bytes at offset 4295078656 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295079680 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295080704 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295081728 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295082752 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295083776 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295084800 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295085824 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295086848 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295087872 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295088896 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295089920 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295090944 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295091968 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295092992 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295094016 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295095040 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295096064 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295097088 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295098112 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295099136 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295100160 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295101184 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295102208 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295103232 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295104256 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295105280 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295106304 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295107328 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295108352 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295109376 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295110400 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295111424 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295112448 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295113472 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295114496 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 4295078656 is not sector aligned +offset 4295079680 is not sector aligned +offset 4295080704 is not sector aligned +offset 4295081728 is not sector aligned +offset 4295082752 is not sector aligned +offset 4295083776 is not sector aligned +offset 4295084800 is not sector aligned +offset 4295085824 is not sector aligned +offset 4295086848 is not sector aligned +offset 4295087872 is not sector aligned +offset 4295088896 is not sector aligned +offset 4295089920 is not sector aligned +offset 4295090944 is not sector aligned +offset 4295091968 is not sector aligned +offset 4295092992 is not sector aligned +offset 4295094016 is not sector aligned +offset 4295095040 is not sector aligned +offset 4295096064 is not sector aligned +offset 4295097088 is not sector aligned +offset 4295098112 is not sector aligned +offset 4295099136 is not sector aligned +offset 4295100160 is not sector aligned +offset 4295101184 is not sector aligned +offset 4295102208 is not sector aligned +offset 4295103232 is not sector aligned +offset 4295104256 is not sector aligned +offset 4295105280 is not sector aligned +offset 4295106304 is not sector aligned +offset 4295107328 is not sector aligned +offset 4295108352 is not sector aligned +offset 4295109376 is not sector aligned +offset 4295110400 is not sector aligned +offset 4295111424 is not sector aligned +offset 4295112448 is not sector aligned +offset 4295113472 is not sector aligned +offset 4295114496 is not sector aligned === IO: pattern 34 wrote 2048/2048 bytes at offset 4295115776 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -5647,78 +5035,42 @@ read 512/512 bytes at offset 4295076352 read 512/512 bytes at offset 4295077376 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 217 -read 512/512 bytes at offset 4295078656 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295079680 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295080704 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295081728 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295082752 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295083776 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295084800 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295085824 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295086848 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295087872 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295088896 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295089920 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295090944 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295091968 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295092992 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295094016 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295095040 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295096064 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295097088 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295098112 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295099136 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295100160 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295101184 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295102208 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295103232 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295104256 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295105280 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295106304 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295107328 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295108352 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295109376 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295110400 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295111424 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295112448 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295113472 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295114496 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 4295078656 is not sector aligned +offset 4295079680 is not sector aligned +offset 4295080704 is not sector aligned +offset 4295081728 is not sector aligned +offset 4295082752 is not sector aligned +offset 4295083776 is not sector aligned +offset 4295084800 is not sector aligned +offset 4295085824 is not sector aligned +offset 4295086848 is not sector aligned +offset 4295087872 is not sector aligned +offset 4295088896 is not sector aligned +offset 4295089920 is not sector aligned +offset 4295090944 is not sector aligned +offset 4295091968 is not sector aligned +offset 4295092992 is not sector aligned +offset 4295094016 is not sector aligned +offset 4295095040 is not sector aligned +offset 4295096064 is not sector aligned +offset 4295097088 is not sector aligned +offset 4295098112 is not sector aligned +offset 4295099136 is not sector aligned +offset 4295100160 is not sector aligned +offset 4295101184 is not sector aligned +offset 4295102208 is not sector aligned +offset 4295103232 is not sector aligned +offset 4295104256 is not sector aligned +offset 4295105280 is not sector aligned +offset 4295106304 is not sector aligned +offset 4295107328 is not sector aligned +offset 4295108352 is not sector aligned +offset 4295109376 is not sector aligned +offset 4295110400 is not sector aligned +offset 4295111424 is not sector aligned +offset 4295112448 is not sector aligned +offset 4295113472 is not sector aligned +offset 4295114496 is not sector aligned === IO: pattern 34 read 2048/2048 bytes at offset 4295115776 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -5965,78 +5317,42 @@ wrote 512/512 bytes at offset 4295076352 wrote 512/512 bytes at offset 4295077376 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 217 -wrote 512/512 bytes at offset 4295078656 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295079680 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295080704 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295081728 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295082752 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295083776 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295084800 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295085824 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295086848 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295087872 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295088896 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295089920 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295090944 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295091968 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295092992 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295094016 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295095040 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295096064 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295097088 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295098112 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295099136 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295100160 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295101184 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295102208 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295103232 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295104256 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295105280 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295106304 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295107328 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295108352 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295109376 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295110400 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295111424 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295112448 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295113472 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 512/512 bytes at offset 4295114496 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 4295078656 is not sector aligned +offset 4295079680 is not sector aligned +offset 4295080704 is not sector aligned +offset 4295081728 is not sector aligned +offset 4295082752 is not sector aligned +offset 4295083776 is not sector aligned +offset 4295084800 is not sector aligned +offset 4295085824 is not sector aligned +offset 4295086848 is not sector aligned +offset 4295087872 is not sector aligned +offset 4295088896 is not sector aligned +offset 4295089920 is not sector aligned +offset 4295090944 is not sector aligned +offset 4295091968 is not sector aligned +offset 4295092992 is not sector aligned +offset 4295094016 is not sector aligned +offset 4295095040 is not sector aligned +offset 4295096064 is not sector aligned +offset 4295097088 is not sector aligned +offset 4295098112 is not sector aligned +offset 4295099136 is not sector aligned +offset 4295100160 is not sector aligned +offset 4295101184 is not sector aligned +offset 4295102208 is not sector aligned +offset 4295103232 is not sector aligned +offset 4295104256 is not sector aligned +offset 4295105280 is not sector aligned +offset 4295106304 is not sector aligned +offset 4295107328 is not sector aligned +offset 4295108352 is not sector aligned +offset 4295109376 is not sector aligned +offset 4295110400 is not sector aligned +offset 4295111424 is not sector aligned +offset 4295112448 is not sector aligned +offset 4295113472 is not sector aligned +offset 4295114496 is not sector aligned === IO: pattern 34 wrote 2048/2048 bytes at offset 4295115776 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -6283,78 +5599,42 @@ read 512/512 bytes at offset 4295076352 read 512/512 bytes at offset 4295077376 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) === IO: pattern 217 -read 512/512 bytes at offset 4295078656 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295079680 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295080704 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295081728 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295082752 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295083776 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295084800 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295085824 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295086848 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295087872 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295088896 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295089920 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295090944 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295091968 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295092992 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295094016 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295095040 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295096064 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295097088 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295098112 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295099136 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295100160 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295101184 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295102208 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295103232 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295104256 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295105280 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295106304 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295107328 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295108352 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295109376 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295110400 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295111424 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295112448 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295113472 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 512/512 bytes at offset 4295114496 -512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +offset 4295078656 is not sector aligned +offset 4295079680 is not sector aligned +offset 4295080704 is not sector aligned +offset 4295081728 is not sector aligned +offset 4295082752 is not sector aligned +offset 4295083776 is not sector aligned +offset 4295084800 is not sector aligned +offset 4295085824 is not sector aligned +offset 4295086848 is not sector aligned +offset 4295087872 is not sector aligned +offset 4295088896 is not sector aligned +offset 4295089920 is not sector aligned +offset 4295090944 is not sector aligned +offset 4295091968 is not sector aligned +offset 4295092992 is not sector aligned +offset 4295094016 is not sector aligned +offset 4295095040 is not sector aligned +offset 4295096064 is not sector aligned +offset 4295097088 is not sector aligned +offset 4295098112 is not sector aligned +offset 4295099136 is not sector aligned +offset 4295100160 is not sector aligned +offset 4295101184 is not sector aligned +offset 4295102208 is not sector aligned +offset 4295103232 is not sector aligned +offset 4295104256 is not sector aligned +offset 4295105280 is not sector aligned +offset 4295106304 is not sector aligned +offset 4295107328 is not sector aligned +offset 4295108352 is not sector aligned +offset 4295109376 is not sector aligned +offset 4295110400 is not sector aligned +offset 4295111424 is not sector aligned +offset 4295112448 is not sector aligned +offset 4295113472 is not sector aligned +offset 4295114496 is not sector aligned === IO: pattern 34 read 2048/2048 bytes at offset 4295115776 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) diff --git a/tests/qemu-iotests/026.out b/tests/qemu-iotests/026.out index 853173572..d84d82c11 100644 --- a/tests/qemu-iotests/026.out +++ b/tests/qemu-iotests/026.out @@ -14,6 +14,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l1_update; errno: 5; imm: off; once: off; write +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error @@ -22,6 +23,7 @@ This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l1_update; errno: 5; imm: off; once: off; write -b +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error @@ -40,6 +42,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l1_update; errno: 28; imm: off; once: off; write +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device @@ -48,6 +51,7 @@ This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l1_update; errno: 28; imm: off; once: off; write -b +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device @@ -74,7 +78,11 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l2_load; errno: 5; imm: off; once: off; write wrote 131072/131072 bytes at offset 0 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +Failed to flush the L2 table cache: Input/output error +Failed to flush the refcount block cache: Input/output error write failed: Input/output error +Failed to flush the L2 table cache: Input/output error +Failed to flush the refcount block cache: Input/output error read failed: Input/output error No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 @@ -82,7 +90,11 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l2_load; errno: 5; imm: off; once: off; write -b wrote 131072/131072 bytes at offset 0 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +Failed to flush the L2 table cache: Input/output error +Failed to flush the refcount block cache: Input/output error write failed: Input/output error +Failed to flush the L2 table cache: Input/output error +Failed to flush the refcount block cache: Input/output error read failed: Input/output error No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 @@ -106,7 +118,11 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l2_load; errno: 28; imm: off; once: off; write wrote 131072/131072 bytes at offset 0 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +Failed to flush the L2 table cache: No space left on device +Failed to flush the refcount block cache: No space left on device write failed: No space left on device +Failed to flush the L2 table cache: No space left on device +Failed to flush the refcount block cache: No space left on device read failed: No space left on device No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 @@ -114,7 +130,11 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l2_load; errno: 28; imm: off; once: off; write -b wrote 131072/131072 bytes at offset 0 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +Failed to flush the L2 table cache: No space left on device +Failed to flush the refcount block cache: No space left on device write failed: No space left on device +Failed to flush the L2 table cache: No space left on device +Failed to flush the refcount block cache: No space left on device read failed: No space left on device No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 @@ -286,12 +306,14 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_load; errno: 5; imm: off; once: off; write +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_load; errno: 5; imm: off; once: off; write -b +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. @@ -308,12 +330,14 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_load; errno: 28; imm: off; once: off; write +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_load; errno: 28; imm: off; once: off; write -b +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. @@ -330,12 +354,14 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_update_part; errno: 5; imm: off; once: off; write +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_update_part; errno: 5; imm: off; once: off; write -b +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. @@ -352,12 +378,14 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_update_part; errno: 28; imm: off; once: off; write +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_update_part; errno: 28; imm: off; once: off; write -b +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. @@ -374,12 +402,14 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_alloc; errno: 5; imm: off; once: off; write +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_alloc; errno: 5; imm: off; once: off; write -b +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. @@ -396,12 +426,14 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_alloc; errno: 28; imm: off; once: off; write +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_alloc; errno: 28; imm: off; once: off; write -b +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. @@ -418,11 +450,15 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: cluster_alloc; errno: 5; imm: off; once: off; write +Failed to flush the L2 table cache: Input/output error +Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: cluster_alloc; errno: 5; imm: off; once: off; write -b +Failed to flush the L2 table cache: Input/output error +Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 @@ -438,11 +474,15 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: cluster_alloc; errno: 28; imm: off; once: off; write +Failed to flush the L2 table cache: No space left on device +Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: cluster_alloc; errno: 28; imm: off; once: off; write -b +Failed to flush the L2 table cache: No space left on device +Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. @@ -513,6 +553,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_alloc_write_blocks; errno: 28; imm: off; once: off; write +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device @@ -521,6 +562,7 @@ This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_alloc_write_blocks; errno: 28; imm: off; once: off; write -b +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device @@ -539,6 +581,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_alloc_write_table; errno: 28; imm: off; once: off; write +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device @@ -547,6 +590,7 @@ This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_alloc_write_table; errno: 28; imm: off; once: off; write -b +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device @@ -591,6 +635,8 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l1_grow_alloc_table; errno: 5; imm: off; once: off +Failed to flush the L2 table cache: Input/output error +Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 @@ -601,6 +647,8 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l1_grow_alloc_table; errno: 28; imm: off; once: off +Failed to flush the L2 table cache: No space left on device +Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 @@ -611,6 +659,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l1_grow_write_table; errno: 5; imm: off; once: off +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. @@ -622,6 +671,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l1_grow_write_table; errno: 28; imm: off; once: off +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. diff --git a/tests/qemu-iotests/026.out.nocache b/tests/qemu-iotests/026.out.nocache index 672d77c6e..9c2c8a948 100644 --- a/tests/qemu-iotests/026.out.nocache +++ b/tests/qemu-iotests/026.out.nocache @@ -14,6 +14,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l1_update; errno: 5; imm: off; once: off; write +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error @@ -22,6 +23,7 @@ This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l1_update; errno: 5; imm: off; once: off; write -b +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error @@ -40,6 +42,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l1_update; errno: 28; imm: off; once: off; write +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device @@ -48,6 +51,7 @@ This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l1_update; errno: 28; imm: off; once: off; write -b +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device @@ -74,7 +78,11 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l2_load; errno: 5; imm: off; once: off; write wrote 131072/131072 bytes at offset 0 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +Failed to flush the L2 table cache: Input/output error +Failed to flush the refcount block cache: Input/output error write failed: Input/output error +Failed to flush the L2 table cache: Input/output error +Failed to flush the refcount block cache: Input/output error read failed: Input/output error No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 @@ -82,7 +90,11 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l2_load; errno: 5; imm: off; once: off; write -b wrote 131072/131072 bytes at offset 0 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +Failed to flush the L2 table cache: Input/output error +Failed to flush the refcount block cache: Input/output error write failed: Input/output error +Failed to flush the L2 table cache: Input/output error +Failed to flush the refcount block cache: Input/output error read failed: Input/output error No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 @@ -106,7 +118,11 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l2_load; errno: 28; imm: off; once: off; write wrote 131072/131072 bytes at offset 0 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +Failed to flush the L2 table cache: No space left on device +Failed to flush the refcount block cache: No space left on device write failed: No space left on device +Failed to flush the L2 table cache: No space left on device +Failed to flush the refcount block cache: No space left on device read failed: No space left on device No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 @@ -114,7 +130,11 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l2_load; errno: 28; imm: off; once: off; write -b wrote 131072/131072 bytes at offset 0 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +Failed to flush the L2 table cache: No space left on device +Failed to flush the refcount block cache: No space left on device write failed: No space left on device +Failed to flush the L2 table cache: No space left on device +Failed to flush the refcount block cache: No space left on device read failed: No space left on device No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 @@ -294,12 +314,14 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_load; errno: 5; imm: off; once: off; write +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_load; errno: 5; imm: off; once: off; write -b +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. @@ -316,12 +338,14 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_load; errno: 28; imm: off; once: off; write +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_load; errno: 28; imm: off; once: off; write -b +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. @@ -338,12 +362,14 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_update_part; errno: 5; imm: off; once: off; write +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_update_part; errno: 5; imm: off; once: off; write -b +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. @@ -360,12 +386,14 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_update_part; errno: 28; imm: off; once: off; write +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_update_part; errno: 28; imm: off; once: off; write -b +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. @@ -382,12 +410,14 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_alloc; errno: 5; imm: off; once: off; write +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_alloc; errno: 5; imm: off; once: off; write -b +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. @@ -404,12 +434,14 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_alloc; errno: 28; imm: off; once: off; write +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_alloc; errno: 28; imm: off; once: off; write -b +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. @@ -426,11 +458,15 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: cluster_alloc; errno: 5; imm: off; once: off; write +Failed to flush the L2 table cache: Input/output error +Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: cluster_alloc; errno: 5; imm: off; once: off; write -b +Failed to flush the L2 table cache: Input/output error +Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 @@ -446,11 +482,15 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: cluster_alloc; errno: 28; imm: off; once: off; write +Failed to flush the L2 table cache: No space left on device +Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: cluster_alloc; errno: 28; imm: off; once: off; write -b +Failed to flush the L2 table cache: No space left on device +Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. @@ -521,6 +561,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_alloc_write_blocks; errno: 28; imm: off; once: off; write +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device @@ -529,6 +570,7 @@ This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_alloc_write_blocks; errno: 28; imm: off; once: off; write -b +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device @@ -547,6 +589,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_alloc_write_table; errno: 28; imm: off; once: off; write +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device @@ -555,6 +598,7 @@ This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: refblock_alloc_write_table; errno: 28; imm: off; once: off; write -b +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device @@ -599,6 +643,8 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l1_grow_alloc_table; errno: 5; imm: off; once: off +Failed to flush the L2 table cache: Input/output error +Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 @@ -609,6 +655,8 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l1_grow_alloc_table; errno: 28; imm: off; once: off +Failed to flush the L2 table cache: No space left on device +Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 @@ -619,6 +667,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l1_grow_write_table; errno: 5; imm: off; once: off +Failed to flush the L2 table cache: Input/output error Failed to flush the refcount block cache: Input/output error write failed: Input/output error No errors were found on the image. @@ -630,6 +679,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 Event: l1_grow_write_table; errno: 28; imm: off; once: off +Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device No errors were found on the image. diff --git a/tests/qemu-iotests/034 b/tests/qemu-iotests/034 index 1b28bdae6..c711cfce9 100755 --- a/tests/qemu-iotests/034 +++ b/tests/qemu-iotests/034 @@ -1,6 +1,6 @@ #!/bin/bash # -# Test bdrv_pwrite_zeroes with backing files (see also 154) +# Test bdrv_write_zeroes with backing files # # Copyright (C) 2012 Red Hat, Inc. # diff --git a/tests/qemu-iotests/039.out b/tests/qemu-iotests/039.out index c6e0ac2da..32c884694 100644 --- a/tests/qemu-iotests/039.out +++ b/tests/qemu-iotests/039.out @@ -12,9 +12,9 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) ./common.config: Killed ( if [ "${VALGRIND_QEMU}" == "y" ]; then - exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"; + exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"; else - exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"; + exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"; fi ) incompatible_features 0x1 ERROR cluster 5 refcount=0 reference=1 @@ -51,9 +51,9 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) ./common.config: Killed ( if [ "${VALGRIND_QEMU}" == "y" ]; then - exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"; + exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"; else - exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"; + exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"; fi ) incompatible_features 0x1 ERROR cluster 5 refcount=0 reference=1 @@ -69,9 +69,9 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) ./common.config: Killed ( if [ "${VALGRIND_QEMU}" == "y" ]; then - exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"; + exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"; else - exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"; + exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"; fi ) incompatible_features 0x0 No errors were found on the image. @@ -92,9 +92,9 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) ./common.config: Killed ( if [ "${VALGRIND_QEMU}" == "y" ]; then - exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"; + exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"; else - exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"; + exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"; fi ) incompatible_features 0x1 ERROR cluster 5 refcount=0 reference=1 @@ -106,9 +106,9 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) ./common.config: Killed ( if [ "${VALGRIND_QEMU}" == "y" ]; then - exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"; + exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"; else - exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"; + exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"; fi ) incompatible_features 0x0 No errors were found on the image. diff --git a/tests/qemu-iotests/041 b/tests/qemu-iotests/041 index cbf5e0ba5..b1c542f99 100755 --- a/tests/qemu-iotests/041 +++ b/tests/qemu-iotests/041 @@ -207,6 +207,33 @@ class TestSingleBlockdev(TestSingleDrive): test_image_not_found = None test_small_buffer2 = None +class TestBlockdevAttached(iotests.QMPTestCase): + image_len = 1 * 1024 * 1024 # MB + + def setUp(self): + iotests.create_image(backing_img, self.image_len) + qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, test_img) + qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, target_img) + self.vm = iotests.VM().add_drive(test_img) + self.vm.launch() + + def tearDown(self): + self.vm.shutdown() + os.remove(test_img) + os.remove(target_img) + + def test_blockdev_attached(self): + self.assert_no_active_block_jobs() + args = {'options': + {'driver': iotests.imgfmt, + 'id': 'drive1', + 'file': { 'filename': target_img, 'driver': 'file' } } } + result = self.vm.qmp("blockdev-add", **args) + self.assert_qmp(result, 'return', {}) + result = self.vm.qmp('blockdev-mirror', device='drive0', sync='full', + target='drive1') + self.assert_qmp(result, 'error/class', 'GenericError') + class TestSingleDriveZeroLength(TestSingleDrive): image_len = 0 test_small_buffer2 = None @@ -727,36 +754,6 @@ class TestUnbackedSource(iotests.QMPTestCase): self.complete_and_wait() self.assert_no_active_block_jobs() -class TestGranularity(iotests.QMPTestCase): - image_len = 10 * 1024 * 1024 # MB - - def setUp(self): - qemu_img('create', '-f', iotests.imgfmt, test_img, - str(TestGranularity.image_len)) - qemu_io('-c', 'write 0 %d' % (self.image_len), - test_img) - self.vm = iotests.VM().add_drive(test_img) - self.vm.launch() - - def tearDown(self): - self.vm.shutdown() - self.assertTrue(iotests.compare_images(test_img, target_img), - 'target image does not match source after mirroring') - os.remove(test_img) - os.remove(target_img) - - def test_granularity(self): - self.assert_no_active_block_jobs() - result = self.vm.qmp('drive-mirror', device='drive0', - sync='full', target=target_img, - mode='absolute-paths', granularity=8192) - self.assert_qmp(result, 'return', {}) - event = self.vm.get_qmp_event(wait=60.0) - # Failures will manifest as COMPLETED/ERROR. - self.assert_qmp(event, 'event', 'BLOCK_JOB_READY') - self.complete_and_wait(drive='drive0', wait_ready=False) - self.assert_no_active_block_jobs() - class TestRepairQuorum(iotests.QMPTestCase): """ This class test quorum file repair using drive-mirror. It's mostly a fork of TestSingleDrive """ diff --git a/tests/qemu-iotests/048 b/tests/qemu-iotests/048 index 203c04fc7..e1eeac2a3 100755 --- a/tests/qemu-iotests/048 +++ b/tests/qemu-iotests/048 @@ -31,13 +31,13 @@ _cleanup() { echo "Cleanup" _cleanup_test_img - rm "${TEST_IMG_FILE2}" + rm "${TEST_IMG2}" } trap "_cleanup; exit \$status" 0 1 2 3 15 _compare() { - $QEMU_IMG compare $QEMU_IMG_EXTRA_ARGS "$@" "$TEST_IMG" "${TEST_IMG2}" + $QEMU_IMG compare "$@" "$TEST_IMG" "${TEST_IMG2}" echo $? } @@ -46,37 +46,25 @@ _compare() . ./common.filter . ./common.pattern -_supported_fmt raw qcow qcow2 qed luks +_supported_fmt raw qcow qcow2 qed _supported_proto file _supported_os Linux -# Remove once all tests are fixed to use TEST_IMG_FILE -# correctly and common.rc sets it unconditionally -test -z "$TEST_IMG_FILE" && TEST_IMG_FILE=$TEST_IMG - # Setup test basic parameters TEST_IMG2=$TEST_IMG.2 -TEST_IMG_FILE2=$TEST_IMG_FILE.2 CLUSTER_SIZE=4096 -size=128M +size=1024M _make_test_img $size io_pattern write 524288 $CLUSTER_SIZE $CLUSTER_SIZE 4 45 # Compare identical images -cp "$TEST_IMG_FILE" "${TEST_IMG_FILE2}" +cp "$TEST_IMG" "${TEST_IMG2}" _compare _compare -q # Compare images with different size -if [ "$IMGOPTSSYNTAX" = "true" ]; then - $QEMU_IMG resize $QEMU_IMG_EXTRA_ARGS "$TEST_IMG" +32M -else - $QEMU_IMG resize -f $IMGFMT "$TEST_IMG" +32M -fi -# Ensure extended space is zero-initialized -$QEMU_IO "$TEST_IMG" -c "write -z $size 32M" | _filter_qemu_io - +$QEMU_IMG resize -f $IMGFMT "$TEST_IMG" +512M _compare _compare -s @@ -89,7 +77,7 @@ _compare # Test unaligned case of mismatch offsets in allocated clusters _make_test_img $size io_pattern write 0 512 0 1 100 -cp "$TEST_IMG_FILE" "$TEST_IMG_FILE2" +cp "$TEST_IMG" "$TEST_IMG2" io_pattern write 512 512 0 1 101 _compare diff --git a/tests/qemu-iotests/048.out b/tests/qemu-iotests/048.out index 0bcf6635a..57100dc45 100644 --- a/tests/qemu-iotests/048.out +++ b/tests/qemu-iotests/048.out @@ -1,5 +1,5 @@ QA output created by 048 -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 === IO: pattern 45 wrote 4096/4096 bytes at offset 524288 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -13,8 +13,6 @@ Images are identical. 0 0 Image resized. -wrote 33554432/33554432 bytes at offset 134217728 -32 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) Warning: Image size mismatch! Images are identical. 0 @@ -30,7 +28,7 @@ wrote 4096/4096 bytes at offset 0 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) Content mismatch at offset 0! 1 -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 === IO: pattern 100 wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) diff --git a/tests/qemu-iotests/052 b/tests/qemu-iotests/052 index 842eaced3..4b647242d 100755 --- a/tests/qemu-iotests/052 +++ b/tests/qemu-iotests/052 @@ -48,10 +48,6 @@ size=128M _make_test_img $size echo -echo "== initializing whole image ==" -$QEMU_IO -c "write -z 0 $size" "$TEST_IMG" | _filter_qemu_io - -echo echo "== reading whole image ==" $QEMU_IO -s -c "read 0 $size" "$TEST_IMG" | _filter_qemu_io diff --git a/tests/qemu-iotests/052.out b/tests/qemu-iotests/052.out index a377d3028..9dab51c0e 100644 --- a/tests/qemu-iotests/052.out +++ b/tests/qemu-iotests/052.out @@ -1,10 +1,6 @@ QA output created by 052 Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 -== initializing whole image == -wrote 134217728/134217728 bytes at offset 0 -128 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - == reading whole image == read 134217728/134217728 bytes at offset 0 128 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) diff --git a/tests/qemu-iotests/061.out b/tests/qemu-iotests/061.out index a431b7f30..a03732e19 100644 --- a/tests/qemu-iotests/061.out +++ b/tests/qemu-iotests/061.out @@ -58,9 +58,9 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 wrote 131072/131072 bytes at offset 0 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) ./common.config: Killed ( if [ "${VALGRIND_QEMU}" == "y" ]; then - exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"; + exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"; else - exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"; + exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"; fi ) magic 0x514649fb version 3 @@ -220,9 +220,9 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 wrote 131072/131072 bytes at offset 0 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) ./common.config: Killed ( if [ "${VALGRIND_QEMU}" == "y" ]; then - exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"; + exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"; else - exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"; + exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"; fi ) magic 0x514649fb version 3 diff --git a/tests/qemu-iotests/071.out b/tests/qemu-iotests/071.out index 8c6851e79..2b40eadae 100644 --- a/tests/qemu-iotests/071.out +++ b/tests/qemu-iotests/071.out @@ -30,10 +30,14 @@ blkverify: read sector_num=0 nb_sectors=1 contents mismatch in sector 0 === Testing blkdebug through filename === +Failed to flush the L2 table cache: Input/output error +Failed to flush the refcount block cache: Input/output error read failed: Input/output error === Testing blkdebug through file blockref === +Failed to flush the L2 table cache: Input/output error +Failed to flush the refcount block cache: Input/output error read failed: Input/output error === Testing blkdebug on existing block device === @@ -47,6 +51,8 @@ read failed: Input/output error {"return": ""} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN"} +QEMU_PROG: Failed to flush the L2 table cache: Input/output error +QEMU_PROG: Failed to flush the refcount block cache: Input/output error === Testing blkverify on existing block device === @@ -86,5 +92,7 @@ read failed: Input/output error {"return": ""} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN"} +QEMU_PROG: Failed to flush the L2 table cache: Input/output error +QEMU_PROG: Failed to flush the refcount block cache: Input/output error *** done diff --git a/tests/qemu-iotests/077 b/tests/qemu-iotests/077 index d2d2a2d68..4dc680b7f 100755 --- a/tests/qemu-iotests/077 +++ b/tests/qemu-iotests/077 @@ -60,7 +60,7 @@ EOF # Sequential RMW requests on the same physical sector off=0x1000 -for ev in "head" "after_head"; do +for ev in "head" "after_head" "tail" "after_tail"; do cat <<EOF break pwritev_rmw_$ev A aio_write -P 10 $((off + 0x200)) 0x200 @@ -211,6 +211,16 @@ function verify_io() echo read -P 11 0x2400 0x200 echo read -P 0 0x2600 0xa00 + echo read -P 0 0x3000 0x200 + echo read -P 10 0x3200 0x200 + echo read -P 11 0x3400 0x200 + echo read -P 0 0x3600 0xa00 + + echo read -P 0 0x4000 0x200 + echo read -P 10 0x4200 0x200 + echo read -P 11 0x4400 0x200 + echo read -P 0 0x4600 0xa00 + # Chained dependencies echo read -P 10 0x5000 0x200 echo read -P 11 0x5200 0x200 diff --git a/tests/qemu-iotests/077.out b/tests/qemu-iotests/077.out index 16f951fd3..eab14ae2e 100644 --- a/tests/qemu-iotests/077.out +++ b/tests/qemu-iotests/077.out @@ -19,6 +19,16 @@ wrote XXX/XXX bytes at offset XXX XXX bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) wrote XXX/XXX bytes at offset XXX XXX bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +blkdebug: Resuming request 'A' +wrote XXX/XXX bytes at offset XXX +XXX bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +wrote XXX/XXX bytes at offset XXX +XXX bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +blkdebug: Resuming request 'A' +wrote XXX/XXX bytes at offset XXX +XXX bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +wrote XXX/XXX bytes at offset XXX +XXX bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) wrote XXX/XXX bytes at offset XXX XXX bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) wrote XXX/XXX bytes at offset XXX @@ -104,6 +114,22 @@ read 512/512 bytes at offset 9216 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) read 2560/2560 bytes at offset 9728 2.500 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 512/512 bytes at offset 12288 +512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 512/512 bytes at offset 12800 +512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 512/512 bytes at offset 13312 +512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 2560/2560 bytes at offset 13824 +2.500 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 512/512 bytes at offset 16384 +512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 512/512 bytes at offset 16896 +512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 512/512 bytes at offset 17408 +512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 2560/2560 bytes at offset 17920 +2.500 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) read 512/512 bytes at offset 20480 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) read 512/512 bytes at offset 20992 diff --git a/tests/qemu-iotests/083 b/tests/qemu-iotests/083 index bff936004..bc724ae05 100755 --- a/tests/qemu-iotests/083 +++ b/tests/qemu-iotests/083 @@ -43,7 +43,7 @@ choose_tcp_port() { wait_for_tcp_port() { while ! (netstat --tcp --listening --numeric | \ - grep "$1.*0\\.0\\.0\\.0:\\*.*LISTEN") >/dev/null 2>&1; do + grep "$1.*0\\.0\\.0\\.0:\\*.*LISTEN") 2>&1 >/dev/null; do sleep 0.1 done } @@ -70,7 +70,7 @@ EOF nbd_url="nbd:127.0.0.1:$port:exportname=foo" fi - $PYTHON nbd-fault-injector.py $extra_args "127.0.0.1:$port" "$TEST_DIR/nbd-fault-injector.conf" >/dev/null 2>&1 & + $PYTHON nbd-fault-injector.py $extra_args "127.0.0.1:$port" "$TEST_DIR/nbd-fault-injector.conf" 2>&1 >/dev/null & wait_for_tcp_port "127\\.0\\.0\\.1:$port" $QEMU_IO -c "read 0 512" "$nbd_url" 2>&1 | _filter_qemu_io | _filter_nbd diff --git a/tests/qemu-iotests/087.out b/tests/qemu-iotests/087.out index a95c4b0be..055c553cd 100644 --- a/tests/qemu-iotests/087.out +++ b/tests/qemu-iotests/087.out @@ -42,14 +42,22 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 encryption=on Testing: -S QMP_VERSION {"return": {}} -{"error": {"class": "GenericError", "desc": "Use of AES-CBC encrypted IMGFMT images is no longer supported in system emulators"}} +IMGFMT built-in AES encryption is deprecated +Support for it will be removed in a future release. +You can use 'qemu-img convert' to switch to an +unencrypted IMGFMT image, or a LUKS raw image. +{"error": {"class": "GenericError", "desc": "blockdev-add doesn't support encrypted devices"}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN"} Testing: QMP_VERSION {"return": {}} -{"error": {"class": "GenericError", "desc": "Use of AES-CBC encrypted IMGFMT images is no longer supported in system emulators"}} +IMGFMT built-in AES encryption is deprecated +Support for it will be removed in a future release. +You can use 'qemu-img convert' to switch to an +unencrypted IMGFMT image, or a LUKS raw image. +{"error": {"class": "GenericError", "desc": "Guest must be stopped for opening of encrypted image"}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN"} diff --git a/tests/qemu-iotests/089.out b/tests/qemu-iotests/089.out index 18f5fdda7..5b541a340 100644 --- a/tests/qemu-iotests/089.out +++ b/tests/qemu-iotests/089.out @@ -24,6 +24,8 @@ read 512/512 bytes at offset 0 Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 wrote 512/512 bytes at offset 229376 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +Failed to flush the L2 table cache: Input/output error +Failed to flush the refcount block cache: Input/output error read failed: Input/output error === Testing qemu-img info output === diff --git a/tests/qemu-iotests/095 b/tests/qemu-iotests/095 index 030adb22e..dad04b9ac 100755 --- a/tests/qemu-iotests/095 +++ b/tests/qemu-iotests/095 @@ -74,8 +74,6 @@ _send_qemu_cmd $h "{ 'execute': 'block-commit', 'arguments': { 'device': 'test', 'top': '"${TEST_IMG}.snp1"' } }" "BLOCK_JOB_COMPLETED" -_cleanup_qemu - echo echo "=== Base image info after commit and resize ===" TEST_IMG="${TEST_IMG}.base" _img_info | _filter_img_info diff --git a/tests/qemu-iotests/096 b/tests/qemu-iotests/096 index aeeb3753c..e34204b8f 100644 --- a/tests/qemu-iotests/096 +++ b/tests/qemu-iotests/096 @@ -45,9 +45,8 @@ class TestLiveSnapshot(iotests.QMPTestCase): os.remove(self.target_img) def checkConfig(self, active_layer): - result = self.vm.qmp('query-block') + result = self.vm.qmp('query-named-block-nodes') for r in result['return']: - r = r['inserted'] if r['node-name'] == active_layer: self.assertEqual(r['group'], self.group) self.assertEqual(r['iops'], self.iops) diff --git a/tests/qemu-iotests/100 b/tests/qemu-iotests/100 new file mode 100755 index 000000000..5b2fb3333 --- /dev/null +++ b/tests/qemu-iotests/100 @@ -0,0 +1,145 @@ +#!/bin/bash +# +# Test simple read/write using plain bdrv_read/bdrv_write +# +# Copyright (C) 2014 Red Hat, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +# creator +owner=stefanha@redhat.com + +seq=`basename $0` +echo "QA output created by $seq" + +here=`pwd` +status=1 # failure is the default! + +_cleanup() +{ + _cleanup_test_img +} +trap "_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common.rc +. ./common.filter + +_supported_fmt generic +_supported_proto generic +_supported_os Linux + + +size=128M + +echo +echo "== Single request ==" +_make_test_img $size +$QEMU_IO -c "multiwrite 0 4k" "$TEST_IMG" | _filter_qemu_io + +echo +echo "== verify pattern ==" +$QEMU_IO -c "read -P 0xcd 0 4k" "$TEST_IMG" | _filter_qemu_io +$QEMU_IO -c "read -P 0 4k 4k" "$TEST_IMG" | _filter_qemu_io + +_cleanup_test_img + +echo +echo "== Sequential requests ==" +_make_test_img $size +$QEMU_IO -c "multiwrite 0 4k ; 4k 4k" "$TEST_IMG" | _filter_qemu_io + +echo +echo "== verify pattern ==" +$QEMU_IO -c "read -P 0xcd 0 4k" "$TEST_IMG" | _filter_qemu_io +$QEMU_IO -c "read -P 0xce 4k 4k" "$TEST_IMG" | _filter_qemu_io +$QEMU_IO -c "read -P 0 8k 4k" "$TEST_IMG" | _filter_qemu_io + +_cleanup_test_img + +echo +echo "== Superset overlapping requests ==" +_make_test_img $size +$QEMU_IO -c "multiwrite 0 4k ; 1k 2k" "$TEST_IMG" | _filter_qemu_io + +echo +echo "== verify pattern ==" +# Order of overlapping in-flight requests is not guaranteed so we cannot verify +# [1k, 3k) since it could have either pattern 0xcd or 0xce. +$QEMU_IO -c "read -P 0xcd 0 1k" "$TEST_IMG" | _filter_qemu_io +$QEMU_IO -c "read -P 0xcd 3k 1k" "$TEST_IMG" | _filter_qemu_io +$QEMU_IO -c "read -P 0 4k 4k" "$TEST_IMG" | _filter_qemu_io + +_cleanup_test_img + +echo +echo "== Subset overlapping requests ==" +_make_test_img $size +$QEMU_IO -c "multiwrite 1k 2k ; 0k 4k" "$TEST_IMG" | _filter_qemu_io + +echo +echo "== verify pattern ==" +# Order of overlapping in-flight requests is not guaranteed so we cannot verify +# [1k, 3k) since it could have either pattern 0xcd or 0xce. +$QEMU_IO -c "read -P 0xce 0 1k" "$TEST_IMG" | _filter_qemu_io +$QEMU_IO -c "read -P 0xce 3k 1k" "$TEST_IMG" | _filter_qemu_io +$QEMU_IO -c "read -P 0 4k 4k" "$TEST_IMG" | _filter_qemu_io + +_cleanup_test_img + +echo +echo "== Head overlapping requests ==" +_make_test_img $size +$QEMU_IO -c "multiwrite 0k 2k ; 0k 4k" "$TEST_IMG" | _filter_qemu_io + +echo +echo "== verify pattern ==" +# Order of overlapping in-flight requests is not guaranteed so we cannot verify +# [0k, 2k) since it could have either pattern 0xcd or 0xce. +$QEMU_IO -c "read -P 0xce 2k 2k" "$TEST_IMG" | _filter_qemu_io +$QEMU_IO -c "read -P 0 4k 4k" "$TEST_IMG" | _filter_qemu_io + +_cleanup_test_img + +echo +echo "== Tail overlapping requests ==" +_make_test_img $size +$QEMU_IO -c "multiwrite 2k 2k ; 0k 4k" "$TEST_IMG" | _filter_qemu_io + +echo +echo "== verify pattern ==" +# Order of overlapping in-flight requests is not guaranteed so we cannot verify +# [2k, 4k) since it could have either pattern 0xcd or 0xce. +$QEMU_IO -c "read -P 0xce 0k 2k" "$TEST_IMG" | _filter_qemu_io +$QEMU_IO -c "read -P 0 4k 4k" "$TEST_IMG" | _filter_qemu_io + +_cleanup_test_img + +echo +echo "== Disjoint requests ==" +_make_test_img $size +$QEMU_IO -c "multiwrite 0 4k ; 64k 4k" "$TEST_IMG" | _filter_qemu_io + +echo +echo "== verify pattern ==" +$QEMU_IO -c "read -P 0xcd 0 4k" "$TEST_IMG" | _filter_qemu_io +$QEMU_IO -c "read -P 0 4k 60k" "$TEST_IMG" | _filter_qemu_io +$QEMU_IO -c "read -P 0xce 64k 4k" "$TEST_IMG" | _filter_qemu_io +$QEMU_IO -c "read -P 0 68k 4k" "$TEST_IMG" | _filter_qemu_io + +# success, all done +echo "*** done" +rm -f $seq.full +status=0 diff --git a/tests/qemu-iotests/100.out b/tests/qemu-iotests/100.out new file mode 100644 index 000000000..05649038d --- /dev/null +++ b/tests/qemu-iotests/100.out @@ -0,0 +1,89 @@ +QA output created by 100 + +== Single request == +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 +wrote 4096/4096 bytes at offset 0 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + +== verify pattern == +read 4096/4096 bytes at offset 0 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 4096/4096 bytes at offset 4096 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + +== Sequential requests == +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 +wrote 8192/8192 bytes at offset 0 +8 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + +== verify pattern == +read 4096/4096 bytes at offset 0 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 4096/4096 bytes at offset 4096 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 4096/4096 bytes at offset 8192 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + +== Superset overlapping requests == +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 +wrote 6144/6144 bytes at offset 0 +6 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + +== verify pattern == +read 1024/1024 bytes at offset 0 +1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 1024/1024 bytes at offset 3072 +1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 4096/4096 bytes at offset 4096 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + +== Subset overlapping requests == +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 +wrote 6144/6144 bytes at offset 1024 +6 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + +== verify pattern == +read 1024/1024 bytes at offset 0 +1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 1024/1024 bytes at offset 3072 +1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 4096/4096 bytes at offset 4096 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + +== Head overlapping requests == +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 +wrote 6144/6144 bytes at offset 0 +6 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + +== verify pattern == +read 2048/2048 bytes at offset 2048 +2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 4096/4096 bytes at offset 4096 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + +== Tail overlapping requests == +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 +wrote 6144/6144 bytes at offset 2048 +6 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + +== verify pattern == +read 2048/2048 bytes at offset 0 +2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 4096/4096 bytes at offset 4096 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + +== Disjoint requests == +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 +wrote 8192/8192 bytes at offset 0 +8 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + +== verify pattern == +read 4096/4096 bytes at offset 0 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 61440/61440 bytes at offset 4096 +60 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 4096/4096 bytes at offset 65536 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 4096/4096 bytes at offset 69632 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +*** done diff --git a/tests/qemu-iotests/109 b/tests/qemu-iotests/109 index 280ed27aa..f980b0c9e 100755 --- a/tests/qemu-iotests/109 +++ b/tests/qemu-iotests/109 @@ -100,10 +100,12 @@ for sample_img in empty.bochs iotest-dirtylog-10G-4M.vhdx parallels-v1 \ _make_test_img 64M bzcat "$SAMPLE_IMG_DIR/$sample_img.bz2" > "$TEST_IMG.src" - run_qemu "$TEST_IMG" "$TEST_IMG.src" "" "BLOCK_JOB_ERROR" | _filter_block_job_offset + run_qemu "$TEST_IMG" "$TEST_IMG.src" "" "BLOCK_JOB_ERROR" $QEMU_IO -c 'read -P 0 0 64k' "$TEST_IMG" | _filter_qemu_io run_qemu "$TEST_IMG" "$TEST_IMG.src" "'format': 'raw'," "BLOCK_JOB_READY" + # qemu-img compare can't handle unaligned file sizes + $QEMU_IMG resize -f raw "$TEST_IMG.src" +0 $QEMU_IMG compare -f raw -F raw "$TEST_IMG" "$TEST_IMG.src" done diff --git a/tests/qemu-iotests/109.out b/tests/qemu-iotests/109.out index e5d70d75f..38bc073a3 100644 --- a/tests/qemu-iotests/109.out +++ b/tests/qemu-iotests/109.out @@ -135,7 +135,7 @@ Automatically detecting the format is dangerous for raw images, write operations Specify the 'raw' format explicitly to remove the restrictions. {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_ERROR", "data": {"device": "src", "operation": "write", "action": "report"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "src", "len": 2560, "offset": OFFSET, "speed": 0, "type": "mirror", "error": "Operation not permitted"}} +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "src", "len": 2560, "offset": 0, "speed": 0, "type": "mirror", "error": "Operation not permitted"}} {"return": []} read 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -143,6 +143,7 @@ read 65536/65536 bytes at offset 0 {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "src", "len": 2560, "offset": 2560, "speed": 0, "type": "mirror"}} {"return": [{"io-status": "ok", "device": "src", "busy": false, "len": 2560, "offset": 2560, "paused": false, "speed": 0, "ready": true, "type": "mirror"}]} +Image resized. Warning: Image size mismatch! Images are identical. @@ -155,7 +156,7 @@ Automatically detecting the format is dangerous for raw images, write operations Specify the 'raw' format explicitly to remove the restrictions. {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_ERROR", "data": {"device": "src", "operation": "write", "action": "report"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "src", "len": 31457280, "offset": OFFSET, "speed": 0, "type": "mirror", "error": "Operation not permitted"}} +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "src", "len": 31457280, "offset": 0, "speed": 0, "type": "mirror", "error": "Operation not permitted"}} {"return": []} read 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -163,6 +164,7 @@ read 65536/65536 bytes at offset 0 {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "src", "len": 31457280, "offset": 31457280, "speed": 0, "type": "mirror"}} {"return": [{"io-status": "ok", "device": "src", "busy": false, "len": 31457280, "offset": 31457280, "paused": false, "speed": 0, "ready": true, "type": "mirror"}]} +Image resized. Warning: Image size mismatch! Images are identical. @@ -175,7 +177,7 @@ Automatically detecting the format is dangerous for raw images, write operations Specify the 'raw' format explicitly to remove the restrictions. {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_ERROR", "data": {"device": "src", "operation": "write", "action": "report"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "src", "len": 327680, "offset": OFFSET, "speed": 0, "type": "mirror", "error": "Operation not permitted"}} +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "src", "len": 327680, "offset": 0, "speed": 0, "type": "mirror", "error": "Operation not permitted"}} {"return": []} read 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -183,6 +185,7 @@ read 65536/65536 bytes at offset 0 {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "src", "len": 327680, "offset": 327680, "speed": 0, "type": "mirror"}} {"return": [{"io-status": "ok", "device": "src", "busy": false, "len": 327680, "offset": 327680, "paused": false, "speed": 0, "ready": true, "type": "mirror"}]} +Image resized. Warning: Image size mismatch! Images are identical. @@ -195,7 +198,7 @@ Automatically detecting the format is dangerous for raw images, write operations Specify the 'raw' format explicitly to remove the restrictions. {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_ERROR", "data": {"device": "src", "operation": "write", "action": "report"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "src", "len": 2048, "offset": OFFSET, "speed": 0, "type": "mirror", "error": "Operation not permitted"}} +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "src", "len": 2048, "offset": 0, "speed": 0, "type": "mirror", "error": "Operation not permitted"}} {"return": []} read 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) @@ -203,6 +206,7 @@ read 65536/65536 bytes at offset 0 {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "src", "len": 2048, "offset": 2048, "speed": 0, "type": "mirror"}} {"return": [{"io-status": "ok", "device": "src", "busy": false, "len": 2048, "offset": 2048, "paused": false, "speed": 0, "ready": true, "type": "mirror"}]} +Image resized. Warning: Image size mismatch! Images are identical. diff --git a/tests/qemu-iotests/136 b/tests/qemu-iotests/136 index 635b97755..e8c6937fc 100644 --- a/tests/qemu-iotests/136 +++ b/tests/qemu-iotests/136 @@ -226,11 +226,18 @@ sector = "%d" highest_offset = wr_ops * wr_size - for i in range(invalid_rd_ops): - ops.append("aio_read -i 0 512") + # Two types of invalid operations: unaligned length and unaligned offset + for i in range(invalid_rd_ops / 2): + ops.append("aio_read 0 511") - for i in range(invalid_wr_ops): - ops.append("aio_write -i 0 512") + for i in range(invalid_rd_ops / 2, invalid_rd_ops): + ops.append("aio_read 13 512") + + for i in range(invalid_wr_ops / 2): + ops.append("aio_write 0 511") + + for i in range(invalid_wr_ops / 2, invalid_wr_ops): + ops.append("aio_write 13 512") for i in range(failed_rd_ops): ops.append("aio_read %d 512" % bad_offset) @@ -241,6 +248,14 @@ sector = "%d" if failed_wr_ops > 0: highest_offset = max(highest_offset, bad_offset + 512) + for i in range(wr_merged): + first = i * wr_size * 2 + second = first + wr_size + ops.append("multiwrite %d %d ; %d %d" % + (first, wr_size, second, wr_size)) + + highest_offset = max(highest_offset, wr_merged * wr_size * 2) + # Now perform all operations for op in ops: self.vm.hmp_qemu_io("drive0", op) @@ -294,15 +309,19 @@ sector = "%d" def test_flush(self): self.do_test_stats(flush_ops = 8) + def test_merged(self): + for i in range(5): + self.do_test_stats(wr_merged = i * 3) + def test_all(self): # rd_size, rd_ops, wr_size, wr_ops, flush_ops # invalid_rd_ops, invalid_wr_ops, # failed_rd_ops, failed_wr_ops # wr_merged - test_values = [[512, 1, 512, 1, 1, 4, 7, 5, 2, 0], - [65536, 1, 2048, 12, 7, 7, 5, 2, 5, 0], - [32768, 9, 8192, 1, 4, 3, 2, 4, 6, 0], - [16384, 11, 3584, 16, 9, 8, 6, 7, 3, 0]] + test_values = [[512, 1, 512, 1, 1, 4, 7, 5, 2, 1], + [65536, 1, 2048, 12, 7, 7, 5, 2, 5, 5], + [32768, 9, 8192, 1, 4, 3, 2, 4, 6, 4], + [16384, 11, 3584, 16, 9, 8, 6, 7, 3, 4]] for i in test_values: self.do_test_stats(*i) diff --git a/tests/qemu-iotests/136.out b/tests/qemu-iotests/136.out index cfa5c0d0e..0a5e9583a 100644 --- a/tests/qemu-iotests/136.out +++ b/tests/qemu-iotests/136.out @@ -1,5 +1,5 @@ -................................... +........................................ ---------------------------------------------------------------------- -Ran 35 tests +Ran 40 tests OK diff --git a/tests/qemu-iotests/137.out b/tests/qemu-iotests/137.out index c0e753483..88c702cf7 100644 --- a/tests/qemu-iotests/137.out +++ b/tests/qemu-iotests/137.out @@ -32,9 +32,9 @@ Unsupported value 'blubb' for qcow2 option 'overlap-check'. Allowed are any of t wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) ./common.config: Killed ( if [ "${VALGRIND_QEMU}" == "y" ]; then - exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"; + exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"; else - exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"; + exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"; fi ) incompatible_features 0x0 Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 diff --git a/tests/qemu-iotests/141.out b/tests/qemu-iotests/141.out index eaf1e603e..adceac181 100644 --- a/tests/qemu-iotests/141.out +++ b/tests/qemu-iotests/141.out @@ -18,8 +18,8 @@ Formatting 'TEST_DIR/o.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t. {"return": {}} Formatting 'TEST_DIR/o.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT backing_fmt=IMGFMT -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "drv0", "len": 0, "offset": 0, "speed": 0, "type": "mirror"}} {"return": {}} +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "drv0", "len": 0, "offset": 0, "speed": 0, "type": "mirror"}} {"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: block device is in use by block job: mirror"}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "drv0", "len": 0, "offset": 0, "speed": 0, "type": "mirror"}} @@ -28,8 +28,8 @@ Formatting 'TEST_DIR/o.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t. === Testing active block-commit === {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "drv0", "len": 0, "offset": 0, "speed": 0, "type": "commit"}} {"return": {}} +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "drv0", "len": 0, "offset": 0, "speed": 0, "type": "commit"}} {"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: block device is in use by block job: commit"}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "drv0", "len": 0, "offset": 0, "speed": 0, "type": "commit"}} diff --git a/tests/qemu-iotests/144.out b/tests/qemu-iotests/144.out index 387855c37..410d74180 100644 --- a/tests/qemu-iotests/144.out +++ b/tests/qemu-iotests/144.out @@ -12,8 +12,8 @@ Formatting 'TEST_DIR/tmp.qcow2', fmt=qcow2 size=536870912 backing_file=TEST_DIR/ === Performing block-commit on active layer === -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "virtio0", "len": 0, "offset": 0, "speed": 0, "type": "commit"}} {"return": {}} +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "virtio0", "len": 0, "offset": 0, "speed": 0, "type": "commit"}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "virtio0", "len": 0, "offset": 0, "speed": 0, "type": "commit"}} diff --git a/tests/qemu-iotests/149 b/tests/qemu-iotests/149 index 84072513d..52e23d294 100755 --- a/tests/qemu-iotests/149 +++ b/tests/qemu-iotests/149 @@ -153,8 +153,6 @@ def cryptsetup_format(config): cipher = config.cipher + "-" + config.mode + "-" + config.ivgen if config.ivgen_hash is not None: cipher = cipher + ":" + config.ivgen_hash - elif config.ivgen == "essiv": - cipher = cipher + ":" + "sha256" args.extend(["--cipher", cipher]) if config.mode == "xts": args.extend(["--key-size", str(config.keylen * 2)]) @@ -481,16 +479,6 @@ configs = [ "6": "slot6", "7": "slot7", }), - - # Check handling of default hash alg (sha256) with essiv - LUKSConfig("aes-256-cbc-essiv-auto-sha1", - "aes", 256, "cbc", "essiv", None, "sha1"), - - # Check that a useless hash provided for 'plain64' iv gen - # is ignored and no error raised - LUKSConfig("aes-256-cbc-plain64-sha256-sha1", - "aes", 256, "cbc", "plain64", "sha256", "sha1"), - ] blacklist = [ diff --git a/tests/qemu-iotests/149.out b/tests/qemu-iotests/149.out index 90b5b55ef..287f01301 100644 --- a/tests/qemu-iotests/149.out +++ b/tests/qemu-iotests/149.out @@ -1878,243 +1878,3 @@ sudo cryptsetup -q -v luksClose qiotest-145-aes-256-xts-plain-sha1-pwallslots # Delete image unlink TEST_DIR/luks-aes-256-xts-plain-sha1-pwallslots.img -# ================= dm-crypt aes-256-cbc-essiv-auto-sha1 ================= -# Create image -truncate TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img --size 4194304MB -# Format image -sudo cryptsetup -q -v luksFormat --cipher aes-cbc-essiv:sha256 --key-size 256 --hash sha1 --key-slot 0 --key-file - TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img -# Open dev -sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img qiotest-145-aes-256-cbc-essiv-auto-sha1 -# Set dev owner -sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 -# Write test pattern 0xa7 -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 -wrote 10485760/10485760 bytes at offset 104857600 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Write test pattern 0x13 -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 -wrote 10485760/10485760 bytes at offset 3298534883328 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Close dev -sudo cryptsetup -q -v luksClose qiotest-145-aes-256-cbc-essiv-auto-sha1 -# Read test pattern 0xa7 -qemu-io -c read -P 0xa7 100M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts driver=luks,key-secret=sec0,file.filename=TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img -read 10485760/10485760 bytes at offset 104857600 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Read test pattern 0x13 -qemu-io -c read -P 0x13 3145728M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts driver=luks,key-secret=sec0,file.filename=TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img -read 10485760/10485760 bytes at offset 3298534883328 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Write test pattern 0x91 -qemu-io -c write -P 0x91 100M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts driver=luks,key-secret=sec0,file.filename=TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img -wrote 10485760/10485760 bytes at offset 104857600 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Write test pattern 0x5e -qemu-io -c write -P 0x5e 3145728M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts driver=luks,key-secret=sec0,file.filename=TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img -wrote 10485760/10485760 bytes at offset 3298534883328 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Open dev -sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img qiotest-145-aes-256-cbc-essiv-auto-sha1 -# Set dev owner -sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 -# Read test pattern 0x91 -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 -read 10485760/10485760 bytes at offset 104857600 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Read test pattern 0x5e -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 -read 10485760/10485760 bytes at offset 3298534883328 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Close dev -sudo cryptsetup -q -v luksClose qiotest-145-aes-256-cbc-essiv-auto-sha1 -# Delete image -unlink TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img - -# ================= qemu-img aes-256-cbc-essiv-auto-sha1 ================= -# Create image -qemu-img create -f luks --object secret,id=sec0,data=MTIzNDU2,format=base64 -o key-secret=sec0,cipher-alg=aes-256,cipher-mode=cbc,ivgen-alg=essiv,hash-alg=sha1 TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img 4194304M -Formatting 'TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img', fmt=luks size=4398046511104 key-secret=sec0 cipher-alg=aes-256 cipher-mode=cbc ivgen-alg=essiv hash-alg=sha1 - -# Open dev -sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img qiotest-145-aes-256-cbc-essiv-auto-sha1 -# Set dev owner -sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 -# Write test pattern 0xa7 -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 -wrote 10485760/10485760 bytes at offset 104857600 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Write test pattern 0x13 -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 -wrote 10485760/10485760 bytes at offset 3298534883328 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Close dev -sudo cryptsetup -q -v luksClose qiotest-145-aes-256-cbc-essiv-auto-sha1 -# Read test pattern 0xa7 -qemu-io -c read -P 0xa7 100M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts driver=luks,key-secret=sec0,file.filename=TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img -read 10485760/10485760 bytes at offset 104857600 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Read test pattern 0x13 -qemu-io -c read -P 0x13 3145728M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts driver=luks,key-secret=sec0,file.filename=TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img -read 10485760/10485760 bytes at offset 3298534883328 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Write test pattern 0x91 -qemu-io -c write -P 0x91 100M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts driver=luks,key-secret=sec0,file.filename=TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img -wrote 10485760/10485760 bytes at offset 104857600 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Write test pattern 0x5e -qemu-io -c write -P 0x5e 3145728M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts driver=luks,key-secret=sec0,file.filename=TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img -wrote 10485760/10485760 bytes at offset 3298534883328 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Open dev -sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img qiotest-145-aes-256-cbc-essiv-auto-sha1 -# Set dev owner -sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 -# Read test pattern 0x91 -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 -read 10485760/10485760 bytes at offset 104857600 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Read test pattern 0x5e -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 -read 10485760/10485760 bytes at offset 3298534883328 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Close dev -sudo cryptsetup -q -v luksClose qiotest-145-aes-256-cbc-essiv-auto-sha1 -# Delete image -unlink TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img - -# ================= dm-crypt aes-256-cbc-plain64-sha256-sha1 ================= -# Create image -truncate TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img --size 4194304MB -# Format image -sudo cryptsetup -q -v luksFormat --cipher aes-cbc-plain64:sha256 --key-size 256 --hash sha1 --key-slot 0 --key-file - TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img -# Open dev -sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img qiotest-145-aes-256-cbc-plain64-sha256-sha1 -# Set dev owner -sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 -# Write test pattern 0xa7 -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 -wrote 10485760/10485760 bytes at offset 104857600 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Write test pattern 0x13 -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 -wrote 10485760/10485760 bytes at offset 3298534883328 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Close dev -sudo cryptsetup -q -v luksClose qiotest-145-aes-256-cbc-plain64-sha256-sha1 -# Read test pattern 0xa7 -qemu-io -c read -P 0xa7 100M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts driver=luks,key-secret=sec0,file.filename=TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img -read 10485760/10485760 bytes at offset 104857600 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Read test pattern 0x13 -qemu-io -c read -P 0x13 3145728M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts driver=luks,key-secret=sec0,file.filename=TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img -read 10485760/10485760 bytes at offset 3298534883328 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Write test pattern 0x91 -qemu-io -c write -P 0x91 100M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts driver=luks,key-secret=sec0,file.filename=TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img -wrote 10485760/10485760 bytes at offset 104857600 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Write test pattern 0x5e -qemu-io -c write -P 0x5e 3145728M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts driver=luks,key-secret=sec0,file.filename=TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img -wrote 10485760/10485760 bytes at offset 3298534883328 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Open dev -sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img qiotest-145-aes-256-cbc-plain64-sha256-sha1 -# Set dev owner -sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 -# Read test pattern 0x91 -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 -read 10485760/10485760 bytes at offset 104857600 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Read test pattern 0x5e -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 -read 10485760/10485760 bytes at offset 3298534883328 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Close dev -sudo cryptsetup -q -v luksClose qiotest-145-aes-256-cbc-plain64-sha256-sha1 -# Delete image -unlink TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img - -# ================= qemu-img aes-256-cbc-plain64-sha256-sha1 ================= -# Create image -qemu-img create -f luks --object secret,id=sec0,data=MTIzNDU2,format=base64 -o key-secret=sec0,cipher-alg=aes-256,cipher-mode=cbc,ivgen-alg=plain64,hash-alg=sha1,ivgen-hash-alg=sha256 TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img 4194304M -Formatting 'TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img', fmt=luks size=4398046511104 key-secret=sec0 cipher-alg=aes-256 cipher-mode=cbc ivgen-alg=plain64 ivgen-hash-alg=sha256 hash-alg=sha1 - -# Open dev -sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img qiotest-145-aes-256-cbc-plain64-sha256-sha1 -# Set dev owner -sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 -# Write test pattern 0xa7 -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 -wrote 10485760/10485760 bytes at offset 104857600 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Write test pattern 0x13 -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 -wrote 10485760/10485760 bytes at offset 3298534883328 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Close dev -sudo cryptsetup -q -v luksClose qiotest-145-aes-256-cbc-plain64-sha256-sha1 -# Read test pattern 0xa7 -qemu-io -c read -P 0xa7 100M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts driver=luks,key-secret=sec0,file.filename=TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img -read 10485760/10485760 bytes at offset 104857600 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Read test pattern 0x13 -qemu-io -c read -P 0x13 3145728M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts driver=luks,key-secret=sec0,file.filename=TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img -read 10485760/10485760 bytes at offset 3298534883328 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Write test pattern 0x91 -qemu-io -c write -P 0x91 100M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts driver=luks,key-secret=sec0,file.filename=TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img -wrote 10485760/10485760 bytes at offset 104857600 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Write test pattern 0x5e -qemu-io -c write -P 0x5e 3145728M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts driver=luks,key-secret=sec0,file.filename=TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img -wrote 10485760/10485760 bytes at offset 3298534883328 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Open dev -sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img qiotest-145-aes-256-cbc-plain64-sha256-sha1 -# Set dev owner -sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 -# Read test pattern 0x91 -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 -read 10485760/10485760 bytes at offset 104857600 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Read test pattern 0x5e -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 -read 10485760/10485760 bytes at offset 3298534883328 -10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -# Close dev -sudo cryptsetup -q -v luksClose qiotest-145-aes-256-cbc-plain64-sha256-sha1 -# Delete image -unlink TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img - diff --git a/tests/qemu-iotests/154 b/tests/qemu-iotests/154 deleted file mode 100755 index 7ca7219f0..000000000 --- a/tests/qemu-iotests/154 +++ /dev/null @@ -1,305 +0,0 @@ -#!/bin/bash -# -# qcow2 specific bdrv_pwrite_zeroes tests with backing files (complements 034) -# -# Copyright (C) 2016 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# - -# creator -owner=kwolf@redhat.com - -seq=`basename $0` -echo "QA output created by $seq" - -here=`pwd` -status=1 # failure is the default! - -_cleanup() -{ - _cleanup_test_img -} -trap "_cleanup; exit \$status" 0 1 2 3 15 - -# get standard environment, filters and checks -. ./common.rc -. ./common.filter - -_supported_fmt qcow2 -_supported_proto file -_supported_os Linux - -CLUSTER_SIZE=4k -size=128M - -echo -echo == backing file contains zeros == - -CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size -_make_test_img -b "$TEST_IMG.base" - -# Make sure that the whole cluster is allocated even for partial write_zeroes -# when the backing file contains zeros - -# X = non-zero data sector in backing file -# - = sector unallocated in whole backing chain -# 0 = sector touched by write_zeroes request - -# 1. Tail unaligned: 00 00 -- -- -# 2. Head unaligned: -- -- 00 00 -# 3. Both unaligned: -- 00 00 -- -# 4. Both, 2 clusters: -- -- -- 00 | 00 -- -- -- - -$QEMU_IO -c "write -z 0 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "write -z 10k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "write -z 17k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "write -z 27k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map - -echo -echo == backing file contains non-zero data before write_zeroes == - -CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size -_make_test_img -b "$TEST_IMG.base" - -# Single cluster; non-zero data at the cluster start -# ... | XX -- 00 -- | ... -$QEMU_IO -c "write -P 0x11 32k 1k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 34k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0x11 32k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 33k 3k" "$TEST_IMG" | _filter_qemu_io - -# Single cluster; non-zero data exists, but not at the cluster start -# ... | -- XX 00 -- | ... -$QEMU_IO -c "write -P 0x11 65k 1k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 66k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0x11 65k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 64k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 66k 2k" "$TEST_IMG" | _filter_qemu_io - -$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map - -echo -echo == backing file contains non-zero data after write_zeroes == - -CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size -_make_test_img -b "$TEST_IMG.base" - -# Single cluster; non-zero data directly after request -# ... | -- 00 XX -- | ... -$QEMU_IO -c "write -P 0x11 34k 1k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 33k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 32k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0x11 34k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 35k 1k" "$TEST_IMG" | _filter_qemu_io - -# Single cluster; non-zero data exists, but not directly after request -# ... | -- 00 -- XX | ... -$QEMU_IO -c "write -P 0x11 43k 1k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 41k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0x11 43k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 40k 3k" "$TEST_IMG" | _filter_qemu_io - -$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map - -echo -echo == write_zeroes covers non-zero data == - -CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size -_make_test_img -b "$TEST_IMG.base" - -# non-zero data at front of request -# Backing file: -- XX -- -- -# Active layer: -- 00 00 -- - -$QEMU_IO -c "write -P 0x11 5k 1k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 5k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 4k 4k" "$TEST_IMG" | _filter_qemu_io - -# non-zero data at end of request -# Backing file: -- -- XX -- -# Active layer: -- 00 00 -- - -$QEMU_IO -c "write -P 0x11 14k 1k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 13k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 12k 4k" "$TEST_IMG" | _filter_qemu_io - -# non-zero data matches size of request -# Backing file: -- XX XX -- -# Active layer: -- 00 00 -- - -$QEMU_IO -c "write -P 0x11 21k 2k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 21k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 20k 4k" "$TEST_IMG" | _filter_qemu_io - -# non-zero data smaller than request -# Backing file: -- -X X- -- -# Active layer: -- 00 00 -- - -$QEMU_IO -c "write -P 0x11 30208 1k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 29k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 28k 4k" "$TEST_IMG" | _filter_qemu_io - -$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map - -echo -echo == spanning two clusters, non-zero before request == - -CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size -_make_test_img -b "$TEST_IMG.base" - -# Two clusters; non-zero data before request: -# 1. At cluster start: 32k: XX -- -- 00 | 00 -- -- -- -# 2. Between unallocated space: 48k: -- XX -- 00 | 00 -- -- -- -# 3. Directly before request: 64k: -- -- XX 00 | 00 -- -- -- - -$QEMU_IO -c "write -P 0x11 32k 1k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 35k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0x11 32k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 33k 7k" "$TEST_IMG" | _filter_qemu_io - -$QEMU_IO -c "write -P 0x11 49k 1k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 51k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 48k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0x11 49k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 50k 6k" "$TEST_IMG" | _filter_qemu_io - -$QEMU_IO -c "write -P 0x11 66k 1k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 67k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 64k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0x11 66k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 67k 5k" "$TEST_IMG" | _filter_qemu_io - -$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map - -echo -echo == spanning two clusters, non-zero after request == - -CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size -_make_test_img -b "$TEST_IMG.base" - -# Two clusters; non-zero data after request: -# 1. Directly after request: 32k: -- -- -- 00 | 00 XX -- -- -# 2. Between unallocated space: 48k: -- -- -- 00 | 00 -- XX -- -# 3. At cluster end: 64k: -- -- -- 00 | 00 -- -- XX - -$QEMU_IO -c "write -P 0x11 37k 1k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 35k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 32k 5k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0x11 37k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 38k 2k" "$TEST_IMG" | _filter_qemu_io - -$QEMU_IO -c "write -P 0x11 54k 1k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 51k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 48k 6k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0x11 54k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 55k 1k" "$TEST_IMG" | _filter_qemu_io - -$QEMU_IO -c "write -P 0x11 71k 1k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 67k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 64k 7k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0x11 71k 1k" "$TEST_IMG" | _filter_qemu_io - -$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map - -echo -echo == spanning two clusters, partially overwriting backing file == - -CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size -_make_test_img -b "$TEST_IMG.base" - -# Backing file: -- -- XX XX | XX XX -- -- -# Active layer: -- -- XX 00 | 00 XX -- -- - -$QEMU_IO -c "write -P 0x11 2k 4k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 3k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 0k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0x11 2k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 3k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0x11 5k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 6k 2k" "$TEST_IMG" | _filter_qemu_io - -$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map - -echo -echo == spanning multiple clusters, non-zero in first cluster == - -CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size -_make_test_img -b "$TEST_IMG.base" - -# Backing file: 64k: XX XX -- -- | -- -- -- -- | -- -- -- -- -# Active layer: 64k: XX XX 00 00 | 00 00 00 00 | 00 -- -- -- - -$QEMU_IO -c "write -P 0x11 64k 2k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 66k 7k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0x11 64k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 66k 10k" "$TEST_IMG" | _filter_qemu_io - -$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map - -echo -echo == spanning multiple clusters, non-zero in intermediate cluster == - -CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size -_make_test_img -b "$TEST_IMG.base" - -# Backing file: 64k: -- -- -- -- | -- XX XX -- | -- -- -- -- -# Active layer: 64k: -- -- 00 00 | 00 00 00 00 | 00 -- -- -- - -$QEMU_IO -c "write -P 0x11 69k 2k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 66k 7k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 64k 12k" "$TEST_IMG" | _filter_qemu_io - -$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map - -echo -echo == spanning multiple clusters, non-zero in final cluster == - -CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size -_make_test_img -b "$TEST_IMG.base" - -# Backing file: 64k: -- -- -- -- | -- -- -- -- | -- -- XX XX -# Active layer: 64k: -- -- 00 00 | 00 00 00 00 | 00 -- XX XX - -$QEMU_IO -c "write -P 0x11 74k 2k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 66k 7k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 64k 10k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0x11 74k 2k" "$TEST_IMG" | _filter_qemu_io - -$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map - -echo -echo == spanning multiple clusters, partially overwriting backing file == - -CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size -_make_test_img -b "$TEST_IMG.base" - -# Backing file: 64k: -- XX XX XX | XX XX XX XX | XX XX XX -- -# Active layer: 64k: -- XX 00 00 | 00 00 00 00 | 00 XX XX -- - -$QEMU_IO -c "write -P 0x11 65k 10k" "$TEST_IMG.base" | _filter_qemu_io -$QEMU_IO -c "write -z 66k 7k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 64k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0x11 65k 1k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 66k 7k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0x11 73k 2k" "$TEST_IMG" | _filter_qemu_io -$QEMU_IO -c "read -P 0 75k 1k" "$TEST_IMG" | _filter_qemu_io - -$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map - -# success, all done -echo "*** done" -rm -f $seq.full -status=0 diff --git a/tests/qemu-iotests/154.out b/tests/qemu-iotests/154.out deleted file mode 100644 index da9eabdda..000000000 --- a/tests/qemu-iotests/154.out +++ /dev/null @@ -1,285 +0,0 @@ -QA output created by 154 - -== backing file contains zeros == -Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728 -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base -wrote 2048/2048 bytes at offset 0 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 2048/2048 bytes at offset 10240 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 2048/2048 bytes at offset 17408 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 2048/2048 bytes at offset 27648 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -[{ "start": 0, "length": 4096, "depth": 0, "zero": true, "data": false}, -{ "start": 4096, "length": 4096, "depth": 1, "zero": true, "data": false}, -{ "start": 8192, "length": 4096, "depth": 0, "zero": true, "data": false}, -{ "start": 12288, "length": 4096, "depth": 1, "zero": true, "data": false}, -{ "start": 16384, "length": 4096, "depth": 0, "zero": true, "data": false}, -{ "start": 20480, "length": 4096, "depth": 1, "zero": true, "data": false}, -{ "start": 24576, "length": 8192, "depth": 0, "zero": true, "data": false}, -{ "start": 32768, "length": 134184960, "depth": 1, "zero": true, "data": false}] - -== backing file contains non-zero data before write_zeroes == -Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728 -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base -wrote 1024/1024 bytes at offset 32768 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 1024/1024 bytes at offset 34816 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 32768 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 3072/3072 bytes at offset 33792 -3 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 1024/1024 bytes at offset 66560 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 1024/1024 bytes at offset 67584 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 66560 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 65536 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 2048/2048 bytes at offset 67584 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -[{ "start": 0, "length": 32768, "depth": 1, "zero": true, "data": false}, -{ "start": 32768, "length": 4096, "depth": 0, "zero": false, "data": true, "offset": 20480}, -{ "start": 36864, "length": 28672, "depth": 1, "zero": true, "data": false}, -{ "start": 65536, "length": 4096, "depth": 0, "zero": false, "data": true, "offset": 24576}, -{ "start": 69632, "length": 134148096, "depth": 1, "zero": true, "data": false}] - -== backing file contains non-zero data after write_zeroes == -Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728 -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base -wrote 1024/1024 bytes at offset 34816 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 1024/1024 bytes at offset 33792 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 2048/2048 bytes at offset 32768 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 34816 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 35840 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 1024/1024 bytes at offset 44032 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 1024/1024 bytes at offset 41984 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 44032 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 3072/3072 bytes at offset 40960 -3 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -[{ "start": 0, "length": 32768, "depth": 1, "zero": true, "data": false}, -{ "start": 32768, "length": 4096, "depth": 0, "zero": false, "data": true, "offset": 20480}, -{ "start": 36864, "length": 4096, "depth": 1, "zero": true, "data": false}, -{ "start": 40960, "length": 4096, "depth": 0, "zero": false, "data": true, "offset": 24576}, -{ "start": 45056, "length": 134172672, "depth": 1, "zero": true, "data": false}] - -== write_zeroes covers non-zero data == -Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728 -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base -wrote 1024/1024 bytes at offset 5120 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 2048/2048 bytes at offset 5120 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 4096/4096 bytes at offset 4096 -4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 1024/1024 bytes at offset 14336 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 2048/2048 bytes at offset 13312 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 4096/4096 bytes at offset 12288 -4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 2048/2048 bytes at offset 21504 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 2048/2048 bytes at offset 21504 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 4096/4096 bytes at offset 20480 -4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 1024/1024 bytes at offset 30208 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 2048/2048 bytes at offset 29696 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 4096/4096 bytes at offset 28672 -4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -[{ "start": 0, "length": 4096, "depth": 1, "zero": true, "data": false}, -{ "start": 4096, "length": 4096, "depth": 0, "zero": true, "data": false}, -{ "start": 8192, "length": 4096, "depth": 1, "zero": true, "data": false}, -{ "start": 12288, "length": 4096, "depth": 0, "zero": true, "data": false}, -{ "start": 16384, "length": 4096, "depth": 1, "zero": true, "data": false}, -{ "start": 20480, "length": 4096, "depth": 0, "zero": true, "data": false}, -{ "start": 24576, "length": 4096, "depth": 1, "zero": true, "data": false}, -{ "start": 28672, "length": 4096, "depth": 0, "zero": true, "data": false}, -{ "start": 32768, "length": 134184960, "depth": 1, "zero": true, "data": false}] - -== spanning two clusters, non-zero before request == -Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728 -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base -wrote 1024/1024 bytes at offset 32768 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 2048/2048 bytes at offset 35840 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 32768 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 7168/7168 bytes at offset 33792 -7 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 1024/1024 bytes at offset 50176 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 2048/2048 bytes at offset 52224 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 49152 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 50176 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 6144/6144 bytes at offset 51200 -6 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 1024/1024 bytes at offset 67584 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 2048/2048 bytes at offset 68608 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 2048/2048 bytes at offset 65536 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 67584 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 5120/5120 bytes at offset 68608 -5 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -[{ "start": 0, "length": 32768, "depth": 1, "zero": true, "data": false}, -{ "start": 32768, "length": 4096, "depth": 0, "zero": false, "data": true, "offset": 20480}, -{ "start": 36864, "length": 4096, "depth": 0, "zero": true, "data": false}, -{ "start": 40960, "length": 8192, "depth": 1, "zero": true, "data": false}, -{ "start": 49152, "length": 4096, "depth": 0, "zero": false, "data": true, "offset": 24576}, -{ "start": 53248, "length": 4096, "depth": 0, "zero": true, "data": false}, -{ "start": 57344, "length": 8192, "depth": 1, "zero": true, "data": false}, -{ "start": 65536, "length": 4096, "depth": 0, "zero": false, "data": true, "offset": 28672}, -{ "start": 69632, "length": 4096, "depth": 0, "zero": true, "data": false}, -{ "start": 73728, "length": 134144000, "depth": 1, "zero": true, "data": false}] - -== spanning two clusters, non-zero after request == -Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728 -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base -wrote 1024/1024 bytes at offset 37888 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 2048/2048 bytes at offset 35840 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 5120/5120 bytes at offset 32768 -5 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 37888 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 2048/2048 bytes at offset 38912 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 1024/1024 bytes at offset 55296 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 2048/2048 bytes at offset 52224 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 6144/6144 bytes at offset 49152 -6 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 55296 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 56320 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 1024/1024 bytes at offset 72704 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 2048/2048 bytes at offset 68608 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 7168/7168 bytes at offset 65536 -7 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 72704 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -[{ "start": 0, "length": 32768, "depth": 1, "zero": true, "data": false}, -{ "start": 32768, "length": 4096, "depth": 0, "zero": true, "data": false}, -{ "start": 36864, "length": 4096, "depth": 0, "zero": false, "data": true, "offset": 20480}, -{ "start": 40960, "length": 8192, "depth": 1, "zero": true, "data": false}, -{ "start": 49152, "length": 4096, "depth": 0, "zero": true, "data": false}, -{ "start": 53248, "length": 4096, "depth": 0, "zero": false, "data": true, "offset": 24576}, -{ "start": 57344, "length": 8192, "depth": 1, "zero": true, "data": false}, -{ "start": 65536, "length": 4096, "depth": 0, "zero": true, "data": false}, -{ "start": 69632, "length": 4096, "depth": 0, "zero": false, "data": true, "offset": 28672}, -{ "start": 73728, "length": 134144000, "depth": 1, "zero": true, "data": false}] - -== spanning two clusters, partially overwriting backing file == -Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728 -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base -wrote 4096/4096 bytes at offset 2048 -4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 2048/2048 bytes at offset 3072 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 2048/2048 bytes at offset 0 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 2048 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 2048/2048 bytes at offset 3072 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 5120 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 2048/2048 bytes at offset 6144 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -[{ "start": 0, "length": 8192, "depth": 0, "zero": false, "data": true, "offset": 20480}, -{ "start": 8192, "length": 134209536, "depth": 1, "zero": true, "data": false}] - -== spanning multiple clusters, non-zero in first cluster == -Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728 -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base -wrote 2048/2048 bytes at offset 65536 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 7168/7168 bytes at offset 67584 -7 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 2048/2048 bytes at offset 65536 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 10240/10240 bytes at offset 67584 -10 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -[{ "start": 0, "length": 65536, "depth": 1, "zero": true, "data": false}, -{ "start": 65536, "length": 4096, "depth": 0, "zero": false, "data": true, "offset": 20480}, -{ "start": 69632, "length": 8192, "depth": 0, "zero": true, "data": false}, -{ "start": 77824, "length": 134139904, "depth": 1, "zero": true, "data": false}] - -== spanning multiple clusters, non-zero in intermediate cluster == -Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728 -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base -wrote 2048/2048 bytes at offset 70656 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 7168/7168 bytes at offset 67584 -7 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 12288/12288 bytes at offset 65536 -12 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -[{ "start": 0, "length": 65536, "depth": 1, "zero": true, "data": false}, -{ "start": 65536, "length": 12288, "depth": 0, "zero": true, "data": false}, -{ "start": 77824, "length": 134139904, "depth": 1, "zero": true, "data": false}] - -== spanning multiple clusters, non-zero in final cluster == -Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728 -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base -wrote 2048/2048 bytes at offset 75776 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 7168/7168 bytes at offset 67584 -7 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 10240/10240 bytes at offset 65536 -10 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 2048/2048 bytes at offset 75776 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -[{ "start": 0, "length": 65536, "depth": 1, "zero": true, "data": false}, -{ "start": 65536, "length": 8192, "depth": 0, "zero": true, "data": false}, -{ "start": 73728, "length": 4096, "depth": 0, "zero": false, "data": true, "offset": 20480}, -{ "start": 77824, "length": 134139904, "depth": 1, "zero": true, "data": false}] - -== spanning multiple clusters, partially overwriting backing file == -Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728 -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base -wrote 10240/10240 bytes at offset 66560 -10 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 7168/7168 bytes at offset 67584 -7 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 65536 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 66560 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 7168/7168 bytes at offset 67584 -7 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 2048/2048 bytes at offset 74752 -2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 1024/1024 bytes at offset 76800 -1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -[{ "start": 0, "length": 65536, "depth": 1, "zero": true, "data": false}, -{ "start": 65536, "length": 4096, "depth": 0, "zero": false, "data": true, "offset": 20480}, -{ "start": 69632, "length": 4096, "depth": 0, "zero": true, "data": false}, -{ "start": 73728, "length": 4096, "depth": 0, "zero": false, "data": true, "offset": 24576}, -{ "start": 77824, "length": 134139904, "depth": 1, "zero": true, "data": false}] -*** done diff --git a/tests/qemu-iotests/155 b/tests/qemu-iotests/155 deleted file mode 100755 index 4057b5e2a..000000000 --- a/tests/qemu-iotests/155 +++ /dev/null @@ -1,261 +0,0 @@ -#!/usr/bin/env python -# -# Test whether the backing BDSs are correct after completion of a -# mirror block job; in "existing" modes (drive-mirror with -# mode=existing and blockdev-mirror) the backing chain should not be -# overridden. -# -# Copyright (C) 2016 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# - -import os -import iotests -from iotests import qemu_img - -back0_img = os.path.join(iotests.test_dir, 'back0.' + iotests.imgfmt) -back1_img = os.path.join(iotests.test_dir, 'back1.' + iotests.imgfmt) -back2_img = os.path.join(iotests.test_dir, 'back2.' + iotests.imgfmt) -source_img = os.path.join(iotests.test_dir, 'source.' + iotests.imgfmt) -target_img = os.path.join(iotests.test_dir, 'target.' + iotests.imgfmt) - - -# Class variables for controlling its behavior: -# -# existing: If True, explicitly create the target image and blockdev-add it -# target_backing: If existing is True: Use this filename as the backing file -# of the target image -# (None: no backing file) -# target_blockdev_backing: If existing is True: Pass this dict as "backing" -# for the blockdev-add command -# (None: do not pass "backing") -# target_real_backing: If existing is True: The real filename of the backing -# image during runtime, only makes sense if -# target_blockdev_backing is not None -# (None: same as target_backing) - -class BaseClass(iotests.QMPTestCase): - target_blockdev_backing = None - target_real_backing = None - - def setUp(self): - qemu_img('create', '-f', iotests.imgfmt, back0_img, '1M') - qemu_img('create', '-f', iotests.imgfmt, '-b', back0_img, back1_img) - qemu_img('create', '-f', iotests.imgfmt, '-b', back1_img, back2_img) - qemu_img('create', '-f', iotests.imgfmt, '-b', back2_img, source_img) - - self.vm = iotests.VM() - self.vm.add_drive(None, '', 'none') - self.vm.launch() - - # Add the BDS via blockdev-add so it stays around after the mirror block - # job has been completed - result = self.vm.qmp('blockdev-add', - options={'node-name': 'source', - 'driver': iotests.imgfmt, - 'file': {'driver': 'file', - 'filename': source_img}}) - self.assert_qmp(result, 'return', {}) - - result = self.vm.qmp('x-blockdev-insert-medium', - device='drive0', node_name='source') - self.assert_qmp(result, 'return', {}) - - self.assertIntactSourceBackingChain() - - if self.existing: - if self.target_backing: - qemu_img('create', '-f', iotests.imgfmt, - '-b', self.target_backing, target_img, '1M') - else: - qemu_img('create', '-f', iotests.imgfmt, target_img, '1M') - - if self.cmd == 'blockdev-mirror': - options = { 'node-name': 'target', - 'driver': iotests.imgfmt, - 'file': { 'driver': 'file', - 'filename': target_img } } - if self.target_blockdev_backing: - options['backing'] = self.target_blockdev_backing - - result = self.vm.qmp('blockdev-add', options=options) - self.assert_qmp(result, 'return', {}) - - def tearDown(self): - self.vm.shutdown() - os.remove(source_img) - os.remove(back2_img) - os.remove(back1_img) - os.remove(back0_img) - try: - os.remove(target_img) - except OSError: - pass - - def findBlockNode(self, node_name, id=None): - if id: - result = self.vm.qmp('query-block') - for device in result['return']: - if device['device'] == id: - if node_name: - self.assert_qmp(device, 'inserted/node-name', node_name) - return device['inserted'] - else: - result = self.vm.qmp('query-named-block-nodes') - for node in result['return']: - if node['node-name'] == node_name: - return node - - self.fail('Cannot find node %s/%s' % (id, node_name)) - - def assertIntactSourceBackingChain(self): - node = self.findBlockNode('source') - - self.assert_qmp(node, 'image' + '/backing-image' * 0 + '/filename', - source_img) - self.assert_qmp(node, 'image' + '/backing-image' * 1 + '/filename', - back2_img) - self.assert_qmp(node, 'image' + '/backing-image' * 2 + '/filename', - back1_img) - self.assert_qmp(node, 'image' + '/backing-image' * 3 + '/filename', - back0_img) - self.assert_qmp_absent(node, 'image' + '/backing-image' * 4) - - def assertCorrectBackingImage(self, node, default_image): - if self.existing: - if self.target_real_backing: - image = self.target_real_backing - else: - image = self.target_backing - else: - image = default_image - - if image: - self.assert_qmp(node, 'image/backing-image/filename', image) - else: - self.assert_qmp_absent(node, 'image/backing-image') - - -# Class variables for controlling its behavior: -# -# cmd: Mirroring command to execute, either drive-mirror or blockdev-mirror - -class MirrorBaseClass(BaseClass): - def runMirror(self, sync): - if self.cmd == 'blockdev-mirror': - result = self.vm.qmp(self.cmd, device='drive0', sync=sync, - target='target') - else: - if self.existing: - mode = 'existing' - else: - mode = 'absolute-paths' - result = self.vm.qmp(self.cmd, device='drive0', sync=sync, - target=target_img, format=iotests.imgfmt, - mode=mode, node_name='target') - - self.assert_qmp(result, 'return', {}) - - self.vm.event_wait('BLOCK_JOB_READY') - - result = self.vm.qmp('block-job-complete', device='drive0') - self.assert_qmp(result, 'return', {}) - - self.vm.event_wait('BLOCK_JOB_COMPLETED') - - def testFull(self): - self.runMirror('full') - - node = self.findBlockNode('target', 'drive0') - self.assertCorrectBackingImage(node, None) - self.assertIntactSourceBackingChain() - - def testTop(self): - self.runMirror('top') - - node = self.findBlockNode('target', 'drive0') - self.assertCorrectBackingImage(node, back2_img) - self.assertIntactSourceBackingChain() - - def testNone(self): - self.runMirror('none') - - node = self.findBlockNode('target', 'drive0') - self.assertCorrectBackingImage(node, source_img) - self.assertIntactSourceBackingChain() - - -class TestDriveMirrorAbsolutePaths(MirrorBaseClass): - cmd = 'drive-mirror' - existing = False - -class TestDriveMirrorExistingNoBacking(MirrorBaseClass): - cmd = 'drive-mirror' - existing = True - target_backing = None - -class TestDriveMirrorExistingBacking(MirrorBaseClass): - cmd = 'drive-mirror' - existing = True - target_backing = 'null-co://' - -class TestBlockdevMirrorNoBacking(MirrorBaseClass): - cmd = 'blockdev-mirror' - existing = True - target_backing = None - -class TestBlockdevMirrorBacking(MirrorBaseClass): - cmd = 'blockdev-mirror' - existing = True - target_backing = 'null-co://' - -class TestBlockdevMirrorForcedBacking(MirrorBaseClass): - cmd = 'blockdev-mirror' - existing = True - target_backing = None - target_blockdev_backing = { 'driver': 'null-co' } - target_real_backing = 'null-co://' - - -class TestCommit(BaseClass): - existing = False - - def testCommit(self): - result = self.vm.qmp('block-commit', device='drive0', base=back1_img) - self.assert_qmp(result, 'return', {}) - - self.vm.event_wait('BLOCK_JOB_READY') - - result = self.vm.qmp('block-job-complete', device='drive0') - self.assert_qmp(result, 'return', {}) - - self.vm.event_wait('BLOCK_JOB_COMPLETED') - - node = self.findBlockNode(None, 'drive0') - self.assert_qmp(node, 'image' + '/backing-image' * 0 + '/filename', - back1_img) - self.assert_qmp(node, 'image' + '/backing-image' * 1 + '/filename', - back0_img) - self.assert_qmp_absent(node, 'image' + '/backing-image' * 2 + - '/filename') - - self.assertIntactSourceBackingChain() - - -BaseClass = None -MirrorBaseClass = None - -if __name__ == '__main__': - iotests.main(supported_fmts=['qcow2']) diff --git a/tests/qemu-iotests/155.out b/tests/qemu-iotests/155.out deleted file mode 100644 index 4176bb940..000000000 --- a/tests/qemu-iotests/155.out +++ /dev/null @@ -1,5 +0,0 @@ -................... ----------------------------------------------------------------------- -Ran 19 tests - -OK diff --git a/tests/qemu-iotests/156 b/tests/qemu-iotests/156 deleted file mode 100755 index cc95ff1f9..000000000 --- a/tests/qemu-iotests/156 +++ /dev/null @@ -1,174 +0,0 @@ -#!/bin/bash -# -# Tests oVirt-like storage migration: -# - Create snapshot -# - Create target image with (not yet existing) target backing chain -# (i.e. just write the name of a soon-to-be-copied-over backing file into it) -# - drive-mirror the snapshot to the target with mode=existing and sync=top -# - In the meantime, copy the original source files to the destination via -# conventional means (i.e. outside of qemu) -# - Complete the drive-mirror job -# - Delete all source images -# -# Copyright (C) 2016 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# - -# creator -owner=mreitz@redhat.com - -seq="$(basename $0)" -echo "QA output created by $seq" - -here="$PWD" -status=1 # failure is the default! - -_cleanup() -{ - rm -f "$TEST_IMG{,.target}{,.backing,.overlay}" -} -trap "_cleanup; exit \$status" 0 1 2 3 15 - -# get standard environment, filters and checks -. ./common.rc -. ./common.filter -. ./common.qemu - -_supported_fmt qcow2 qed -_supported_proto generic -_supported_os Linux - -# Create source disk -TEST_IMG="$TEST_IMG.backing" _make_test_img 1M -_make_test_img -b "$TEST_IMG.backing" 1M - -$QEMU_IO -c 'write -P 1 0 256k' "$TEST_IMG.backing" | _filter_qemu_io -$QEMU_IO -c 'write -P 2 64k 192k' "$TEST_IMG" | _filter_qemu_io - -_launch_qemu -drive if=none,id=source,file="$TEST_IMG" - -_send_qemu_cmd $QEMU_HANDLE \ - "{ 'execute': 'qmp_capabilities' }" \ - 'return' - -# Create snapshot -TEST_IMG="$TEST_IMG.overlay" _make_test_img -b "$TEST_IMG" 1M -_send_qemu_cmd $QEMU_HANDLE \ - "{ 'execute': 'blockdev-snapshot-sync', - 'arguments': { 'device': 'source', - 'snapshot-file': '$TEST_IMG.overlay', - 'format': '$IMGFMT', - 'mode': 'existing' } }" \ - 'return' - -# Write something to the snapshot -_send_qemu_cmd $QEMU_HANDLE \ - "{ 'execute': 'human-monitor-command', - 'arguments': { 'command-line': - 'qemu-io source \"write -P 3 128k 128k\"' } }" \ - 'return' - -# Create target image -TEST_IMG="$TEST_IMG.target.overlay" _make_test_img -b "$TEST_IMG.target" 1M - -# Mirror snapshot -_send_qemu_cmd $QEMU_HANDLE \ - "{ 'execute': 'drive-mirror', - 'arguments': { 'device': 'source', - 'target': '$TEST_IMG.target.overlay', - 'mode': 'existing', - 'sync': 'top' } }" \ - 'return' - -# Wait for convergence -_send_qemu_cmd $QEMU_HANDLE \ - '' \ - 'BLOCK_JOB_READY' - -# Write some more -_send_qemu_cmd $QEMU_HANDLE \ - "{ 'execute': 'human-monitor-command', - 'arguments': { 'command-line': - 'qemu-io source \"write -P 4 192k 64k\"' } }" \ - 'return' - -# Copy source backing chain to the target before completing the job -cp "$TEST_IMG.backing" "$TEST_IMG.target.backing" -cp "$TEST_IMG" "$TEST_IMG.target" -$QEMU_IMG rebase -u -b "$TEST_IMG.target.backing" "$TEST_IMG.target" - -# Complete block job -_send_qemu_cmd $QEMU_HANDLE \ - "{ 'execute': 'block-job-complete', - 'arguments': { 'device': 'source' } }" \ - '' - -_send_qemu_cmd $QEMU_HANDLE \ - '' \ - 'BLOCK_JOB_COMPLETED' - -# Remove the source images -rm -f "$TEST_IMG{,.backing,.overlay}" - -echo - -# Check online disk contents -_send_qemu_cmd $QEMU_HANDLE \ - "{ 'execute': 'human-monitor-command', - 'arguments': { 'command-line': - 'qemu-io source \"read -P 1 0k 64k\"' } }" \ - 'return' - -_send_qemu_cmd $QEMU_HANDLE \ - "{ 'execute': 'human-monitor-command', - 'arguments': { 'command-line': - 'qemu-io source \"read -P 2 64k 64k\"' } }" \ - 'return' - -_send_qemu_cmd $QEMU_HANDLE \ - "{ 'execute': 'human-monitor-command', - 'arguments': { 'command-line': - 'qemu-io source \"read -P 3 128k 64k\"' } }" \ - 'return' - -_send_qemu_cmd $QEMU_HANDLE \ - "{ 'execute': 'human-monitor-command', - 'arguments': { 'command-line': - 'qemu-io source \"read -P 4 192k 64k\"' } }" \ - 'return' - -echo - -_send_qemu_cmd $QEMU_HANDLE \ - "{ 'execute': 'quit' }" \ - 'return' - -wait=1 _cleanup_qemu - -echo - -# Check offline disk contents -$QEMU_IO -c 'read -P 1 0k 64k' \ - -c 'read -P 2 64k 64k' \ - -c 'read -P 3 128k 64k' \ - -c 'read -P 4 192k 64k' \ - "$TEST_IMG.target.overlay" | _filter_qemu_io - -echo - -# success, all done -echo '*** done' -rm -f $seq.full -status=0 diff --git a/tests/qemu-iotests/156.out b/tests/qemu-iotests/156.out deleted file mode 100644 index 3af82ae54..000000000 --- a/tests/qemu-iotests/156.out +++ /dev/null @@ -1,48 +0,0 @@ -QA output created by 156 -Formatting 'TEST_DIR/t.IMGFMT.backing', fmt=IMGFMT size=1048576 -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.backing -wrote 262144/262144 bytes at offset 0 -256 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -wrote 196608/196608 bytes at offset 65536 -192 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -{"return": {}} -Formatting 'TEST_DIR/t.IMGFMT.overlay', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT -{"return": {}} -wrote 131072/131072 bytes at offset 131072 -128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -{"return": ""} -Formatting 'TEST_DIR/t.IMGFMT.target.overlay', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.target -{"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "source", "len": 131072, "offset": 131072, "speed": 0, "type": "mirror"}} -wrote 65536/65536 bytes at offset 196608 -64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -{"return": ""} -{"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "source", "len": 196608, "offset": 196608, "speed": 0, "type": "mirror"}} - -read 65536/65536 bytes at offset 0 -64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -{"return": ""} -read 65536/65536 bytes at offset 65536 -64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -{"return": ""} -read 65536/65536 bytes at offset 131072 -64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -{"return": ""} -read 65536/65536 bytes at offset 196608 -64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -{"return": ""} - -{"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN"} - -read 65536/65536 bytes at offset 0 -64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 65536/65536 bytes at offset 65536 -64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 65536/65536 bytes at offset 131072 -64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -read 65536/65536 bytes at offset 196608 -64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - -*** done diff --git a/tests/qemu-iotests/157 b/tests/qemu-iotests/157 deleted file mode 100755 index 8d939cb74..000000000 --- a/tests/qemu-iotests/157 +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/bash -# -# Test command line configuration of block devices with qdev -# -# Copyright (C) 2016 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# - -# creator -owner=kwolf@redhat.com - -seq="$(basename $0)" -echo "QA output created by $seq" - -here="$PWD" -status=1 # failure is the default! - -_cleanup() -{ - _cleanup_test_img -} -trap "_cleanup; exit \$status" 0 1 2 3 15 - -# get standard environment, filters and checks -. ./common.rc -. ./common.filter - -_supported_fmt generic -_supported_proto file -_supported_os Linux - -function do_run_qemu() -{ - echo Testing: "$@" - ( - if ! test -t 0; then - while read cmd; do - echo $cmd - done - fi - echo quit - ) | $QEMU -nodefaults -nographic -monitor stdio -serial none "$@" - echo -} - -function run_qemu() -{ - do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_imgfmt \ - | _filter_qemu | _filter_generated_node_ids -} - - -size=128M -drive="if=none,file=$TEST_IMG,driver=$IMGFMT" - -_make_test_img $size - -echo -echo "=== Setting WCE with qdev and with manually created BB ===" -echo - -# The qdev option takes precedence, but if it isn't given or 'auto', the BB -# option is used instead. - -for cache in "writeback" "writethrough"; do - for wce in "" ",write-cache=auto" ",write-cache=on" ",write-cache=off"; do - echo "info block" \ - | run_qemu -drive "$drive,cache=$cache" \ - -device "virtio-blk,drive=none0$wce" \ - | grep -e "Testing" -e "Cache mode" - done -done - -# success, all done -echo "*** done" -rm -f $seq.full -status=0 diff --git a/tests/qemu-iotests/157.out b/tests/qemu-iotests/157.out deleted file mode 100644 index 77a9c03d2..000000000 --- a/tests/qemu-iotests/157.out +++ /dev/null @@ -1,22 +0,0 @@ -QA output created by 157 -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 - -=== Setting WCE with qdev and with manually created BB === - -Testing: -drive if=none,file=TEST_DIR/t.IMGFMT,driver=IMGFMT,cache=writeback -device virtio-blk,drive=none0 - Cache mode: writeback -Testing: -drive if=none,file=TEST_DIR/t.IMGFMT,driver=IMGFMT,cache=writeback -device virtio-blk,drive=none0,write-cache=auto - Cache mode: writeback -Testing: -drive if=none,file=TEST_DIR/t.IMGFMT,driver=IMGFMT,cache=writeback -device virtio-blk,drive=none0,write-cache=on - Cache mode: writeback -Testing: -drive if=none,file=TEST_DIR/t.IMGFMT,driver=IMGFMT,cache=writeback -device virtio-blk,drive=none0,write-cache=off - Cache mode: writethrough -Testing: -drive if=none,file=TEST_DIR/t.IMGFMT,driver=IMGFMT,cache=writethrough -device virtio-blk,drive=none0 - Cache mode: writethrough -Testing: -drive if=none,file=TEST_DIR/t.IMGFMT,driver=IMGFMT,cache=writethrough -device virtio-blk,drive=none0,write-cache=auto - Cache mode: writethrough -Testing: -drive if=none,file=TEST_DIR/t.IMGFMT,driver=IMGFMT,cache=writethrough -device virtio-blk,drive=none0,write-cache=on - Cache mode: writeback -Testing: -drive if=none,file=TEST_DIR/t.IMGFMT,driver=IMGFMT,cache=writethrough -device virtio-blk,drive=none0,write-cache=off - Cache mode: writethrough -*** done diff --git a/tests/qemu-iotests/162 b/tests/qemu-iotests/162 deleted file mode 100755 index 0b43ea339..000000000 --- a/tests/qemu-iotests/162 +++ /dev/null @@ -1,96 +0,0 @@ -#!/bin/bash -# -# Test case for specifying runtime options of the wrong type to some -# block drivers -# -# Copyright (C) 2016 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# - -# creator -owner=mreitz@redhat.com - -seq="$(basename $0)" -echo "QA output created by $seq" - -here="$PWD" -status=1 # failure is the default! - -# get standard environment, filters and checks -. ./common.rc -. ./common.filter - -_supported_fmt generic -_supported_os Linux - -echo -echo '=== NBD ===' -# NBD expects all of its arguments to be strings - -# So this should not crash -$QEMU_IMG info 'json:{"driver": "nbd", "host": 42}' - -# And this should not treat @port as if it had not been specified -# (We cannot use localhost with an invalid port here, but we need to use a -# non-existing domain, because otherwise the error message will not contain -# the port) -$QEMU_IMG info 'json:{"driver": "nbd", "host": "does.not.exist.example.com", "port": 42}' - -# This is a test for NBD's bdrv_refresh_filename() implementation: It expects -# either host or path to be set, but it must not assume that they are set to -# strings in the options QDict -$QEMU_NBD -k "$PWD/42" -f raw null-co:// & -sleep 0.5 -$QEMU_IMG info 'json:{"driver": "nbd", "path": 42}' | grep '^image' -rm -f 42 - - -echo -echo '=== SSH ===' -# SSH expects all of its arguments to be strings, except for @port, which is -# expected to be an integer - -# So "0" should be converted to an integer here (instead of crashing) -$QEMU_IMG info 'json:{"driver": "ssh", "host": "localhost", "port": "0", "path": "/foo"}' -# The same, basically (all values for --image-opts are seen as strings in qemu) -$QEMU_IMG info --image-opts \ - driver=ssh,host=localhost,port=0,path=/foo - -# This, however, should fail because of the wrong type -$QEMU_IMG info 'json:{"driver": "ssh", "host": "localhost", "port": 0.42, "path": "/foo"}' -# Not really the same: Here, "0.42" will be passed instead of 0.42, but still, -# qemu should not try to convert "0.42" to an integer -$QEMU_IMG info --image-opts \ - driver=ssh,host=localhost,port=0.42,path=/foo - - -echo -echo '=== blkdebug ===' -# blkdebug expects all of its arguments to be strings, but its -# bdrv_refresh_filename() implementation should not assume that they have been -# passed as strings in the original options QDict. -# So this should emit blkdebug:42:null-co:// as the filename: -touch 42 -$QEMU_IMG info 'json:{"driver": "blkdebug", "config": 42, - "image.driver": "null-co"}' \ - | grep '^image' -rm -f 42 - - -# success, all done -echo -echo '*** done' -rm -f $seq.full -status=0 diff --git a/tests/qemu-iotests/162.out b/tests/qemu-iotests/162.out deleted file mode 100644 index 9bba72353..000000000 --- a/tests/qemu-iotests/162.out +++ /dev/null @@ -1,17 +0,0 @@ -QA output created by 162 - -=== NBD === -qemu-img: Could not open 'json:{"driver": "nbd", "host": 42}': Failed to connect socket: Invalid argument -qemu-img: Could not open 'json:{"driver": "nbd", "host": "does.not.exist.example.com", "port": 42}': address resolution failed for does.not.exist.example.com:42: Name or service not known -image: nbd+unix://?socket=42 - -=== SSH === -qemu-img: Could not open 'json:{"driver": "ssh", "host": "localhost", "port": "0", "path": "/foo"}': Failed to connect socket: Connection refused -qemu-img: Could not open 'driver=ssh,host=localhost,port=0,path=/foo': Failed to connect socket: Connection refused -qemu-img: Could not open 'json:{"driver": "ssh", "host": "localhost", "port": 0.42, "path": "/foo"}': Parameter 'port' expects a number -qemu-img: Could not open 'driver=ssh,host=localhost,port=0.42,path=/foo': Parameter 'port' expects a number - -=== blkdebug === -image: blkdebug:42:null-co:// - -*** done diff --git a/tests/qemu-iotests/README b/tests/qemu-iotests/README index 6079b401a..4ccfdd1cc 100644 --- a/tests/qemu-iotests/README +++ b/tests/qemu-iotests/README @@ -17,5 +17,4 @@ additional options to test further image formats or I/O methods. * Feedback and patches Please send improvements to the test suite, general feedback or just -reports of failing tests cases to qemu-devel@nongnu.org with a CC: -to qemu-block@nongnu.org. +reports of failing tests cases to qemu-devel@savannah.nongnu.org. diff --git a/tests/qemu-iotests/common b/tests/qemu-iotests/common index d60ea2ce3..49e193112 100644 --- a/tests/qemu-iotests/common +++ b/tests/qemu-iotests/common @@ -53,8 +53,6 @@ export QEMU_IO_OPTIONS="" export CACHEMODE_IS_DEFAULT=true export QEMU_OPTIONS="-nodefaults" export VALGRIND_QEMU= -export IMGKEYSECRET= -export IMGOPTSSYNTAX=false for r do @@ -209,13 +207,6 @@ testlist options xpand=false ;; - -luks) - IMGOPTSSYNTAX=true - IMGFMT=luks - IMGKEYSECRET=123456 - xpand=false - ;; - -qed) IMGFMT=qed xpand=false @@ -408,11 +399,7 @@ BEGIN { for (t='$start'; t<='$end'; t++) printf "%03d\n",t }' \ done # Set qemu-io cache mode with $CACHEMODE we have -if [ "$IMGOPTSSYNTAX" = "true" ]; then - QEMU_IO_OPTIONS="$QEMU_IO_OPTIONS --cache $CACHEMODE" -else - QEMU_IO_OPTIONS="$QEMU_IO_OPTIONS -f $IMGFMT --cache $CACHEMODE" -fi +QEMU_IO_OPTIONS="$QEMU_IO_OPTIONS -f $IMGFMT --cache $CACHEMODE" # Set default options for qemu-img create -o if they were not specified _set_default_imgopts diff --git a/tests/qemu-iotests/common.config b/tests/qemu-iotests/common.config index f6384fbae..f824651ba 100644 --- a/tests/qemu-iotests/common.config +++ b/tests/qemu-iotests/common.config @@ -123,19 +123,12 @@ _qemu_img_wrapper() _qemu_io_wrapper() { local VALGRIND_LOGFILE="${TEST_DIR}"/$$.valgrind - local QEMU_IO_ARGS="$QEMU_IO_OPTIONS" - if [ "$IMGOPTSSYNTAX" = "true" ]; then - QEMU_IO_ARGS="--image-opts $QEMU_IO_ARGS" - if [ -n "$IMGKEYSECRET" ]; then - QEMU_IO_ARGS="--object secret,id=keysec0,data=$IMGKEYSECRET $QEMU_IO_ARGS" - fi - fi local RETVAL ( if [ "${VALGRIND_QEMU}" == "y" ]; then - exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" + exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@" else - exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" + exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@" fi ) RETVAL=$? @@ -161,16 +154,6 @@ export QEMU_IMG=_qemu_img_wrapper export QEMU_IO=_qemu_io_wrapper export QEMU_NBD=_qemu_nbd_wrapper -QEMU_IMG_EXTRA_ARGS= -if [ "$IMGOPTSSYNTAX" = "true" ]; then - QEMU_IMG_EXTRA_ARGS="--image-opts $QEMU_IMG_EXTRA_ARGS" - if [ -n "$IMGKEYSECRET" ]; then - QEMU_IMG_EXTRA_ARGS="--object secret,id=keysec0,data=$IMGKEYSECRET $QEMU_IMG_EXTRA_ARGS" - fi -fi -export QEMU_IMG_EXTRA_ARGS - - default_machine=$($QEMU -machine help | sed -n '/(default)/ s/ .*//p') default_alias_machine=$($QEMU -machine help | \ sed -n "/(alias of $default_machine)/ { s/ .*//p; q; }") diff --git a/tests/qemu-iotests/common.filter b/tests/qemu-iotests/common.filter index 3ab6e4d76..8a6e1b57c 100644 --- a/tests/qemu-iotests/common.filter +++ b/tests/qemu-iotests/common.filter @@ -77,12 +77,6 @@ _filter_qmp() -e ' QMP_VERSION' } -# replace block job offset -_filter_block_job_offset() -{ - sed -e 's/, "offset": [0-9]\+,/, "offset": OFFSET,/' -} - # replace driver-specific options in the "Formatting..." line _filter_img_create() { @@ -98,14 +92,12 @@ _filter_img_create() -e "s# zeroed_grain=\\(on\\|off\\)##g" \ -e "s# subformat='[^']*'##g" \ -e "s# adapter_type='[^']*'##g" \ - -e "s# hwversion=[^ ]*##g" \ -e "s# lazy_refcounts=\\(on\\|off\\)##g" \ -e "s# block_size=[0-9]\\+##g" \ -e "s# block_state_zero=\\(on\\|off\\)##g" \ -e "s# log_size=[0-9]\\+##g" \ -e "s/archipelago:a/TEST_DIR\//g" \ - -e "s# refcount_bits=[0-9]\\+##g" \ - -e "s# key-secret=[a-zA-Z0-9]\\+##g" + -e "s# refcount_bits=[0-9]\\+##g" } _filter_img_info() @@ -123,7 +115,6 @@ _filter_img_info() -e "/zeroed_grain: \\(on\\|off\\)/d" \ -e "/subformat: '[^']*'/d" \ -e "/adapter_type: '[^']*'/d" \ - -e "/hwversion: '[^']*'/d" \ -e "/lazy_refcounts: \\(on\\|off\\)/d" \ -e "/block_size: [0-9]\\+/d" \ -e "/block_state_zero: \\(on\\|off\\)/d" \ diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc index 306b00c21..5249ec592 100644 --- a/tests/qemu-iotests/common.rc +++ b/tests/qemu-iotests/common.rc @@ -53,45 +53,21 @@ fi # make sure we have a standard umask umask 022 -if [ "$IMGOPTSSYNTAX" = "true" ]; then - DRIVER="driver=$IMGFMT" - if [ "$IMGFMT" = "luks" ]; then - DRIVER="$DRIVER,key-secret=keysec0" - fi - if [ "$IMGPROTO" = "file" ]; then - TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT - TEST_IMG="$DRIVER,file.filename=$TEST_DIR/t.$IMGFMT" - elif [ "$IMGPROTO" = "nbd" ]; then - TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT - TEST_IMG="$DRIVER,file.driver=nbd,file.host=127.0.0.1,file.port=10810" - elif [ "$IMGPROTO" = "ssh" ]; then - TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT - TEST_IMG="$DRIVER,file.driver=ssh,file.host=127.0.0.1,file.path=$TEST_IMG_FILE" - elif [ "$IMGPROTO" = "nfs" ]; then - TEST_DIR="$DRIVER,file.driver=nfs,file.filename=nfs://127.0.0.1/$TEST_DIR" - TEST_IMG=$TEST_DIR_OPTS/t.$IMGFMT - elif [ "$IMGPROTO" = "archipelago" ]; then - TEST_IMG="$DRIVER,file.driver=archipelago,file.volume=:at.$IMGFMT" - else - TEST_IMG="$DRIVER,file.driver=$IMGPROTO,file.filename=$TEST_DIR/t.$IMGFMT" - fi +if [ "$IMGPROTO" = "file" ]; then + TEST_IMG=$TEST_DIR/t.$IMGFMT +elif [ "$IMGPROTO" = "nbd" ]; then + TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT + TEST_IMG="nbd:127.0.0.1:10810" +elif [ "$IMGPROTO" = "ssh" ]; then + TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT + TEST_IMG="ssh://127.0.0.1$TEST_IMG_FILE" +elif [ "$IMGPROTO" = "nfs" ]; then + TEST_DIR="nfs://127.0.0.1/$TEST_DIR" + TEST_IMG=$TEST_DIR/t.$IMGFMT +elif [ "$IMGPROTO" = "archipelago" ]; then + TEST_IMG="archipelago:at.$IMGFMT" else - if [ "$IMGPROTO" = "file" ]; then - TEST_IMG=$TEST_DIR/t.$IMGFMT - elif [ "$IMGPROTO" = "nbd" ]; then - TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT - TEST_IMG="nbd:127.0.0.1:10810" - elif [ "$IMGPROTO" = "ssh" ]; then - TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT - TEST_IMG="ssh://127.0.0.1$TEST_IMG_FILE" - elif [ "$IMGPROTO" = "nfs" ]; then - TEST_DIR="nfs://127.0.0.1/$TEST_DIR" - TEST_IMG=$TEST_DIR/t.$IMGFMT - elif [ "$IMGPROTO" = "archipelago" ]; then - TEST_IMG="archipelago:at.$IMGFMT" - else - TEST_IMG=$IMGPROTO:$TEST_DIR/t.$IMGFMT - fi + TEST_IMG=$IMGPROTO:$TEST_DIR/t.$IMGFMT fi _optstr_add() @@ -132,7 +108,6 @@ _make_test_img() local img_name="" local use_backing=0 local backing_file="" - local object_options="" if [ -n "$TEST_IMG_FILE" ]; then img_name=$TEST_IMG_FILE @@ -143,10 +118,6 @@ _make_test_img() if [ -n "$IMGOPTS" ]; then optstr=$(_optstr_add "$optstr" "$IMGOPTS") fi - if [ -n "$IMGKEYSECRET" ]; then - object_options="--object secret,id=keysec0,data=$IMGKEYSECRET" - optstr=$(_optstr_add "$optstr" "key-secret=keysec0") - fi if [ "$1" = "-b" ]; then use_backing=1 @@ -164,9 +135,9 @@ _make_test_img() # XXX(hch): have global image options? ( if [ $use_backing = 1 ]; then - $QEMU_IMG create $object_options -f $IMGFMT $extra_img_options -b "$backing_file" "$img_name" $image_size 2>&1 + $QEMU_IMG create -f $IMGFMT $extra_img_options -b "$backing_file" "$img_name" $image_size 2>&1 else - $QEMU_IMG create $object_options -f $IMGFMT $extra_img_options "$img_name" $image_size 2>&1 + $QEMU_IMG create -f $IMGFMT $extra_img_options "$img_name" $image_size 2>&1 fi ) | _filter_img_create @@ -228,13 +199,7 @@ _cleanup_test_img() _check_test_img() { - ( - if [ "$IMGOPTSSYNTAX" = "true" ]; then - $QEMU_IMG check $QEMU_IMG_EXTRA_ARGS "$@" "$TEST_IMG" 2>&1 - else - $QEMU_IMG check "$@" -f $IMGFMT "$TEST_IMG" 2>&1 - fi - ) | _filter_testdir | \ + $QEMU_IMG check "$@" -f $IMGFMT "$TEST_IMG" 2>&1 | _filter_testdir | \ sed -e '/allocated.*fragmented.*compressed clusters/d' \ -e 's/qemu-img: This image format does not support checks/No errors were found on the image./' \ -e '/Image end offset: [0-9]\+/d' diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group index 50ddeed80..822953b6f 100644 --- a/tests/qemu-iotests/group +++ b/tests/qemu-iotests/group @@ -106,7 +106,7 @@ 097 rw auto backing 098 rw auto backing quick 099 rw auto quick -# 100 was removed, do not reuse +100 rw auto quick 101 rw auto quick 102 rw auto quick 103 rw auto quick @@ -153,8 +153,3 @@ 149 rw auto sudo 150 rw auto quick 152 rw auto quick -154 rw auto backing quick -155 rw auto -156 rw auto quick -157 auto -162 auto quick diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index dbe0ee548..56f988ab3 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -24,6 +24,8 @@ import string import unittest import sys sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'scripts')) +sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'scripts', 'qmp')) +import qmp import qtest import struct import json @@ -39,12 +41,13 @@ qemu_io_args = [os.environ.get('QEMU_IO_PROG', 'qemu-io')] if os.environ.get('QEMU_IO_OPTIONS'): qemu_io_args += os.environ['QEMU_IO_OPTIONS'].strip().split(' ') -qemu_prog = os.environ.get('QEMU_PROG', 'qemu') -qemu_opts = os.environ.get('QEMU_OPTIONS', '').strip().split(' ') +qemu_args = [os.environ.get('QEMU_PROG', 'qemu')] +if os.environ.get('QEMU_OPTIONS'): + qemu_args += os.environ['QEMU_OPTIONS'].strip().split(' ') imgfmt = os.environ.get('IMGFMT', 'raw') imgproto = os.environ.get('IMGPROTO', 'file') -test_dir = os.environ.get('TEST_DIR') +test_dir = os.environ.get('TEST_DIR', '/var/tmp') output_dir = os.environ.get('OUTPUT_DIR', '.') cachemode = os.environ.get('CACHEMODE') qemu_default_machine = os.environ.get('QEMU_DEFAULT_MACHINE') @@ -128,13 +131,44 @@ def log(msg, filters=[]): msg = flt(msg) print msg -class VM(qtest.QEMUQtestMachine): +# Test if 'match' is a recursive subset of 'event' +def event_match(event, match=None): + if match is None: + return True + + for key in match: + if key in event: + if isinstance(event[key], dict): + if not event_match(event[key], match[key]): + return False + elif event[key] != match[key]: + return False + else: + return False + + return True + +class VM(object): '''A QEMU VM''' def __init__(self): - super(VM, self).__init__(qemu_prog, qemu_opts, test_dir=test_dir, - socket_scm_helper=socket_scm_helper) + self._monitor_path = os.path.join(test_dir, 'qemu-mon.%d' % os.getpid()) + self._qemu_log_path = os.path.join(test_dir, 'qemu-log.%d' % os.getpid()) + self._qtest_path = os.path.join(test_dir, 'qemu-qtest.%d' % os.getpid()) + self._args = qemu_args + ['-chardev', + 'socket,id=mon,path=' + self._monitor_path, + '-mon', 'chardev=mon,mode=control', + '-qtest', 'unix:path=' + self._qtest_path, + '-machine', 'accel=qtest', + '-display', 'none', '-vga', 'none'] self._num_drives = 0 + self._events = [] + + # This can be used to add an unused monitor instance. + def add_monitor_telnet(self, ip, port): + args = 'tcp:%s:%d,server,nowait,telnet' % (ip, port) + self._args.append('-monitor') + self._args.append(args) def add_drive_raw(self, opts): self._args.append('-drive') @@ -177,6 +211,106 @@ class VM(qtest.QEMUQtestMachine): return self.qmp('human-monitor-command', command_line='qemu-io %s "%s"' % (drive, cmd)) + def add_fd(self, fd, fdset, opaque, opts=''): + '''Pass a file descriptor to the VM''' + options = ['fd=%d' % fd, + 'set=%d' % fdset, + 'opaque=%s' % opaque] + if opts: + options.append(opts) + + self._args.append('-add-fd') + self._args.append(','.join(options)) + return self + + def send_fd_scm(self, fd_file_path): + # In iotest.py, the qmp should always use unix socket. + assert self._qmp.is_scm_available() + bin = socket_scm_helper + if os.path.exists(bin) == False: + print "Scm help program does not present, path '%s'." % bin + return -1 + fd_param = ["%s" % bin, + "%d" % self._qmp.get_sock_fd(), + "%s" % fd_file_path] + devnull = open('/dev/null', 'rb') + p = subprocess.Popen(fd_param, stdin=devnull, stdout=sys.stdout, + stderr=sys.stderr) + return p.wait() + + def launch(self): + '''Launch the VM and establish a QMP connection''' + devnull = open('/dev/null', 'rb') + qemulog = open(self._qemu_log_path, 'wb') + try: + self._qmp = qmp.QEMUMonitorProtocol(self._monitor_path, server=True) + self._qtest = qtest.QEMUQtestProtocol(self._qtest_path, server=True) + self._popen = subprocess.Popen(self._args, stdin=devnull, stdout=qemulog, + stderr=subprocess.STDOUT) + self._qmp.accept() + self._qtest.accept() + except: + _remove_if_exists(self._monitor_path) + _remove_if_exists(self._qtest_path) + raise + + def shutdown(self): + '''Terminate the VM and clean up''' + if not self._popen is None: + self._qmp.cmd('quit') + exitcode = self._popen.wait() + if exitcode < 0: + sys.stderr.write('qemu received signal %i: %s\n' % (-exitcode, ' '.join(self._args))) + os.remove(self._monitor_path) + os.remove(self._qtest_path) + os.remove(self._qemu_log_path) + self._popen = None + + underscore_to_dash = string.maketrans('_', '-') + def qmp(self, cmd, conv_keys=True, **args): + '''Invoke a QMP command and return the result dict''' + qmp_args = dict() + for k in args.keys(): + if conv_keys: + qmp_args[k.translate(self.underscore_to_dash)] = args[k] + else: + qmp_args[k] = args[k] + + return self._qmp.cmd(cmd, args=qmp_args) + + def qtest(self, cmd): + '''Send a qtest command to guest''' + return self._qtest.cmd(cmd) + + def get_qmp_event(self, wait=False): + '''Poll for one queued QMP events and return it''' + if len(self._events) > 0: + return self._events.pop(0) + return self._qmp.pull_event(wait=wait) + + def get_qmp_events(self, wait=False): + '''Poll for queued QMP events and return a list of dicts''' + events = self._qmp.get_events(wait=wait) + events.extend(self._events) + del self._events[:] + self._qmp.clear_events() + return events + + def event_wait(self, name='BLOCK_JOB_COMPLETED', timeout=60.0, match=None): + # Search cached events + for event in self._events: + if (event['event'] == name) and event_match(event, match): + self._events.remove(event) + return event + + # Poll for new events + while True: + event = self._qmp.pull_event(wait=timeout) + if (event['event'] == name) and event_match(event, match): + return event + self._events.append(event) + + return None index_re = re.compile(r'([^\[]+)\[([^\]]+)\]') @@ -293,6 +427,15 @@ class QMPTestCase(unittest.TestCase): event = self.wait_until_completed(drive=drive) self.assert_qmp(event, 'data/type', 'mirror') +def _remove_if_exists(path): + '''Remove file object at path if it exists''' + try: + os.remove(path) + except OSError as exception: + if exception.errno == errno.ENOENT: + return + raise + def notrun(reason): '''Skip this test suite''' # Each test in qemu-iotests has a number ("seq") @@ -318,14 +461,6 @@ def verify_quorum(): def main(supported_fmts=[], supported_oses=['linux']): '''Run tests''' - # We are using TEST_DIR and QEMU_DEFAULT_MACHINE as proxies to - # indicate that we're not being run via "check". There may be - # other things set up by "check" that individual test cases rely - # on. - if test_dir is None or qemu_default_machine is None: - sys.stderr.write('Please run this test via the "check" script\n') - sys.exit(os.EX_USAGE) - debug = '-d' in sys.argv verbosity = 1 verify_image_format(supported_fmts) |