On Wed, Dec 04, 2013 at 05:10:53PM +0800, Wenchao Xia wrote:
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
Thanks, applied to my block tree:
https://github.com/stefanha/qemu/commits/block
Stefan