chiark / gitweb /
mount: pull in quotacheck.service, not quotacheck.target
[elogind.git] / src / mount.c
index 284fcb94b2d179c82f9921cbe2752cf9df73febf..bbc29d88289d3ab1ff7eed1824107d1c0b36f237 100644 (file)
@@ -360,11 +360,13 @@ static int mount_add_device_links(Mount *m) {
         }
 
         if (p->passno > 0 &&
-            UNIT(m)->meta.manager->running_as == MANAGER_SYSTEM) {
+            UNIT(m)->meta.manager->running_as == MANAGER_SYSTEM &&
+            !path_equal(m->where, "/")) {
                 char *name;
                 Unit *fsck;
                 /* Let's add in the fsck service */
 
+                /* aka SPECIAL_FSCK_SERVICE */
                 if (!(name = unit_name_from_path_instance("fsck", p->what, ".service")))
                         return -ENOMEM;
 
@@ -378,7 +380,7 @@ static int mount_add_device_links(Mount *m) {
 
                 SERVICE(fsck)->fsck_passno = p->passno;
 
-                if ((r = unit_add_two_dependencies(UNIT(m), UNIT_AFTER, UNIT_WANTS, fsck, true)) < 0)
+                if ((r = unit_add_two_dependencies(UNIT(m), UNIT_AFTER, UNIT_REQUIRES, fsck, true)) < 0)
                         return r;
         }
 
@@ -393,7 +395,7 @@ static int mount_add_default_dependencies(Mount *m) {
         if (m->meta.manager->running_as == MANAGER_SYSTEM &&
             !path_equal(m->where, "/")) {
 
-                if ((r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, SPECIAL_FSCK_TARGET, NULL, true)) < 0)
+                if ((r = unit_add_dependency_by_name(UNIT(m), UNIT_BEFORE, SPECIAL_QUOTACHECK_SERVICE, NULL, true)) < 0)
                         return r;
 
                 if ((r = unit_add_two_dependencies_by_name(UNIT(m), UNIT_BEFORE, UNIT_CONFLICTED_BY, SPECIAL_UMOUNT_TARGET, NULL, true)) < 0)