Hi all! Here are some good refactorings and new (qemu-img check) checks for qcow2.
06 qcow2-refcount: check_refcounts_l2(): check l2_bitmap don't fix unallocated cluster with allocated subclusters (no strong opinion how to do it correctly) drop Eric's r-b keep Kirill's t-b (I believe it still applies, my original task didn't include error fixing) define l2_bitmap near l2_entry add separate assertion and "break;" for QCOW2_CLUSTER_ZERO_PLAIN others: add r-b: Hanna Vladimir Sementsov-Ogievskiy (10): qcow2-refcount: improve style of check_refcounts_l2() qcow2: compressed read: simplify cluster descriptor passing qcow2: introduce qcow2_parse_compressed_l2_entry() helper qcow2-refcount: introduce fix_l2_entry_by_zero() qcow2-refcount: fix_l2_entry_by_zero(): also zero L2 entry bitmap qcow2-refcount: check_refcounts_l2(): check l2_bitmap qcow2-refcount: check_refcounts_l2(): check reserved bits qcow2-refcount: improve style of check_refcounts_l1() qcow2-refcount: check_refcounts_l1(): check reserved bits qcow2-refcount: check_refblocks(): add separate message for reserved block/qcow2.h | 7 +- block/qcow2-cluster.c | 20 ++- block/qcow2-refcount.c | 324 ++++++++++++++++++++++++++--------------- block/qcow2.c | 13 +- 4 files changed, 236 insertions(+), 128 deletions(-) -- 2.29.2