From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47652) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjgKB-0008FO-Qt for qemu-devel@nongnu.org; Wed, 29 Oct 2014 23:23:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XjgK5-0002ID-2S for qemu-devel@nongnu.org; Wed, 29 Oct 2014 23:22:59 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49330) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjgK4-0002I3-Rg for qemu-devel@nongnu.org; Wed, 29 Oct 2014 23:22:53 -0400 From: Fam Zheng Date: Thu, 30 Oct 2014 11:22:34 +0800 Message-Id: <1414639364-4499-1-git-send-email-famz@redhat.com> Subject: [Qemu-devel] [PATCH v6 00/10] block: Incremental backup series List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Benoit Canet , Vladimir Sementsov-Ogievskij , Markus Armbruster , Max Reitz , John Snow , Stefan Hajnoczi , Jd , Paolo Bonzini , Luiz Capitulino v6: Rebased v4 of the series on top of qemu.git. (skipping v5 since it was used by me as a private sending, for those who received it, the code is the same :) This is the in memory part of the incremental backup feature. With the added commands, we can create a bitmap on a block backend, from which point of time all the writes are tracked by the bitmap, marking sectors as dirty. Later, we call drive-backup and pass the bitmap to it, to do an incremental backup. See the last patch which adds some tests for this use case. Fam Fam Zheng (10): qapi: Add optional field "name" to block dirty bitmap qmp: Add block-dirty-bitmap-add and block-dirty-bitmap-remove block: Introduce bdrv_dirty_bitmap_granularity() hbitmap: Add hbitmap_copy block: Add bdrv_copy_dirty_bitmap and bdrv_reset_dirty_bitmap qmp: Add block-dirty-bitmap-enable and block-dirty-bitmap-disable qmp: Add support of "dirty-bitmap" sync mode for drive-backup qapi: Add transaction support to block-dirty-bitmap-{add,enable,disable} qmp: Add dirty bitmap 'enabled' field in query-block qemu-iotests: Add tests for drive-backup sync=dirty-bitmap block-migration.c | 2 +- block.c | 82 ++++++++++++++++- block/backup.c | 54 +++++++++++- block/mirror.c | 6 +- blockdev.c | 198 +++++++++++++++++++++++++++++++++++++++++- hmp.c | 4 +- include/block/block.h | 15 +++- include/block/block_int.h | 4 + include/qemu/hbitmap.h | 8 ++ qapi-schema.json | 5 +- qapi/block-core.json | 120 +++++++++++++++++++++++-- qmp-commands.hx | 66 +++++++++++++- tests/qemu-iotests/056 | 33 ++++++- tests/qemu-iotests/056.out | 4 +- tests/qemu-iotests/iotests.py | 8 ++ util/hbitmap.c | 16 ++++ 16 files changed, 603 insertions(+), 22 deletions(-) -- 1.9.3