QA output created by 061

=== Testing version downgrade with zero expansion ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
wrote 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
magic                     0x514649fb
version                   3
backing_file_offset       0x0
backing_file_size         0x0
cluster_bits              16
size                      67108864
crypt_method              0
l1_size                   1
l1_table_offset           0x30000
refcount_table_offset     0x10000
refcount_table_clusters   1
nb_snapshots              0
snapshot_offset           0x0
incompatible_features     []
compatible_features       [0]
autoclear_features        []
refcount_order            4
header_length             112

Header extension:
magic                     0x6803f857 (Feature table)
length                    384
data                      <binary>

magic                     0x514649fb
version                   2
backing_file_offset       0x0
backing_file_size         0x0
cluster_bits              16
size                      67108864
crypt_method              0
l1_size                   1
l1_table_offset           0x30000
refcount_table_offset     0x10000
refcount_table_clusters   1
nb_snapshots              0
snapshot_offset           0x0
incompatible_features     []
compatible_features       []
autoclear_features        []
refcount_order            4
header_length             72

read 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
No errors were found on the image.

=== Testing version downgrade with zero expansion and 4K cache entries ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
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 33554432
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
128 KiB (0x20000) bytes     allocated at offset 0 bytes (0x0)
31.875 MiB (0x1fe0000) bytes not allocated at offset 128 KiB (0x20000)
128 KiB (0x20000) bytes     allocated at offset 32 MiB (0x2000000)
31.875 MiB (0x1fe0000) bytes not allocated at offset 32.125 MiB (0x2020000)
magic                     0x514649fb
version                   3
backing_file_offset       0x0
backing_file_size         0x0
cluster_bits              16
size                      67108864
crypt_method              0
l1_size                   1
l1_table_offset           0x30000
refcount_table_offset     0x10000
refcount_table_clusters   1
nb_snapshots              0
snapshot_offset           0x0
incompatible_features     []
compatible_features       [0]
autoclear_features        []
refcount_order            4
header_length             112

Header extension:
magic                     0x6803f857 (Feature table)
length                    384
data                      <binary>

magic                     0x514649fb
version                   2
backing_file_offset       0x0
backing_file_size         0x0
cluster_bits              16
size                      67108864
crypt_method              0
l1_size                   1
l1_table_offset           0x30000
refcount_table_offset     0x10000
refcount_table_clusters   1
nb_snapshots              0
snapshot_offset           0x0
incompatible_features     []
compatible_features       []
autoclear_features        []
refcount_order            4
header_length             72

read 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 131072/131072 bytes at offset 33554432
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
64 MiB (0x4000000) bytes not allocated at offset 0 bytes (0x0)
No errors were found on the image.

=== Testing dirty version downgrade ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
wrote 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
./common.rc: Killed                  ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" )
magic                     0x514649fb
version                   3
backing_file_offset       0x0
backing_file_size         0x0
cluster_bits              16
size                      67108864
crypt_method              0
l1_size                   1
l1_table_offset           0x30000
refcount_table_offset     0x10000
refcount_table_clusters   1
nb_snapshots              0
snapshot_offset           0x0
incompatible_features     [0]
compatible_features       [0]
autoclear_features        []
refcount_order            4
header_length             112

Header extension:
magic                     0x6803f857 (Feature table)
length                    384
data                      <binary>

ERROR cluster 5 refcount=0 reference=1
ERROR cluster 6 refcount=0 reference=1
Rebuilding refcount structure
Repairing cluster 1 refcount=1 reference=0
Repairing cluster 2 refcount=1 reference=0
magic                     0x514649fb
version                   2
backing_file_offset       0x0
backing_file_size         0x0
cluster_bits              16
size                      67108864
crypt_method              0
l1_size                   1
l1_table_offset           0x30000
refcount_table_offset     0x80000
refcount_table_clusters   1
nb_snapshots              0
snapshot_offset           0x0
incompatible_features     []
compatible_features       []
autoclear_features        []
refcount_order            4
header_length             72

read 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
No errors were found on the image.

=== Testing version downgrade with unknown compat/autoclear flags ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
magic                     0x514649fb
version                   3
backing_file_offset       0x0
backing_file_size         0x0
cluster_bits              16
size                      67108864
crypt_method              0
l1_size                   1
l1_table_offset           0x30000
refcount_table_offset     0x10000
refcount_table_clusters   1
nb_snapshots              0
snapshot_offset           0x0
incompatible_features     []
compatible_features       [42]
autoclear_features        [42]
refcount_order            4
header_length             112

