qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/20] Block device mirroring enhancements, 12-12-12 edition
@ 2012-12-12 13:46 Paolo Bonzini
  2012-12-12 13:46 ` [Qemu-devel] [PATCH 01/20] host-utils: add ffsl Paolo Bonzini
                   ` (20 more replies)
  0 siblings, 21 replies; 53+ messages in thread
From: Paolo Bonzini @ 2012-12-12 13:46 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, jcody, stefanha

Here are my block mirroring patches for QEMU 1.4, please review.

Patches 1-12 implement improvements and optimizations to the code
that went in 1.3.

Patches 13-20 (lacking tests for now) implement a persistent dirty
bitmap.  The bitmap can be used to run storage migration jobs across
multiple executions of the VM or, in the future, offline via qemu-img.

Paolo

Paolo Bonzini (20):
  host-utils: add ffsl
  add hierarchical bitmap data type and test cases
  block: implement dirty bitmap using HBitmap
  block: make round_to_clusters public
  mirror: perform COW if the cluster size is bigger than the granularity
  block: return count of dirty sectors, not chunks
  block: allow customizing the granularity of the dirty bitmap
  mirror: allow customizing the granularity
  mirror: switch mirror_iteration to AIO
  mirror: add buf-size argument to drive-mirror
  mirror: support more than one in-flight AIO operation
  mirror: support arbitrarily-sized iterations
  oslib: add a wrapper for mmap/munmap
  hbitmap: add hbitmap_alloc_with_data and hbitmap_required_size
  hbitmap: add hbitmap_copy
  block: split bdrv_enable_dirty_tracking and
    bdrv_disable_dirty_tracking
  block: support a persistent dirty bitmap
  mirror: add support for persistent dirty bitmap
  block: choose the default dirty bitmap granularity in
    bdrv_enable_dirty_tracking
  monitor: add commands to start/stop dirty bitmap

 Makefile.objs              |   2 +-
 block-migration.c          |  22 +-
 block.c                    | 279 +++++++++++++++++---------
 block.h                    |  18 +-
 block/mirror.c             | 393 ++++++++++++++++++++++++++++++------
 block_int.h                |  15 +-
 blockdev.c                 |  83 ++++++--
 blockdev.h                 |   1 +
 hbitmap.c                  | 485 +++++++++++++++++++++++++++++++++++++++++++++
 hbitmap.h                  | 243 +++++++++++++++++++++++
 hmp-commands.hx            |  39 ++++
 hmp.c                      |  29 ++-
 hmp.h                      |   2 +
 host-utils.h               |  26 +++
 osdep.h                    |  10 +
 oslib-posix.c              |  47 +++++
 oslib-win32.c              |  59 ++++++
 qapi-schema.json           |  71 ++++++-
 qmp-commands.hx            |  75 ++++++-
 tests/Makefile             |   2 +
 tests/qemu-iotests/041     |  52 +++++
 tests/qemu-iotests/041.out |   4 +-
 tests/test-hbitmap.c       | 475 ++++++++++++++++++++++++++++++++++++++++++++
 trace-events               |  12 ++
 24 files changed, 2247 insertions(+), 197 deletions(-)
 create mode 100644 hbitmap.c
 create mode 100644 hbitmap.h
 create mode 100644 tests/test-hbitmap.c

-- 
1.8.0.1

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

end of thread, other threads:[~2013-01-14 13:29 UTC | newest]

