16.07.2021 14:39, Max Reitz wrote:
On 05.07.21 11:15, Vladimir Sementsov-Ogievskiy wrote:
Instead of qemu_img_log("info", ..) use generic helper img_info_log().
img_info_log() has smarter logic. For example it use filter_img_info()
to filter output, which in turns filter a compression type. So it will
help us in future when we implement a possibility to use zstd
compression by default (with help of some runtime config file or maybe
build option). For now to test you should recompile qemu with a small
patch:
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -3540,6 +3540,11 @@ qcow2_co_create(BlockdevCreateOptions
*create_options, Error **errp)
}
}
+ if (!qcow2_opts->has_compression_type && version >= 3) {
+ qcow2_opts->has_compression_type = true;
+ qcow2_opts->compression_type = QCOW2_COMPRESSION_TYPE_ZSTD;
+ }
+
if (qcow2_opts->has_compression_type &&
qcow2_opts->compression_type != QCOW2_COMPRESSION_TYPE_ZLIB) {
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com>
---
tests/qemu-iotests/302 | 3 ++-
tests/qemu-iotests/302.out | 7 +++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/tests/qemu-iotests/302 b/tests/qemu-iotests/302
index 5695af4914..2180dbc896 100755
--- a/tests/qemu-iotests/302
+++ b/tests/qemu-iotests/302
@@ -34,6 +34,7 @@ from iotests import (
qemu_img_measure,
qemu_io,
qemu_nbd_popen,
+ img_info_log,
)
iotests.script_initialize(supported_fmts=["qcow2"])
@@ -99,7 +100,7 @@ with tarfile.open(tar_file, "w") as tar:
nbd_uri)
iotests.log("=== Converted image info ===")
- qemu_img_log("info", nbd_uri)
+ img_info_log(nbd_uri)
There’s another `qemu_img_log("info", nbd_uri)` call above this place. We can’t
use `img_info_log()` there, because in that case, the image is not in qcow2 format (which
is the test’s image format), but `img_info_log()` enforces “-f {imgfmt}”. It would have
been nice to have a comment on that somewhere, though.
I'll add a comment. Actually, I only fixed places which breaks when I set zstd
by default. That's why some things may be not covered.
But, well.
Reviewed-by: Max Reitz <mre...@redhat.com>
(And speaking in principle, I don’t think I like the broad img_info_log() very
much anyway, because I feel like tests should rather only have the actually
relevant bits in their reference outputs…)
I agree, extra useless information in test outputs is always a pain.. We should
pay more attention to it when add new tests.
iotests.log("=== Converted image check ===")
qemu_img_log("check", nbd_uri)
diff --git a/tests/qemu-iotests/302.out b/tests/qemu-iotests/302.out
index e2f6077e83..3e7c281b91 100644
--- a/tests/qemu-iotests/302.out
+++ b/tests/qemu-iotests/302.out
@@ -6,14 +6,13 @@ virtual size: 448 KiB (458752 bytes)
disk size: unavailable
=== Converted image info ===
-image: nbd+unix:///exp?socket=SOCK_DIR/PID-nbd-sock
-file format: qcow2
+image: TEST_IMG
+file format: IMGFMT
virtual size: 1 GiB (1073741824 bytes)
-disk size: unavailable
cluster_size: 65536
Format specific information:
compat: 1.1
- compression type: zlib
+ compression type: COMPRESSION_TYPE
lazy refcounts: false
refcount bits: 16
corrupt: false
--
Best regards,
Vladimir