]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: block: Use correct format name when formatting overlay of qcow2+luks
authorPeter Krempa <pkrempa@redhat.com>
Fri, 20 Aug 2021 11:26:13 +0000 (13:26 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 20 Aug 2021 13:43:17 +0000 (15:43 +0200)
A logic bug in the code creating overlays on existing images resulted
into wrongly using "luks" instead of "qcow2" for the backing format if
the backing image is an luks-encrypted qcow2. The special format munging
is needed only for raw luks images.

In practice the impact is not as critical as to use encrypted images in
the backing chain the user must fully describe the backing chain
including backing images to provide encryption keys, which overrides the
metadata recorded in the qcow2 header.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_block.c

index e09c7e66c82b458d5b22a47c713287bb20430743..0bc92f6a23dac630a8992d35d712c88972feb3d8 100644 (file)
@@ -2264,7 +2264,8 @@ qemuBlockStorageSourceCreateAddBacking(virStorageSource *backing,
         return 0;
 
     if (format) {
-        if (backing->encryption &&
+        if (backing->format == VIR_STORAGE_FILE_RAW &&
+            backing->encryption &&
             backing->encryption->format == VIR_STORAGE_ENCRYPTION_FORMAT_LUKS)
             backingFormatStr = "luks";
         else