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

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

 



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@xxxxxxxxxxxxx>
---
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@xxxxxxxxxx>

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





[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux