chiark / gitweb /
journal: add public API call sd_journal_get_events()
[elogind.git] / src / core / mount.c
index c4074ebd2e6cc04ce416d70bbf1588eee73c7756..51a81a948870529d520e761f55456794800436c2 100644 (file)
@@ -439,9 +439,9 @@ static int mount_add_quota_links(Mount *m) {
 }
 
 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);
 
@@ -458,18 +458,26 @@ static int mount_add_default_dependencies(Mount *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;
         }
@@ -512,7 +520,7 @@ static int mount_fix_timeouts(Mount *m) {
         if (!t)
                 return -ENOMEM;
 
-        r = parse_usec(t, &u);
+        r = parse_sec(t, &u);
         free(t);
 
         if (r < 0) {
@@ -1702,7 +1710,8 @@ static int mount_enumerate(Manager *m) {
         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;
@@ -1716,7 +1725,8 @@ static int mount_enumerate(Manager *m) {
                         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;