qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 0/8] qcow2 check improvements
@ 2018-10-11 15:16 Vladimir Sementsov-Ogievskiy
  2018-10-11 15:16 ` [Qemu-devel] [PATCH v3 1/8] block/qcow2-refcount: fix check_oflag_copied Vladimir Sementsov-Ogievskiy
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2018-10-11 15:16 UTC (permalink / raw)
  To: qemu-devel, qemu-block; +Cc: mreitz, kwolf, vsementsov, den

Hi all!

v3:

01: s/l2_fixed_entries/l2_dirty/
02: add comment, s/>/>=
03: s/BDRV_SECTOR_SIZE/512
04: add Max's r-b
05: new
06-08: mostly rewritten

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.

Vladimir Sementsov-Ogievskiy (8):
  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: don't count corrupted
    entries
  block/qcow2-refcount: refactor fixing L2 entry
  block/qcow2-refcount: fix out-of-file L1 entries to be zero
  block/qcow2-refcount: fix out-of-file L2 entries

 block/qcow2-refcount.c | 352 ++++++++++++++++++++++++++++++-----------
 1 file changed, 264 insertions(+), 88 deletions(-)

-- 
2.18.0

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-10-11 15:16 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-11 15:16 [Qemu-devel] [PATCH v3 0/8] qcow2 check improvements Vladimir Sementsov-Ogievskiy
2018-10-11 15:16 ` [Qemu-devel] [PATCH v3 1/8] block/qcow2-refcount: fix check_oflag_copied Vladimir Sementsov-Ogievskiy
2018-10-11 15:16 ` [Qemu-devel] [PATCH v3 2/8] block/qcow2-refcount: avoid eating RAM Vladimir Sementsov-Ogievskiy
2018-10-11 15:16 ` [Qemu-devel] [PATCH v3 3/8] block/qcow2-refcount: check_refcounts_l2: refactor compressed case Vladimir Sementsov-Ogievskiy
2018-10-11 15:16 ` [Qemu-devel] [PATCH v3 4/8] block/qcow2-refcount: check_refcounts_l2: reduce ignored overlaps Vladimir Sementsov-Ogievskiy
2018-10-11 15:16 ` [Qemu-devel] [PATCH v3 5/8] block/qcow2-refcount: check_refcounts_l2: don't count corrupted entries Vladimir Sementsov-Ogievskiy
2018-10-11 15:16 ` [Qemu-devel] [PATCH v3 6/8] block/qcow2-refcount: refactor fixing L2 entry Vladimir Sementsov-Ogievskiy
2018-10-11 15:16 ` [Qemu-devel] [PATCH v3 7/8] block/qcow2-refcount: fix out-of-file L1 entries to be zero Vladimir Sementsov-Ogievskiy
2018-10-11 15:16 ` [Qemu-devel] [PATCH v3 8/8] block/qcow2-refcount: fix out-of-file L2 entries Vladimir Sementsov-Ogievskiy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).