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

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

^ permalink raw reply	[flat|nested] 33+ messages in thread
* [Qemu-devel] [PATCH 0/7] qcow2 check improvements
@ 2018-06-19 18:34 Vladimir Sementsov-Ogievskiy
  0 siblings, 0 replies; 33+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2018-06-19 18:34 UTC (permalink / raw)
  To: qemu-block, qemu-devel; +Cc: kwolf, mreitz, vsementsov, den

Hi all!

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 | 257 +++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 206 insertions(+), 51 deletions(-)

-- 
2.11.1

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

end of thread, other threads:[~2018-12-12 12:49 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-17 12:22 [Qemu-devel] [PATCH 0/7] qcow2 check improvements Vladimir Sementsov-Ogievskiy
2018-08-17 12:22 ` [Qemu-devel] [PATCH v2 1/7] block/qcow2-refcount: fix check_oflag_copied Vladimir Sementsov-Ogievskiy
2018-10-08 15:28   ` Max Reitz
2018-08-17 12:22 ` [Qemu-devel] [PATCH v2 2/7] block/qcow2-refcount: avoid eating RAM Vladimir Sementsov-Ogievskiy
2018-10-08 15:31   ` Max Reitz
2018-10-08 20:17     ` Vladimir Sementsov-Ogievskiy
2018-10-08 20:22     ` Vladimir Sementsov-Ogievskiy
2018-10-08 20:39       ` Max Reitz
2018-08-17 12:22 ` [Qemu-devel] [PATCH v2 3/7] block/qcow2-refcount: check_refcounts_l2: refactor compressed case Vladimir Sementsov-Ogievskiy
2018-10-08 15:40   ` Max Reitz
2018-08-17 12:22 ` [Qemu-devel] [PATCH v2 4/7] block/qcow2-refcount: check_refcounts_l2: reduce ignored overlaps Vladimir Sementsov-Ogievskiy
2018-10-08 15:44   ` Max Reitz
2018-08-17 12:22 ` [Qemu-devel] [PATCH v2 5/7] block/qcow2-refcount: check_refcounts_l2: split fix_l2_entry_to_zero Vladimir Sementsov-Ogievskiy
2018-10-08 19:54   ` Max Reitz
2018-10-10 12:25     ` Vladimir Sementsov-Ogievskiy
2018-08-17 12:22 ` [Qemu-devel] [PATCH v2 6/7] block/qcow2-refcount: fix out-of-file L1 entries to be zero Vladimir Sementsov-Ogievskiy
2018-10-08 20:09   ` Max Reitz
2018-08-17 12:22 ` [Qemu-devel] [PATCH v2 7/7] block/qcow2-refcount: fix out-of-file L2 entries to be read-as-zero Vladimir Sementsov-Ogievskiy
2018-10-08 20:51   ` Max Reitz
2018-10-08 22:02     ` Vladimir Sementsov-Ogievskiy
2018-10-08 22:08       ` Max Reitz
2018-10-08 22:14         ` Vladimir Sementsov-Ogievskiy
2018-10-08 22:21           ` Max Reitz
2018-10-08 23:14             ` Vladimir Sementsov-Ogievskiy
2018-10-13 12:51               ` Max Reitz
2018-10-10 16:39   ` Vladimir Sementsov-Ogievskiy
2018-10-10 16:55     ` Vladimir Sementsov-Ogievskiy
2018-10-10 16:59       ` Vladimir Sementsov-Ogievskiy
2018-10-13 12:58         ` Max Reitz
2018-12-12  8:36           ` Vladimir Sementsov-Ogievskiy
2018-12-12 12:49             ` Max Reitz
2018-10-08 15:02 ` [Qemu-devel] [PATCH 0/7] qcow2 check improvements Vladimir Sementsov-Ogievskiy
  -- strict thread matches above, loose matches on Subject: below --
2018-06-19 18:34 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).