[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 00/16] qcow2: Let check -r all repair some snapshot bits
From: |
Max Reitz |
Subject: |
[PATCH v3 00/16] qcow2: Let check -r all repair some snapshot bits |
Date: |
Fri, 11 Oct 2019 17:27:58 +0200 |
Hi,
The v1 cover letter explained this series’s purpose:
https://lists.nongnu.org/archive/html/qemu-block/2019-07/msg01290.html
The v2 cover letter explained the v2 changes:
https://lists.nongnu.org/archive/html/qemu-block/2019-08/msg00921.html
The only changes in v3 are:
- Patches 12 and 13: Added notes to the commit messages why it’s OK to
not let the user choose which snapshots to drop
(I wanted to also address Eric’s idea of letting
QCowSnapshot.extra_data_size be always >= sizeof(QCowSnapshotExtraData)
and thus save the MAX(sizeof(extra), sn->extra_data_size) in
qcow2_write_snapshots(), but that doesn’t really work, because then we
have no way of knowing later whether the image is compliant and thus
needs fixing or not. He gave me an R-b anyway, so I guess it’s fine.
O:-))
This series now has R-bs from Eric on all patches. I’m only posting it
because I felt a bit bad about just taking the series as-is and add the
commit notes to 12 and 13 while applying it.
(Also, maybe there is someone who saw me have a bit of discussion with
Eric and thus assumed I would definitely send a v3 that they could then
review.)
Max Reitz (16):
include: Move endof() up from hw/virtio/virtio.h
qcow2: Use endof()
qcow2: Add Error ** to qcow2_read_snapshots()
qcow2: Keep unknown extra snapshot data
qcow2: Make qcow2_write_snapshots() public
qcow2: Put qcow2_upgrade() into its own function
qcow2: Write v3-compliant snapshot list on upgrade
qcow2: Separate qcow2_check_read_snapshot_table()
qcow2: Add qcow2_check_fix_snapshot_table()
qcow2: Fix broken snapshot table entries
qcow2: Keep track of the snapshot table length
qcow2: Fix overly long snapshot tables
qcow2: Repair snapshot table with too many entries
qcow2: Fix v3 snapshot table entry compliancy
iotests: Add peek_file* functions
iotests: Test qcow2's snapshot table handling
block/qcow2.h | 15 +-
include/hw/virtio/virtio.h | 7 -
include/qemu/compiler.h | 7 +
block/qcow2-snapshot.c | 323 +++++++++++++++++++--
block/qcow2.c | 155 +++++++++--
hw/block/virtio-blk.c | 4 +-
hw/net/virtio-net.c | 10 +-
tests/qemu-iotests/261 | 523 +++++++++++++++++++++++++++++++++++
tests/qemu-iotests/261.out | 346 +++++++++++++++++++++++
tests/qemu-iotests/common.rc | 20 ++
tests/qemu-iotests/group | 1 +
11 files changed, 1354 insertions(+), 57 deletions(-)
create mode 100755 tests/qemu-iotests/261
create mode 100644 tests/qemu-iotests/261.out
--
2.21.0
- [PATCH v3 00/16] qcow2: Let check -r all repair some snapshot bits,
Max Reitz <=
- [PATCH v3 01/16] include: Move endof() up from hw/virtio/virtio.h, Max Reitz, 2019/10/11
- [PATCH v3 02/16] qcow2: Use endof(), Max Reitz, 2019/10/11
- [PATCH v3 03/16] qcow2: Add Error ** to qcow2_read_snapshots(), Max Reitz, 2019/10/11
- [PATCH v3 04/16] qcow2: Keep unknown extra snapshot data, Max Reitz, 2019/10/11
- [PATCH v3 05/16] qcow2: Make qcow2_write_snapshots() public, Max Reitz, 2019/10/11
- [PATCH v3 06/16] qcow2: Put qcow2_upgrade() into its own function, Max Reitz, 2019/10/11
- [PATCH v3 07/16] qcow2: Write v3-compliant snapshot list on upgrade, Max Reitz, 2019/10/11