Hi all! v2: 02, 06: check bdrv_getlength error return code
v1: We've faced the following problem: after host fs corruption, vm images becomes invalid. And which is interesting, starting qemu-img check on them led to allocating of the whole RAM and then killing qemu-img by OOM Killer. This was due to corrupted l2 entries, which referenced clusters far-far beyond the end of the qcow2 file. 02 is a generic fix for the bug, 01 is unrelated improvement, 03-07 are additional info and fixing for such corrupted table entries. Questions on 02, 06 and 07: 1. Should restrictions be more or less strict? 2. Are there valid cases, when such entries should not be considered as corrupted? Vladimir Sementsov-Ogievskiy (7): block/qcow2-refcount: fix check_oflag_copied block/qcow2-refcount: avoid eating RAM block/qcow2-refcount: check_refcounts_l2: refactor compressed case block/qcow2-refcount: check_refcounts_l2: reduce ignored overlaps block/qcow2-refcount: check_refcounts_l2: split fix_l2_entry_to_zero block/qcow2-refcount: fix out-of-file L1 entries to be zero block/qcow2-refcount: fix out-of-file L2 entries to be read-as-zero block/qcow2-refcount.c | 270 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 219 insertions(+), 51 deletions(-) -- 2.11.1