qemu-iotests: test 'offset' and 'size' options in raw driver
Signed-off-by: Tomáš Golembiovský <tgolembi@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
		
							parent
							
								
									2fdc70452a
								
							
						
					
					
						commit
						ccc47808fd
					
				
							
								
								
									
										212
									
								
								tests/qemu-iotests/171
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										212
									
								
								tests/qemu-iotests/171
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,212 @@ | ||||
| #!/bin/bash | ||||
| # | ||||
| # Test 'offset' and 'size' options of the raw driver. Make sure we can't | ||||
| # (or can) read and write outside of the image size. | ||||
| # | ||||
| # 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=tgolembi@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 raw | ||||
| _supported_proto file | ||||
| _supported_os Linux | ||||
| 
 | ||||
| 
 | ||||
| # Create JSON with options | ||||
| img_json() { | ||||
|     echo -n 'json:{"driver":"raw", ' | ||||
|     echo -n "\"offset\":\"$img_offset\", " | ||||
|     if [ "$img_size" -ne -1 ] ; then | ||||
|         echo -n "\"size\":\"$img_size\", " | ||||
|     fi | ||||
|     echo -n '"file": {' | ||||
|     echo -n    '"driver":"file", ' | ||||
|     echo -n    "\"filename\":\"$TEST_IMG\" " | ||||
|     echo -n "} }" | ||||
| } | ||||
| 
 | ||||
| do_general_test() { | ||||
|     if [ "$img_size" -ge 0 ] ; then | ||||
|         test_size=$img_size | ||||
|     else | ||||
|         test_size=$((size-img_offset)) | ||||
|     fi | ||||
| 
 | ||||
|     echo | ||||
|     echo "write to image" | ||||
|     $QEMU_IO -c "write -P 0x0a 0 $test_size" "$(img_json)" | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "read the image" | ||||
|     $QEMU_IO -c "read -P 0x0a 0 $test_size" "$(img_json)" | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "check that offset is respected" | ||||
|     $QEMU_IO -c "read -v $((img_offset-2)) 4" $TEST_IMG | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "write before image boundary" | ||||
|     $QEMU_IO -c "write $((test_size-1)) 1" "$(img_json)" | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "write across image boundary" | ||||
|     $QEMU_IO -c "write $((test_size-1)) 2" "$(img_json)" | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "write at image boundary" | ||||
|     $QEMU_IO -c "write $test_size 1" "$(img_json)" | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "write after image boundary" | ||||
|     $QEMU_IO -c "write $((test_size+512)) 1" "$(img_json)" | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "writev before/after image boundary" | ||||
|     $QEMU_IO -c "writev $((test_size-512)) 512 512" "$(img_json)" | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "read before image boundary" | ||||
|     $QEMU_IO -c "read $((test_size-1)) 1" "$(img_json)" | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "read across image boundary" | ||||
|     $QEMU_IO -c "read $((test_size-1)) 2" "$(img_json)" | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "read at image boundary" | ||||
|     $QEMU_IO -c "read $test_size 1" "$(img_json)" | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "read after image boundary" | ||||
|     $QEMU_IO -c "read $((test_size+512)) 1" "$(img_json)" | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "readv before/after image boundary" | ||||
|     $QEMU_IO -c "readv $((test_size-512)) 512 512" "$(img_json)" | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "fill image with pattern" | ||||
|     $QEMU_IO -c "write -P 0x0a 0 $size" $TEST_IMG | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "write zeroes and check" | ||||
|     $QEMU_IO -c "write -z 0 512" "$(img_json)" | _filter_qemu_io | ||||
|     $QEMU_IO -c "read -v $((img_offset-2)) 4" $TEST_IMG | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "write zeroes across image boundary" | ||||
|     $QEMU_IO -c "write -z $((test_size-1)) 2" "$(img_json)" | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "write zeroes at image boundary and check" | ||||
|     $QEMU_IO -c "write -z $((test_size-2)) 2" "$(img_json)" | _filter_qemu_io | ||||
|     $QEMU_IO -c "read -v $((img_offset+test_size-2)) 2" $TEST_IMG | _filter_qemu_io | ||||
|     $QEMU_IO -c "read -v $((img_offset+test_size)) 2" $TEST_IMG | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "fill image with pattern" | ||||
|     $QEMU_IO -c "write -P 0x0a 0 $size" $TEST_IMG | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "discard and check" | ||||
|     $QEMU_IO -c "discard 0 512" "$(img_json)" | _filter_qemu_io | ||||
|     $QEMU_IO -c "read -v $((img_offset-2)) 4" $TEST_IMG | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "discard across image boundary" | ||||
|     $QEMU_IO -c "discard $((test_size-1)) 2" "$(img_json)" | _filter_qemu_io | ||||
| 
 | ||||
|     echo | ||||
|     echo "discard at image boundary and check" | ||||
|     $QEMU_IO -c "discard $((test_size-2)) 2" "$(img_json)" | _filter_qemu_io | ||||
|     $QEMU_IO -c "read -v $((img_offset+test_size-2)) 2" $TEST_IMG | _filter_qemu_io | ||||
|     $QEMU_IO -c "read -v $((img_offset+test_size)) 2" $TEST_IMG | _filter_qemu_io | ||||
| } | ||||
| 
 | ||||
