[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 0/8] Add metadata overlap checks
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH v4 0/8] Add metadata overlap checks |
Date: |
Fri, 30 Aug 2013 16:14:44 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Am 30.08.2013 um 14:34 hat Max Reitz geschrieben:
> If a qcow2 image file becomes corrupted, any write may inadvertently
> overwrite important metadata structures such as the L1 table. This
> series adds functionality for detecting, preventing and (to some extent)
> repairing such collisions.
>
> v4:
> - fixed handling of preallocated zero clusters in patch 4
> - moved OFLAG_COPIED checks into a separate function (this affects
> patches 4 and 5); functionality remains unchanged
> - patches 1, 2, 3, 6, 7 and 8 remain unmodified (except for line
> numbers in block/qcow2-refcount.c)
>
> v3:
> - split PATCH 4/5 into four distinct patches (4/8, 5/8, 6/8 and 7/8,
> respectively)
> - directly generate a JSON message when marking the image corrupt
> - other (minor) fixes according to Kevin's comments
>
> v2:
> - Generally implemented Kevin's comments, especially:
> - new QMP event QEVENT_BLOCK_IMAGE_CORRUPTED
> - removed BDRV_O_REPAIR in favor of BDRV_O_CHECK | BDRV_O_RDWR
> - always check full clusters for overlaps
> - removed qcow2_check_allocations in favor of some
> qcow2_check_refcounts extensions that will hopefully include all
> that functionality
>
> Max Reitz (8):
> qcow2: Add corrupt bit
> qcow2: Metadata overlap checks
> qcow2: Employ metadata overlap checks
> qcow2-refcount: Move OFLAG_COPIED checks
> qcow2-refcount: Repair OFLAG_COPIED errors
> qcow2-refcount: Repair shared refcount blocks
> qcow2_check: Mark image consistent
> qemu-iotests: Overlapping cluster allocations
>
> block/qcow2-cache.c | 17 ++
> block/qcow2-cluster.c | 25 ++-
> block/qcow2-refcount.c | 481
> +++++++++++++++++++++++++++++++++++++++++----
> block/qcow2-snapshot.c | 22 +++
> block/qcow2.c | 79 +++++++-
> block/qcow2.h | 47 ++++-
> docs/specs/qcow2.txt | 7 +-
> include/block/block.h | 1 +
> include/monitor/monitor.h | 1 +
> monitor.c | 1 +
> tests/qemu-iotests/031.out | 12 +-
> tests/qemu-iotests/036.out | 2 +-
> tests/qemu-iotests/060 | 111 +++++++++++
> tests/qemu-iotests/060.out | 44 +++++
> tests/qemu-iotests/group | 1 +
> 15 files changed, 804 insertions(+), 47 deletions(-)
> create mode 100755 tests/qemu-iotests/060
> create mode 100644 tests/qemu-iotests/060.out
Thanks, applied to the block branch.
Kevin
- [Qemu-devel] [PATCH v4 0/8] Add metadata overlap checks, Max Reitz, 2013/08/30
- [Qemu-devel] [PATCH v4 1/8] qcow2: Add corrupt bit, Max Reitz, 2013/08/30
- [Qemu-devel] [PATCH v4 2/8] qcow2: Metadata overlap checks, Max Reitz, 2013/08/30
- [Qemu-devel] [PATCH v4 3/8] qcow2: Employ metadata overlap checks, Max Reitz, 2013/08/30
- [Qemu-devel] [PATCH v4 4/8] qcow2-refcount: Move OFLAG_COPIED checks, Max Reitz, 2013/08/30
- [Qemu-devel] [PATCH v4 5/8] qcow2-refcount: Repair OFLAG_COPIED errors, Max Reitz, 2013/08/30
- [Qemu-devel] [PATCH v4 6/8] qcow2-refcount: Repair shared refcount blocks, Max Reitz, 2013/08/30
- [Qemu-devel] [PATCH v4 7/8] qcow2_check: Mark image consistent, Max Reitz, 2013/08/30
- [Qemu-devel] [PATCH v4 8/8] qemu-iotests: Overlapping cluster allocations, Max Reitz, 2013/08/30
- Re: [Qemu-devel] [PATCH v4 0/8] Add metadata overlap checks,
Kevin Wolf <=