You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently if the systemd-udevd daemon is not running or is unable to respond to uevents the udev synchronization code in devicemapper will hang indefinitely:
It would be better to test the state of udev and to report an error like "The udev daemon is not running".
The libdevmapper library detects this state by calling the udev API:
staticint_check_udev_is_running(void)
{
structudev*udev;
structudev_queue*udev_queue;
intr;
if (!(udev=udev_new()))
goto_bad;
if (!(udev_queue=udev_queue_new(udev))) {
udev_unref(udev);
goto_bad;
}
if (!(r=udev_queue_get_udev_is_active(udev_queue)))
log_debug_activation("Udev is not running. ""Not using udev synchronisation code.");
udev_queue_unref(udev_queue);
udev_unref(udev);
returnr;
bad:
log_error("Could not get udev state. Assuming udev is not running.");
return0;
}
There are Rust bindings for libudev available so we can potentially implement the same check in devicemapper.
The text was updated successfully, but these errors were encountered:
Currently if the systemd-udevd daemon is not running or is unable to respond to uevents the udev synchronization code in devicemapper will hang indefinitely:
It would be better to test the state of udev and to report an error like "The udev daemon is not running".
The libdevmapper library detects this state by calling the udev API:
There are Rust bindings for libudev available so we can potentially implement the same check in devicemapper.
The text was updated successfully, but these errors were encountered: