qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V10 12/17] hmp: add function hmp_info_snapshots(


From: Kevin Wolf
Subject: Re: [Qemu-devel] [PATCH V10 12/17] hmp: add function hmp_info_snapshots()
Date: Tue, 2 Apr 2013 09:39:38 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Am 30.03.2013 um 13:38 hat Wenchao Xia geschrieben:
> 于 2013-3-30 7:04, Eric Blake 写道:
> >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 <address@hidden>
> >>---
> >>  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.
> >
>   I hope not use dynamic buff for strings, how about check it as
> following:
> 
> char buf[254] = 0;
> monitor_printf(mon, "%s\n", bdrv_snapshot_dump(buf, sizeof(buf), NULL));
> if (buf[254]) {
>      monitor_printf(mon, "'string truncated'");
> }

About as useless as the truncated string alone. That something is
missing will be noticed by the user; the fix isn't to tell him that the
output is broken, but to give the full output.

Kevin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]