@@ -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 ===