mirror of https://github.com/xqemu/xqemu.git
iotests: Test downgrading an image using a small L2 slice size
expand_zero_clusters_in_l1() is used when downgrading qcow2 images from v3 to v2 (compat=0.10). This is one of the functions that needed more changes to support L2 slices, so this patch extends iotest 061 to test downgrading a qcow2 image using a smaller slice size. Signed-off-by: Alberto Garcia <berto@igalia.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Message-id: 3e5662dce5e4926c8fabbad4c0b9142b2a506dd4.1517840877.git.berto@igalia.com Signed-off-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
parent
4450c39625
commit
2ecec91110
|
@ -53,6 +53,22 @@ $PYTHON qcow2.py "$TEST_IMG" dump-header
|
||||||
$QEMU_IO -c "read -P 0 0 128k" "$TEST_IMG" | _filter_qemu_io
|
$QEMU_IO -c "read -P 0 0 128k" "$TEST_IMG" | _filter_qemu_io
|
||||||
_check_test_img
|
_check_test_img
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "=== Testing version downgrade with zero expansion and 4K cache entries ==="
|
||||||
|
echo
|
||||||
|
IMGOPTS="compat=1.1,lazy_refcounts=on" _make_test_img 64M
|
||||||
|
$QEMU_IO -c "write -z 0 128k" "$TEST_IMG" | _filter_qemu_io
|
||||||
|
$QEMU_IO -c "write -z 32M 128k" "$TEST_IMG" | _filter_qemu_io
|
||||||
|
$QEMU_IO -c map "$TEST_IMG" | _filter_qemu_io
|
||||||
|
$PYTHON qcow2.py "$TEST_IMG" dump-header
|
||||||
|
$QEMU_IMG amend -o "compat=0.10" --image-opts \
|
||||||
|
driver=qcow2,file.filename=$TEST_IMG,l2-cache-entry-size=4096
|
||||||
|
$PYTHON qcow2.py "$TEST_IMG" dump-header
|
||||||
|
$QEMU_IO -c "read -P 0 0 128k" "$TEST_IMG" | _filter_qemu_io
|
||||||
|
$QEMU_IO -c "read -P 0 32M 128k" "$TEST_IMG" | _filter_qemu_io
|
||||||
|
$QEMU_IO -c map "$TEST_IMG" | _filter_qemu_io
|
||||||
|
_check_test_img
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "=== Testing dirty version downgrade ==="
|
echo "=== Testing dirty version downgrade ==="
|
||||||
echo
|
echo
|
||||||
|
|
|
@ -52,6 +52,67 @@ read 131072/131072 bytes at offset 0
|
||||||
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||||
No errors were found on the image.
|
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 0x0
|
||||||
|
compatible_features 0x1
|
||||||
|
autoclear_features 0x0
|
||||||
|
refcount_order 4
|
||||||
|
header_length 104
|
||||||
|
|
||||||
|
Header extension:
|
||||||
|
magic 0x6803f857
|
||||||
|
length 144
|
||||||
|
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 0x0
|
||||||
|
compatible_features 0x0
|
||||||
|
autoclear_features 0x0
|
||||||
|
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 ===
|
=== Testing dirty version downgrade ===
|
||||||
|
|
||||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
|
||||||
|
|
Loading…
Reference in New Issue