From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36861) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLDjr-0008NC-6s for qemu-devel@nongnu.org; Tue, 10 Feb 2015 11:32:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YLDjm-0006eD-KM for qemu-devel@nongnu.org; Tue, 10 Feb 2015 11:32:39 -0500 Received: from mx1.redhat.com ([209.132.183.28]:56578) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLDjm-0006e6-DJ for qemu-devel@nongnu.org; Tue, 10 Feb 2015 11:32:34 -0500 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id t1AGWXDP024565 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Tue, 10 Feb 2015 11:32:33 -0500 Received: from scv.usersys.redhat.com (vpn-49-41.rdu2.redhat.com [10.10.49.41]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t1AGWW8U023893 for ; Tue, 10 Feb 2015 11:32:32 -0500 Message-ID: <54DA32A0.6050006@redhat.com> Date: Tue, 10 Feb 2015 11:32:32 -0500 From: John Snow MIME-Version: 1.0 References: <1423532117-14490-1-git-send-email-jsnow@redhat.com> In-Reply-To: <1423532117-14490-1-git-send-email-jsnow@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v12 00/17] block: incremental backup series List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On 02/09/2015 08:35 PM, John Snow wrote: > Welcome to the "incremental backup" newsletter, where we discuss > exciting developments in non-redundant backup technology. > > This patchset enables the in-memory part of the incremental backup > feature. There are two series on the mailing list now by Vladimir > Sementsov-Ogievskiy that enable the migration and persistence of > dirty bitmaps. > > V12 has a lot of tiny changes from V11, so I've lost a lot of R-B > fields again. Sorry! For a fuller changelog, see the V11 cover letter > in the qemu-devel archives. > > This series and most patches were originally by Fam Zheng. > > Highlights: > - Renamed "node-ref" parameter to "node" in all QMP patches. > (A rose by any other name? ...) > - Fuller, more robust iotests. > - Fixed progress percentages for incremental backup jobs. > - This patch relies upon a blkdebug fix, included as patch #16, > but also posted separately on-list. > > V12: > - Changed authorship from Fam Zheng to John Snow on most patches > - 02: Fix the error_setg leak in bdrv_dirty_bitmap_lookup > - Fix error phrasing in bdrv_dirty_bitmap_lookup > - Renamed "node-ref" to "node" for QMP commands. > - 03: Granularity helper no longer requires a BDS argument. > - 04: Return early if the second bitmap is empty. > - 05: Renamed the 'enabled' field to 'disabled to emphasize what the > default operating state is. > - We now guard against bit sets or resets with the bitmap is > disabled, making it a more pure "read only" mode. > - Some documentation phrasing changes. > - 06: Removed explicit "frozen" state in favor of an implicit one. > A successor present implies a frozen state. > - Updated all functions that target a single bitmap to use > assertions that the bitmap they are trying to modify is not > frozen/disabled. > - Functions that target multiple bitmaps use only a conditional, > and will silently skip disabled bitmaps. > - thaw() function removed. It is implicitly handled in reclaim > and abdicate. > - Added check for return code of hbitmap_merge. > - Functions now check against enable OR disable when in frozen > state, for consistency and simplicity. > - Add "frozen" state documentation to remove/enable/disable > QMP commands. > - 07: Some documentation for bdrv_set_dirty_iter. > - Move function calls outside of assert() > - Cleanup the unused successor if we do not start the backup > - Version documentation added for dirty-bitmap to block-core.json > - Job progress is now reported for incremental backup jobs. > - 08: bdrv_dirty_bitmap_clear is now in its own patch, here. > - bdrv_dirty_bitmap_clear no longer takes a BDS argument. > - 09: Added a transaction for bdrv_dirty_bitmap_clear. > - 10: Change 'enabled' field to 'disabled' field, to match > above decision in patch 05. > - 12: Removed extraneous BDS arguments from most bitmap functions. > - 13-15: New set of iotests. > - 16: blkdebug fix, already posted upstream. > - 17: Final iotest, testing failure case. > > Fam Zheng (1): > qapi: Add optional field "name" to block dirty bitmap > > John Snow (16): > qmp: Add block-dirty-bitmap-add and block-dirty-bitmap-remove > block: Introduce bdrv_dirty_bitmap_granularity() > hbitmap: add hbitmap_merge > qmp: Add block-dirty-bitmap-enable and block-dirty-bitmap-disable > block: Add bitmap successors > qmp: Add support of "dirty-bitmap" sync mode for drive-backup > qmp: add block-dirty-bitmap-clear > qapi: Add transaction support to block-dirty-bitmap operations > qmp: Add dirty bitmap status fields in query-block > block: add BdrvDirtyBitmap documentation > block: Ensure consistent bitmap function prototypes > iotests: add invalid input incremental backup tests > iotests: add simple incremental backup case > iotests: add transactional incremental backup test > blkdebug: fix "once" rule > iotests: add incremental backup failure recovery test > > block.c | 225 ++++++++++++++++++++++++-- > block/backup.c | 149 ++++++++++++++--- > block/blkdebug.c | 6 +- > block/mirror.c | 39 ++--- > blockdev.c | 366 +++++++++++++++++++++++++++++++++++++++++- > hmp.c | 3 +- > include/block/block.h | 33 +++- > include/block/block_int.h | 2 + > include/qemu/hbitmap.h | 11 ++ > migration/block.c | 9 +- > qapi-schema.json | 6 +- > qapi/block-core.json | 122 +++++++++++++- > qmp-commands.hx | 92 ++++++++++- > tests/qemu-iotests/026.out | 24 +-- > tests/qemu-iotests/112 | 305 +++++++++++++++++++++++++++++++++++ > tests/qemu-iotests/112.out | 5 + > tests/qemu-iotests/group | 1 + > tests/qemu-iotests/iotests.py | 24 ++- > util/hbitmap.c | 32 ++++ > 19 files changed, 1341 insertions(+), 113 deletions(-) > create mode 100644 tests/qemu-iotests/112 > create mode 100644 tests/qemu-iotests/112.out > For convenience: https://github.com/jnsnow/qemu/commits/incremental-backup