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: Wenchao Xia
Subject: Re: [Qemu-devel] [PATCH V10 12/17] hmp: add function hmp_info_snapshots()
Date: Sat, 30 Mar 2013 20:38:58 +0800
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20130307 Thunderbird/17.0.4

于 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'");
}
--
Best Regards

Wenchao Xia




reply via email to

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