[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 0/2] qcow2: Repair OFLAG_COPIED when fixing l
From: |
Max Reitz |
Subject: |
Re: [Qemu-devel] [PATCH v2 0/2] qcow2: Repair OFLAG_COPIED when fixing leaks |
Date: |
Fri, 1 Jun 2018 13:08:00 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 |
On 2018-05-09 22:00, Max Reitz wrote:
> Suppose you have an image with consistent OFLAG_COPIED and refcounts.
> Now further suppose that image has leaked clusters (single reference,
> but refcount 2). When checking such an image with qemu-img check, it
> will notify you of the leakage, and that's it.
>
> Now when trying to repair that image, you naturally use -r leaks because
> that should be sufficient and you want to give qemu-img check just as
> many "permissions" as it needs so it doesn't destroy your image by
> accident. But while the qcow2 driver will fix the refcounts, alas! it
> will now complain about OFLAG_COPIED because that should be set now.
> However, it will not set that without -r all. So, congratulations, now
> you have an image that qemu-img check tells you is really corrupted.
>
> This series makes -r leaks fix OFLAG_COPIED as well, but only if
> repairing the refcounts was completely successful.
>
> There is a Red Hat Bugzilla entry here:
> https://bugzilla.redhat.com/show_bug.cgi?id=1527085
>
> ...but I'm afraid the bug description is set to confidential, although I
> don't know why. Sorry. :-/
> For everyone who cannot read it, let's say the test case in this series
> may very well be a good indication of what you don't see.
>
>
> v2:
> - Reworded the comment in patch 2 on why the test does not support
> refcount_bits=1 -- it's not just because of the snapshotting, but
> mostly because we test OFLAG_COPIED and refcount_bits=1 won't get us
> far there [Eric]
>
>
> git-backport-diff against v1:
>
> Key:
> [----] : patches are identical
> [####] : number of functional differences between upstream/downstream patch
> [down] : patch is downstream-only
> The flags [FC] indicate (F)unctional and (C)ontextual differences,
> respectively
>
> 001/2:[----] [--] 'qcow2: Repair OFLAG_COPIED when fixing leaks'
> 002/2:[0003] [FC] 'iotests: Repairing error during snapshot deletion'
>
>
> Max Reitz (2):
> qcow2: Repair OFLAG_COPIED when fixing leaks
> iotests: Repairing error during snapshot deletion
>
> block/qcow2-refcount.c | 25 ++++++++-----
> tests/qemu-iotests/217 | 90
> ++++++++++++++++++++++++++++++++++++++++++++++
> tests/qemu-iotests/217.out | 42 ++++++++++++++++++++++
> tests/qemu-iotests/group | 1 +
> 4 files changed, 150 insertions(+), 8 deletions(-)
> create mode 100755 tests/qemu-iotests/217
> create mode 100644 tests/qemu-iotests/217.out
Applied to my block branch.
Max
signature.asc
Description: OpenPGP digital signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v2 0/2] qcow2: Repair OFLAG_COPIED when fixing leaks,
Max Reitz <=