qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]