]> git.ipfire.org Git - people/ms/systemd.git/commitdiff
mount: only add those mount points to localfs.target as Wants that are marked for us
authorLennart Poettering <lennart@poettering.net>
Tue, 13 Apr 2010 19:55:34 +0000 (21:55 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 13 Apr 2010 19:55:34 +0000 (21:55 +0200)
mount.c

diff --git a/mount.c b/mount.c
index d70aaa82186571254ff86de7c61870b5990b01f5..2e3abcc6bc4a080db8f50b6ebe6a8eaa6594d15f 100644 (file)
--- a/mount.c
+++ b/mount.c
@@ -244,6 +244,8 @@ static int mount_add_target_links(Mount *m) {
         MountParameters *p;
         Unit *u;
         int r;
+        bool noauto;
+        bool handle;
 
         assert(m);
 
@@ -254,10 +256,10 @@ static int mount_add_target_links(Mount *m) {
         else
                 return 0;
 
-        if (!p->fstype)
-                return 0;
+        noauto = mount_test_option(p->options, MNTOPT_NOAUTO);
+        handle = mount_test_option(p->options, "comment=systemd.mount");
 
-        if (mount_test_option(p->options, MNTOPT_NOAUTO))
+        if (noauto && !handle)
                 return 0;
 
         if (mount_test_option(p->options, "_netdev") ||
@@ -269,8 +271,9 @@ static int mount_add_target_links(Mount *m) {
         if ((r = manager_load_unit(UNIT(m)->meta.manager, target, &u)) < 0)
                 return r;
 
-        if ((r = unit_add_dependency(u, UNIT_WANTS, UNIT(m))) < 0)
-                return r;
+        if (handle)
+                if ((r = unit_add_dependency(u, UNIT_WANTS, UNIT(m))) < 0)
+                        return r;
 
         return unit_add_dependency(UNIT(m), UNIT_BEFORE, u);
 }