This serial of patches does two things: merge some info code in qemu-img, and add following interfaces: 1) qmp: query-images 2) qmp: query-snapshots 3) hmp: show snapshot info on a single block device These patches follows the rule that use qmp to retieve information, hmp layer just do a translation from qmp object it got, so almost every hmp interface may have a correlated qmp interface. To make code graceful, snapshot retrieving code in qemu and qemu-img are merged into block.c, and some function name was adjusted to make it tips better. Now it works as:
qemu qemu-img dump_monitor dump_stdout |--------------| | qmp | block Note: Last two patches need previous sent patches which extend hmp sub command, at: http://lists.nongnu.org/archive/html/qemu-devel/2012-12/msg03487.html v2: Rename and adjusted qmp interface according to comments from Eric. Spelling fix. Information retrieving function in block layer goes to seperated patch. Free qmp object after usage in hmp. Wenchao Xia (11): qemu-img: remove unused parameter in collect_image_info() block: add bdrv_get_filename() function block: add snapshot and image info query function qemu-img: switch image retrieving function block: rename bdrv_query_info to bdrv_query_block_info qmp: add interface query-images. block: export function bdrv_find_snapshot() qmp: add interface query-snapshots hmp: export function hmp_handle_error() hmp: retrieve info from qmp for snapshot info hmp: show snapshot on single block device block.c | 200 ++++++++++++++++++++++++++++++++++++++++++++++++- hmp.c | 2 +- hmp.h | 2 + include/block/block.h | 14 +++- monitor.c | 6 +- qapi-schema.json | 40 ++++++++++ qemu-img.c | 87 +--------------------- qmp-commands.hx | 129 +++++++++++++++++++++++++++++++ savevm.c | 137 +++++++++++++++++---------------- 9 files changed, 458 insertions(+), 159 deletions(-)