summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2011-10-11 03:33:53 +0200
committerLennart Poettering <lennart@poettering.net>2011-10-11 03:33:53 +0200
commit21e557edcc1894ce4eeb70b71ca16e82e95bc0df (patch)
tree06f11b334d966e56c371917a4a6426607a44b18b /src
parent80cc5aeebaf5be112050e851491b13ff7c60ad72 (diff)
units: introduce local-fs-pre.target and remote-fs-pre.target
This hook target enables services to order themselves between network.target and remote mounts, which is needed for GFS2 and similar systems.
Diffstat (limited to 'src')
-rw-r--r--src/mount.c6
-rw-r--r--src/special.h2
2 files changed, 6 insertions, 2 deletions
diff --git a/src/mount.c b/src/mount.c
index 2fc799a6ed..ef953f0d0a 100644
--- a/src/mount.c
+++ b/src/mount.c
@@ -357,9 +357,11 @@ static int mount_add_fstab_links(Mount *m) {
if (mount_is_network(p)) {
target = SPECIAL_REMOTE_FS_TARGET;
- after = SPECIAL_NETWORK_TARGET;
- } else
+ after = SPECIAL_REMOTE_FS_PRE_TARGET;
+ } else {
target = SPECIAL_LOCAL_FS_TARGET;
+ after = SPECIAL_LOCAL_FS_PRE_TARGET;
+ }
if (!path_equal(m->where, "/"))
if ((r = unit_add_two_dependencies_by_name(UNIT(m), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_UMOUNT_TARGET, NULL, true)) < 0)
diff --git a/src/special.h b/src/special.h
index 614e53ca1b..3fe34c955c 100644
--- a/src/special.h
+++ b/src/special.h
@@ -45,7 +45,9 @@
#define SPECIAL_SYSINIT_TARGET "sysinit.target"
#define SPECIAL_SOCKETS_TARGET "sockets.target"
#define SPECIAL_LOCAL_FS_TARGET "local-fs.target" /* LSB's $local_fs */
+#define SPECIAL_LOCAL_FS_PRE_TARGET "local-fs-pre.target"
#define SPECIAL_REMOTE_FS_TARGET "remote-fs.target" /* LSB's $remote_fs */
+#define SPECIAL_REMOTE_FS_PRE_TARGET "remote-fs-pre.target"
#define SPECIAL_SWAP_TARGET "swap.target"
#define SPECIAL_BASIC_TARGET "basic.target"