qcow2: Metadata overlap checks
authorMax Reitz <mreitz@redhat.com>
Fri, 30 Aug 2013 12:34:25 +0000 (14:34 +0200)
committerKevin Wolf <kwolf@redhat.com>
Fri, 30 Aug 2013 13:48:43 +0000 (15:48 +0200)
commita40f1c2add4d5f58d594f810fe36cabcf32bc4b0
tree8ebc954d9b21e138c0f06bca4f806d66e40bdc82
parent69c98726537627e708abb8fcb33e3a2b10e40bf1
qcow2: Metadata overlap checks

Two new functions are added; the first one checks a given range in the
image file for overlaps with metadata (main header, L1 tables, L2
tables, refcount table and blocks).

The second one should be used immediately before writing to the image
file as it calls the first function and, upon collision, marks the
image as corrupt and makes the BDS unusable, thereby preventing
further access.

Both functions take a bitmask argument specifying the structures which
should be checked for overlaps, making it possible to also check
metadata writes against colliding with other structures.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/qcow2-refcount.c
block/qcow2.h
include/monitor/monitor.h
monitor.c