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 <mprivozn@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Michal Privoznik 2021-04-12 17:26:06 +02:00
parent 246af1278a
commit b3605a4d83

View File

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