blob: 0b24d501595b98dd5f93509c5fc530ef9c311048 [file] [log] [blame]
QA output created by 271
### Standard write tests (backing file: yes) ###
Formatting 'TEST_DIR/t.IMGFMT.raw', fmt=raw size=1048576
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=raw size=1048576
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=raw
write -q -P PATTERN 0 1k
L2 entry #0: 0x8000000000050000 0000000000000001
write -q -P PATTERN 3k 512
L2 entry #0: 0x8000000000050000 0000000000000003
write -q -P PATTERN 5k 1k
L2 entry #0: 0x8000000000050000 0000000000000007
write -q -P PATTERN 6k 2k
L2 entry #0: 0x8000000000050000 000000000000000f
write -q -P PATTERN 8k 6k
L2 entry #0: 0x8000000000050000 000000000000007f
write -q -P PATTERN 15k 4k
L2 entry #0: 0x8000000000050000 00000000000003ff
write -q -P PATTERN 32k 1k
L2 entry #0: 0x8000000000050000 00000000000103ff
write -q -P PATTERN 63k 4k
L2 entry #0: 0x8000000000050000 00000000800103ff
L2 entry #1: 0x8000000000060000 0000000000000003
write -q -z 2k 2k
L2 entry #0: 0x8000000000050000 00000002800103fd
write -q -z 0 64k
L2 entry #0: 0x8000000000050000 ffffffff00000000
write -q -P PATTERN 0 64k
L2 entry #0: 0x8000000000050000 00000000ffffffff
write -q -z -u 0 32k
L2 entry #0: 0x8000000000050000 0000ffffffff0000
write -q -z -u 0 64k
L2 entry #0: 0x0000000000000000 ffffffff00000000
write -q -P PATTERN 3k 512
L2 entry #0: 0x8000000000050000 fffffffd00000002
write -q -P PATTERN 0 64k
L2 entry #0: 0x8000000000050000 00000000ffffffff
discard -q 0 64k
L2 entry #0: 0x0000000000000000 ffffffff00000000
write -q -c -P PATTERN 0 64k
L2 entry #0: 0x4000000000050000 0000000000000000
write -q -P PATTERN 3k 512
L2 entry #0: 0x8000000000070000 00000000ffffffff
### Standard write tests (backing file: no) ###
Formatting 'TEST_DIR/t.IMGFMT.raw', fmt=raw size=1048576
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
write -q -P PATTERN 0 1k
L2 entry #0: 0x8000000000050000 0000000000000001
write -q -P PATTERN 3k 512
L2 entry #0: 0x8000000000050000 0000000000000003
write -q -P PATTERN 5k 1k
L2 entry #0: 0x8000000000050000 0000000000000007
write -q -P PATTERN 6k 2k
L2 entry #0: 0x8000000000050000 000000000000000f
write -q -P PATTERN 8k 6k
L2 entry #0: 0x8000000000050000 000000000000007f
write -q -P PATTERN 15k 4k
L2 entry #0: 0x8000000000050000 00000000000003ff
write -q -P PATTERN 32k 1k
L2 entry #0: 0x8000000000050000 00000000000103ff
write -q -P PATTERN 63k 4k
L2 entry #0: 0x8000000000050000 00000000800103ff
L2 entry #1: 0x8000000000060000 0000000000000003
write -q -z 2k 2k
L2 entry #0: 0x8000000000050000 00000002800103fd
write -q -z 0 64k
L2 entry #0: 0x8000000000050000 ffffffff00000000
write -q -P PATTERN 0 64k
L2 entry #0: 0x8000000000050000 00000000ffffffff
write -q -z -u 0 32k
L2 entry #0: 0x8000000000050000 0000ffffffff0000
write -q -z -u 0 64k
L2 entry #0: 0x0000000000000000 ffffffff00000000
write -q -P PATTERN 3k 512
L2 entry #0: 0x8000000000050000 fffffffd00000002
write -q -P PATTERN 0 64k
L2 entry #0: 0x8000000000050000 00000000ffffffff
discard -q 0 64k
L2 entry #0: 0x0000000000000000 ffffffff00000000
write -q -c -P PATTERN 0 64k
L2 entry #0: 0x4000000000050000 0000000000000000
write -q -P PATTERN 3k 512
L2 entry #0: 0x8000000000070000 00000000ffffffff
### Overwriting several clusters without COW ###
Formatting 'TEST_DIR/t.IMGFMT.raw', fmt=raw size=1048576
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
write -q -P PATTERN 24k 40k
L2 entry #0: 0x8000000000050000 00000000fffff000
write -q -P PATTERN 90k 2k
L2 entry #1: 0x8000000000060000 0000000000002000
write -q -P PATTERN 156k 2k
L2 entry #2: 0x8000000000070000 0000000000004000
write -q -z 156k 2k
L2 entry #2: 0x8000000000070000 0000400000000000
write -q -P PATTERN 192k 34k
L2 entry #3: 0x8000000000080000 000000000001ffff
write -q -P PATTERN 24k 192k
L2 entry #0: 0x8000000000050000 00000000fffff000
L2 entry #1: 0x8000000000060000 00000000ffffffff
L2 entry #2: 0x8000000000070000 00000000ffffffff
L2 entry #3: 0x8000000000080000 000000000001ffff
### Writing zeroes 1: unallocated clusters (backing file: yes) ###
Formatting 'TEST_DIR/t.IMGFMT.raw', fmt=raw size=2132992
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=raw size=2132992
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2132992 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=raw
write -q -z 0 192k
L2 entry #0: 0x0000000000000000 ffffffff00000000
L2 entry #1: 0x0000000000000000 ffffffff00000000
L2 entry #2: 0x0000000000000000 ffffffff00000000
write -q -z 224k 128k
L2 entry #3: 0x0000000000000000 ffff000000000000
L2 entry #4: 0x0000000000000000 ffffffff00000000
L2 entry #5: 0x0000000000000000 0000ffff00000000
write -q -z 415k 128k
L2 entry #6: 0x8000000000050000 ffff000000008000
L2 entry #7: 0x0000000000000000 ffffffff00000000
L2 entry #8: 0x8000000000060000 00007fff00008000
### Writing zeroes 2: allocated clusters (backing file: yes) ###
write -q -P PATTERN 576k 576k
L2 entry #9: 0x8000000000070000 00000000ffffffff
L2 entry #10: 0x8000000000080000 00000000ffffffff
L2 entry #11: 0x8000000000090000 00000000ffffffff
L2 entry #12: 0x80000000000a0000 00000000ffffffff
L2 entry #13: 0x80000000000b0000 00000000ffffffff
L2 entry #14: 0x80000000000c0000 00000000ffffffff
L2 entry #15: 0x80000000000d0000 00000000ffffffff
L2 entry #16: 0x80000000000e0000 00000000ffffffff
L2 entry #17: 0x80000000000f0000 00000000ffffffff
write -q -z 576k 192k
L2 entry #9: 0x8000000000070000 ffffffff00000000
L2 entry #10: 0x8000000000080000 ffffffff00000000
L2 entry #11: 0x8000000000090000 ffffffff00000000
write -q -z 800k 128k
L2 entry #12: 0x80000000000a0000 ffff00000000ffff
L2 entry #13: 0x80000000000b0000 ffffffff00000000
L2 entry #14: 0x80000000000c0000 0000ffffffff0000
write -q -z 991k 128k
L2 entry #15: 0x80000000000d0000 ffff00000000ffff
L2 entry #16: 0x80000000000e0000 ffffffff00000000
L2 entry #17: 0x80000000000f0000 00007fffffff8000
### Writing zeroes 3: compressed clusters (backing file: yes) ###
write -q -c -P PATTERN 1152k 64k
L2 entry #18: 0x4000000000100000 0000000000000000
write -q -c -P PATTERN 1216k 64k
L2 entry #19: 0x4000000000110000 0000000000000000
write -q -c -P PATTERN 1280k 64k
L2 entry #20: 0x4000000000120000 0000000000000000
write -q -c -P PATTERN 1344k 64k
L2 entry #21: 0x4000000000130000 0000000000000000
write -q -c -P PATTERN 1408k 64k
L2 entry #22: 0x4000000000140000 0000000000000000
write -q -c -P PATTERN 1472k 64k
L2 entry #23: 0x4000000000150000 0000000000000000
write -q -c -P PATTERN 1536k 64k
L2 entry #24: 0x4000000000160000 0000000000000000
write -q -c -P PATTERN 1600k 64k
L2 entry #25: 0x4000000000170000 0000000000000000
write -q -c -P PATTERN 1664k 64k
L2 entry #26: 0x4000000000180000 0000000000000000
write -q -c -P PATTERN 1728k 64k
L2 entry #27: 0x4000000000190000 0000000000000000
write -q -c -P PATTERN 1792k 64k
L2 entry #28: 0x40000000001a0000 0000000000000000
write -q -z 1152k 192k
L2 entry #18: 0x0000000000000000 ffffffff00000000
L2 entry #19: 0x0000000000000000 ffffffff00000000
L2 entry #20: 0x0000000000000000 ffffffff00000000
write -q -z 1376k 128k
L2 entry #21: 0x8000000000100000 00000000ffffffff
L2 entry #22: 0x8000000000110000 00000000ffffffff
L2 entry #23: 0x8000000000120000 00000000ffffffff
write -q -z 1567k 129k
L2 entry #24: 0x8000000000130000 00000000ffffffff
L2 entry #25: 0x8000000000140000 00000000ffffffff
L2 entry #26: 0x8000000000150000 00000000ffffffff
write -q -z 1759k 128k
L2 entry #27: 0x8000000000160000 ffff00000000ffff
L2 entry #28: 0x0000000000000000 ffffffff00000000
L2 entry #29: 0x8000000000170000 00007fff00008000
### Writing zeroes 4: other tests (backing file: yes) ###
write -q -z 1951k 8k
L2 entry #30: 0x8000000000180000 0007000000088000
write -q -z 2048k 35k
L2 entry #32: 0x0000000000000000 0003ffff00000000
### Writing zeroes 1: unallocated clusters (backing file: no) ###
Formatting 'TEST_DIR/t.IMGFMT.raw', fmt=raw size=2132992
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2132992
write -q -z 0 192k
L2 entry #0: 0x0000000000000000 ffffffff00000000
L2 entry #1: 0x0000000000000000 ffffffff00000000
L2 entry #2: 0x0000000000000000 ffffffff00000000
write -q -z 224k 128k
L2 entry #3: 0x0000000000000000 ffff000000000000
L2 entry #4: 0x0000000000000000 ffffffff00000000
L2 entry #5: 0x0000000000000000 0000ffff00000000
write -q -z 415k 128k
L2 entry #6: 0x0000000000000000 ffff800000000000
L2 entry #7: 0x0000000000000000 ffffffff00000000
L2 entry #8: 0x0000000000000000 0000ffff00000000
### Writing zeroes 2: allocated clusters (backing file: no) ###
write -q -P PATTERN 576k 576k
L2 entry #9: 0x8000000000050000 00000000ffffffff
L2 entry #10: 0x8000000000060000 00000000ffffffff
L2 entry #11: 0x8000000000070000 00000000ffffffff
L2 entry #12: 0x8000000000080000 00000000ffffffff
L2 entry #13: 0x8000000000090000 00000000ffffffff
L2 entry #14: 0x80000000000a0000 00000000ffffffff
L2 entry #15: 0x80000000000b0000 00000000ffffffff
L2 entry #16: 0x80000000000c0000 00000000ffffffff
L2 entry #17: 0x80000000000d0000 00000000ffffffff
write -q -z 576k 192k
L2 entry #9: 0x8000000000050000 ffffffff00000000
L2 entry #10: 0x8000000000060000 ffffffff00000000
L2 entry #11: 0x8000000000070000 ffffffff00000000
write -q -z 800k 128k
L2 entry #12: 0x8000000000080000 ffff00000000ffff
L2 entry #13: 0x8000000000090000 ffffffff00000000
L2 entry #14: 0x80000000000a0000 0000ffffffff0000
write -q -z 991k 128k
L2 entry #15: 0x80000000000b0000 ffff00000000ffff
L2 entry #16: 0x80000000000c0000 ffffffff00000000
L2 entry #17: 0x80000000000d0000 00007fffffff8000
### Writing zeroes 3: compressed clusters (backing file: no) ###
write -q -c -P PATTERN 1152k 64k
L2 entry #18: 0x40000000000e0000 0000000000000000
write -q -c -P PATTERN 1216k 64k
L2 entry #19: 0x40000000000f0000 0000000000000000
write -q -c -P PATTERN 1280k 64k
L2 entry #20: 0x4000000000100000 0000000000000000
write -q -c -P PATTERN 1344k 64k
L2 entry #21: 0x4000000000110000 0000000000000000
write -q -c -P PATTERN 1408k 64k
L2 entry #22: 0x4000000000120000 0000000000000000
write -q -c -P PATTERN 1472k 64k
L2 entry #23: 0x4000000000130000 0000000000000000
write -q -c -P PATTERN 1536k 64k
L2 entry #24: 0x4000000000140000 0000000000000000
write -q -c -P PATTERN 1600k 64k
L2 entry #25: 0x4000000000150000 0000000000000000
write -q -c -P PATTERN 1664k 64k
L2 entry #26: 0x4000000000160000 0000000000000000
write -q -c -P PATTERN 1728k 64k
L2 entry #27: 0x4000000000170000 0000000000000000
write -q -c -P PATTERN 1792k 64k
L2 entry #28: 0x4000000000180000 0000000000000000
write -q -z 1152k 192k
L2 entry #18: 0x0000000000000000 ffffffff00000000
L2 entry #19: 0x0000000000000000 ffffffff00000000
L2 entry #20: 0x0000000000000000 ffffffff00000000
write -q -z 1376k 128k
L2 entry #21: 0x80000000000e0000 00000000ffffffff
L2 entry #22: 0x80000000000f0000 00000000ffffffff
L2 entry #23: 0x8000000000100000 00000000ffffffff
write -q -z 1567k 129k
L2 entry #24: 0x8000000000110000 00000000ffffffff
L2 entry #25: 0x8000000000120000 00000000ffffffff
L2 entry #26: 0x8000000000130000 00000000ffffffff
write -q -z 1759k 128k
L2 entry #27: 0x8000000000140000 ffff00000000ffff
L2 entry #28: 0x0000000000000000 ffffffff00000000
L2 entry #29: 0x0000000000000000 0000ffff00000000
### Writing zeroes 4: other tests (backing file: no) ###
write -q -z 1951k 8k
L2 entry #30: 0x0000000000000000 000f800000000000
write -q -z 2048k 35k
L2 entry #32: 0x0000000000000000 0003ffff00000000
### Zero + unmap 1: allocated clusters (backing file: yes) ###
Formatting 'TEST_DIR/t.IMGFMT.raw', fmt=raw size=2132992
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=raw size=2132992
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2132992 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=raw
write -q -P PATTERN 576k 576k
L2 entry #9: 0x8000000000050000 00000000ffffffff
L2 entry #10: 0x8000000000060000 00000000ffffffff
L2 entry #11: 0x8000000000070000 00000000ffffffff
L2 entry #12: 0x8000000000080000 00000000ffffffff
L2 entry #13: 0x8000000000090000 00000000ffffffff
L2 entry #14: 0x80000000000a0000 00000000ffffffff
L2 entry #15: 0x80000000000b0000 00000000ffffffff
L2 entry #16: 0x80000000000c0000 00000000ffffffff
L2 entry #17: 0x80000000000d0000 00000000ffffffff
write -q -z -u 576k 192k
L2 entry #9: 0x0000000000000000 ffffffff00000000
L2 entry #10: 0x0000000000000000 ffffffff00000000
L2 entry #11: 0x0000000000000000 ffffffff00000000
write -q -z -u 800k 128k
L2 entry #12: 0x8000000000080000 ffff00000000ffff
L2 entry #13: 0x0000000000000000 ffffffff00000000
L2 entry #14: 0x80000000000a0000 0000ffffffff0000
write -q -z -u 991k 128k
L2 entry #15: 0x80000000000b0000 ffff00000000ffff
L2 entry #16: 0x0000000000000000 ffffffff00000000
L2 entry #17: 0x80000000000d0000 00007fffffff8000
### Zero + unmap 2: compressed clusters (backing file: yes) ###
write -q -c -P PATTERN 1152k 64k
L2 entry #18: 0x4000000000050000 0000000000000000
write -q -c -P PATTERN 1216k 64k
L2 entry #19: 0x4000000000060000 0000000000000000
write -q -c -P PATTERN 1280k 64k
L2 entry #20: 0x4000000000070000 0000000000000000
write -q -c -P PATTERN 1344k 64k
L2 entry #21: 0x4000000000090000 0000000000000000
write -q -c -P PATTERN 1408k 64k
L2 entry #22: 0x40000000000c0000 0000000000000000
write -q -c -P PATTERN 1472k 64k
L2 entry #23: 0x40000000000e0000 0000000000000000
write -q -c -P PATTERN 1536k 64k
L2 entry #24: 0x40000000000f0000 0000000000000000
write -q -c -P PATTERN 1600k 64k
L2 entry #25: 0x4000000000100000 0000000000000000
write -q -c -P PATTERN 1664k 64k
L2 entry #26: 0x4000000000110000 0000000000000000
write -q -c -P PATTERN 1728k 64k
L2 entry #27: 0x4000000000120000 0000000000000000
write -q -c -P PATTERN 1792k 64k
L2 entry #28: 0x4000000000130000 0000000000000000
write -q -z -u 1152k 192k
L2 entry #18: 0x0000000000000000 ffffffff00000000
L2 entry #19: 0x0000000000000000 ffffffff00000000
L2 entry #20: 0x0000000000000000 ffffffff00000000
write -q -z -u 1376k 128k
L2 entry #21: 0x8000000000050000 00000000ffffffff
L2 entry #22: 0x8000000000060000 00000000ffffffff
L2 entry #23: 0x8000000000070000 00000000ffffffff
write -q -z -u 1567k 129k
L2 entry #24: 0x8000000000090000 00000000ffffffff
L2 entry #25: 0x80000000000e0000 00000000ffffffff
L2 entry #26: 0x80000000000f0000 00000000ffffffff
write -q -z -u 1759k 128k
L2 entry #27: 0x80000000000c0000 ffff00000000ffff
L2 entry #28: 0x0000000000000000 ffffffff00000000
L2 entry #29: 0x8000000000100000 00007fff00008000
### Zero + unmap 1: allocated clusters (backing file: no) ###
Formatting 'TEST_DIR/t.IMGFMT.raw', fmt=raw size=2132992
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2132992
write -q -P PATTERN 576k 576k
L2 entry #9: 0x8000000000050000 00000000ffffffff
L2 entry #10: 0x8000000000060000 00000000ffffffff
L2 entry #11: 0x8000000000070000 00000000ffffffff
L2 entry #12: 0x8000000000080000 00000000ffffffff
L2 entry #13: 0x8000000000090000 00000000ffffffff
L2 entry #14: 0x80000000000a0000 00000000ffffffff
L2 entry #15: 0x80000000000b0000 00000000ffffffff
L2 entry #16: 0x80000000000c0000 00000000ffffffff
L2 entry #17: 0x80000000000d0000 00000000ffffffff
write -q -z -u 576k 192k
L2 entry #9: 0x0000000000000000 ffffffff00000000
L2 entry #10: 0x0000000000000000 ffffffff00000000
L2 entry #11: 0x0000000000000000 ffffffff00000000
write -q -z -u 800k 128k
L2 entry #12: 0x8000000000080000 ffff00000000ffff
L2 entry #13: 0x0000000000000000 ffffffff00000000
L2 entry #14: 0x80000000000a0000 0000ffffffff0000
write -q -z -u 991k 128k
L2 entry #15: 0x80000000000b0000 ffff00000000ffff
L2 entry #16: 0x0000000000000000 ffffffff00000000
L2 entry #17: 0x80000000000d0000 00007fffffff8000
### Zero + unmap 2: compressed clusters (backing file: no) ###
write -q -c -P PATTERN 1152k 64k
L2 entry #18: 0x4000000000050000 0000000000000000
write -q -c -P PATTERN 1216k 64k
L2 entry #19: 0x4000000000060000 0000000000000000
write -q -c -P PATTERN 1280k 64k
L2 entry #20: 0x4000000000070000 0000000000000000
write -q -c -P PATTERN 1344k 64k
L2 entry #21: 0x4000000000090000 0000000000000000
write -q -c -P PATTERN 1408k 64k
L2 entry #22: 0x40000000000c0000 0000000000000000
write -q -c -P PATTERN 1472k 64k
L2 entry #23: 0x40000000000e0000 0000000000000000
write -q -c -P PATTERN 1536k 64k
L2 entry #24: 0x40000000000f0000 0000000000000000
write -q -c -P PATTERN 1600k 64k
L2 entry #25: 0x4000000000100000 0000000000000000
write -q -c -P PATTERN 1664k 64k
L2 entry #26: 0x4000000000110000 0000000000000000
write -q -c -P PATTERN 1728k 64k
L2 entry #27: 0x4000000000120000 0000000000000000
write -q -c -P PATTERN 1792k 64k
L2 entry #28: 0x4000000000130000 0000000000000000
write -q -z -u 1152k 192k
L2 entry #18: 0x0000000000000000 ffffffff00000000
L2 entry #19: 0x0000000000000000 ffffffff00000000
L2 entry #20: 0x0000000000000000 ffffffff00000000
write -q -z -u 1376k 128k
L2 entry #21: 0x8000000000050000 00000000ffffffff
L2 entry #22: 0x8000000000060000 00000000ffffffff
L2 entry #23: 0x8000000000070000 00000000ffffffff
write -q -z -u 1567k 129k
L2 entry #24: 0x8000000000090000 00000000ffffffff
L2 entry #25: 0x80000000000e0000 00000000ffffffff
L2 entry #26: 0x80000000000f0000 00000000ffffffff
write -q -z -u 1759k 128k
L2 entry #27: 0x80000000000c0000 ffff00000000ffff
L2 entry #28: 0x0000000000000000 ffffffff00000000
L2 entry #29: 0x0000000000000000 0000ffff00000000
### Discarding clusters with non-zero bitmaps (backing file: yes) ###
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=raw
L2 entry #0: 0x0000000000000000 ffffffff00000000
L2 entry #1: 0x0000000000000000 ffffffff00000000
Image resized.
Image resized.
L2 entry #0: 0x0000000000000000 ffffffff00000000
L2 entry #1: 0x0000000000000000 ffffffff00000000
### Discarding clusters with non-zero bitmaps (backing file: no) ###
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
L2 entry #0: 0x0000000000000000 ffffffff00000000
L2 entry #1: 0x0000000000000000 ffffffff00000000
Image resized.
Image resized.
L2 entry #0: 0x0000000000000000 0000ffff00000000
L2 entry #1: 0x0000000000000000 0000000000000000
### Corrupted L2 entries - read test (allocated) ###
# 'cluster is zero' bit set on the standard cluster descriptor
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
L2 entry #0: 0x8000000000050001 0000000000000001
L2 entry #0: 0x8000000000050001 0000000000000001
# Both 'subcluster is zero' and 'subcluster is allocated' bits set
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
L2 entry #1: 0x8000000000060000 00000001ffffffff
qcow2: Marking image as corrupt: Invalid cluster entry found (L2 offset: 0x40000, L2 index: 0x1); further corruption events will be suppressed
read failed: Input/output error
### Corrupted L2 entries - read test (unallocated) ###
# 'cluster is zero' bit set on the standard cluster descriptor
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
L2 entry #0: 0x0000000000000001 0000000000000000
L2 entry #0: 0x0000000000000001 0000000000000000
# 'subcluster is allocated' bit set
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
L2 entry #0: 0x0000000000000000 0000000000000001
qcow2: Marking image as corrupt: Invalid cluster entry found (L2 offset: 0x40000, L2 index: 0); further corruption events will be suppressed
read failed: Input/output error
# Both 'subcluster is zero' and 'subcluster is allocated' bits set
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
L2 entry #1: 0x0000000000000000 0000000100000001
qcow2: Marking image as corrupt: Invalid cluster entry found (L2 offset: 0x40000, L2 index: 0x1); further corruption events will be suppressed
read failed: Input/output error
### Compressed cluster with subcluster bitmap != 0 - read test ###
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
L2 entry #0: 0x4000000000050000 0000000180000000
read 65536/65536 bytes at offset 0
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
L2 entry #0: 0x4000000000050000 0000000180000000
### Corrupted L2 entries - write test (allocated) ###
# 'cluster is zero' bit set on the standard cluster descriptor
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
L2 entry #0: 0x8000000000050001 0000000000000001
L2 entry #0: 0x8000000000050001 0000000000000001
# Both 'subcluster is zero' and 'subcluster is allocated' bits set
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
L2 entry #1: 0x8000000000060000 00000001ffffffff
qcow2: Marking image as corrupt: Invalid cluster entry found (L2 offset: 0x40000, L2 index: 0x1); further corruption events will be suppressed
write failed: Input/output error
### Corrupted L2 entries - write test (unallocated) ###
# 'cluster is zero' bit set on the standard cluster descriptor
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
L2 entry #0: 0x0000000000000001 0000000000000000
L2 entry #0: 0x8000000000060000 0000000000000001
# 'subcluster is allocated' bit set
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
L2 entry #0: 0x0000000000000000 0000000000000001
qcow2: Marking image as corrupt: Invalid cluster entry found (L2 offset: 0x40000, L2 index: 0); further corruption events will be suppressed
write failed: Input/output error
# Both 'subcluster is zero' and 'subcluster is allocated' bits set
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
L2 entry #1: 0x0000000000000000 0000000100000001
qcow2: Marking image as corrupt: Invalid cluster entry found (L2 offset: 0x40000, L2 index: 0x1); further corruption events will be suppressed
write failed: Input/output error
### Compressed cluster with subcluster bitmap != 0 - write test ###
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
L2 entry #0: 0x4000000000050000 0000000180000000
wrote 65536/65536 bytes at offset 0
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
L2 entry #0: 0x8000000000060000 00000000ffffffff
### Detect and repair unaligned clusters ###
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=raw size=131072
# Corrupted L2 entry, allocated subcluster #
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=131072 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=raw
ERROR offset=50200: Data cluster is not properly aligned; L2 entry corrupted.
ERROR cluster 6 refcount=0 reference=1
Rebuilding refcount structure
ERROR offset=50200: Data cluster is not properly aligned; L2 entry corrupted.
Repairing cluster 1 refcount=1 reference=0
Repairing cluster 2 refcount=1 reference=0
ERROR offset=50200: Data cluster is not properly aligned; L2 entry corrupted.
The following inconsistencies were found and repaired:
0 leaked clusters
1 corruptions
Double checking the fixed image now...
1 errors were found on the image.
Data may be corrupted, or further writes to the image may corrupt it.
qcow2: Marking image as corrupt: Cluster allocation offset 0x50200 unaligned (L2 offset: 0x40000, L2 index: 0); further corruption events will be suppressed
read failed: Input/output error
# Corrupted L2 entry, no allocated subclusters #
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=131072 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=raw
Repairing offset=50200: Preallocated cluster is not properly aligned; L2 entry corrupted.
Leaked cluster 5 refcount=1 reference=0
Repairing cluster 5 refcount=1 reference=0
The following inconsistencies were found and repaired:
1 leaked clusters
1 corruptions
Double checking the fixed image now...
No errors were found on the image.
### Image creation options ###
# cluster_size < 16k
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
qemu-img: TEST_DIR/t.IMGFMT: Extended L2 entries are only supported with cluster sizes of at least 16384 bytes
# backing file and preallocation=metadata
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=raw size=1048576
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=524288 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=raw preallocation=metadata
Image resized.
read 524288/524288 bytes at offset 0
512 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 524288/524288 bytes at offset 524288
512 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
Offset Length Mapped to File
0 0x80000 0 TEST_DIR/t.qcow2.base
# backing file and preallocation=falloc
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=524288 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=raw preallocation=falloc
Image resized.
read 524288/524288 bytes at offset 0
512 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 524288/524288 bytes at offset 524288
512 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
Offset Length Mapped to File
0 0x80000 0 TEST_DIR/t.qcow2.base
# backing file and preallocation=full
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=524288 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=raw preallocation=full
Image resized.
read 524288/524288 bytes at offset 0
512 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 524288/524288 bytes at offset 524288
512 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
Offset Length Mapped to File
0 0x80000 0 TEST_DIR/t.qcow2.base
### Image resizing with preallocation and backing files ###
# resize --preallocation=metadata
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=515072 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=raw
Image resized.
read 515072/515072 bytes at offset 0
503 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 522240/522240 bytes at offset 515072
510 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
# resize --preallocation=falloc
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=515072 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=raw
Image resized.
read 515072/515072 bytes at offset 0
503 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 522240/522240 bytes at offset 515072
510 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
# resize --preallocation=full
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=515072 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=raw
Image resized.
read 515072/515072 bytes at offset 0
503 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 522240/522240 bytes at offset 515072
510 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
### Image resizing with preallocation without backing files ###
# resize --preallocation=metadata
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=515072
wrote 515072/515072 bytes at offset 0
503 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
Image resized.
read 515072/515072 bytes at offset 0
503 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 522240/522240 bytes at offset 515072
510 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
# resize --preallocation=falloc
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=515072
wrote 515072/515072 bytes at offset 0
503 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
Image resized.
read 515072/515072 bytes at offset 0
503 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 522240/522240 bytes at offset 515072
510 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
# resize --preallocation=full
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=515072
wrote 515072/515072 bytes at offset 0
503 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
Image resized.
read 515072/515072 bytes at offset 0
503 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 522240/522240 bytes at offset 515072
510 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
### qemu-img measure ###
# 512MB, extended_l2=off
required size: 327680
fully allocated size: 537198592
# 512MB, extended_l2=on
required size: 393216
fully allocated size: 537264128
# 16K clusters, 64GB, extended_l2=off
required size: 42008576
fully allocated size: 68761485312
# 16K clusters, 64GB, extended_l2=on
required size: 75579392
fully allocated size: 68795056128
# 8k clusters
qemu-img: Extended L2 entries are only supported with cluster sizes of at least 16384 bytes
# 1024 TB
required size: 309285027840
fully allocated size: 1126209191870464
# 1025 TB
qemu-img: The image size is too large (try using a larger cluster size)
### qemu-img amend ###
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
qemu-img: Invalid parameter 'extended_l2'
This option is only supported for image creation
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
qemu-img: Invalid parameter 'extended_l2'
This option is only supported for image creation
### Test copy-on-write on an image with snapshots ###
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
L2 entry #0: 0x8000000000050000 0000008000042000
L2 entry #1: 0x8000000000060000 0000008000042000
L2 entry #2: 0x8000000000070000 0000008000042000
L2 entry #3: 0x8000000000080000 0000008000042000
L2 entry #4: 0x8000000000090000 0000008000042000
L2 entry #5: 0x80000000000a0000 0000008000042000
L2 entry #6: 0x80000000000b0000 0000008000042000
L2 entry #7: 0x80000000000c0000 0000008000042000
L2 entry #8: 0x80000000000d0000 0000008000042000
L2 entry #9: 0x80000000000e0000 0000008000042000
L2 entry #0: 0x8000000000120000 000000800007e000
L2 entry #1: 0x8000000000130000 000000800007fc00
L2 entry #2: 0x8000000000140000 00000080001fe000
L2 entry #3: 0x8000000000150000 000000800007e000
L2 entry #4: 0x8000000000160000 000000000007ff80
L2 entry #5: 0x8000000000170000 000000000007ffff
L2 entry #6: 0x00000000000b0000 0001808000042000
L2 entry #7: 0x00000000000c0000 0000208000040000
L2 entry #8: 0x8000000000180000 000000800007e000
L2 entry #9: 0x00000000000e0000 000000c000042000
### Test concurrent requests ###
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
blkdebug: Suspended request 'A'
blkdebug: Resuming request 'A'
wrote 2048/2048 bytes at offset 30720
2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 2048/2048 bytes at offset OFFSET
2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 2048/2048 bytes at offset OFFSET
2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
### Rebase of qcow2 images with subclusters ###
### Preservation of unallocated holes after rebase ###
# create backing chain
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=1048576
Formatting 'TEST_DIR/t.IMGFMT.mid', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
Formatting 'TEST_DIR/t.IMGFMT.top', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.mid backing_fmt=IMGFMT
# fill old backing with data (separate subclusters within cluster)
wrote 32768/32768 bytes at offset 32768
32 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 32768/32768 bytes at offset 983040
32 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
# rebase topmost image onto the new backing
# verify that data is read the same before and after rebase
read 32768/32768 bytes at offset 0
32 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 32768/32768 bytes at offset 32768
32 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 917504/917504 bytes at offset 65536
896 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 32768/32768 bytes at offset 983040
32 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 32768/32768 bytes at offset 1015808
32 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
# verify that only selected subclusters remain allocated
Offset Length Mapped to File
0x8000 0x8000 0x508000 TEST_DIR/t.qcow2.top
0xf0000 0x8000 0x5f0000 TEST_DIR/t.qcow2.top
# verify image bitmap
L2 entry #0: 0x8000000000500000 0000000040000002
### Rebase with compression for images with subclusters ###
# create backing chain
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=3145728
Formatting 'TEST_DIR/t.IMGFMT.mid', fmt=IMGFMT size=3145728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
Formatting 'TEST_DIR/t.IMGFMT.top', fmt=IMGFMT size=3145728 backing_file=TEST_DIR/t.IMGFMT.mid backing_fmt=IMGFMT
# fill old and new backing with data
wrote 1048576/1048576 bytes at offset 1048576
1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 32768/32768 bytes at offset 1015808
32 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 32768/32768 bytes at offset 2097152
32 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
# rebase topmost image onto the new backing, with compression
# verify that the 1st and 3rd clusters've become compressed
[{ "start": 0, "length": 1048576, "depth": 0, "present": true, "zero": false, "data": true, "compressed": true},
{ "start": 1048576, "length": 1048576, "depth": 1, "present": true, "zero": false, "data": true, "compressed": false, "offset": 5242880},
{ "start": 2097152, "length": 1048576, "depth": 0, "present": true, "zero": false, "data": true, "compressed": true}]
# verify that data is read the same before and after rebase
read 32768/32768 bytes at offset 1015808
32 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 1048576/1048576 bytes at offset 1048576
1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 32768/32768 bytes at offset 2097152
32 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
# verify image bitmap
L2 entry #0: 0x4008000000500000 0000000000000000
L2 entry #1: 0x0000000000000000 0000000000000000
L2 entry #2: 0x400800000050040b 0000000000000000
*** done