diff --git a/units/sys-fs-fuse-connections.mount b/units/sys-fs-fuse-connections.mount index cbcdd5f2cc9..b649a1ed199 100644 --- a/units/sys-fs-fuse-connections.mount +++ b/units/sys-fs-fuse-connections.mount @@ -12,12 +12,18 @@ Description=FUSE Control File System Documentation=https://www.kernel.org/doc/Documentation/filesystems/fuse.txt Documentation=https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems DefaultDependencies=no -ConditionPathExists=/sys/fs/fuse/connections ConditionCapability=CAP_SYS_ADMIN ConditionVirtualization=!private-users -After=systemd-modules-load.service Before=sysinit.target +# These dependencies are used to make certain that the module is fully +# loaded. Indeed udev starts this unit when it receives an uevent for the +# module but the kernel sends it too early, ie before the init() of the module +# is fully operational and /sys/fs/fuse/connections is created, see issue#17586. + +After=modprobe@fuse.service +Requires=modprobe@fuse.service + [Mount] What=fusectl Where=/sys/fs/fuse/connections diff --git a/units/sys-kernel-config.mount b/units/sys-kernel-config.mount index 001c7b57cce..7d965046ee5 100644 --- a/units/sys-kernel-config.mount +++ b/units/sys-kernel-config.mount @@ -12,11 +12,17 @@ Description=Kernel Configuration File System Documentation=https://www.kernel.org/doc/Documentation/filesystems/configfs/configfs.txt Documentation=https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems DefaultDependencies=no -ConditionPathExists=/sys/kernel/config ConditionCapability=CAP_SYS_RAWIO -After=systemd-modules-load.service Before=sysinit.target +# These dependencies are used to make certain that the module is fully +# loaded. Indeed udev starts this unit when it receives an uevent for the +# module but the kernel sends it too early, ie before the init() of the module +# is fully operational and /sys/kernel/config is created, see issue#17586. + +After=modprobe@configfs.service +Requires=modprobe@configfs.service + [Mount] What=configfs Where=/sys/kernel/config