The L2 cache must cover at least two L2 tables, because during COW two L2 tables are accessed simultaneously.
Reported-by: Alexander Graf <ag...@suse.de> Cc: qemu-stable <qemu-sta...@nongnu.org> Signed-off-by: Max Reitz <mre...@redhat.com> --- block/qcow2.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/block/qcow2.h b/block/qcow2.h index 0076512..aa20022 100644 --- a/block/qcow2.h +++ b/block/qcow2.h @@ -62,7 +62,8 @@ #define MIN_CLUSTER_BITS 9 #define MAX_CLUSTER_BITS 21 -#define MIN_L2_CACHE_SIZE 1 /* cluster */ +/* Must be at least 2 to cover COW */ +#define MIN_L2_CACHE_SIZE 2 /* clusters */ /* Must be at least 4 to cover all cases of refcount table growth */ #define MIN_REFCOUNT_CACHE_SIZE 4 /* clusters */ -- 2.4.1