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. Wenchao Xia (7): 1 snapshot: distinguish id and name in load_tmp 2 qemu-nbd: support internal snapshot export 3 qemu-nbd: add doc for internal snapshot export 4 qemu-iotests: add 058 internal snapshot export with qemu-nbd case 5 qemu-img: add -L for snapshot in convert 6 qemu-img: add doc for param -L in convert 7 qemu-iotests: add test for snapshot in qemu-img convert block/qcow2-snapshot.c | 16 +++++- block/qcow2.h | 5 ++- block/snapshot.c | 76 +++++++++++++++++++++++++++- include/block/block_int.h | 4 +- include/block/snapshot.h | 13 ++++- qemu-img-cmds.hx | 2 +- qemu-img.c | 32 +++++++++--- qemu-img.texi | 7 ++- qemu-nbd.c | 46 ++++++++++++++++- qemu-nbd.texi | 11 ++++- tests/qemu-iotests/058 | 121 ++++++++++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/058.out | 44 ++++++++++++++++ tests/qemu-iotests/check | 1 + tests/qemu-iotests/group | 1 + 14 files changed, 359 insertions(+), 20 deletions(-) create mode 100755 tests/qemu-iotests/058 create mode 100644 tests/qemu-iotests/058.out