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.
static int mount_add_default_dependencies(Mount *m) {
int r;
MountParameters *p;
static int mount_add_default_dependencies(Mount *m) {
int r;
MountParameters *p;
- const char *after, *setup;
+ const char *after, *after2, *setup;
if (mount_is_network(p)) {
after = SPECIAL_REMOTE_FS_PRE_TARGET;
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;
setup = SPECIAL_REMOTE_FS_SETUP_TARGET;
} else {
after = SPECIAL_LOCAL_FS_PRE_TARGET;
+ 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)
if (setup) {
r = unit_add_dependency_by_name(UNIT(m), UNIT_WANTS, setup, NULL, true);
if (r < 0)