Dario Faggioli
3206ea7c01
- Revert to revision 715. We're fixing bug 1199924, before moving to QEMU 7.0 OBS-URL: https://build.opensuse.org/request/show/979479 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=718
409 lines
16 KiB
Diff
409 lines
16 KiB
Diff
From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
|
|
Date: Thu, 23 Dec 2021 17:01:39 +0100
|
|
Subject: iotests: massive use _qcow2_dump_header
|
|
|
|
Git-commit: 984d7a52d5ca33a79e09f2617fe43e368dce4068
|
|
|
|
We are going to add filtering in _qcow2_dump_header and want all tests
|
|
use it.
|
|
|
|
The patch is generated by commands:
|
|
cd tests/qemu-iotests
|
|
sed -ie 's/$PYTHON qcow2.py "$TEST_IMG" dump-header\($\| \)/_qcow2_dump_header\1/' ??? tests/*
|
|
|
|
(the difficulty is to avoid converting dump-header-exts)
|
|
|
|
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
|
|
Reviewed-by: Max Reitz <mreitz@redhat.com>
|
|
Message-Id: <20211223160144.1097696-15-vsementsov@virtuozzo.com>
|
|
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
|
|
(cherry picked from commit 984d7a52d5ca33a79e09f2617fe43e368dce4068)
|
|
Signed-off-by: Li Zhang <lizhang@suse.de>
|
|
---
|
|
tests/qemu-iotests/031 | 6 +++---
|
|
tests/qemu-iotests/036 | 6 +++---
|
|
tests/qemu-iotests/039 | 20 ++++++++++----------
|
|
tests/qemu-iotests/060 | 20 ++++++++++----------
|
|
tests/qemu-iotests/061 | 36 ++++++++++++++++++------------------
|
|
tests/qemu-iotests/137 | 2 +-
|
|
tests/qemu-iotests/287 | 8 ++++----
|
|
7 files changed, 49 insertions(+), 49 deletions(-)
|
|
|
|
diff --git a/tests/qemu-iotests/031 b/tests/qemu-iotests/031
|
|
index 58b57a0ef2c0973b6f595102802d..648112f7960e909e81fbc4c1be13 100755
|
|
--- a/tests/qemu-iotests/031
|
|
+++ b/tests/qemu-iotests/031
|
|
@@ -58,21 +58,21 @@ for compat in "compat=0.10" "compat=1.1"; do
|
|
echo
|
|
_make_test_img -o $compat 64M
|
|
$PYTHON qcow2.py "$TEST_IMG" add-header-ext 0x12345678 "This is a test header extension"
|
|
- $PYTHON qcow2.py "$TEST_IMG" dump-header
|
|
+ _qcow2_dump_header
|
|
_check_test_img
|
|
|
|
echo
|
|
echo === Rewrite header with no backing file ===
|
|
echo
|
|
$QEMU_IMG rebase -u -b "" "$TEST_IMG"
|
|
- $PYTHON qcow2.py "$TEST_IMG" dump-header
|
|
+ _qcow2_dump_header
|
|
_check_test_img
|
|
|
|
echo
|
|
echo === Add a backing file and format ===
|
|
echo
|
|
$QEMU_IMG rebase -u -b "/some/backing/file/path" -F host_device "$TEST_IMG"
|
|
- $PYTHON qcow2.py "$TEST_IMG" dump-header
|
|
+ _qcow2_dump_header
|
|
done
|
|
|
|
# success, all done
|
|
diff --git a/tests/qemu-iotests/036 b/tests/qemu-iotests/036
|
|
index 5e567012a8203e38b609fd863736..f703605e44412b70e3f2aa9ea33f 100755
|
|
--- a/tests/qemu-iotests/036
|
|
+++ b/tests/qemu-iotests/036
|
|
@@ -58,7 +58,7 @@ $PYTHON qcow2.py "$TEST_IMG" set-feature-bit incompatible 63
|
|
|
|
# Without feature table
|
|
$PYTHON qcow2.py "$TEST_IMG" del-header-ext 0x6803f857
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep features
|
|
+_qcow2_dump_header | grep features
|
|
$PYTHON qcow2.py "$TEST_IMG" dump-header-exts
|
|
_img_info
|
|
|
|
@@ -107,7 +107,7 @@ echo === Create image with unknown autoclear feature bit ===
|
|
echo
|
|
_make_test_img 64M
|
|
$PYTHON qcow2.py "$TEST_IMG" set-feature-bit autoclear 63
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep features
|
|
+_qcow2_dump_header | grep features
|
|
$PYTHON qcow2.py "$TEST_IMG" dump-header-exts
|
|
|
|
echo
|
|
@@ -115,7 +115,7 @@ echo === Repair image ===
|
|
echo
|
|
_check_test_img -r all
|
|
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep features
|
|
+_qcow2_dump_header | grep features
|
|
$PYTHON qcow2.py "$TEST_IMG" dump-header-exts
|
|
|
|
# success, all done
|
|
diff --git a/tests/qemu-iotests/039 b/tests/qemu-iotests/039
|
|
index 12b2c7fa7b87d87db9c5f5688dfe..8e783a8380666f26d237c7233602 100755
|
|
--- a/tests/qemu-iotests/039
|
|
+++ b/tests/qemu-iotests/039
|
|
@@ -59,7 +59,7 @@ _make_test_img -o "compat=1.1,lazy_refcounts=on" $size
|
|
$QEMU_IO -c "write -P 0x5a 0 512" "$TEST_IMG" | _filter_qemu_io
|
|
|
|
# The dirty bit must not be set
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
_check_test_img
|
|
|
|
echo
|
|
@@ -73,7 +73,7 @@ $QEMU_IO -c "write -P 0x5a 0 512" \
|
|
| _filter_qemu_io
|
|
|
|
# The dirty bit must be set
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
_check_test_img
|
|
|
|
echo
|
|
@@ -82,7 +82,7 @@ echo "== Read-only access must still work =="
|
|
$QEMU_IO -r -c "read -P 0x5a 0 512" "$TEST_IMG" | _filter_qemu_io
|
|
|
|
# The dirty bit must be set
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
|
|
echo
|
|
echo "== Repairing the image file must succeed =="
|
|
@@ -90,7 +90,7 @@ echo "== Repairing the image file must succeed =="
|
|
_check_test_img -r all
|
|
|
|
# The dirty bit must not be set
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
|
|
echo
|
|
echo "== Data should still be accessible after repair =="
|
|
@@ -108,12 +108,12 @@ $QEMU_IO -c "write -P 0x5a 0 512" \
|
|
| _filter_qemu_io
|
|
|
|
# The dirty bit must be set
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
|
|
$QEMU_IO -c "write 0 512" "$TEST_IMG" | _filter_qemu_io
|
|
|
|
# The dirty bit must not be set
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
|
|
echo
|
|
echo "== Creating an image file with lazy_refcounts=off =="
|
|
@@ -126,7 +126,7 @@ $QEMU_IO -c "write -P 0x5a 0 512" \
|
|
| _filter_qemu_io
|
|
|
|
# The dirty bit must not be set since lazy_refcounts=off
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
_check_test_img
|
|
|
|
echo
|
|
@@ -141,7 +141,7 @@ $QEMU_IO -c "write 0 512" "$TEST_IMG" | _filter_qemu_io
|
|
$QEMU_IMG commit "$TEST_IMG"
|
|
|
|
# The dirty bit must not be set
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
$PYTHON qcow2.py "$TEST_IMG".base dump-header | grep incompatible_features
|
|
|
|
_check_test_img
|
|
@@ -159,7 +159,7 @@ $QEMU_IO -c "reopen -o lazy-refcounts=on" \
|
|
| _filter_qemu_io
|
|
|
|
# The dirty bit must be set
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
_check_test_img
|
|
|
|
_make_test_img -o "compat=1.1,lazy_refcounts=on" $size
|
|
@@ -171,7 +171,7 @@ $QEMU_IO -c "reopen -o lazy-refcounts=off" \
|
|
| _filter_qemu_io
|
|
|
|
# The dirty bit must not be set
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
_check_test_img
|
|
|
|
|
|
diff --git a/tests/qemu-iotests/060 b/tests/qemu-iotests/060
|
|
index db26c6b246cda94e9258c51b0b6c..d1e3204d4ea42002263486eebafd 100755
|
|
--- a/tests/qemu-iotests/060
|
|
+++ b/tests/qemu-iotests/060
|
|
@@ -80,13 +80,13 @@ poke_file "$TEST_IMG" "$l1_offset" "\x80\x00\x00\x00\x00\x03\x00\x00"
|
|
_check_test_img
|
|
|
|
# The corrupt bit should not be set anyway
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
|
|
# Try to write something, thereby forcing the corrupt bit to be set
|
|
$QEMU_IO -c "$OPEN_RW" -c "write -P 0x2a 0 512" | _filter_qemu_io
|
|
|
|
# The corrupt bit must now be set
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
|
|
# This information should be available through qemu-img info
|
|
_img_info --format-specific
|
|
@@ -114,19 +114,19 @@ poke_file "$TEST_IMG" "$(($rb_offset+8))" "\x00\x01"
|
|
# Redirect new data cluster onto refcount block
|
|
poke_file "$TEST_IMG" "$l2_offset" "\x80\x00\x00\x00\x00\x02\x00\x00"
|
|
_check_test_img
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
$QEMU_IO -c "$OPEN_RW" -c "write -P 0x2a 0 512" | _filter_qemu_io
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
|
|
# Try to fix it
|
|
_check_test_img -r all
|
|
|
|
# The corrupt bit should be cleared
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
|
|
# Look if it's really really fixed
|
|
$QEMU_IO -c "$OPEN_RW" -c "write -P 0x2a 0 512" | _filter_qemu_io
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
|
|
echo
|
|
echo "=== Testing cluster data reference into inactive L2 table ==="
|
|
@@ -139,13 +139,13 @@ $QEMU_IO -c "$OPEN_RW" -c "write -P 2 0 512" | _filter_qemu_io
|
|
poke_file "$TEST_IMG" "$l2_offset_after_snapshot" \
|
|
"\x80\x00\x00\x00\x00\x04\x00\x00"
|
|
_check_test_img
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
$QEMU_IO -c "$OPEN_RW" -c "write -P 3 0 512" | _filter_qemu_io
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
_check_test_img -r all
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
$QEMU_IO -c "$OPEN_RW" -c "write -P 4 0 512" | _filter_qemu_io
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
|
|
# Check data
|
|
$QEMU_IO -c "$OPEN_RO" -c "read -P 4 0 512" | _filter_qemu_io
|
|
diff --git a/tests/qemu-iotests/061 b/tests/qemu-iotests/061
|
|
index 9507c223bda41067797dd19be095..70edf1a1635e1e5df529e130d314 100755
|
|
--- a/tests/qemu-iotests/061
|
|
+++ b/tests/qemu-iotests/061
|
|
@@ -55,9 +55,9 @@ echo "=== Testing version downgrade with zero expansion ==="
|
|
echo
|
|
_make_test_img -o "compat=1.1,lazy_refcounts=on" 64M
|
|
$QEMU_IO -c "write -z 0 128k" "$TEST_IMG" | _filter_qemu_io
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header
|
|
+_qcow2_dump_header
|
|
$QEMU_IMG amend -o "compat=0.10" "$TEST_IMG"
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header
|
|
+_qcow2_dump_header
|
|
$QEMU_IO -c "read -P 0 0 128k" "$TEST_IMG" | _filter_qemu_io
|
|
_check_test_img
|
|
|
|
@@ -68,10 +68,10 @@ _make_test_img -o "compat=1.1,lazy_refcounts=on" 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
|
|
+_qcow2_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
|
|
+_qcow2_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
|
|
@@ -84,9 +84,9 @@ _make_test_img -o "compat=1.1,lazy_refcounts=on" 64M
|
|
_NO_VALGRIND \
|
|
$QEMU_IO -c "write -P 0x2a 0 128k" -c flush \
|
|
-c "sigraise $(kill -l KILL)" "$TEST_IMG" 2>&1 | _filter_qemu_io
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header
|
|
+_qcow2_dump_header
|
|
$QEMU_IMG amend -o "compat=0.10" "$TEST_IMG"
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header
|
|
+_qcow2_dump_header
|
|
$QEMU_IO -c "read -P 0x2a 0 128k" "$TEST_IMG" | _filter_qemu_io
|
|
_check_test_img
|
|
|
|
@@ -96,9 +96,9 @@ echo
|
|
_make_test_img -o "compat=1.1" 64M
|
|
$PYTHON qcow2.py "$TEST_IMG" set-feature-bit compatible 42
|
|
$PYTHON qcow2.py "$TEST_IMG" set-feature-bit autoclear 42
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header
|
|
+_qcow2_dump_header
|
|
$QEMU_IMG amend -o "compat=0.10" "$TEST_IMG"
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header
|
|
+_qcow2_dump_header
|
|
_check_test_img
|
|
|
|
echo
|
|
@@ -106,9 +106,9 @@ echo "=== Testing version upgrade and resize ==="
|
|
echo
|
|
_make_test_img -o "compat=0.10" 64M
|
|
$QEMU_IO -c "write -P 0x2a 42M 64k" "$TEST_IMG" | _filter_qemu_io
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header
|
|
+_qcow2_dump_header
|
|
$QEMU_IMG amend -o "compat=1.1,lazy_refcounts=on,size=128M" "$TEST_IMG"
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header
|
|
+_qcow2_dump_header
|
|
$QEMU_IO -c "read -P 0x2a 42M 64k" "$TEST_IMG" | _filter_qemu_io
|
|
_check_test_img
|
|
|
|
@@ -120,29 +120,29 @@ $QEMU_IO -c "write -P 0x2a 24M 64k" "$TEST_IMG" | _filter_qemu_io
|
|
$QEMU_IMG snapshot -c foo "$TEST_IMG"
|
|
$QEMU_IMG resize "$TEST_IMG" 64M &&
|
|
echo "unexpected pass"
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep '^\(version\|size\|nb_snap\)'
|
|
+_qcow2_dump_header | grep '^\(version\|size\|nb_snap\)'
|
|
|
|
$QEMU_IMG amend -o "compat=1.1,size=128M" "$TEST_IMG" ||
|
|
echo "unexpected fail"
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep '^\(version\|size\|nb_snap\)'
|
|
+_qcow2_dump_header | grep '^\(version\|size\|nb_snap\)'
|
|
|
|
$QEMU_IMG snapshot -c bar "$TEST_IMG"
|
|
$QEMU_IMG resize --shrink "$TEST_IMG" 64M ||
|
|
echo "unexpected fail"
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep '^\(version\|size\|nb_snap\)'
|
|
+_qcow2_dump_header | grep '^\(version\|size\|nb_snap\)'
|
|
|
|
$QEMU_IMG amend -o "compat=0.10,size=32M" "$TEST_IMG" &&
|
|
echo "unexpected pass"
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep '^\(version\|size\|nb_snap\)'
|
|
+_qcow2_dump_header | grep '^\(version\|size\|nb_snap\)'
|
|
|
|
$QEMU_IMG snapshot -a bar "$TEST_IMG" ||
|
|
echo "unexpected fail"
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep '^\(version\|size\|nb_snap\)'
|
|
+_qcow2_dump_header | grep '^\(version\|size\|nb_snap\)'
|
|
|
|
$QEMU_IMG snapshot -d bar "$TEST_IMG"
|
|
$QEMU_IMG amend -o "compat=0.10,size=32M" "$TEST_IMG" ||
|
|
echo "unexpected fail"
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep '^\(version\|size\|nb_snap\)'
|
|
+_qcow2_dump_header | grep '^\(version\|size\|nb_snap\)'
|
|
|
|
_check_test_img
|
|
|
|
@@ -154,9 +154,9 @@ _make_test_img -o "compat=1.1,lazy_refcounts=on" 64M
|
|
_NO_VALGRIND \
|
|
$QEMU_IO -c "write -P 0x2a 0 128k" -c flush \
|
|
-c "sigraise $(kill -l KILL)" "$TEST_IMG" 2>&1 | _filter_qemu_io
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header
|
|
+_qcow2_dump_header
|
|
$QEMU_IMG amend -o "lazy_refcounts=off" "$TEST_IMG"
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header
|
|
+_qcow2_dump_header
|
|
$QEMU_IO -c "read -P 0x2a 0 128k" "$TEST_IMG" | _filter_qemu_io
|
|
_check_test_img
|
|
|
|
diff --git a/tests/qemu-iotests/137 b/tests/qemu-iotests/137
|
|
index 4680d5df3d0fe8be4041f4df3833..52ee135184011e8e1655efd063f9 100755
|
|
--- a/tests/qemu-iotests/137
|
|
+++ b/tests/qemu-iotests/137
|
|
@@ -140,7 +140,7 @@ $QEMU_IO \
|
|
|
|
# The dirty bit must not be set
|
|
# (Filter the external data file bit)
|
|
-if $PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features \
|
|
+if _qcow2_dump_header | grep incompatible_features \
|
|
| grep -q '\<0\>'
|
|
then
|
|
echo 'ERROR: Dirty bit set'
|
|
diff --git a/tests/qemu-iotests/287 b/tests/qemu-iotests/287
|
|
index 2d5334e8bfb72dc88a3ddd958994..5427ad5456aba89d04e573758679 100755
|
|
--- a/tests/qemu-iotests/287
|
|
+++ b/tests/qemu-iotests/287
|
|
@@ -61,13 +61,13 @@ echo
|
|
echo "=== Testing compression type incompatible bit setting for zlib ==="
|
|
echo
|
|
_make_test_img -o compression_type=zlib 64M
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
|
|
echo
|
|
echo "=== Testing compression type incompatible bit setting for zstd ==="
|
|
echo
|
|
_make_test_img -o compression_type=zstd 64M
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
|
|
echo
|
|
echo "=== Testing zlib with incompatible bit set ==="
|
|
@@ -75,7 +75,7 @@ echo
|
|
_make_test_img -o compression_type=zlib 64M
|
|
$PYTHON qcow2.py "$TEST_IMG" set-feature-bit incompatible 3
|
|
# to make sure the bit was actually set
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
|
|
if $QEMU_IMG info "$TEST_IMG" >/dev/null 2>&1 ; then
|
|
echo "Error: The image opened successfully. The image must not be opened."
|
|
@@ -87,7 +87,7 @@ echo
|
|
_make_test_img -o compression_type=zstd 64M
|
|
$PYTHON qcow2.py "$TEST_IMG" set-header incompatible_features 0
|
|
# to make sure the bit was actually unset
|
|
-$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
|
|
+_qcow2_dump_header | grep incompatible_features
|
|
|
|
if $QEMU_IMG info "$TEST_IMG" >/dev/null 2>&1 ; then
|
|
echo "Error: The image opened successfully. The image must not be opened."
|