[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 01/12] iotests/291: Filter irrelevant parts of img-info
From: |
Eric Blake |
Subject: |
[PULL 01/12] iotests/291: Filter irrelevant parts of img-info |
Date: |
Tue, 27 Oct 2020 16:59:03 -0500 |
From: Max Reitz <mreitz@redhat.com>
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: 14f16bf9474c860ecc127a66a86961942319f7af
("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>
---
tests/qemu-iotests/291 | 14 +++++++++++---
tests/qemu-iotests/291.out | 20 --------------------
2 files changed, 11 insertions(+), 23 deletions(-)
diff --git a/tests/qemu-iotests/291 b/tests/qemu-iotests/291
index 4f837b205655..77fa38f93d31 100755
--- a/tests/qemu-iotests/291
+++ b/tests/qemu-iotests/291
@@ -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 ==="
diff --git a/tests/qemu-iotests/291.out b/tests/qemu-iotests/291.out
index 3990f7aacc7b..23411c0ff4d9 100644
--- a/tests/qemu-iotests/291.out
+++ b/tests/qemu-iotests/291.out
@@ -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 ===
--
2.29.0
- [PULL 00/12] NBD patches for 2020-10-27 soft-freeze, Eric Blake, 2020/10/27
- [PULL 01/12] iotests/291: Filter irrelevant parts of img-info,
Eric Blake <=
- [PULL 02/12] iotests/291: Stop NBD server, Eric Blake, 2020/10/27
- [PULL 03/12] block: Simplify QAPI_LIST_ADD, Eric Blake, 2020/10/27
- [PULL 04/12] qapi: Add QAPI_LIST_PREPEND() macro, Eric Blake, 2020/10/27
- [PULL 05/12] nbd: Utilize QAPI_CLONE for type conversion, Eric Blake, 2020/10/27
- [PULL 06/12] nbd: Update qapi to support exporting multiple bitmaps, Eric Blake, 2020/10/27
- [PULL 07/12] nbd: Simplify qemu bitmap context name, Eric Blake, 2020/10/27
- [PULL 10/12] block: Return depth level during bdrv_is_allocated_above, Eric Blake, 2020/10/27
- [PULL 09/12] nbd: Allow export of multiple bitmaps for one device, Eric Blake, 2020/10/27
- [PULL 08/12] nbd: Refactor counting of metadata contexts, Eric Blake, 2020/10/27
- [PULL 11/12] nbd: Add new qemu:allocation-depth metadata context, Eric Blake, 2020/10/27