From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58602) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VDtt2-0001hJ-Ch for qemu-devel@nongnu.org; Mon, 26 Aug 2013 06:19:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VDtsw-000412-E5 for qemu-devel@nongnu.org; Mon, 26 Aug 2013 06:19:04 -0400 Received: from mx1.redhat.com ([209.132.183.28]:36943) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VDtsw-00040q-6r for qemu-devel@nongnu.org; Mon, 26 Aug 2013 06:18:58 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r7QAIuRI021255 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 26 Aug 2013 06:18:56 -0400 From: Max Reitz Date: Mon, 26 Aug 2013 12:18:21 +0200 Message-Id: <1377512306-27382-1-git-send-email-mreitz@redhat.com> Subject: [Qemu-devel] [PATCH 0/5] qcow2: Add metadata overlap checks List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com 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