]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
automount: fix handling of default dependencies for automount units
authorFranck Bui <fbui@suse.com>
Thu, 2 Apr 2020 08:52:24 +0000 (10:52 +0200)
committerFranck Bui <fbui@suse.com>
Thu, 9 Apr 2020 13:17:17 +0000 (15:17 +0200)
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.

man/systemd.automount.xml
src/core/automount.c
src/fstab-generator/fstab-generator.c

index f2ed7610216bdd4bb8c0d3dbeecef2bf23df19ec..35690fd22a7539527ffb69a01b0d0650c2098dee 100644 (file)
         <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>
index 0b3f498bfcb3bb222f5b1139b7255d3f51bf1da8..99b4eb2c81ad131cdf00ff4623fb4cfe3bb31327 100644 (file)
@@ -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;
index 16be342dbf3efa7978566a5959c4350f017877db..bd022efcf2d20fc5d35704726b8a69be5b9e5b3d 100644 (file)
@@ -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)