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.

Max Reitz (5):
  qcow2: Add corrupt bit
  qcow2: Metadata overlap checks
  qcow2: Employ metadata overlap checks
  qcow2: Check allocations in qcow2_check
  qemu-iotests: Overlapping cluster allocations

 block/qcow2-cache.c        |  17 +++++
 block/qcow2-cluster.c      | 437 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 block/qcow2-refcount.c     | 142 ++++++++++++++++++++++++++++++++++++++
 block/qcow2-snapshot.c     |  24 +++++++
 block/qcow2.c              |  97 +++++++++++++++++++++++++-
 block/qcow2.h              |  37 +++++++++-
 docs/specs/qcow2.txt       |   7 +-
 include/block/block.h      |   2 +
 qemu-img.c                 |   2 +-
 tests/qemu-iotests/031.out |  12 ++--
 tests/qemu-iotests/036.out |   2 +-
 tests/qemu-iotests/060     | 107 +++++++++++++++++++++++++++++
 tests/qemu-iotests/060.out |  43 ++++++++++++
 tests/qemu-iotests/group   |   1 +
 14 files changed, 917 insertions(+), 13 deletions(-)
 create mode 100755 tests/qemu-iotests/060
 create mode 100644 tests/qemu-iotests/060.out

Reply via email to