From a63a5c4687d192d89eea9715db2a56c810111de8 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 27 Mar 2013 02:51:33 +0100 Subject: [PATCH] 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. --- src/core/mount.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/core/mount.c b/src/core/mount.c index c4074ebd2..3c63a391d 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) -- 2.30.2