| echo | ||||
| echo "== test 'offset' option ==" | ||||
| size=4096 | ||||
| img_offset=512 | ||||
| img_size=-1 | ||||
| _make_test_img $size | ||||
| do_general_test | ||||
| _cleanup_test_img | ||||
| 
 | ||||
| echo | ||||
| echo "== test 'offset' and 'size' options ==" | ||||
| size=4096 | ||||
| img_offset=512 | ||||
| img_size=2048 | ||||
| _make_test_img $size | ||||
| do_general_test | ||||
| _cleanup_test_img | ||||
| 
 | ||||
| echo | ||||
| echo "== test misaligned 'offset' ==" | ||||
| size=4096 | ||||
| img_offset=10 | ||||
| img_size=2048 | ||||
| _make_test_img $size | ||||
| do_general_test | ||||
| _cleanup_test_img | ||||
| 
 | ||||
| echo | ||||
| echo "== test reopen ==" | ||||
| size=4096 | ||||
| img_offset=512 | ||||
| img_size=512 | ||||
| _make_test_img $size | ||||
| ( | ||||
| $QEMU_IO "$(img_json)"  <<EOT | ||||
| write -P 0x0a 0 512 | ||||
| write -P 0x0a 511 1 | ||||
| write -P 0x0a 512 1 | ||||
| reopen -o driver=raw,offset=1536,size=1024 | ||||
| write -P 0x0a 0 1024 | ||||
| write -P 0x0a 1023 1 | ||||
| write -P 0x0a 1024 1 | ||||
| EOT | ||||
| ) | _filter_qemu_io | ||||
| echo "checking boundaries" | ||||
| $QEMU_IO -c "read -v 510 4" $TEST_IMG | _filter_qemu_io | ||||
| $QEMU_IO -c "read -v 1022 4" $TEST_IMG | _filter_qemu_io | ||||
| $QEMU_IO -c "read -v 1534 4" $TEST_IMG | _filter_qemu_io | ||||
| $QEMU_IO -c "read -v 2558 4" $TEST_IMG | _filter_qemu_io | ||||
| _cleanup_test_img | ||||
| 
 | ||||
| # success, all done | ||||
| echo | ||||
| echo "*** done" | ||||
| rm -f $seq.full | ||||
| status=0 | ||||
							
								
								
									
										313
									
								
								tests/qemu-iotests/171.out
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										313
									
								
								tests/qemu-iotests/171.out
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,313 @@ | ||||
| QA output created by 171 | ||||
| 
 | ||||
| == test 'offset' option == | ||||
| Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=4096 | ||||
| 
 | ||||
| write to image | ||||
| wrote 3584/3584 bytes at offset 0 | ||||
| 3.500 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| read the image | ||||
| read 3584/3584 bytes at offset 0 | ||||
| 3.500 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| check that offset is respected | ||||
| 000001fe:  00 00 0a 0a  .... | ||||
| read 4/4 bytes at offset 510 | ||||
| 4 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| write before image boundary | ||||
| wrote 1/1 bytes at offset 3583 | ||||
| 1 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| write across image boundary | ||||
| write failed: Input/output error | ||||
| 
 | ||||
| write at image boundary | ||||
| write failed: Input/output error | ||||
| 
 | ||||
| write after image boundary | ||||
| write failed: Input/output error | ||||
| 
 | ||||
| writev before/after image boundary | ||||
| writev failed: Input/output error | ||||
| 
 | ||||
| read before image boundary | ||||
| read 1/1 bytes at offset 3583 | ||||
| 1 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| read across image boundary | ||||
| read failed: Input/output error | ||||
| 
 | ||||
