iotests/291: Filter irrelevant parts of img-info
We need to let _img_info emit the format-specific information so we get
the list of bitmaps we want, but we do not need anything but the
bitmaps. So filter out everything that is irrelevant to us. (Ideally,
this would be a generalized function in common.filters that takes a list
of things to keep, but that would require implementing an anti-bitmap
filter, which would be hard, and which we do not need here. So that is
why this function is just a local hack.)
This lets 291 pass with qcow2 options like refcount_bits or data_file
again.
Fixes: 14f16bf947
("qemu-img: Support bitmap --merge into backing image")
Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20201027164416.144115-2-mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
9a2ea4f4a7
commit
b4af1df08f
@ -42,6 +42,14 @@ _require_command QEMU_NBD
|
||||
# compat=0.10 does not support bitmaps
|
||||
_unsupported_imgopts 'compat=0.10'
|
||||
|
||||
# Filter irrelevant format-specific information from the qemu-img info
|
||||
# output (we only want the bitmaps, basically)
|
||||
_filter_irrelevant_img_info()
|
||||
{
|
||||
grep -v -e 'compat' -e 'compression type' -e 'data file' -e 'extended l2' \
|
||||
-e 'lazy refcounts' -e 'refcount bits'
|
||||
}
|
||||
|
||||
echo
|
||||
echo "=== Initial image setup ==="
|
||||
echo
|
||||
@ -79,7 +87,7 @@ echo
|
||||
|
||||
# Only bitmaps from the active layer are copied
|
||||
$QEMU_IMG convert --bitmaps -O qcow2 "$TEST_IMG.orig" "$TEST_IMG"
|
||||
_img_info --format-specific
|
||||
_img_info --format-specific | _filter_irrelevant_img_info
|
||||
# But we can also merge in bitmaps from other layers. This test is a bit
|
||||
# contrived to cover more code paths, in reality, you could merge directly
|
||||
# into b0 without going through tmp
|
||||
@ -89,7 +97,7 @@ $QEMU_IMG bitmap --add --merge b0 -b "$TEST_IMG.base" -F $IMGFMT \
|
||||
$QEMU_IMG bitmap --merge tmp -f $IMGFMT "$TEST_IMG" b0
|
||||
$QEMU_IMG bitmap --remove --image-opts \
|
||||
driver=$IMGFMT,file.driver=file,file.filename="$TEST_IMG" tmp
|
||||
_img_info --format-specific
|
||||
_img_info --format-specific | _filter_irrelevant_img_info
|
||||
|
||||
echo
|
||||
echo "=== Merge from top layer into backing image ==="
|
||||
@ -98,7 +106,7 @@ echo
|
||||
$QEMU_IMG rebase -u -F qcow2 -b "$TEST_IMG.base" "$TEST_IMG"
|
||||
$QEMU_IMG bitmap --add --merge b2 -b "$TEST_IMG" -F $IMGFMT \
|
||||
-f $IMGFMT "$TEST_IMG.base" b3
|
||||
_img_info --format-specific --backing-chain
|
||||
_img_info --format-specific --backing-chain | _filter_irrelevant_img_info
|
||||
|
||||
echo
|
||||
echo "=== Check bitmap contents ==="
|
||||
|
@ -26,9 +26,6 @@ file format: IMGFMT
|
||||
virtual size: 10 MiB (10485760 bytes)
|
||||
cluster_size: 65536
|
||||
Format specific information:
|
||||
compat: 1.1
|
||||
compression type: zlib
|
||||
lazy refcounts: false
|
||||
bitmaps:
|
||||
[0]:
|
||||
flags:
|
||||
@ -39,17 +36,12 @@ Format specific information:
|
||||
[0]: auto
|
||||
name: b2
|
||||
granularity: 65536
|
||||
refcount bits: 16
|
||||
corrupt: false
|
||||
extended l2: false
|
||||
image: TEST_DIR/t.IMGFMT
|
||||
file format: IMGFMT
|
||||
virtual size: 10 MiB (10485760 bytes)
|
||||
cluster_size: 65536
|
||||
Format specific information:
|
||||
compat: 1.1
|
||||
compression type: zlib
|
||||
lazy refcounts: false
|
||||
bitmaps:
|
||||
[0]:
|
||||
flags:
|
||||
@ -64,9 +56,7 @@ Format specific information:
|
||||
flags:
|
||||
name: b0
|
||||
granularity: 65536
|
||||
refcount bits: 16
|
||||
corrupt: false
|
||||
extended l2: false
|
||||
|
||||
=== Merge from top layer into backing image ===
|
||||
|
||||
@ -77,9 +67,6 @@ cluster_size: 65536
|
||||
backing file: TEST_DIR/t.IMGFMT.base
|
||||
backing file format: IMGFMT
|
||||
Format specific information:
|
||||
compat: 1.1
|
||||
compression type: zlib
|
||||
lazy refcounts: false
|
||||
bitmaps:
|
||||
[0]:
|
||||
flags:
|
||||
@ -94,18 +81,13 @@ Format specific information:
|
||||
flags:
|
||||
name: b0
|
||||
granularity: 65536
|
||||
refcount bits: 16
|
||||
corrupt: false
|
||||
extended l2: false
|
||||
|
||||
image: TEST_DIR/t.IMGFMT.base
|
||||
file format: IMGFMT
|
||||
virtual size: 10 MiB (10485760 bytes)
|
||||
cluster_size: 65536
|
||||
Format specific information:
|
||||
compat: 1.1
|
||||
compression type: zlib
|
||||
lazy refcounts: false
|
||||
bitmaps:
|
||||
[0]:
|
||||
flags:
|
||||
@ -117,9 +99,7 @@ Format specific information:
|
||||
[0]: auto
|
||||
name: b3
|
||||
granularity: 65536
|
||||
refcount bits: 16
|
||||
corrupt: false
|
||||
extended l2: false
|
||||
|
||||
=== Check bitmap contents ===
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user