]> err.no Git - systemd/commitdiff
mount: order remote mounts after both network.target and remote-fs-pre.target
authorLennart Poettering <lennart@poettering.net>
Tue, 1 Nov 2011 21:27:48 +0000 (22:27 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 1 Nov 2011 21:28:59 +0000 (22:28 +0100)
Since remote-fs-pre.target is optional we cannot count on it to order
remote mounts after network.target, so let's add that order explicitly
in addition to remote-fs-pre.target.

https://bugzilla.redhat.com/show_bug.cgi?id=749940

src/mount.c

index ef953f0d0aecdabc44f04a16b21e254a3de098f8..f9cfe910a07c5195985ec8c46706fb6f680c6789 100644 (file)
@@ -327,7 +327,7 @@ static bool needs_quota(MountParameters *p) {
 }
 
 static int mount_add_fstab_links(Mount *m) {
-        const char *target, *after = NULL;
+        const char *target, *after = NULL, *after2 = NULL;
         MountParameters *p;
         Unit *tu;
         int r;
@@ -358,6 +358,7 @@ static int mount_add_fstab_links(Mount *m) {
         if (mount_is_network(p)) {
                 target = SPECIAL_REMOTE_FS_TARGET;
                 after = SPECIAL_REMOTE_FS_PRE_TARGET;
+                after2 = SPECIAL_NETWORK_TARGET;
         } else {
                 target = SPECIAL_LOCAL_FS_TARGET;
                 after = SPECIAL_LOCAL_FS_PRE_TARGET;
@@ -374,6 +375,10 @@ static int mount_add_fstab_links(Mount *m) {
                 if ((r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after, NULL, true)) < 0)
                         return r;
 
+        if (after2)
+                if ((r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after2, NULL, true)) < 0)
+                        return r;
+
         if (automount) {
                 Unit *am;