4e2f441878
During 'qemu-img create ... 2>&1', if --quiet is not in force, we can end up with buffered I/O in stdout that was produced before failure, but which appears in output after failure. This is confusing; the fix is to flush stdout prior to attempting anything that might produce an error message. Several iotests demonstrate the resulting ordering change now that the merged outputs now reflect chronology. (An even better fix would be to avoid printf from within block.c altogether, but that's much more invasive...) Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <20200706203954.341758-2-eblake@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
153 lines
5.4 KiB
Plaintext
153 lines
5.4 KiB
Plaintext
QA output created by 112
|
|
|
|
=== refcount_bits limits ===
|
|
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
|
qemu-img: TEST_DIR/t.IMGFMT: Refcount width must be a power of two and may not exceed 64 bits
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
|
qemu-img: TEST_DIR/t.IMGFMT: Refcount width must be a power of two and may not exceed 64 bits
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
|
qemu-img: TEST_DIR/t.IMGFMT: Refcount width must be a power of two and may not exceed 64 bits
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
|
qemu-img: TEST_DIR/t.IMGFMT: Refcount width must be a power of two and may not exceed 64 bits
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
|
refcount bits: 1
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
|
refcount bits: 64
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
|
refcount bits: 16
|
|
|
|
=== refcount_bits and compat=0.10 ===
|
|
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
|
refcount bits: 16
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
|
qemu-img: TEST_DIR/t.IMGFMT: Different refcount widths than 16 bits require compatibility level 1.1 or above (use version=v3 or greater)
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
|
qemu-img: TEST_DIR/t.IMGFMT: Different refcount widths than 16 bits require compatibility level 1.1 or above (use version=v3 or greater)
|
|
|
|
=== Snapshot limit on refcount_bits=1 ===
|
|
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
|
refcount bits: 1
|
|
wrote 512/512 bytes at offset 0
|
|
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
qemu-img: Could not create snapshot 'foo': -22 (Invalid argument)
|
|
Leaked cluster 6 refcount=1 reference=0
|
|
|
|
1 leaked clusters were found on the image.
|
|
This means waste of disk space, but no harm to data.
|
|
|
|
=== Snapshot limit on refcount_bits=2 ===
|
|
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
|
refcount bits: 2
|
|
wrote 512/512 bytes at offset 0
|
|
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
qemu-img: Could not create snapshot 'baz': -22 (Invalid argument)
|
|
Leaked cluster 7 refcount=1 reference=0
|
|
|
|
1 leaked clusters were found on the image.
|
|
This means waste of disk space, but no harm to data.
|
|
|
|
=== Compressed clusters with refcount_bits=1 ===
|
|
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
|
refcount bits: 1
|
|
wrote 65536/65536 bytes at offset 0
|
|
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
wrote 65536/65536 bytes at offset 65536
|
|
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
No errors were found on the image.
|
|
|
|
=== MSb set in 64 bit refcount ===
|
|
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
|
refcount bits: 64
|
|
wrote 512/512 bytes at offset 0
|
|
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
wrote 512/512 bytes at offset 0
|
|
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
|
|
=== Snapshot on maximum 64 bit refcount value ===
|
|
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
|
refcount bits: 64
|
|
wrote 512/512 bytes at offset 0
|
|
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
qemu-img: Could not create snapshot 'foo': -22 (Invalid argument)
|
|
Leaked cluster 5 refcount=18446744073709551615 reference=1
|
|
Leaked cluster 6 refcount=1 reference=0
|
|
|
|
2 leaked clusters were found on the image.
|
|
This means waste of disk space, but no harm to data.
|
|
|
|
=== Amend from refcount_bits=16 to refcount_bits=1 ===
|
|
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
|
refcount bits: 16
|
|
wrote 33554432/33554432 bytes at offset 16777216
|
|
32 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
No errors were found on the image.
|
|
refcount bits: 1
|
|
|
|
=== Amend from refcount_bits=1 to refcount_bits=64 ===
|
|
|
|
No errors were found on the image.
|
|
refcount bits: 64
|
|
|
|
=== Amend to compat=0.10 ===
|
|
|
|
qemu-img: compat=0.10 requires refcount_bits=16
|
|
refcount bits: 64
|
|
No errors were found on the image.
|
|
refcount bits: 16
|
|
refcount bits: 16
|
|
qemu-img: Refcount widths other than 16 bits require compatibility level 1.1 or above (use compat=1.1 or greater)
|
|
refcount bits: 16
|
|
|
|
=== Amend with snapshot ===
|
|
|
|
wrote 16777216/16777216 bytes at offset 0
|
|
16 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
qemu-img: Cannot decrease refcount entry width to 1 bits: Cluster at offset 0x50000 has a refcount of 2
|
|
No errors were found on the image.
|
|
refcount bits: 16
|
|
No errors were found on the image.
|
|
refcount bits: 2
|
|
|
|
=== Testing too many references for check ===
|
|
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
|
refcount bits: 1
|
|
wrote 65536/65536 bytes at offset 0
|
|
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
ERROR: overflow cluster offset=0x50000
|
|
Use qemu-img amend to increase the refcount entry width or qemu-img convert to create a clean copy if the image cannot be opened for writing
|
|
|
|
1 errors were found on the image.
|
|
Data may be corrupted, or further writes to the image may corrupt it.
|
|
refcount bits: 2
|
|
ERROR cluster 5 refcount=1 reference=2
|
|
Repairing cluster 5 refcount=1 reference=2
|
|
Repairing OFLAG_COPIED data cluster: l2_entry=8000000000050000 refcount=2
|
|
Repairing OFLAG_COPIED data cluster: l2_entry=8000000000050000 refcount=2
|
|
The following inconsistencies were found and repaired:
|
|
|
|
0 leaked clusters
|
|
3 corruptions
|
|
|
|
Double checking the fixed image now...
|
|
No errors were found on the image.
|
|
|
|
=== Multiple walks necessary during amend ===
|
|
|
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=65536
|
|
wrote 29696/29696 bytes at offset 0
|
|
29 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
|
(66.67/100%)
|
|
(50.00/100%)
|
|
refcount bits: 64
|
|
No errors were found on the image.
|
|
*** done
|