Header extension:
magic                     0x6803f857 (Feature table)
length                    384
data                      <binary>

magic                     0x514649fb
version                   2
backing_file_offset       0x0
backing_file_size         0x0
cluster_bits              16
size                      67108864
crypt_method              0
l1_size                   1
l1_table_offset           0x30000
refcount_table_offset     0x10000
refcount_table_clusters   1
nb_snapshots              0
snapshot_offset           0x0
incompatible_features     []
compatible_features       []
autoclear_features        []
refcount_order            4
header_length             72

No errors were found on the image.

=== Testing version upgrade and resize ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
wrote 65536/65536 bytes at offset 44040192
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
magic                     0x514649fb
version                   2
backing_file_offset       0x0
backing_file_size         0x0
cluster_bits              16
size                      67108864
crypt_method              0
l1_size                   1
l1_table_offset           0x30000
refcount_table_offset     0x10000
refcount_table_clusters   1
nb_snapshots              0
snapshot_offset           0x0
incompatible_features     []
compatible_features       []
autoclear_features        []
refcount_order            4
header_length             72

magic                     0x514649fb
version                   3
backing_file_offset       0x0
backing_file_size         0x0
cluster_bits              16
size                      134217728
crypt_method              0
l1_size                   1
l1_table_offset           0x30000
refcount_table_offset     0x10000
refcount_table_clusters   1
nb_snapshots              0
snapshot_offset           0x0
incompatible_features     []
compatible_features       [0]
autoclear_features        []
refcount_order            4
header_length             112

Header extension:
magic                     0x6803f857 (Feature table)
length                    384
data                      <binary>

read 65536/65536 bytes at offset 44040192
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
No errors were found on the image.

=== Testing resize with snapshots ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432
wrote 65536/65536 bytes at offset 25165824
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
qemu-img: Can't resize a v2 image which has snapshots
version                   2
size                      33554432
nb_snapshots              1
version                   3
size                      134217728
nb_snapshots              1
Image resized.
version                   3
size                      67108864
nb_snapshots              2
qemu-img: Internal snapshots prevent downgrade of image
version                   3
size                      33554432
nb_snapshots              2
version                   3
size                      134217728
nb_snapshots              2
version                   2
size                      33554432
nb_snapshots              1
No errors were found on the image.

=== Testing dirty lazy_refcounts=off ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
wrote 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
./common.rc: Killed                  ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" )
magic                     0x514649fb
version                   3
backing_file_offset       0x0
backing_file_size         0x0
cluster_bits              16
size                      67108864
crypt_method              0
l1_size                   1
l1_table_offset           0x30000
refcount_table_offset     0x10000
refcount_table_clusters   1
nb_snapshots              0
snapshot_offset           0x0
incompatible_features     [0]
compatible_features       [0]
autoclear_features        []
refcount_order            4
header_length             112

Header extension:
magic                     0x6803f857 (Feature table)
length                    384
data                      <binary>

ERROR cluster 5 refcount=0 reference=1
ERROR cluster 6 refcount=0 reference=1
Rebuilding refcount structure
Repairing cluster 1 refcount=1 reference=0
Repairing cluster 2 refcount=1 reference=0
magic                     0x514649fb
version                   3
backing_file_offset       0x0
backing_file_size         0x0
cluster_bits              16
size                      67108864
crypt_method              0
l1_size                   1
l1_table_offset           0x30000
refcount_table_offset     0x80000
refcount_table_clusters   1
nb_snapshots              0
snapshot_offset           0x0
incompatible_features     []
compatible_features       []
autoclear_features        []
refcount_order            4
header_length             112

Header extension:
magic                     0x6803f857 (Feature table)
length                    384
data                      <binary>

read 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
No errors were found on the image.

=== Testing backing file ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
wrote 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
read 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
qemu-img: Cannot amend the backing file
You can use 'qemu-img rebase' instead.
read 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
No errors were found on the image.

=== Testing invalid configurations ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
qemu-img: Lazy refcounts only supported with compatibility level 1.1 and above (use compat=1.1 or greater)
qemu-img: Lazy refcounts only supported with compatibility level 1.1 and above (use compat=1.1 or greater)
qemu-img: Unknown compatibility level 0.42
qemu-img: Invalid parameter 'foo'
qemu-img: Invalid parameter 'cluster_size'
This option is only supported for image creation
qemu-img: Invalid parameter 'encryption'
This option is only supported for image creation
qemu-img: Invalid parameter 'preallocation'
This option is only supported for image creation

