This patch added the support of showing internal snapshots on a single block device in hmp layer, by simply change parameter in calling of qmp funtion.
Signed-off-by: Wenchao Xia <xiaw...@linux.vnet.ibm.com> --- hmp.c | 7 ++++++- monitor.c | 6 +++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/hmp.c b/hmp.c index d29787f..834ee42 100644 --- a/hmp.c +++ b/hmp.c @@ -633,8 +633,10 @@ void hmp_info_snapshots(Monitor *mon, const QDict *qdict) { Error *err = NULL; SnapshotInfoList *list; + const char *device = qdict_get_try_str(qdict, "device"); + bool has_device = device ? true : false; - list = qmp_query_snapshots(false, NULL, &err); + list = qmp_query_snapshots(has_device, device, &err); if (error_is_set(&err)) { hmp_handle_error(mon, &err); return; @@ -645,6 +647,9 @@ void hmp_info_snapshots(Monitor *mon, const QDict *qdict) return; } + if (has_device) { + monitor_printf(mon, "Device '%s':\n", device); + } monitor_dump_snapshotinfolist(mon, list); qapi_free_SnapshotInfoList(list); } diff --git a/monitor.c b/monitor.c index b828585..7a2bd9a 100644 --- a/monitor.c +++ b/monitor.c @@ -2591,9 +2591,9 @@ static mon_cmd_t info_cmds[] = { }, { .name = "snapshots", - .args_type = "", - .params = "", - .help = "show the currently saved VM snapshots", + .args_type = "device:B?", + .params = "[device]", + .help = "show snapshots of whole vm or a single device", .mhandler.cmd = hmp_info_snapshots, }, { -- 1.7.1