From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34361) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aQvD4-0004to-DN for qemu-devel@nongnu.org; Wed, 03 Feb 2016 06:02:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aQvCy-0007F2-B4 for qemu-devel@nongnu.org; Wed, 03 Feb 2016 06:02:54 -0500 Received: from mx1.redhat.com ([209.132.183.28]:39852) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aQvCy-0007Eq-3H for qemu-devel@nongnu.org; Wed, 03 Feb 2016 06:02:48 -0500 Date: Wed, 3 Feb 2016 19:02:43 +0800 From: Fam Zheng Message-ID: <20160203110243.GA18776@ad.usersys.redhat.com> References: <1454151394-52320-1-git-send-email-vsementsov@virtuozzo.com> <20160203081418.GC25746@ad.usersys.redhat.com> <56B1DD29.1010308@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <56B1DD29.1010308@virtuozzo.com> Subject: Re: [Qemu-devel] [PATCH v2 0/6] external backup api List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Vladimir Sementsov-Ogievskiy Cc: kwolf@redhat.com, den@virtuozzo.com, jsnow@redhat.com, qemu-devel@nongnu.org, armbru@redhat.com 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. 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 >