| QA output created by 024 | 
 | Creating backing file | 
 |  | 
 | Formatting 'TEST_DIR/t.IMGFMT.base_old', fmt=IMGFMT size=1073741824 | 
 | === IO: pattern 0x11 | 
 | 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 131072 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | wrote 65536/65536 bytes at offset 262144 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | wrote 65536/65536 bytes at offset 393216 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | wrote 65536/65536 bytes at offset 524288 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | wrote 65536/65536 bytes at offset 655360 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | wrote 65536/65536 bytes at offset 786432 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | wrote 65536/65536 bytes at offset 917504 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | Creating new backing file | 
 |  | 
 | Formatting 'TEST_DIR/t.IMGFMT.base_new', fmt=IMGFMT size=1073741824 | 
 | === IO: pattern 0x22 | 
 | wrote 131072/131072 bytes at offset 0 | 
 | 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | wrote 131072/131072 bytes at offset 262144 | 
 | 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | wrote 131072/131072 bytes at offset 524288 | 
 | 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | wrote 131072/131072 bytes at offset 786432 | 
 | 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | Creating COW image | 
 |  | 
 | Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 backing_file=TEST_DIR/t.IMGFMT.base_old backing_fmt=IMGFMT | 
 | === IO: pattern 0x33 | 
 | wrote 262144/262144 bytes at offset 0 | 
 | 256 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x33 | 
 | wrote 262144/262144 bytes at offset 524288 | 
 | 256 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | Read before the rebase to make sure everything is set up correctly | 
 |  | 
 | === IO: pattern 0x33 | 
 | read 65536/65536 bytes at offset 0 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x33 | 
 | read 65536/65536 bytes at offset 65536 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x33 | 
 | read 65536/65536 bytes at offset 131072 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x33 | 
 | read 65536/65536 bytes at offset 196608 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x11 | 
 | read 65536/65536 bytes at offset 262144 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x00 | 
 | read 65536/65536 bytes at offset 327680 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x11 | 
 | read 65536/65536 bytes at offset 393216 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x00 | 
 | read 65536/65536 bytes at offset 458752 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x33 | 
 | read 65536/65536 bytes at offset 524288 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x33 | 
 | read 65536/65536 bytes at offset 589824 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x33 | 
 | read 65536/65536 bytes at offset 655360 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x33 | 
 | read 65536/65536 bytes at offset 720896 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x11 | 
 | read 65536/65536 bytes at offset 786432 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x00 | 
 | read 65536/65536 bytes at offset 851968 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x11 | 
 | read 65536/65536 bytes at offset 917504 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x00 | 
 | read 65536/65536 bytes at offset 983040 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 |  | 
 | Rebase and test again | 
 |  | 
 | === IO: pattern 0x33 | 
 | read 65536/65536 bytes at offset 0 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x33 | 
 | read 65536/65536 bytes at offset 65536 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x33 | 
 | read 65536/65536 bytes at offset 131072 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x33 | 
 | read 65536/65536 bytes at offset 196608 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x11 | 
 | read 65536/65536 bytes at offset 262144 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x00 | 
 | read 65536/65536 bytes at offset 327680 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x11 | 
 | read 65536/65536 bytes at offset 393216 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x00 | 
 | read 65536/65536 bytes at offset 458752 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x33 | 
 | read 65536/65536 bytes at offset 524288 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x33 | 
 | read 65536/65536 bytes at offset 589824 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x33 | 
 | read 65536/65536 bytes at offset 655360 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x33 | 
 | read 65536/65536 bytes at offset 720896 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x11 | 
 | read 65536/65536 bytes at offset 786432 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x00 | 
 | read 65536/65536 bytes at offset 851968 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x11 | 
 | read 65536/65536 bytes at offset 917504 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | === IO: pattern 0x00 | 
 | read 65536/65536 bytes at offset 983040 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 |  | 
 | === Test rebase in a subdirectory of the working directory === | 
 |  | 
 | Formatting 'TEST_DIR/subdir/t.IMGFMT.base_old', fmt=IMGFMT size=1048576 | 
 | Formatting 'TEST_DIR/subdir/t.IMGFMT.base_new', fmt=IMGFMT size=1048576 | 
 | Formatting 'TEST_DIR/subdir/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=t.IMGFMT.base_old backing_fmt=IMGFMT | 
 |  | 
 | wrote 131072/131072 bytes at offset 0 | 
 | 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | wrote 65536/65536 bytes at offset 196608 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | wrote 131072/131072 bytes at offset 65536 | 
 | 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | wrote 65536/65536 bytes at offset 196608 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 |  | 
 | backing file: t.IMGFMT.base_new (actual path: TEST_DIR/subdir/t.IMGFMT.base_new) | 
 |  | 
 | 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) | 
 |  | 
 | Offset          Length          File | 
 | 0               0x30000         TEST_DIR/subdir/t.IMGFMT | 
 | 0x30000         0x10000         TEST_DIR/subdir/t.IMGFMT.base_new | 
 |  | 
 | === Test rebase within one backing chain === | 
 |  | 
 | Creating backing chain | 
 |  | 
 | Formatting 'TEST_DIR/subdir/t.IMGFMT.base_new', fmt=IMGFMT size=327680 | 
 | Formatting 'TEST_DIR/subdir/t.IMGFMT.base_old', fmt=IMGFMT size=262144 backing_file=TEST_DIR/subdir/t.IMGFMT.base_new backing_fmt=IMGFMT | 
 | Formatting 'TEST_DIR/subdir/t.IMGFMT', fmt=IMGFMT size=327680 backing_file=TEST_DIR/subdir/t.IMGFMT.base_old backing_fmt=IMGFMT | 
 |  | 
 | Fill backing files with data | 
 |  | 
 | wrote 327680/327680 bytes at offset 0 | 
 | 320 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | wrote 262144/262144 bytes at offset 0 | 
 | 256 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 |  | 
 | Check the last cluster is zeroed in overlay before the rebase | 
 |  | 
 | read 65536/65536 bytes at offset 262144 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 |  | 
 | Rebase onto another image in the same chain | 
 |  | 
 | Verify that data is read the same before and after rebase | 
 |  | 
 | read 262144/262144 bytes at offset 0 | 
 | 256 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | read 65536/65536 bytes at offset 262144 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 |  | 
 |  | 
 | === Test rebase with different cluster sizes === | 
 |  | 
 | Creating backing chain | 
 |  | 
 | Formatting 'TEST_DIR/subdir/t.IMGFMT.base_new', fmt=IMGFMT size=393216 | 
 | Formatting 'TEST_DIR/subdir/t.IMGFMT.base_old', fmt=IMGFMT size=393216 backing_file=TEST_DIR/subdir/t.IMGFMT.base_new backing_fmt=IMGFMT | 
 | Formatting 'TEST_DIR/subdir/t.IMGFMT', fmt=IMGFMT size=393216 backing_file=TEST_DIR/subdir/t.IMGFMT.base_old backing_fmt=IMGFMT | 
 | image: TEST_DIR/subdir/t.IMGFMT | 
 | file format: IMGFMT | 
 | virtual size: 384 KiB (393216 bytes) | 
 | cluster_size: 131072 | 
 | backing file: TEST_DIR/subdir/t.IMGFMT.base_old | 
 | backing file format: IMGFMT | 
 |  | 
 | Fill backing files with data | 
 |  | 
 | wrote 65536/65536 bytes at offset 65536 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | wrote 65536/65536 bytes at offset 262144 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 |  | 
 | Rebase onto another image in the same chain | 
 |  | 
 | Verify that data is read the same before and after rebase | 
 |  | 
 | 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 131072/131072 bytes at offset 131072 | 
 | 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | read 65536/65536 bytes at offset 262144 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 | read 65536/65536 bytes at offset 327680 | 
 | 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | 
 |  | 
 | Verify that untouched cluster remains unallocated | 
 |  | 
 | Offset          Length          File | 
 | 0               0x20000         TEST_DIR/subdir/t.IMGFMT | 
 | 0x40000         0x20000         TEST_DIR/subdir/t.IMGFMT | 
 |  | 
 | *** done |