From: Michal Privoznik Date: Mon, 12 Apr 2021 15:26:06 +0000 (+0200) Subject: nodedev: Only set up mdevctl monitors if mdevctl.d exist X-Git-Tag: v7.3.0-rc1~235 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b3605a4d830dc7fb99cf800c8512130744842b4d;p=thirdparty%2Flibvirt.git nodedev: Only set up mdevctl monitors if mdevctl.d exist During its initialization, the nodedev driver tries to set up monitors for /etc/mdevctl.d directory, so that it can register mdevs as they come and go. However, if the file doesn't exist there is nothing to monitor and therefore we can exit early. In fact, we have to otherwise monitorFileRecursively() fails and whole driver initialization fails with it. Signed-off-by: Michal Privoznik Reviewed-by: Pavel Hrdina --- diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c index 18219175c5..44f96f5ff9 100644 --- a/src/node_device/node_device_udev.c +++ b/src/node_device/node_device_udev.c @@ -2122,7 +2122,13 @@ monitorFileRecursively(udevEventData *udev, static int mdevctlEnableMonitor(udevEventData *priv) { - g_autoptr(GFile) mdevctlConfigDir = g_file_new_for_path("/etc/mdevctl.d"); + g_autoptr(GFile) mdevctlConfigDir = NULL; + const char *mdevctlDir = "/etc/mdevctl.d"; + + if (!virFileExists(mdevctlDir)) + return 0; + + mdevctlConfigDir = g_file_new_for_path(mdevctlDir); /* mdevctl may add notification events in the future: * https://github.com/mdevctl/mdevctl/issues/27. For now, fall back to