From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40167) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fQHAv-00036V-Io for qemu-devel@nongnu.org; Tue, 05 Jun 2018 14:59:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fQHAt-0005RU-MA for qemu-devel@nongnu.org; Tue, 05 Jun 2018 14:59:21 -0400 From: John Snow Date: Tue, 5 Jun 2018 14:59:00 -0400 Message-Id: <20180605185905.4583-1-jsnow@redhat.com> Subject: [Qemu-devel] [PATCH 0/5] block dirty bitmaps: support libvirt API List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-block@nongnu.org, qemu-devel@nongnu.org Cc: Fam Zheng , John Snow , Markus Armbruster , Max Reitz , Eric Blake , Kevin Wolf This is largely the same series that Vladimir sent in January, but at the time I was unsure of if we'd want these commands or not in QEMU. After discussing with Virtuozzo their plans for a checkpoint-like API implemented primarily in libvirt, I agree that these commands are at least tentatively useful. Eric Blake is currently writing a counter-proposal and demo API to show to Virtuozzo on libvirt's development list. Check in these QMP commands with the experimental prefix 'x-' for now so that it can be used for prototyping. Once the design for the libvirt API looks reasonably final I will remove the 'x-' prefixes, or, if we wind up not using these particular commands I will delete them entirely. v3: - Drop patch one (already merged) - Minor phrasing adjustments to documentation - Removed &state->bs argument to bitmap lookup for enable/disable - Added x- prefix to all three commands and to add's new argument. Vladimir's original cover letter is below: There are three qmp commands, needed to implement external backup API. Using these three commands, client may do all needed bitmap management by hand: on backup start we need to do a transaction: {disable old bitmap, create new bitmap} on backup success: drop old bitmap on backup fail: enable old bitmap merge new bitmap to old bitmap drop new bitmap John Snow (1): qapi: add x-block-dirty-bitmap-enable/disable Vladimir Sementsov-Ogievskiy (4): block/dirty-bitmap: add lock to bdrv_enable/disable_dirty_bitmap qmp: transaction support for x-block-dirty-bitmap-enable/disable qapi: add x-block-dirty-bitmap-merge qapi: add disabled parameter to block-dirty-bitmap-add block/dirty-bitmap.c | 24 ++++++- blockdev.c | 163 ++++++++++++++++++++++++++++++++++++++++++- include/block/dirty-bitmap.h | 3 +- qapi/block-core.json | 86 ++++++++++++++++++++++- qapi/transaction.json | 4 ++ 5 files changed, 275 insertions(+), 5 deletions(-) -- 2.14.3