From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52558) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V2mv8-0005SS-Cs for qemu-devel@nongnu.org; Fri, 26 Jul 2013 14:39:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V2mv5-0004Of-M7 for qemu-devel@nongnu.org; Fri, 26 Jul 2013 14:39:18 -0400 Received: from mx1.redhat.com ([209.132.183.28]:37568) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V2mv5-0004OY-CO for qemu-devel@nongnu.org; Fri, 26 Jul 2013 14:39:15 -0400 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r6QIdE6E002812 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 26 Jul 2013 14:39:14 -0400 From: Ian Main Date: Fri, 26 Jul 2013 11:39:03 -0700 Message-Id: <1374863945-8865-1-git-send-email-imain@redhat.com> Subject: [Qemu-devel] [PATCH V9 0/2] Implement sync modes for drive-backup. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, famz@redhat.com, rjones@redhat.com, Ian Main , stefanha@redhat.com, pbonzini@redhat.com This patch adds sync modes on top of the work that Stefan Hajnoczi has done. These patches apply on kevin/block. Hopefully all is in order as this is my first QEMU patch. Many thanks to Stephan and Fam Zheng for their help. V2: - No longer poll, instead use qemu_coroutine_yield(). - Use bdrv_co_is_allocated(). - Much better SYNC_MODE_NONE test. V3: - A few style fixes. - Better commit message explaining how TOP and NONE operate. - Verified using checkpatch.pl. V4: - Add patch to use the source as a backing hd during backup. - Add patch to default sync mode none to qcow2. V5: - Fix qcow2 patch. Forgot to git add final version. V6: - Default to requiring 'format' when mode is absolute-paths. - Removed one bad hunk that was misapplying. - Fixed docs, examples and tests to match changes. - Added tests for format bad/missing. - Added bdrv_set_in_use() to target. - Default to qcow2 patch not required. V7: - Stripped it down to just implementing TOP and NONE. - Split tests apart so that most can still run without needing backing files. - Fixed SYNC_MODE_TOP logic. Yes we copy more than needed but that is always the case really. It's just a question of how big a block you want to copy. V8: - Fix qcow2 test for SYNC_MODE_NONE by shutting down VM before testing data. V9: - Make source drive bs for SYNC_MODE_NONE. - Move SYNC_MODE_NONE test into 056. Ian Main (2): Implement sync modes for drive-backup. Add tests for sync modes 'TOP' and 'NONE' block/backup.c | 105 ++++++++++++++++++++++++++++++------------ blockdev.c | 29 +++++++++--- include/block/block_int.h | 4 +- qmp-commands.hx | 1 + tests/qemu-iotests/055 | 6 +++ tests/qemu-iotests/055.out | 4 +- tests/qemu-iotests/056 | 94 +++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/056.out | 5 ++ tests/qemu-iotests/group | 1 + tests/qemu-iotests/iotests.py | 5 ++ 10 files changed, 214 insertions(+), 40 deletions(-) create mode 100755 tests/qemu-iotests/056 create mode 100644 tests/qemu-iotests/056.out -- 1.8.1.4