| 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 |
| |
| 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 |