From 035d5ed80c8b61a203a6f1b5dab6f9bad2fca50c Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Thu, 24 Aug 2023 10:23:55 +0200 Subject: [PATCH] node_device_driver: Deduplicate mediated devices listing We have virMdevctlListDefined() to list defined mdevs, and virMdevctlListActive() to list active mdevs. Both have the same body except for one boolean argument passed to nodeDeviceGetMdevctlListCommand(). Join the two functions under virMdevctlList() name and introduce @defined argument that is then just passed to the cmd line builder function. Signed-off-by: Michal Privoznik Reviewed-by: Kristina Hanicova --- src/node_device/node_device_driver.c | 30 ++++++---------------------- 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/src/node_device/node_device_driver.c b/src/node_device/node_device_driver.c index 593bc64e25..ac50c96837 100644 --- a/src/node_device/node_device_driver.c +++ b/src/node_device/node_device_driver.c @@ -1636,32 +1636,14 @@ nodeDeviceGenerateName(virNodeDeviceDef *def, static int -virMdevctlListDefined(virNodeDeviceDef ***devs, char **errmsg) +virMdevctlList(bool defined, + virNodeDeviceDef ***devs, + char **errmsg) { int status; g_autofree char *output = NULL; g_autofree char *errbuf = NULL; - g_autoptr(virCommand) cmd = nodeDeviceGetMdevctlListCommand(true, &output, &errbuf); - - if (virCommandRun(cmd, &status) < 0 || status != 0) { - *errmsg = g_steal_pointer(&errbuf); - return -1; - } - - if (!output) - return -1; - - return nodeDeviceParseMdevctlJSON(output, devs); -} - - -static int -virMdevctlListActive(virNodeDeviceDef ***devs, char **errmsg) -{ - int status; - g_autofree char *output = NULL; - g_autofree char *errbuf = NULL; - g_autoptr(virCommand) cmd = nodeDeviceGetMdevctlListCommand(false, &output, &errbuf); + g_autoptr(virCommand) cmd = nodeDeviceGetMdevctlListCommand(defined, &output, &errbuf); if (virCommandRun(cmd, &status) < 0 || status != 0) { *errmsg = g_steal_pointer(&errbuf); @@ -1750,7 +1732,7 @@ nodeDeviceUpdateMediatedDevices(void) return 0; } - if ((data.ndefs = virMdevctlListDefined(&defs, &errmsg)) < 0) { + if ((data.ndefs = virMdevctlList(true, &defs, &errmsg)) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("failed to query mdevs from mdevctl: %1$s"), errmsg); return -1; @@ -1767,7 +1749,7 @@ nodeDeviceUpdateMediatedDevices(void) return -1; /* Update active/transient mdev devices */ - if ((act_ndefs = virMdevctlListActive(&act_defs, &errmsg)) < 0) { + if ((act_ndefs = virMdevctlList(false, &act_defs, &errmsg)) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("failed to query mdevs from mdevctl: %1$s"), errmsg); return -1;