[PATCH v2] nodedev: fix internal error when no defined mdevs exist

Boris Fiuczynski fiuczy at linux.ibm.com
Thu Jul 15 13:36:33 UTC 2021


On 7/15/21 2:16 PM, Martin Kletzander wrote:
> On Wed, Jul 14, 2021 at 06:40:57PM +0200, Boris Fiuczynski wrote:
>> Commit e9b534905f4 introduced an error when parsing an empty list
>> returned from mdevctl.
>>
>> This occurs e.g. if nodedev-undefine is used to undefine the last
>> defined mdev which cuases the following error messages
>>
> 
> causes
> 
>> libvirtd[33143]: internal error: Unexpected format for mdevctl response
>> libvirtd[33143]: internal error: failed to query mdevs from mdevctl:
>> libvirtd[33143]: mdevctl failed to updated mediated devices
>>
>> Signed-off-by: Boris Fiuczynski <fiuczy at linux.ibm.com>
>> ---
>> src/node_device/node_device_driver.c                | 5 +++++
>> tests/nodedevmdevctldata/mdevctl-list-empty.json    | 1 +
>> tests/nodedevmdevctldata/mdevctl-list-empty.out.xml | 0
>> tests/nodedevmdevctltest.c                          | 1 +
>> 4 files changed, 7 insertions(+)
>> create mode 100644 tests/nodedevmdevctldata/mdevctl-list-empty.json
>> create mode 100644 tests/nodedevmdevctldata/mdevctl-list-empty.out.xml
>>
>> diff --git a/src/node_device/node_device_driver.c 
>> b/src/node_device/node_device_driver.c
>> index b4dd57e5f4..b16b05f9b2 100644
>> --- a/src/node_device/node_device_driver.c
>> +++ b/src/node_device/node_device_driver.c
>> @@ -1120,6 +1120,11 @@ nodeDeviceParseMdevctlJSON(const char *jsonstring,
>>         goto error;
>>     }
>>
>> +    if (virJSONValueArraySize(json_devicelist) == 0) {
>> +        *devs = outdevs;
>> +        return 0;
> 
> It would be more clear if you just did:
> 
>    *devs = NULL;

Yeah, sure.

> 
> And I, personally, would also add a VIR_DEBUG here.

I considered the scenario that mdevctl has no mediated device 
definitions stored a very normal case and not worth a debug message as 
the rest of the code does not report debug data if mediated device 
definitions exist.

> 
> Other than that
> 
> Reviewed-by: Martin Kletzander <mkletzan at redhat.com>

Thanks for reviewing.
Do you want me to send a v3 with the changes?

-- 
Mit freundlichen Grüßen/Kind regards
    Boris Fiuczynski

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Gregor Pillen
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294





More information about the libvir-list mailing list