| read at image boundary | ||||
| read failed: Input/output error | ||||
| 
 | ||||
| read after image boundary | ||||
| read failed: Input/output error | ||||
| 
 | ||||
| readv before/after image boundary | ||||
| readv failed: Input/output error | ||||
| 
 | ||||
| fill image with pattern | ||||
| wrote 4096/4096 bytes at offset 0 | ||||
| 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| write zeroes and check | ||||
| wrote 512/512 bytes at offset 0 | ||||
| 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 000001fe:  0a 0a 00 00  .... | ||||
| read 4/4 bytes at offset 510 | ||||
| 4 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| write zeroes across image boundary | ||||
| write failed: Input/output error | ||||
| 
 | ||||
| write zeroes at image boundary and check | ||||
| wrote 2/2 bytes at offset 3582 | ||||
| 2 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 00000ffe:  00 00  .. | ||||
| read 2/2 bytes at offset 4094 | ||||
| 2 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| read failed: Input/output error | ||||
| 
 | ||||
| fill image with pattern | ||||
| wrote 4096/4096 bytes at offset 0 | ||||
| 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| discard and check | ||||
| discard 512/512 bytes at offset 0 | ||||
| 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 000001fe:  0a 0a 00 00  .... | ||||
| read 4/4 bytes at offset 510 | ||||
| 4 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| discard across image boundary | ||||
| discard failed: Input/output error | ||||
| 
 | ||||
| discard at image boundary and check | ||||
| discard 2/2 bytes at offset 3582 | ||||
| 2 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 00000ffe:  00 00  .. | ||||
| read 2/2 bytes at offset 4094 | ||||
| 2 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| read failed: Input/output error | ||||
| 
 | ||||
| == test 'offset' and 'size' options == | ||||
| Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=4096 | ||||
| 
 | ||||
| write to image | ||||
| wrote 2048/2048 bytes at offset 0 | ||||
| 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| read the image | ||||
| read 2048/2048 bytes at offset 0 | ||||
| 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| check that offset is respected | ||||
| 000001fe:  00 00 0a 0a  .... | ||||
| read 4/4 bytes at offset 510 | ||||
| 4 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| write before image boundary | ||||
| wrote 1/1 bytes at offset 2047 | ||||
| 1 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| write across image boundary | ||||
| write failed: Input/output error | ||||
| 
 | ||||
| write at image boundary | ||||
| write failed: Input/output error | ||||
| 
 | ||||
| write after image boundary | ||||
| write failed: Input/output error | ||||
| 
 | ||||
| writev before/after image boundary | ||||
| writev failed: Input/output error | ||||
| 
 | ||||
| read before image boundary | ||||
| read 1/1 bytes at offset 2047 | ||||
| 1 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| read across image boundary | ||||
| read failed: Input/output error | ||||
| 
 | ||||
| read at image boundary | ||||
| read failed: Input/output error | ||||
| 
 | ||||
| read after image boundary | ||||
| read failed: Input/output error | ||||
| 
 | ||||
| readv before/after image boundary | ||||
| readv failed: Input/output error | ||||
| 
 | ||||
| fill image with pattern | ||||
| wrote 4096/4096 bytes at offset 0 | ||||
| 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| write zeroes and check | ||||
| wrote 512/512 bytes at offset 0 | ||||
| 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 000001fe:  0a 0a 00 00  .... | ||||
| read 4/4 bytes at offset 510 | ||||
| 4 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| write zeroes across image boundary | ||||
| write failed: Input/output error | ||||
| 
 | ||||
| write zeroes at image boundary and check | ||||
| wrote 2/2 bytes at offset 2046 | ||||
| 2 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 000009fe:  00 00  .. | ||||
| read 2/2 bytes at offset 2558 | ||||
| 2 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 00000a00:  0a 0a  .. | ||||
| read 2/2 bytes at offset 2560 | ||||
| 2 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| fill image with pattern | ||||
| wrote 4096/4096 bytes at offset 0 | ||||
| 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| discard and check | ||||
| discard 512/512 bytes at offset 0 | ||||
| 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 000001fe:  0a 0a 00 00  .... | ||||
| read 4/4 bytes at offset 510 | ||||
| 4 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| discard across image boundary | ||||
| discard failed: Input/output error | ||||
| 
 | ||||
