From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36343) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vo8Se-00084z-4d for qemu-devel@nongnu.org; Wed, 04 Dec 2013 04:09:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vo8ST-0001sU-Rj for qemu-devel@nongnu.org; Wed, 04 Dec 2013 04:09:36 -0500 Received: from e28smtp09.in.ibm.com ([122.248.162.9]:49324) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vo8ST-0001s8-5D for qemu-devel@nongnu.org; Wed, 04 Dec 2013 04:09:25 -0500 Received: from /spool/local by e28smtp09.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 4 Dec 2013 14:39:21 +0530 Received: from d28relay04.in.ibm.com (d28relay04.in.ibm.com [9.184.220.61]) by d28dlp03.in.ibm.com (Postfix) with ESMTP id C2D821258054 for ; Wed, 4 Dec 2013 14:40:21 +0530 (IST) Received: from d28av02.in.ibm.com (d28av02.in.ibm.com [9.184.220.64]) by d28relay04.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id rB499CrM56361160 for ; Wed, 4 Dec 2013 14:39:13 +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 rB499Gjd017012 for ; Wed, 4 Dec 2013 14:39:16 +0530 From: Wenchao Xia Date: Wed, 4 Dec 2013 17:10:53 +0800 Message-Id: <1386148259-10962-1-git-send-email-xiawenc@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH V7 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. v7: Address Stefan's comments: 3: use unix socket and wait for 30s, to make the case reliable, folder 4: add missing doc change. Other: 3,5: add label "method 1"/"method 2" in echo message, to tip better. 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 | 4 +- qemu-img.c | 44 +++++++++++-- qemu-img.texi | 12 +++- qemu-nbd.c | 47 ++++++++++++++- qemu-nbd.texi | 10 +++- tests/qemu-iotests/058 | 138 ++++++++++++++++++++++++++++++++++++++++++ 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, 390 insertions(+), 25 deletions(-) create mode 100755 tests/qemu-iotests/058 create mode 100644 tests/qemu-iotests/058.out