On 03/22/2013 08:19 AM, Wenchao Xia wrote: > This function will simply call qmp interface qmp_query_snapshots() > added in last commit and then dump information in monitor console. > To get snapshot info, Now qemu and qemu-img both call block layer > function bdrv_query_snapshot_info_list() in their calling path, and > then they just translate the qmp object got to strings in stdout or > monitor console. > > Signed-off-by: Wenchao Xia > --- > hmp.c | 42 ++++++++++++++++++++++++++++++++++++++++++ > hmp.h | 1 + > 2 files changed, 43 insertions(+), 0 deletions(-) > > diff --git a/hmp.c b/hmp.c > index b0a861c..c475d65 100644 > --- a/hmp.c > +++ b/hmp.c > @@ -651,6 +651,48 @@ void hmp_info_tpm(Monitor *mon, const QDict *qdict) > qapi_free_TPMInfoList(info_list); > } > > +/* assume list is valid */ > +static void monitor_dump_snapshotinfolist(Monitor *mon, SnapshotInfoList *list) > +{ > + SnapshotInfoList *elem; > + char buf[256]; > + > + monitor_printf(mon, "%s\n", bdrv_snapshot_dump(buf, sizeof(buf), NULL)); Are you sure that won't ever be truncated? I'm pretty sure that I could come up with a scenario where I cause bdrv_snapshot_dump() to want to output more than 256 bytes of details. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org