qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] qcow2: fix image corruption after committing qc


From: Kevin Wolf
Subject: Re: [Qemu-devel] [PATCH] qcow2: fix image corruption after committing qcow2 image into base
Date: Fri, 10 Nov 2017 17:28:21 +0100
User-agent: Mutt/1.9.1 (2017-09-22)

Am 03.11.2017 um 15:41 hat Daniel P. Berrange geschrieben:
> After committing the qcow2 image contents into the base image, qemu-img
> will call bdrv_make_empty to drop the payload in the layered image.
> 
> When this is done for qcow2 images, it blows away the LUKS encryption
> header, making the resulting image unusable. There are two codepaths
> for emptying a qcow2 image, and the second (slower) codepaths leaves
> the LUKS header intact, so force use of that codepath.
> 
> Signed-off-by: Daniel P. Berrange <address@hidden>
> ---
> 
> NB, ideally we would fix the faster codepath in make_completely_empty, but
> having looked at the code, I've really no idea how to even start on fixing 
> that
> to not kill the LUKS header clusters.
> 
>  block/qcow2.c                    |   3 +-
>  tests/qemu-iotests/198           | 104 +++++++++++++++++++++++++++++++
>  tests/qemu-iotests/198.out       | 128 
> +++++++++++++++++++++++++++++++++++++++
>  tests/qemu-iotests/common.filter |   4 +-
>  tests/qemu-iotests/group         |   1 +
>  5 files changed, 238 insertions(+), 2 deletions(-)
>  create mode 100755 tests/qemu-iotests/198
>  create mode 100644 tests/qemu-iotests/198.out

The test fails for me. Looks like we need some filtering.

Kevin


--- /home/kwolf/source/qemu/tests/qemu-iotests/198.out  2017-11-10 
17:23:54.484003430 +0100
+++ /home/kwolf/source/qemu/tests/qemu-iotests/198.out.bad      2017-11-10 
17:26:54.914932949 +0100
@@ -35,7 +35,7 @@
 image: json:{"encrypt.key-secret": "sec0", "driver": "IMGFMT", "file": 
{"driver": "file", "filename": "TEST_DIR/t.IMGFMT.base"}}
 file format: IMGFMT
 virtual size: 16M (16777216 bytes)
-disk size: 17M
+disk size: 33M
 Format specific information:
     compat: 1.1
     lazy refcounts: false
@@ -82,7 +82,7 @@
 image: json:{"encrypt.key-secret": "sec1", "driver": "IMGFMT", "file": 
{"driver": "file", "filename": "TEST_DIR/t.IMGFMT"}}
 file format: IMGFMT
 virtual size: 16M (16777216 bytes)
-disk size: 548K
+disk size: 17M
 backing file: TEST_DIR/t.IMGFMT.base
 Format specific information:
     compat: 1.1
Failures: 198
Failed 1 of 1 tests



reply via email to

[Prev in Thread] Current Thread [Next in Thread]