ca1dcc9138
Apparently 'qemu-img info' doesn't report the backing file format field
for qed (as it does for qcow2):
$ qemu-img create -f qed base.qed 1M && qemu-img create -f qed -b base.qed -F qed top.qed 1M
$ qemu-img create -f qcow2 base.qcow2 1M && qemu-img create -f qcow2 -b base.qcow2 -F qcow2 top.qcow2 1M
$ qemu-img info top.qed | grep 'backing file format'
$ qemu-img info top.qcow2 | grep 'backing file format'
backing file format: qcow2
This leads to the 024 test failure with -qed. Let's just filter the
field out and exclude it from the output.
This is a fixup for the commit f93e65ee51
("iotests/{024, 271}: add
testcases for qemu-img rebase").
Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Message-ID: <20240730094701.790624-1-andrey.drobyshev@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
247 lines
9.4 KiB
Plaintext
247 lines
9.4 KiB
Plaintext
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
|