}
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;
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;
}
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)