On Mon, 2014-09-22 at 09:03 -0400, Luiz Capitulino wrote: > On Mon, 22 Sep 2014 11:29:00 +0200 > Markus Armbruster <arm...@redhat.com> wrote: > > > Igor Mammedov <imamm...@redhat.com> writes: > > > > > On Mon, 22 Sep 2014 09:59:06 +0200 > > > Markus Armbruster <arm...@redhat.com> wrote: > > > > > >> zhugh <zhugh.f...@cn.fujitsu.com> writes: > > >> > > >> > On Fri, 2014-09-19 at 11:34 -0400, Luiz Capitulino wrote: > > >> >> On Fri, 19 Sep 2014 15:30:19 +0200 > > >> >> Igor Mammedov <imamm...@redhat.com> wrote: > > >> >> > > >> >> > On Thu, 18 Sep 2014 16:09:32 +0800 > > >> >> > zhugh <zhugh.f...@cn.fujitsu.com> wrote: > > >> >> > > > >> >> > > Hi, > > >> >> > > > > >> >> > > Could anyone help to review this patch? > > >> >> > > If there was no problem, could help to merge it? > > >> >> > > > > >> >> > > thanks! > > >> >> > > zhu > > >> >> > > > > >> >> > > On Mon, 2014-09-15 at 19:31 +0800, Zhu Guihua wrote: > > >> >> > > > Provides HMP equivalent of QMP query-memory-devices command. > > >> >> > > > > > >> >> > > > Signed-off-by: Zhu Guihua <zhugh.f...@cn.fujitsu.com> > > >> [...] > > >> >> > > > diff --git a/hmp.c b/hmp.c > > >> >> > > > index 40a90da..feefeb4 100644 > > >> >> > > > --- a/hmp.c > > >> >> > > > +++ b/hmp.c > > >> >> > > > @@ -1718,3 +1718,41 @@ void hmp_info_memdev(Monitor *mon, const > > >> >> > > > QDict *qdict) > > >> >> > > > > > >> >> > > > qapi_free_MemdevList(memdev_list); > > >> >> > > > } > > >> >> > > > + > > >> >> > > > +void hmp_info_memory_devices(Monitor *mon, const QDict *qdict) > > >> >> > > > +{ > > >> >> > > > + Error *err = NULL; > > >> >> > > > + MemoryDeviceInfoList *info_list = > > >> >> > > > qmp_query_memory_devices(&err); > > >> >> > > > + MemoryDeviceInfoList *info; > > >> >> > > > + MemoryDeviceInfo *value; > > >> >> > > > + PCDIMMDeviceInfo *di; > > >> >> > > > + > > >> >> > > > + for (info = info_list; info; info = info->next) { > > >> >> > > > + value = info->value; > > >> >> > > > + > > >> >> > > > + if (value) { > > >> >> > > > + switch (value->kind) { > > >> >> > > > + case MEMORY_DEVICE_INFO_KIND_DIMM: > > >> >> > > > + di = value->dimm; > > >> >> > > > + > > >> >> > > > + monitor_printf(mon, "Memory device [%s]: %s\n", > > >> >> > > > + > > >> >> > > > MemoryDeviceInfoKind_lookup[value->kind], > > >> >> > > > + di->id); > > >> >> > 'id' might be null, here is what user will see: > > >> >> > > > >> >> > Memory device [dimm]: (null) > > >> >> > > > >> >> > I'd suggest to replace (null) with "" as it is done elsewhere. > > >> >> > > >> >> Is the fix below what you're looking for? If it is I can apply it > > >> >> myself: > > >> > > > >> > I am sorry, I did not test this fix in my code last time. But your fix > > >> > would print nothing when the id was null. > > >> > > >> Printing nothing when there's no ID has a certain logic to it :) > > > > > > When I do 'info qtree' it displays empty IDs with as empty "" > > > I think we should be consistent and apply above correction. > > > > If you want consistency with "info qtree", you should enclose non-null > > ID in double quotes. > > zhugh, at this point is better to respin the patch.
Ok, I will send v5 to fix this. Thanks! Zhu