qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/5] block/qcow2-bitmap: Enable resize with persistent bitmaps
@ 2019-03-05 23:43 John Snow
  2019-03-05 23:43 ` [Qemu-devel] [PATCH 1/5] block/qcow2-bitmap: Skip length check in some cases John Snow
                   ` (7 more replies)
  0 siblings, 8 replies; 33+ messages in thread
From: John Snow @ 2019-03-05 23:43 UTC (permalink / raw)
  To: qemu-devel
  Cc: eblake, vsementsov, Kevin Wolf, qemu-block, Max Reitz, John Snow

This series aims to enable block resizes when persistent bitmaps are
in use. The basic approach here is to recognize that we now load all
persistent bitmaps in memory, and so we can rely on in-memory resizes
and then flush the changed metadata back to disk.

One part that is potentially now quite strange is that bitmap resizes
may happen twice: once during the qcow2 resize event only if persistent
bitmaps are found, and then again as part of the generic resize callback
event whether or not we have any persistent bitmaps.

The second round is required if we are not using qcow2 or we have only
transient bitmaps. The first round is required as we wish to flush the
bitmaps back to disk atomically with the qcow2 resize to avoid violating
our invariants for the bitmap metadata which is checked in many places.

This is harmless; hbitmap_truncate will recognize the second round as
a no-op.

John Snow (5):
  block/qcow2-bitmap: Skip length check in some cases
  block/qcow2-bitmap: Allow bitmap flushing
  block/qcow2-bitmap: don't remove bitmaps on reopen
  block/qcow2-bitmap: Allow resizes with persistent bitmaps
  tests/qemu-iotests: add bitmap resize test 246

 block/qcow2.h              |   2 +
 block/qcow2-bitmap.c       | 123 +++++++++++----
 block/qcow2.c              |  27 +++-
 tests/qemu-iotests/246     | 114 ++++++++++++++
 tests/qemu-iotests/246.out | 296 +++++++++++++++++++++++++++++++++++++
 tests/qemu-iotests/group   |   1 +
 6 files changed, 528 insertions(+), 35 deletions(-)
 create mode 100755 tests/qemu-iotests/246
 create mode 100644 tests/qemu-iotests/246.out

-- 
2.17.2

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

end of thread, other threads:[~2019-03-11 18:47 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-05 23:43 [Qemu-devel] [PATCH 0/5] block/qcow2-bitmap: Enable resize with persistent bitmaps John Snow
2019-03-05 23:43 ` [Qemu-devel] [PATCH 1/5] block/qcow2-bitmap: Skip length check in some cases John Snow
2019-03-06 12:34   ` Eric Blake
2019-03-06 15:21   ` Vladimir Sementsov-Ogievskiy
2019-03-06 15:35     ` John Snow
2019-03-06 16:07   ` Vladimir Sementsov-Ogievskiy
2019-03-08 22:10     ` John Snow
2019-03-05 23:43 ` [Qemu-devel] [PATCH 2/5] block/qcow2-bitmap: Allow bitmap flushing John Snow
2019-03-06 12:58   ` Eric Blake
2019-03-06 15:59     ` John Snow
2019-03-06 16:12       ` Vladimir Sementsov-Ogievskiy
2019-03-08 22:11         ` John Snow
2019-03-05 23:43 ` [Qemu-devel] [PATCH 3/5] block/qcow2-bitmap: don't remove bitmaps on reopen John Snow
2019-03-06 15:28   ` Vladimir Sementsov-Ogievskiy
2019-03-06 15:38     ` John Snow
2019-03-05 23:43 ` [Qemu-devel] [PATCH 4/5] block/qcow2-bitmap: Allow resizes with persistent bitmaps John Snow
2019-03-06 15:33   ` Vladimir Sementsov-Ogievskiy
2019-03-06 15:36     ` Eric Blake
2019-03-06 15:44       ` Vladimir Sementsov-Ogievskiy
2019-03-06 15:41     ` John Snow
2019-03-06 15:52       ` Vladimir Sementsov-Ogievskiy
2019-03-06 15:56         ` Vladimir Sementsov-Ogievskiy
2019-03-09  0:35         ` John Snow
2019-03-05 23:43 ` [Qemu-devel] [PATCH 5/5] tests/qemu-iotests: add bitmap resize test 246 John Snow
2019-03-06  0:02 ` [Qemu-devel] [PATCH 0/5] block/qcow2-bitmap: Enable resize with persistent bitmaps John Snow
2019-03-10 16:50 ` no-reply
2019-03-11 16:18 ` Eric Blake
2019-03-11 17:36   ` Vladimir Sementsov-Ogievskiy
2019-03-11 17:48     ` Eric Blake
2019-03-11 18:05       ` Vladimir Sementsov-Ogievskiy
2019-03-11 18:05     ` John Snow
2019-03-11 18:26       ` Vladimir Sementsov-Ogievskiy
2019-03-11 18:35         ` John Snow

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).