| QA output created by qemu-img-bitmaps |
| |
| === Initial image setup === |
| |
| Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=10485760 |
| wrote 1048576/1048576 bytes at offset 3145728 |
| 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
| Formatting 'TEST_DIR/t.IMGFMT.orig', fmt=IMGFMT size=10485760 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT |
| wrote 1048576/1048576 bytes at offset 0 |
| 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
| wrote 1048576/1048576 bytes at offset 3145728 |
| 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
| wrote 1048576/1048576 bytes at offset 1048576 |
| 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
| wrote 1048576/1048576 bytes at offset 2097152 |
| 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
| |
| === Bitmap preservation not possible to non-qcow2 === |
| |
| qemu-img: Format driver 'raw' does not support bitmaps |
| |
| === Convert with bitmap preservation === |
| |
| image: TEST_DIR/t.IMGFMT |
| file format: IMGFMT |
| virtual size: 10 MiB (10485760 bytes) |
| cluster_size: 65536 |
| Format specific information: |
| bitmaps: |
| [0]: |
| flags: |
| name: b1 |
| granularity: 524288 |
| [1]: |
| flags: |
| [0]: auto |
| name: b2 |
| granularity: 65536 |
| corrupt: false |
| image: TEST_DIR/t.IMGFMT |
| file format: IMGFMT |
| virtual size: 10 MiB (10485760 bytes) |
| cluster_size: 65536 |
| Format specific information: |
| bitmaps: |
| [0]: |
| flags: |
| name: b1 |
| granularity: 524288 |
| [1]: |
| flags: |
| [0]: auto |
| name: b2 |
| granularity: 65536 |
| [2]: |
| flags: |
| name: b0 |
| granularity: 65536 |
| corrupt: false |
| |
| === Merge from top layer into backing image === |
| |
| image: TEST_DIR/t.IMGFMT |
| file format: IMGFMT |
| virtual size: 10 MiB (10485760 bytes) |
| cluster_size: 65536 |
| backing file: TEST_DIR/t.IMGFMT.base |
| backing file format: IMGFMT |
| Format specific information: |
| bitmaps: |
| [0]: |
| flags: |
| name: b1 |
| granularity: 524288 |
| [1]: |
| flags: |
| [0]: auto |
| name: b2 |
| granularity: 65536 |
| [2]: |
| flags: |
| name: b0 |
| granularity: 65536 |
| corrupt: false |
| |
| image: TEST_DIR/t.IMGFMT.base |
| file format: IMGFMT |
| virtual size: 10 MiB (10485760 bytes) |
| cluster_size: 65536 |
| Format specific information: |
| bitmaps: |
| [0]: |
| flags: |
| [0]: auto |
| name: b0 |
| granularity: 65536 |
| [1]: |
| flags: |
| [0]: auto |
| name: b3 |
| granularity: 65536 |
| corrupt: false |
| |
| === Check bitmap contents === |
| |
| [{ "start": 0, "length": 3145728, "depth": 0, "present": true, "zero": false, "data": true, "offset": OFFSET}, |
| { "start": 3145728, "length": 1048576, "depth": 0, "present": false, "zero": false, "data": false}, |
| { "start": 4194304, "length": 6291456, "depth": 0, "present": true, "zero": false, "data": true, "offset": OFFSET}] |
| [{ "start": 0, "length": 1048576, "depth": 0, "present": true, "zero": false, "data": true, "offset": OFFSET}, |
| { "start": 1048576, "length": 1048576, "depth": 0, "present": false, "zero": false, "data": false}, |
| { "start": 2097152, "length": 8388608, "depth": 0, "present": true, "zero": false, "data": true, "offset": OFFSET}] |
| [{ "start": 0, "length": 2097152, "depth": 0, "present": true, "zero": false, "data": true, "offset": OFFSET}, |
| { "start": 2097152, "length": 1048576, "depth": 0, "present": false, "zero": false, "data": false}, |
| { "start": 3145728, "length": 7340032, "depth": 0, "present": true, "zero": false, "data": true, "offset": OFFSET}] |
| [{ "start": 0, "length": 2097152, "depth": 0, "present": true, "zero": false, "data": true, "offset": OFFSET}, |
| { "start": 2097152, "length": 1048576, "depth": 0, "present": false, "zero": false, "data": false}, |
| { "start": 3145728, "length": 7340032, "depth": 0, "present": true, "zero": false, "data": true, "offset": OFFSET}] |
| |
| === Check handling of inconsistent bitmap === |
| |
| image: TEST_DIR/t.IMGFMT |
| file format: IMGFMT |
| virtual size: 10 MiB (10485760 bytes) |
| cluster_size: 65536 |
| backing file: TEST_DIR/t.IMGFMT.base |
| backing file format: IMGFMT |
| Format specific information: |
| bitmaps: |
| [0]: |
| flags: |
| [0]: in-use |
| [1]: auto |
| name: b2 |
| granularity: 65536 |
| [1]: |
| flags: |
| [0]: in-use |
| name: b0 |
| granularity: 65536 |
| [2]: |
| flags: |
| [0]: auto |
| name: b4 |
| granularity: 65536 |
| corrupt: false |
| |
| qemu-img: Cannot copy inconsistent bitmap 'b0' |
| Try --skip-broken-bitmaps, or use 'qemu-img bitmap --remove' to delete it |
| qemu-img: Could not open 'TEST_DIR/t.IMGFMT.copy': Could not open 'TEST_DIR/t.IMGFMT.copy': No such file or directory |
| |
| qemu-img: warning: Skipping inconsistent bitmap 'b0' |
| qemu-img: warning: Skipping inconsistent bitmap 'b2' |
| image: TEST_DIR/t.IMGFMT.copy |
| file format: IMGFMT |
| virtual size: 10 MiB (10485760 bytes) |
| cluster_size: 65536 |
| Format specific information: |
| bitmaps: |
| [0]: |
| flags: |
| [0]: auto |
| name: b4 |
| granularity: 65536 |
| corrupt: false |
| |
| image: TEST_DIR/t.IMGFMT.copy |
| file format: IMGFMT |
| virtual size: 10 MiB (10485760 bytes) |
| cluster_size: 65536 |
| Format specific information: |
| bitmaps: |
| [0]: |
| flags: |
| [0]: auto |
| name: b4 |
| granularity: 65536 |
| [1]: |
| flags: |
| [0]: auto |
| name: b2 |
| granularity: 65536 |
| corrupt: false |
| *** done |