=== Testing correct handling of unset value ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
Should work:
Should not work:
qemu-img: Invalid parameter 'cluster_size'
This option is only supported for image creation

=== Testing zero expansion on inactive clusters ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
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 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
No errors were found on the image.
read 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
No errors were found on the image.
read 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)

=== Testing zero expansion on shared L2 table ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
wrote 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
No errors were found on the image.
read 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
No errors were found on the image.
read 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)

=== Testing zero expansion on backed image ===

Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
wrote 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
read 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 0
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
No errors were found on the image.
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)

=== Testing zero expansion on backed inactive clusters ===

Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
wrote 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
wrote 65536/65536 bytes at offset 0
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
No errors were found on the image.
read 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
No errors were found on the image.
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)

=== Testing zero expansion on backed image with shared L2 table ===

Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
wrote 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base 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)
No errors were found on the image.
read 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
No errors were found on the image.
read 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)

=== Testing preallocated zero expansion on full image ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
wrote 67108864/67108864 bytes at offset 0
64 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 67108864/67108864 bytes at offset 0
64 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
No errors were found on the image.
read 67108864/67108864 bytes at offset 0
64 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)

=== Testing progress report without snapshot ===

Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=4294967296
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=4294967296 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
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 1073741824
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 65536/65536 bytes at offset 2147483648
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 65536/65536 bytes at offset 3221225472
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
    (0.00/100%)    (12.50/100%)    (25.00/100%)    (37.50/100%)    (50.00/100%)    (62.50/100%)    (75.00/100%)    (87.50/100%)    (100.00/100%)    (100.00/100%)
No errors were found on the image.

=== Testing progress report with snapshot ===

Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=4294967296
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=4294967296 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
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 1073741824
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 65536/65536 bytes at offset 2147483648
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 65536/65536 bytes at offset 3221225472
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
    (0.00/100%)    (6.25/100%)    (12.50/100%)    (18.75/100%)    (25.00/100%)    (31.25/100%)    (37.50/100%)    (43.75/100%)    (50.00/100%)    (56.25/100%)    (62.50/100%)    (68.75/100%)    (75.00/100%)    (81.25/100%)    (87.50/100%)    (93.75/100%)    (100.00/100%)    (100.00/100%)
No errors were found on the image.

=== Testing version downgrade with external data file ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 data_file=TEST_DIR/t.IMGFMT.data
qemu-img: Cannot downgrade an image with a data file
image: TEST_DIR/t.IMGFMT
file format: IMGFMT
virtual size: 64 MiB (67108864 bytes)
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    data file: TEST_DIR/t.IMGFMT.data
    data file raw: false
    corrupt: false
    extended l2: false
No errors were found on the image.

=== Testing version downgrade with extended L2 entries ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
qemu-img: Cannot downgrade an image with incompatible features 0x10 set

=== Try changing the external data file ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
qemu-img: data-file can only be set for images that use an external data file

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 data_file=TEST_DIR/t.IMGFMT.data
qemu-img: Could not open 'TEST_DIR/t.IMGFMT': Could not open 'foo': No such file or directory
image: TEST_DIR/t.IMGFMT
file format: IMGFMT
virtual size: 64 MiB (67108864 bytes)
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    data file: foo
    data file raw: false
    corrupt: false
    extended l2: false

qemu-img: Could not open 'TEST_DIR/t.IMGFMT': 'data-file' is required for this image
image: TEST_DIR/t.IMGFMT
file format: IMGFMT
virtual size: 64 MiB (67108864 bytes)
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    data file raw: false
    corrupt: false
    extended l2: false

=== Clearing and setting data-file-raw ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 data_file=TEST_DIR/t.IMGFMT.data data_file_raw=on
image: TEST_DIR/t.IMGFMT
file format: IMGFMT
virtual size: 64 MiB (67108864 bytes)
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    data file: TEST_DIR/t.IMGFMT.data
    data file raw: true
    corrupt: false
    extended l2: false
No errors were found on the image.
image: TEST_DIR/t.IMGFMT
file format: IMGFMT
virtual size: 64 MiB (67108864 bytes)
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    data file: TEST_DIR/t.IMGFMT.data
    data file raw: false
    corrupt: false
    extended l2: false
No errors were found on the image.
qemu-img: data-file-raw cannot be set on existing images
image: TEST_DIR/t.IMGFMT
file format: IMGFMT
virtual size: 64 MiB (67108864 bytes)
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    data file: TEST_DIR/t.IMGFMT.data
    data file raw: false
    corrupt: false
    extended l2: false
No errors were found on the image.
*** done
