summaryrefslogtreecommitdiff
path: root/src/mount.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mount.c')
-rw-r--r--src/mount.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/mount.c b/src/mount.c
index 829c2cc13c..f9cfe910a0 100644
--- a/src/mount.c
+++ b/src/mount.c
@@ -320,11 +320,14 @@ static bool needs_quota(MountParameters *p) {
return false;
return mount_test_option(p->options, "usrquota") ||
- mount_test_option(p->options, "grpquota");
+ mount_test_option(p->options, "grpquota") ||
+ mount_test_option(p->options, "quota") ||
+ mount_test_option(p->options, "usrjquota") ||
+ mount_test_option(p->options, "grpjquota");
}
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;
@@ -354,9 +357,12 @@ static int mount_add_fstab_links(Mount *m) {
if (mount_is_network(p)) {
target = SPECIAL_REMOTE_FS_TARGET;
- after = SPECIAL_NETWORK_TARGET;
- } else
+ after = SPECIAL_REMOTE_FS_PRE_TARGET;
+ after2 = SPECIAL_NETWORK_TARGET;
+ } else {
target = SPECIAL_LOCAL_FS_TARGET;
+ after = SPECIAL_LOCAL_FS_PRE_TARGET;
+ }
if (!path_equal(m->where, "/"))
if ((r = unit_add_two_dependencies_by_name(UNIT(m), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_UMOUNT_TARGET, NULL, true)) < 0)
@@ -369,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;