qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH RFC DRAFT 00/11] Make image fleecing more usable


From: Vladimir Sementsov-Ogievskiy
Subject: [PATCH RFC DRAFT 00/11] Make image fleecing more usable
Date: Wed, 4 Aug 2021 16:17:39 +0300

Hi all!

That's an untested draft. I'll be on vocation 05-22, so no reason for
this just lay in my hard drive. Any comments are welcome (mostly about
general design), but don't waste time on careful reviewing.

What this series brings to image-fleecing:

1. support for bitmap (patch 04). So, we can do incremental external
backups and not do extra copy-before-write operations for non-dirty
regions.

2. fleecing block driver - see lat patch for details and list of
benefits.

Based-on: <20210804093813.20688-1-vsementsov@virtuozzo.com>
  ([PATCH v7 00/33] block: publish backup-top filter)

Vladimir Sementsov-Ogievskiy (11):
  block/block-copy: move copy_bitmap initialization to
    block_copy_state_new()
  block/dirty-bitmap: bdrv_merge_dirty_bitmap(): add return value
  block/block-copy: block_copy_state_new(): add bitmap parameter
  block/copy-before-write: add bitmap open parameter
  block/block-copy: add block_copy_reset()
  block: intoduce reqlist
  block/dirty-bitmap: introduce bdrv_dirty_bitmap_status()
  block/reqlist: add reqlist_wait_all()
  block/copy-before-write: add cbw_snapshot_read_{lock,unlock}()
  block/copy-before-write: add cbw_snapshot_discard()
  block: introduce fleecing block driver

 qapi/block-core.json            |  10 +-
 block/copy-before-write.h       |   6 ++
 include/block/block-copy.h      |   3 +-
 include/block/dirty-bitmap.h    |   4 +-
 include/block/reqlist.h         |  47 ++++++++
 include/qemu/hbitmap.h          |  11 ++
 block/block-copy.c              | 152 +++++++++++---------------
 block/copy-before-write.c       | 143 ++++++++++++++++++++++++-
 block/dirty-bitmap.c            |  14 ++-
 block/fleecing.c                | 183 ++++++++++++++++++++++++++++++++
 block/monitor/bitmap-qmp-cmds.c |   5 +-
 block/reqlist.c                 | 100 +++++++++++++++++
 util/hbitmap.c                  |  36 +++++++
 block/meson.build               |   2 +
 14 files changed, 613 insertions(+), 103 deletions(-)
 create mode 100644 include/block/reqlist.h
 create mode 100644 block/fleecing.c
 create mode 100644 block/reqlist.c

-- 
2.29.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]