Thread overview: 53+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-12 13:46 [Qemu-devel] [PATCH 00/20] Block device mirroring enhancements, 12-12-12 edition Paolo Bonzini
2012-12-12 13:46 ` [Qemu-devel] [PATCH 01/20] host-utils: add ffsl Paolo Bonzini
2012-12-12 23:41   ` Eric Blake
2012-12-12 13:46 ` [Qemu-devel] [PATCH 02/20] add hierarchical bitmap data type and test cases Paolo Bonzini
2012-12-14  0:04   ` Eric Blake
2013-01-11 18:27   ` Stefan Hajnoczi
2012-12-12 13:46 ` [Qemu-devel] [PATCH 03/20] block: implement dirty bitmap using HBitmap Paolo Bonzini
2012-12-14  0:27   ` Eric Blake
2012-12-12 13:46 ` [Qemu-devel] [PATCH 04/20] block: make round_to_clusters public Paolo Bonzini
2012-12-14 20:13   ` Eric Blake
2012-12-12 13:46 ` [Qemu-devel] [PATCH 05/20] mirror: perform COW if the cluster size is bigger than the granularity Paolo Bonzini
2012-12-14 20:21   ` Eric Blake
2012-12-12 13:46 ` [Qemu-devel] [PATCH 06/20] block: return count of dirty sectors, not chunks Paolo Bonzini
2012-12-14 20:49   ` Eric Blake
2012-12-12 13:46 ` [Qemu-devel] [PATCH 07/20] block: allow customizing the granularity of the dirty bitmap Paolo Bonzini
2012-12-14 21:27   ` Eric Blake
2012-12-15  9:11     ` Paolo Bonzini
2012-12-12 13:46 ` [Qemu-devel] [PATCH 08/20] mirror: allow customizing the granularity Paolo Bonzini
2012-12-14 22:01   ` Eric Blake
2013-01-14 11:28   ` Stefan Hajnoczi
2012-12-12 13:46 ` [Qemu-devel] [PATCH 09/20] mirror: switch mirror_iteration to AIO Paolo Bonzini
2012-12-14 22:11   ` Eric Blake
2012-12-15  9:09     ` Paolo Bonzini
2012-12-15 13:05       ` Eric Blake
2012-12-12 13:46 ` [Qemu-devel] [PATCH 10/20] mirror: add buf-size argument to drive-mirror Paolo Bonzini
2012-12-14 22:22   ` Eric Blake
2012-12-15  9:09     ` Paolo Bonzini
2013-01-14 11:41   ` Stefan Hajnoczi
2012-12-12 13:46 ` [Qemu-devel] [PATCH 11/20] mirror: support more than one in-flight AIO operation Paolo Bonzini
2012-12-14 22:32   ` Eric Blake
2013-01-14 12:56   ` Stefan Hajnoczi
2013-01-14 13:28     ` Paolo Bonzini
2012-12-12 13:46 ` [Qemu-devel] [PATCH 12/20] mirror: support arbitrarily-sized iterations Paolo Bonzini
2012-12-14 22:39   ` Eric Blake
2012-12-12 13:46 ` [Qemu-devel] [PATCH 13/20] oslib: add a wrapper for mmap/munmap Paolo Bonzini
2012-12-14 22:54   ` Eric Blake
2012-12-15  9:06     ` Paolo Bonzini
2012-12-12 13:46 ` [Qemu-devel] [PATCH 14/20] hbitmap: add hbitmap_alloc_with_data and hbitmap_required_size Paolo Bonzini
2012-12-17 17:14   ` Eric Blake
2012-12-17 17:18     ` Paolo Bonzini
2012-12-12 13:46 ` [Qemu-devel] [PATCH 15/20] hbitmap: add hbitmap_copy Paolo Bonzini
2012-12-17 18:25   ` Eric Blake
2012-12-12 13:46 ` [Qemu-devel] [PATCH 16/20] block: split bdrv_enable_dirty_tracking and bdrv_disable_dirty_tracking Paolo Bonzini
2012-12-20 18:26   ` Eric Blake
2012-12-12 13:46 ` [Qemu-devel] [PATCH 17/20] block: support a persistent dirty bitmap Paolo Bonzini
2012-12-20 23:03   ` Eric Blake
2012-12-12 13:46 ` [Qemu-devel] [PATCH 18/20] mirror: add support for " Paolo Bonzini
2012-12-20 23:49   ` Eric Blake
2012-12-12 13:46 ` [Qemu-devel] [PATCH 19/20] block: choose the default dirty bitmap granularity in bdrv_enable_dirty_tracking Paolo Bonzini
2012-12-20 23:53   ` Eric Blake
2012-12-12 13:46 ` [Qemu-devel] [PATCH 20/20] monitor: add commands to start/stop dirty bitmap Paolo Bonzini
2012-12-21 18:30   ` Eric Blake
2013-01-14 13:02 ` [Qemu-devel] [PATCH 00/20] Block device mirroring enhancements, 12-12-12 edition Stefan Hajnoczi

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