}
static int mount_add_default_dependencies(Mount *m) {
- int r;
+ const char *after, *after2, *online;
MountParameters *p;
- const char *after, *setup;
+ int r;
assert(m);
if (mount_is_network(p)) {
after = SPECIAL_REMOTE_FS_PRE_TARGET;
- setup = SPECIAL_REMOTE_FS_SETUP_TARGET;
+ after2 = SPECIAL_NETWORK_TARGET;
+ online = SPECIAL_NETWORK_ONLINE_TARGET;
} else {
after = SPECIAL_LOCAL_FS_PRE_TARGET;
- setup = NULL;
+ after2 = NULL;
+ online = NULL;
}
r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after, NULL, true);
if (r < 0)
return r;
- if (setup) {
- r = unit_add_dependency_by_name(UNIT(m), UNIT_WANTS, setup, NULL, true);
+ if (after2) {
+ r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after2, NULL, true);
+ if (r < 0)
+ return r;
+ }
+
+ if (online) {
+ r = unit_add_two_dependencies_by_name(UNIT(m), UNIT_WANTS, UNIT_AFTER, online, NULL, true);
if (r < 0)
return r;
}
if (!t)
return -ENOMEM;
- r = parse_usec(t, &u);
+ r = parse_sec(t, &u);
free(t);
if (r < 0) {
assert(m);
if (!m->proc_self_mountinfo) {
- if (!(m->proc_self_mountinfo = fopen("/proc/self/mountinfo", "re")))
+ m->proc_self_mountinfo = fopen("/proc/self/mountinfo", "re");
+ if (!m->proc_self_mountinfo)
return -errno;
m->mount_watch.type = WATCH_MOUNT;
return -errno;
}
- if ((r = mount_load_proc_self_mountinfo(m, false)) < 0)
+ r = mount_load_proc_self_mountinfo(m, false);
+ if (r < 0)
goto fail;
return 0;