qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 0/6] external backup api


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [Qemu-devel] [PATCH v2 0/6] external backup api
Date: Wed, 3 Feb 2016 14:24:51 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0

On 03.02.2016 14:02, Fam Zheng wrote:
On Wed, 02/03 13:57, Vladimir Sementsov-Ogievskiy wrote:
On 03.02.2016 11:14, Fam Zheng wrote:
On Sat, 01/30 13:56, Vladimir Sementsov-Ogievskiy wrote:
Hi all.

These series which aims to add external backup api. This is needed to allow
backup software use our dirty bitmaps.

Vmware and Parallels Cloud Server have this feature.
What is the advantage of this appraoch over "drive-backup sync=incremental
..."?
Hmm, you are asking about advantage of external backup over
internal? It depends on external backup tool.
I'm asking why the tool can't use drive-backup to achieve what you want. They
seem very comparable.

drive-backup has limited range of maintained by qemu targets.. Third party tool uses its own internal targets. If we use drvie-backup there will be two copies instead of one: from qemu to drive-backup produced backup and then to internal target in third-party tool.


Fam

There are three things are done:
- add query-block-dirty-bitmap-ranges qmp command
- add qmp commands for dirty-bitmap functions: create_successor, abdicate,
   reclaim.
- make create-successor command transaction-able

Then, external backup should be done like this:

1.  qmp transaction {
         external-snapshot
         bitmap-create-successor
     }

2.  qmp query frozen bitmap, not acquiring aio context.
What do you do with the query response, read the snapshot image with an
external tool?
Yes. Alternatively, image fleecing may be used instead of snapshot.

Fam

3.  do external backup, using snapshot and bitmap


4.  if (success backup)
         qmp bitmap-abdicate
     else
         qmp bitmap-reclaime

5.  qmp merge snapshot


v2: a lot of additions and changes, no sense to compare with v1


Vladimir Sementsov-Ogievskiy (6):
   block dirty bitmap: add next_zero function
   qmp: add query-block-dirty-bitmap-ranges
   iotests: test query-block-dirty-bitmap-ranges
   qapi: add qmp commands for some dirty bitmap functions
   qapi: make block-dirty-bitmap-create-successor transaction-able
   iotests: test external backup api

  block/dirty-bitmap.c         |  60 ++++++++++++++++++++++
  blockdev.c                   | 113 +++++++++++++++++++++++++++++++++++++++++
  include/block/dirty-bitmap.h |   9 ++++
  include/qemu/hbitmap.h       |   8 +++
  qapi-schema.json             |   4 +-
  qapi/block-core.json         |  90 +++++++++++++++++++++++++++++++++
  qmp-commands.hx              | 118 +++++++++++++++++++++++++++++++++++++++++++
  tests/qemu-iotests/150       |  88 ++++++++++++++++++++++++++++++++
  tests/qemu-iotests/150.out   |  21 ++++++++
  tests/qemu-iotests/151       |  77 ++++++++++++++++++++++++++++
  tests/qemu-iotests/151.out   |   7 +++
  tests/qemu-iotests/group     |   2 +
  util/hbitmap.c               |  26 ++++++++++
  13 files changed, 622 insertions(+), 1 deletion(-)
  create mode 100755 tests/qemu-iotests/150
  create mode 100644 tests/qemu-iotests/150.out
  create mode 100755 tests/qemu-iotests/151
  create mode 100644 tests/qemu-iotests/151.out

--
1.8.3.1


--
Best regards,
Vladimir



--
Best regards,
Vladimir




reply via email to

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