From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33712) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vjpps-0001IZ-Vp for qemu-devel@nongnu.org; Fri, 22 Nov 2013 07:27:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vjppi-0005wF-3T for qemu-devel@nongnu.org; Fri, 22 Nov 2013 07:27:48 -0500 Received: from e28smtp03.in.ibm.com ([122.248.162.3]:46516) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vjpph-0005vQ-CU for qemu-devel@nongnu.org; Fri, 22 Nov 2013 07:27:38 -0500 Received: from /spool/local by e28smtp03.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 22 Nov 2013 17:57:29 +0530 Received: from d28relay03.in.ibm.com (d28relay03.in.ibm.com [9.184.220.60]) by d28dlp02.in.ibm.com (Postfix) with ESMTP id BD2B13940062 for ; Fri, 22 Nov 2013 17:57:27 +0530 (IST) Received: from d28av02.in.ibm.com (d28av02.in.ibm.com [9.184.220.64]) by d28relay03.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id rAMCRJal131424 for ; Fri, 22 Nov 2013 17:57:19 +0530 Received: from d28av02.in.ibm.com (localhost [127.0.0.1]) by d28av02.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id rAMCRRg4009345 for ; Fri, 22 Nov 2013 17:57:27 +0530 From: Wenchao Xia Date: Fri, 22 Nov 2013 12:27:06 +0800 Message-Id: <1385094432-1655-1-git-send-email-xiawenc@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH V6 0/6] export internal snapshot by qemu-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, stefanha@redhat.com, pbonzini@redhat.com, Wenchao Xia This series allow user to read internal snapshot's contents without qemu-img convert. V2: Address Stefan's comments: 02: add 'fall through' comments in the case statement. 03: add doc about the difference of internal snapshot and backing chain snapshot, which is used in previous '--snapshot' parameter. Other: 01,04: rebased on upstream with conflict resolved. v3: Address Paolo's comments: 02: add parameter "-l snapshot_id_or_name", rename options snapshot-load to load-snapshot, use QemuOpts. 03: rename snapshot-load to load-snapshot. 04: related change to test both -l and -L case. 05-07: add similar parameter for qemu-img convert. Other: 01: foldered original snapshot logic into function bdrv_snapshot_load_tmp_by_id_or_name(), since multiple caller present in this version. Refined error message from ", reason: %s" to ": %s". 02: Refined error message from ", reason: %s" to ": %s". 03: Rename PARAM to SNAPSHOT_PARAM. v4: Address Eric's comments: 01: typo fix. 02: squashed patch. Use only one option -l and distiguish the cases by the starting string. 03: remove 'eval', remove '_supported_os Linux', remove the comments that have typo. 04: squashed patch. Add only one option -l and distiguish the cases by the starting string. 05: remove indentation. Address Paolo's comments: 02: Use only one option -l and distiguish the cases by the starting string. 04: Use only one option -l and distiguish the cases by the starting string, mark old -s as deprecated, added doc for them. v5: Address Jeff's comments: Quote image name in test cases. v6: Address Kevin's comments: 1: typo fix, remove device and snapshot info in error message. 2: use strstart(). 3: use _require_command(), limit proto to file, since when proto=nbd it can't work. also changed _require_command() to tip better. 4: use strstart(). 6: new patch, since I found the doc missing in debugging. Wenchao Xia (6): 1 snapshot: distinguish id and name in load_tmp 2 qemu-nbd: support internal snapshot export 3 qemu-iotests: add 058 internal snapshot export with qemu-nbd case 4 qemu-img: add -l for snapshot in convert 5 qemu-iotests: add test for snapshot in qemu-img convert 6 qemu-nbd: add doc for option -f block/qcow2-snapshot.c | 10 +++- block/qcow2.h | 5 ++- block/snapshot.c | 77 ++++++++++++++++++++++++++- include/block/block_int.h | 4 +- include/block/snapshot.h | 15 +++++- qemu-img-cmds.hx | 2 +- qemu-img.c | 44 +++++++++++++--- qemu-img.texi | 12 +++-- qemu-nbd.c | 47 ++++++++++++++++- qemu-nbd.texi | 10 +++- tests/qemu-iotests/058 | 120 ++++++++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/058.out | 44 +++++++++++++++ tests/qemu-iotests/check | 1 + tests/qemu-iotests/common.rc | 3 +- tests/qemu-iotests/group | 1 + 15 files changed, 371 insertions(+), 24 deletions(-) create mode 100755 tests/qemu-iotests/058 create mode 100644 tests/qemu-iotests/058.out