[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH] qcow2: fix image corruption after
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH] qcow2: fix image corruption after committing qcow2 image into base |
Date: |
Fri, 10 Nov 2017 17:22:53 +0000 |
User-agent: |
Mutt/1.9.1 (2017-09-22) |
On Fri, Nov 10, 2017 at 10:34:59AM -0600, Eric Blake wrote:
> On 11/03/2017 09:41 AM, Daniel P. Berrange wrote:
> > 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.
>
> Hmm - I wonder if persistent bitmaps are also corrupted in the fast path.
I also wonder if there's anything better we can do to make us safer by
default, so we default to the slow & safe path, unless we can provide
we *only* have the subset of features that are safe for the fast path ?
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|