From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51585) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aPTDC-00020V-MS for qemu-devel@nongnu.org; Sat, 30 Jan 2016 05:57:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aPTDA-0002Wy-Jz for qemu-devel@nongnu.org; Sat, 30 Jan 2016 05:57:02 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:29202 helo=relay.sw.ru) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aPTDA-0002S0-7o for qemu-devel@nongnu.org; Sat, 30 Jan 2016 05:57:00 -0500 From: Vladimir Sementsov-Ogievskiy Date: Sat, 30 Jan 2016 13:56:28 +0300 Message-Id: <1454151394-52320-1-git-send-email-vsementsov@virtuozzo.com> Subject: [Qemu-devel] [PATCH v2 0/6] external backup api List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, Vladimir Sementsov-Ogievskiy , famz@redhat.com, den@virtuozzo.com, armbru@redhat.com, jsnow@redhat.com 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. 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. 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