From 61824e5326c02411682b008ea1e838b945c98bcf Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Sun, 15 Sep 2013 19:27:45 +0300 Subject: [PATCH] udevil: mount by systemd service ... or fuse fails with systemd and cgroups in kernel. no long runing tasks should ever be started from udev rules --- packages/sysutils/udevil/package.mk | 4 ++++ packages/sysutils/udevil/system.d/udevil-mount@.service | 8 ++++++++ packages/sysutils/udevil/udev.d/95-udevil-mount.rules | 6 +++--- 3 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 packages/sysutils/udevil/system.d/udevil-mount@.service diff --git a/packages/sysutils/udevil/package.mk b/packages/sysutils/udevil/package.mk index d8f6cf7b1f..60b97270dd 100644 --- a/packages/sysutils/udevil/package.mk +++ b/packages/sysutils/udevil/package.mk @@ -52,3 +52,7 @@ post_makeinstall_target() { mkdir -p $INSTALL/usr/bin cp -PR src/udevil $INSTALL/usr/bin } + +post_install() { + enable_service udevil-mount@.service +} diff --git a/packages/sysutils/udevil/system.d/udevil-mount@.service b/packages/sysutils/udevil/system.d/udevil-mount@.service new file mode 100644 index 0000000000..6e4f19e214 --- /dev/null +++ b/packages/sysutils/udevil/system.d/udevil-mount@.service @@ -0,0 +1,8 @@ +[Unit] +Description=Udevil mount service + +[Service] +Type=oneshot +ExecStart=/usr/bin/udevil --mount %I +ExecStop=/usr/bin/udevil --umount %I +RemainAfterExit=yes diff --git a/packages/sysutils/udevil/udev.d/95-udevil-mount.rules b/packages/sysutils/udevil/udev.d/95-udevil-mount.rules index 2eb8ac75ce..321f41a491 100644 --- a/packages/sysutils/udevil/udev.d/95-udevil-mount.rules +++ b/packages/sysutils/udevil/udev.d/95-udevil-mount.rules @@ -12,13 +12,13 @@ GOTO="exit" # mount or umount for hdds LABEL="harddisk" -ACTION=="add", RUN+="/usr/bin/udevil --mount /dev/%k" -ACTION=="remove", RUN+="/usr/bin/udevil --umount /dev/%k" +ACTION=="add", RUN+="/bin/systemctl restart udevil-mount@/dev/%k.service" +ACTION=="remove", RUN+="/bin/systemctl stop udevil-mount@/dev/%k.service" GOTO="exit" # mount or umount for opticals LABEL="optical" -ACTION=="add|change", RUN+="/usr/bin/udevil --umount /dev/%k", RUN+="/usr/bin/udevil --mount /dev/%k" +ACTION=="add|change", RUN+="/bin/systemctl restart udevil-mount@/dev/%k.service" GOTO="exit" # Exit