diff options
author | Wenchao Xia <xiawenc@linux.vnet.ibm.com> | 2013-06-06 12:28:00 +0800 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2013-06-07 13:45:01 +0200 |
commit | bd093a365e8d1437f437a48ddca3ed08283b3090 (patch) | |
tree | c09df37edc822738cec1261010f4f335d236b5da | |
parent | 553a7e871822d933beaefbd596f0e4eed1614373 (diff) |
hmp: show ImageInfo in 'info block'
Now human monitor can show image details, include internal
snapshot and backing chain info for every block device.
Signed-off-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r-- | hmp.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -22,6 +22,7 @@ #include "qemu/sockets.h" #include "monitor/monitor.h" #include "ui/console.h" +#include "block/qapi.h" #include "qemu-io.h" static void hmp_handle_error(Monitor *mon, Error **errp) @@ -278,6 +279,7 @@ void hmp_info_cpus(Monitor *mon, const QDict *qdict) void hmp_info_block(Monitor *mon, const QDict *qdict) { BlockInfoList *block_list, *info; + ImageInfo *image_info; block_list = qmp_query_block(NULL); @@ -319,6 +321,18 @@ void hmp_info_block(Monitor *mon, const QDict *qdict) info->value->inserted->iops, info->value->inserted->iops_rd, info->value->inserted->iops_wr); + + monitor_printf(mon, " images:\n"); + image_info = info->value->inserted->image; + while (1) { + bdrv_image_info_dump((fprintf_function)monitor_printf, mon, + image_info); + if (image_info->has_backing_image) { + image_info = image_info->backing_image; + } else { + break; + } + } } else { monitor_printf(mon, " [not inserted]"); } |