| discard at image boundary and check | ||||
| discard 2/2 bytes at offset 2046 | ||||
| 2 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 000009fe:  00 00  .. | ||||
| read 2/2 bytes at offset 2558 | ||||
| 2 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 00000a00:  0a 0a  .. | ||||
| read 2/2 bytes at offset 2560 | ||||
| 2 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| == test misaligned 'offset' == | ||||
| Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=4096 | ||||
| 
 | ||||
| write to image | ||||
| wrote 2048/2048 bytes at offset 0 | ||||
| 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| read the image | ||||
| read 2048/2048 bytes at offset 0 | ||||
| 2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| check that offset is respected | ||||
| 00000008:  00 00 0a 0a  .... | ||||
| read 4/4 bytes at offset 8 | ||||
| 4 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| write before image boundary | ||||
| wrote 1/1 bytes at offset 2047 | ||||
| 1 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| write across image boundary | ||||
| write failed: Input/output error | ||||
| 
 | ||||
| write at image boundary | ||||
| write failed: Input/output error | ||||
| 
 | ||||
| write after image boundary | ||||
| write failed: Input/output error | ||||
| 
 | ||||
| writev before/after image boundary | ||||
| writev failed: Input/output error | ||||
| 
 | ||||
| read before image boundary | ||||
| read 1/1 bytes at offset 2047 | ||||
| 1 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| read across image boundary | ||||
| read failed: Input/output error | ||||
| 
 | ||||
| read at image boundary | ||||
| read failed: Input/output error | ||||
| 
 | ||||
| read after image boundary | ||||
| read failed: Input/output error | ||||
| 
 | ||||
| readv before/after image boundary | ||||
| readv failed: Input/output error | ||||
| 
 | ||||
| fill image with pattern | ||||
| wrote 4096/4096 bytes at offset 0 | ||||
| 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| write zeroes and check | ||||
| wrote 512/512 bytes at offset 0 | ||||
| 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 00000008:  0a 0a 00 00  .... | ||||
| read 4/4 bytes at offset 8 | ||||
| 4 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| write zeroes across image boundary | ||||
| write failed: Input/output error | ||||
| 
 | ||||
| write zeroes at image boundary and check | ||||
| wrote 2/2 bytes at offset 2046 | ||||
| 2 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 00000808:  00 00  .. | ||||
| read 2/2 bytes at offset 2056 | ||||
| 2 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 0000080a:  0a 0a  .. | ||||
| read 2/2 bytes at offset 2058 | ||||
| 2 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| fill image with pattern | ||||
| wrote 4096/4096 bytes at offset 0 | ||||
| 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| discard and check | ||||
| discard 512/512 bytes at offset 0 | ||||
| 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 00000008:  0a 0a 00 00  .... | ||||
| read 4/4 bytes at offset 8 | ||||
| 4 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| discard across image boundary | ||||
| discard failed: Input/output error | ||||
| 
 | ||||
| discard at image boundary and check | ||||
| discard 2/2 bytes at offset 2046 | ||||
| 2 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 00000808:  00 00  .. | ||||
| read 2/2 bytes at offset 2056 | ||||
| 2 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 0000080a:  0a 0a  .. | ||||
| read 2/2 bytes at offset 2058 | ||||
| 2 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| == test reopen == | ||||
| Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=4096 | ||||
| wrote 512/512 bytes at offset 0 | ||||
| 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| wrote 1/1 bytes at offset 511 | ||||
| 1 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| write failed: Input/output error | ||||
| wrote 1024/1024 bytes at offset 0 | ||||
| 1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| wrote 1/1 bytes at offset 1023 | ||||
| 1 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| write failed: Input/output error | ||||
| checking boundaries | ||||
| 000001fe:  00 00 0a 0a  .... | ||||
| read 4/4 bytes at offset 510 | ||||
| 4 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 000003fe:  0a 0a 00 00  .... | ||||
| read 4/4 bytes at offset 1022 | ||||
| 4 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 000005fe:  00 00 0a 0a  .... | ||||
| read 4/4 bytes at offset 1534 | ||||
| 4 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 000009fe:  0a 0a 00 00  .... | ||||
| read 4/4 bytes at offset 2558 | ||||
| 4 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||||
| 
 | ||||
| *** done | ||||
| @ -163,4 +163,5 @@ | ||||
| 160 rw auto quick | ||||
| 162 auto quick | ||||
| 170 rw auto quick | ||||
| 171 rw auto quick | ||||
| 172 auto | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Tomáš Golembiovský
						Tomáš Golembiovský