[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/3] qcow2: Fix alloc_cluster_abort() for pre-existing clusters
From: |
Max Reitz |
Subject: |
[PATCH 0/3] qcow2: Fix alloc_cluster_abort() for pre-existing clusters |
Date: |
Tue, 25 Feb 2020 15:31:27 +0100 |
Hi,
With c3b6658c1a5a3fb2, Kevin has fixed a case in alloc_cluster_abort()
where we used to free a cluster that wasn’t even allocated by
handle_alloc(), thus leading to an error and/or corruption. Besides
external data files, there is another case where alloc_cluster_abort()
must not free the “new” cluster: Namely when the cluster isn’t new
because we’re reusing an existing pre-allocated zero cluster.
I think Berto’s subcluster series fixes this, too, but it’s still an
RFC, so I suppose we have to fix the bug independently of it.
Patch 2 adds a regression test; patch 3 adds a regression test for
Kevin’s patch c3b6658c1a5a3fb2 (which didn’t come with one).
Max Reitz (3):
qcow2: Fix alloc_cluster_abort() for pre-existing clusters
iotests/026: Test EIO on preallocated zero cluster
iotests/026: Test EIO on allocation in a data-file
block/qcow2-cluster.c | 2 +-
tests/qemu-iotests/026 | 53 ++++++++++++++++++++++++++++++
tests/qemu-iotests/026.out | 16 +++++++++
tests/qemu-iotests/026.out.nocache | 16 +++++++++
4 files changed, 86 insertions(+), 1 deletion(-)
--
2.24.1
- [PATCH 0/3] qcow2: Fix alloc_cluster_abort() for pre-existing clusters,
Max Reitz <=