summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFranck Bui <fbui@suse.com>2020-04-02 10:52:24 +0200
committerFranck Bui <fbui@suse.com>2020-04-09 15:17:17 +0200
commitb3d7aef525dc1620a7948ffdbf3f36bfa3d5b5e8 (patch)
tree8451c8fc2552ed451bdc8445e952a8fe3c350607
parent83cdc870949823b5b9fa04dd76e952d42faab0b1 (diff)
downloadsystemd-b3d7aef525dc1620a7948ffdbf3f36bfa3d5b5e8.tar.gz
automount: fix handling of default dependencies for automount units
First After=local-fs-pre.target wasn't described in the man page although it's part of the default dependencies automatically set by pid1. Secondly, Before=local-fs.target was only set if the automount unit was generated from the fstab-generator because the dep was explicitly generated. It was also not documented as a default dependency. Fix it by managing the dep from pid1 instead.
-rw-r--r--man/systemd.automount.xml4
-rw-r--r--src/core/automount.c4
-rw-r--r--src/fstab-generator/fstab-generator.c2
3 files changed, 8 insertions, 2 deletions
diff --git a/man/systemd.automount.xml b/man/systemd.automount.xml
index f2ed761021..35690fd22a 100644
--- a/man/systemd.automount.xml
+++ b/man/systemd.automount.xml
@@ -86,6 +86,10 @@
<listitem><para>Automount units acquire automatic <varname>Before=</varname> and
<varname>Conflicts=</varname> on <filename>umount.target</filename> in order to be stopped during
shutdown.</para></listitem>
+
+ <listitem><para>Automount units automatically gain an <varname>After=</varname> dependency
+ on <filename>local-fs-pre.target</filename>, and a <varname>Before=</varname> dependency on
+ <filename>local-fs.target</filename>.</para></listitem>
</itemizedlist>
</refsect2>
</refsect1>
diff --git a/src/core/automount.c b/src/core/automount.c
index 0b3f498bfc..99b4eb2c81 100644
--- a/src/core/automount.c
+++ b/src/core/automount.c
@@ -152,6 +152,10 @@ static int automount_add_default_dependencies(Automount *a) {
if (!MANAGER_IS_SYSTEM(UNIT(a)->manager))
return 0;
+ r = unit_add_dependency_by_name(UNIT(a), UNIT_BEFORE, SPECIAL_LOCAL_FS_TARGET, true, UNIT_DEPENDENCY_DEFAULT);
+ if (r < 0)
+ return r;
+
r = unit_add_dependency_by_name(UNIT(a), UNIT_AFTER, SPECIAL_LOCAL_FS_PRE_TARGET, true, UNIT_DEPENDENCY_DEFAULT);
if (r < 0)
return r;
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
index 16be342dbf..bd022efcf2 100644
--- a/src/fstab-generator/fstab-generator.c
+++ b/src/fstab-generator/fstab-generator.c
@@ -526,8 +526,6 @@ static int add_mount(
"Documentation=man:fstab(5) man:systemd-fstab-generator(8)\n",
source);
- fprintf(f, "Before=%s\n", post);
-
if (opts) {
r = write_after(f, opts);
if (r < 0)