qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] [Qemu-devel] [PATCH RFCv2 7/9] hmp: Handle virtio-pmem wh


From: Markus Armbruster
Subject: Re: [Qemu-ppc] [Qemu-devel] [PATCH RFCv2 7/9] hmp: Handle virtio-pmem when printing memory device infos
Date: Thu, 31 Jan 2019 19:23:54 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

"Dr. David Alan Gilbert" <address@hidden> writes:

> * David Hildenbrand (address@hidden) wrote:
>> Print the memory device info just like for PCDIMM/NVDIMM.
>> 
>> Signed-off-by: David Hildenbrand <address@hidden>
>> ---
>>  hmp.c | 27 +++++++++++++++------------
>>  1 file changed, 15 insertions(+), 12 deletions(-)
>> 
>> diff --git a/hmp.c b/hmp.c
>> index 8da5fd8760..25c32e0810 100644
>> --- a/hmp.c
>> +++ b/hmp.c
>> @@ -2553,6 +2553,7 @@ void hmp_info_memory_devices(Monitor *mon, const QDict 
>> *qdict)
>>      Error *err = NULL;
>>      MemoryDeviceInfoList *info_list = qmp_query_memory_devices(&err);
>>      MemoryDeviceInfoList *info;
>> +    VirtioPMEMDeviceInfo *vpi;
>>      MemoryDeviceInfo *value;
>>      PCDIMMDeviceInfo *di;
>>  
>> @@ -2562,19 +2563,9 @@ void hmp_info_memory_devices(Monitor *mon, const 
>> QDict *qdict)
>>          if (value) {
>>              switch (value->type) {
>>              case MEMORY_DEVICE_INFO_KIND_DIMM:
>> -                di = value->u.dimm.data;
>> -                break;
>> -
>>              case MEMORY_DEVICE_INFO_KIND_NVDIMM:
>> -                di = value->u.nvdimm.data;
>> -                break;
>> -
>> -            default:
>> -                di = NULL;
>> -                break;
>> -            }
>> -
>> -            if (di) {
>> +                di = value->type == MEMORY_DEVICE_INFO_KIND_DIMM ?
>> +                     value->u.dimm.data : value->u.nvdimm.data;
>>                  monitor_printf(mon, "Memory device [%s]: \"%s\"\n",
>>                                 MemoryDeviceInfoKind_str(value->type),
>>                                 di->id ? di->id : "");
>> @@ -2587,6 +2578,18 @@ void hmp_info_memory_devices(Monitor *mon, const 
>> QDict *qdict)
>>                                 di->hotplugged ? "true" : "false");
>>                  monitor_printf(mon, "  hotpluggable: %s\n",
>>                                 di->hotpluggable ? "true" : "false");
>> +                break;
>> +            case MEMORY_DEVICE_INFO_KIND_VIRTIO_PMEM:
>> +                vpi = value->u.virtio_pmem.data;
>> +                monitor_printf(mon, "Memory device [%s]: \"%s\"\n",
>> +                               MemoryDeviceInfoKind_str(value->type),
>> +                               vpi->id ? vpi->id : "");
>> +                monitor_printf(mon, "  memaddr: 0x%" PRIx64 "\n", 
>> vpi->memaddr);
>> +                monitor_printf(mon, "  size: %" PRIu64 "\n", vpi->size);
>> +                monitor_printf(mon, "  memdev: %s\n", vpi->memdev);
>> +                break;
>> +            default:
>> +                g_assert_not_reached();
>
>
> Although I'd prefer if that assert was replaced by a print
> saying it was an unknown type.

I would not.  If we reach this, something must have scribbled over
value->type and who knows what else.  Continuing is unsafe.  Looks like
a textbook use of assertions to me.

> Reviewed-by: Dr. David Alan Gilbert <address@hidden>
>
>>              }
>>          }
>>      }
>> -- 
>> 2.17.2
>> 
> --
> Dr. David Alan Gilbert / address@hidden / Manchester, UK



reply via email to

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