summaryrefslogtreecommitdiff
path: root/block/qcow2.h
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2009-09-15 12:30:43 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2009-10-05 09:32:52 -0500
commit80ee15a6b274dfcedb0ad7db8c9e7d392210d6a1 (patch)
tree4e20de957cf3d4709dd95082c96b9b1a7f8e3807 /block/qcow2.h
parent85352471ce78d73b8306822959caace2e8880535 (diff)
qcow2: Increase maximum cluster size to 2 MB
This patch increases the maximum qcow2 cluster size to 2 MB. Starting with 128k clusters, L2 tables span 2 GB or more of virtual disk space, causing 32 bit truncation and wraparound of signed integers. Therefore some variables need to use a larger data type. While being at reviewing data types, change some integers that are used for array indices to unsigned. In some places they were checked against some upper limit but not for negative values. This could avoid potential segfaults with corrupted qcow2 images. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'block/qcow2.h')
-rw-r--r--block/qcow2.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/block/qcow2.h b/block/qcow2.h
index ecc94cbfad..26ab5d9523 100644
--- a/block/qcow2.h
+++ b/block/qcow2.h
@@ -47,7 +47,7 @@
#define REFCOUNT_SHIFT 1 /* refcount size is 2 bytes */
#define MIN_CLUSTER_BITS 9
-#define MAX_CLUSTER_BITS 16
+#define MAX_CLUSTER_BITS 21
#define L2_CACHE_SIZE 16