summaryrefslogtreecommitdiff
path: root/units
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2013-03-25 22:04:40 +0100
committerLennart Poettering <lennart@poettering.net>2013-03-25 22:04:40 +0100
commite8d2f6cde0af86eece9118718ad0a8a19e1cffec (patch)
treed3d000294fa72e881f5d65e8f6546979f24a4f58 /units
parenta69fe051b85865cad5df74f9f58915e36c4b1418 (diff)
units: introduce remote-fs-setup.target to pull in dependencies from remote mounts
This introduces remote-fs-setup.target independently of remote-fs-pre.target. The former is only for pulling things in, the latter only for ordering. The new semantics: remote-fs-setup.target: is pulled in automatically by all remote mounts. Shall be used to pull in other units that want to run when at least one remote mount is set up. Is not ordered against the actual mount units, in order to allow activation of its dependencies even 'a posteriori', i.e. when a mount is established outside of systemd and is only picked up by it. remote-fs-pre.target: needs to be pulled in automatically by the implementing service, is otherwise not part of the initial transaction. This is ordered before all remote mount units. A service that wants to be pulled in and run before all remote mounts should hence have: a) WantedBy=remote-fs-setup.target -- so that it is pulled in b) Wants=remote-fs-pre.target + Before=remote-fs-pre.target -- so that it is ordered before the mount point, normally.
Diffstat (limited to 'units')
-rw-r--r--units/local-fs.target1
-rw-r--r--units/remote-fs-setup.target11
-rw-r--r--units/remote-fs.target1
3 files changed, 13 insertions, 0 deletions
diff --git a/units/local-fs.target b/units/local-fs.target
index dd92b17b6a..ee02e4e988 100644
--- a/units/local-fs.target
+++ b/units/local-fs.target
@@ -8,5 +8,6 @@
[Unit]
Description=Local File Systems
Documentation=man:systemd.special(7)
+After=local-fs-pre.target
OnFailure=emergency.target
OnFailureIsolate=yes
diff --git a/units/remote-fs-setup.target b/units/remote-fs-setup.target
new file mode 100644
index 0000000000..8043717e4a
--- /dev/null
+++ b/units/remote-fs-setup.target
@@ -0,0 +1,11 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Remote File System Setup
+Documentation=man:systemd.special(7)
+DefaultDependencies=no
diff --git a/units/remote-fs.target b/units/remote-fs.target
index 9e68878ad8..e867b8d997 100644
--- a/units/remote-fs.target
+++ b/units/remote-fs.target
@@ -8,6 +8,7 @@
[Unit]
Description=Remote File Systems
Documentation=man:systemd.special(7)
+After=remote-fs-pre.target remote-fs-setup.target
[Install]
WantedBy=multi-user.target