]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
units: make systemd-binfmt.service easier to work with no autofs
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 18 Sep 2019 10:01:41 +0000 (12:01 +0200)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 25 Sep 2019 14:44:01 +0000 (23:44 +0900)
See https://bugzilla.redhat.com/show_bug.cgi?id=1731772:
when autofs4 is disabled in the kernel,
proc-sys-fs-binfmt_misc.automount is not started, so the binfmt_misc module is
never loaded. If we added a dependency on proc-sys-fs-binfmt_misc.mount
to systemd-binfmt.service, things would work even if autofs4 was disabled, but
we would unconditionally pull in the module and mount, which we don't want to do.
(Right now we ony load the module if some binfmt is configured.)
But let's make it easier to handle this case by doing two changes:
1. order systemd-binfmt.service after the .mount unit (so that the .service
   can count on the mount if both units are pulled in, even if .automount
   is skipped)
2. add [Install] section to the service unit. This way the user can do
   'systemctl enable proc-sys-fs-binfmt_misc.mount' to get the appropriate behaviour.

units/proc-sys-fs-binfmt_misc.mount
units/systemd-binfmt.service.in

index 66229ec78ec38a9f8a0026fe47dd9a35061dd291..1587853e1e23f2d2d9a1e9072cb4a5e22786382e 100644 (file)
@@ -18,3 +18,6 @@ What=binfmt_misc
 Where=/proc/sys/fs/binfmt_misc
 Type=binfmt_misc
 Options=nosuid,nodev,noexec
+
+[Install]
+WantedBy=sysinit.target
index e940c7c9ad05ba780d76e6f6a006ba49573941ab..0c0f26451b675283ca749356430fb539c42e114d 100644 (file)
@@ -15,6 +15,7 @@ Documentation=https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
 DefaultDependencies=no
 Conflicts=shutdown.target
 After=proc-sys-fs-binfmt_misc.automount
+After=proc-sys-fs-binfmt_misc.mount
 Before=sysinit.target shutdown.target
 ConditionPathIsReadWrite=/proc/sys/
 ConditionDirectoryNotEmpty=|/lib/binfmt.d