From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40848) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aQvYl-0000Gv-Ms for qemu-devel@nongnu.org; Wed, 03 Feb 2016 06:25:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aQvYf-00044E-J9 for qemu-devel@nongnu.org; Wed, 03 Feb 2016 06:25:19 -0500 Received: from mx2.parallels.com ([199.115.105.18]:35934) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aQvYf-00042L-Cx for qemu-devel@nongnu.org; Wed, 03 Feb 2016 06:25:13 -0500 Message-ID: <56B1E383.90100@virtuozzo.com> Date: Wed, 3 Feb 2016 14:24:51 +0300 From: Vladimir Sementsov-Ogievskiy MIME-Version: 1.0 References: <1454151394-52320-1-git-send-email-vsementsov@virtuozzo.com> <20160203081418.GC25746@ad.usersys.redhat.com> <56B1DD29.1010308@virtuozzo.com> <20160203110243.GA18776@ad.usersys.redhat.com> In-Reply-To: <20160203110243.GA18776@ad.usersys.redhat.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 0/6] external backup api List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Fam Zheng Cc: kwolf@redhat.com, den@virtuozzo.com, jsnow@redhat.com, qemu-devel@nongnu.org, armbru@redhat.com 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