diff options
author | Lennart Poettering <lennart@poettering.net> | 2013-03-27 02:51:33 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2013-03-27 02:56:32 +0100 |
commit | a63a5c4687d192d89eea9715db2a56c810111de8 (patch) | |
tree | 082a90c6a0fafc229bfd5fded9b4e2631804549d /src/core | |
parent | 1183f9b2252d0ee45ec7ad32ba34be746ceaaf6e (diff) |
units: automatically order all mount units after network.target
Previously it was necessary to pull in remote-fs-pre.target to order the
mount units against network.target since the ordering was done
transitively via remote-fs-pre.target.
As network implementations shouldn't need to know about the specific
use-case of network mounts we instead now simply order network.target
against all mounts too. This should make it unnecessary for network
managing services to import remote-fs-pre.target explicitly, as
network.target will now suffice.
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/mount.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/core/mount.c b/src/core/mount.c index c4074ebd2e..3c63a391db 100644 --- a/src/core/mount.c +++ b/src/core/mount.c @@ -441,7 +441,7 @@ static int mount_add_quota_links(Mount *m) { static int mount_add_default_dependencies(Mount *m) { int r; MountParameters *p; - const char *after, *setup; + const char *after, *after2, *setup; assert(m); @@ -458,9 +458,11 @@ static int mount_add_default_dependencies(Mount *m) { if (mount_is_network(p)) { after = SPECIAL_REMOTE_FS_PRE_TARGET; + after2 = SPECIAL_NETWORK_TARGET; setup = SPECIAL_REMOTE_FS_SETUP_TARGET; } else { after = SPECIAL_LOCAL_FS_PRE_TARGET; + after2 = NULL; setup = NULL; } @@ -468,6 +470,12 @@ static int mount_add_default_dependencies(Mount *m) { if (r < 0) return r; + if (after2) { + r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after2, NULL, true); + if (r < 0) + return r; + } + if (setup) { r = unit_add_dependency_by_name(UNIT(m), UNIT_WANTS, setup, NULL, true); if (r < 0) |