File remote-fs-after-network.patch of Package systemd.1408

From f286eb7f2b696b4ce78ac284dc0b07cac78a34f9 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Tue, 1 Nov 2011 22:27:48 +0100
Subject: [PATCH 1/2] mount: order remote mounts after both network.target and
 remote-fs-pre.target

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 |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

Index: systemd-37/src/mount.c
===================================================================
--- systemd-37.orig/src/mount.c
+++ systemd-37/src/mount.c
@@ -329,7 +329,7 @@ static bool needs_quota(MountParameters
 }
 
 static int mount_add_fstab_links(Mount *m) {
-        const char *target, *after = NULL;
+        const char *target, *after, *tu_wants = NULL;
         MountParameters *p;
         Unit *tu;
         int r;
@@ -359,18 +359,27 @@ static int mount_add_fstab_links(Mount *
 
         if (mount_is_network(p)) {
                 target = SPECIAL_REMOTE_FS_TARGET;
-                after = SPECIAL_REMOTE_FS_PRE_TARGET;
+                after = tu_wants = SPECIAL_REMOTE_FS_PRE_TARGET;
         } else {
                 target = SPECIAL_LOCAL_FS_TARGET;
                 after = SPECIAL_LOCAL_FS_PRE_TARGET;
         }
 
-        if ((r = manager_load_unit(m->meta.manager, target, NULL, NULL, &tu)) < 0)
+        r = manager_load_unit(m->meta.manager, target, NULL, NULL, &tu);
+        if (r < 0)
                 return r;
 
-        if (after)
-                if ((r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after, NULL, true)) < 0)
+        if (tu_wants) {
+                r = unit_add_dependency_by_name(tu, UNIT_WANTS, tu_wants, NULL, true);
+                if (r < 0)
                         return r;
+        }
+
+        if (after) {
+                r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after, NULL, true);
+                if (r < 0)
+                        return r;
+        }
 
         if (automount) {
                 Unit *am;
openSUSE Build Service is sponsored by