From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38368) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WmdAG-0004HW-M3 for qemu-devel@nongnu.org; Tue, 20 May 2014 02:04:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WmdAB-0000fU-Qi for qemu-devel@nongnu.org; Tue, 20 May 2014 02:04:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:54541) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WmdAB-0000fP-HQ for qemu-devel@nongnu.org; Tue, 20 May 2014 02:04:35 -0400 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s4K64XOh011331 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 20 May 2014 02:04:33 -0400 From: Fam Zheng Date: Tue, 20 May 2014 14:04:25 +0800 Message-Id: <1400565880-13409-1-git-send-email-famz@redhat.com> Subject: [Qemu-devel] [PATCH v20 00/15] Drop in_use from BlockDriverState and enable point-in-time snapshot exporting over NBD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, jcody@redhat.com, hbrock@redhat.com, rjones@redhat.com, armbru@redhat.com, imain@redhat.com, stefanha@redhat.com, pbonzini@redhat.com Thanks for Eric's and Markus' reviewing! v20: Rebase to master, with minor improvements as listed below: [02/15] block: Introduce op_blockers to BlockDriverState Better error message in bdrv_op_is_blocked. (Markus) [03/15] block: Replace in_use with operation blocker Accurate commit message: why use bdrv_op_blocker_is_empty in block_job_create. (Markus) [06/15] block: Add backing_blocker in BlockDriverState Drop error_is_set(). Call error_free() unconditionally. [08/15] block: Support dropping active in bdrv_drop_intermediate Fix list index in function comment. (Eric) [13/15] block: Add blockdev-backup to transaction Drop error_is_set(). [14/15] qemu-iotests: Test blockdev-backup in 055 Bump year in file header. (Eric) v19: Rebase to master, resolve several contextual conflicts. Patch 05 has the only code change difference from v18 to preserve. assert(bs->backing_hd == NULL); v18: Address reviewing comments from Jeff and Eric. Rebased to current master. Side by side diff from v17: http://bit.ly/1oO2Fvt [01/15] block: Add BlockOpType enum Add Jeff's reviewed-by. [02/15] block: Introduce op_blockers to BlockDriverState Add Jeff's reviewed-by. [03/15] block: Replace in_use with operation blocker Add Jeff's reviewed-by. [04/15] block: Move op_blocker check from block_job_create to its caller Add Jeff's reviewed-by. [05/15] block: Add bdrv_set_backing_hd() Don't unset bs->backing_file and bs->backing_format when backing_hd==NULL, because qcow2_close() will save these into image header. [08/15] block: Support dropping active in bdrv_drop_intermediate Swap parameters for bdrv_swap: bdrv_swap(active, base); -> bdrv_swap(base, active); Use bdrv_set_backing_hd(). [10/15] commit: Use bdrv_drop_intermediate New. (Jeff) [11/15] qmp: Add command 'blockdev-backup' Since 2.0 -> Since 2.1. (Eric) [13/15] block: Add blockdev-backup to transaction Comment "Since 2.1" for blockdev-backup. (Eric) [15/15] qemu-iotests: Image fleecing test case 089 Case number 083 -> 089. Fam Zheng (15): block: Add BlockOpType enum block: Introduce op_blockers to BlockDriverState block: Replace in_use with operation blocker block: Move op_blocker check from block_job_create to its caller block: Add bdrv_set_backing_hd() block: Add backing_blocker in BlockDriverState block: Parse "backing" option to reference existing BDS block: Support dropping active in bdrv_drop_intermediate stream: Use bdrv_drop_intermediate and drop close_unused_images commit: Use bdrv_drop_intermediate qmp: Add command 'blockdev-backup' block: Allow backup on referenced named BlockDriverState block: Add blockdev-backup to transaction qemu-iotests: Test blockdev-backup in 055 qemu-iotests: Image fleecing test case 089 block-migration.c | 7 +- block.c | 310 +++++++++++++++++++++++++++------------- block/backup.c | 26 ++++ block/commit.c | 2 +- block/mirror.c | 9 +- block/stream.c | 42 +----- blockdev.c | 122 ++++++++++++++-- blockjob.c | 14 +- hw/block/dataplane/virtio-blk.c | 18 ++- include/block/block.h | 29 +++- include/block/block_int.h | 9 +- include/block/blockjob.h | 3 + qapi-schema.json | 52 +++++++ qmp-commands.hx | 44 ++++++ tests/qemu-iotests/055 | 277 +++++++++++++++++++++++++++++------ tests/qemu-iotests/055.out | 4 +- tests/qemu-iotests/089 | 99 +++++++++++++ tests/qemu-iotests/089.out | 5 + tests/qemu-iotests/group | 1 + 19 files changed, 856 insertions(+), 217 deletions(-) create mode 100755 tests/qemu-iotests/089 create mode 100644 tests/qemu-iotests/089.out -- 1.9.2