summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mount.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mount.c b/src/mount.c
index ec03a52f6a..921984c1c1 100644
--- a/src/mount.c
+++ b/src/mount.c
@@ -215,7 +215,7 @@ static int mount_add_target_links(Mount *m) {
MountParameters *p;
Unit *tu;
int r;
- bool noauto, handle, automount;
+ bool noauto, handle, automount, user;
assert(m);
@@ -227,6 +227,7 @@ static int mount_add_target_links(Mount *m) {
return 0;
noauto = !!mount_test_option(p->options, MNTOPT_NOAUTO);
+ user = mount_test_option(p->options, "user") || mount_test_option(p->options, "users");
handle = !!mount_test_option(p->options, "comment=systemd.mount");
automount = !!mount_test_option(p->options, "comment=systemd.automount");
@@ -239,7 +240,7 @@ static int mount_add_target_links(Mount *m) {
if ((r = manager_load_unit(UNIT(m)->meta.manager, target, NULL, &tu)) < 0)
return r;
- if (automount) {
+ if (automount && m->meta.manager->running_as != MANAGER_SESSION) {
Unit *am;
if ((r = unit_load_related_unit(UNIT(m), ".automount", &am)) < 0)
@@ -253,8 +254,9 @@ static int mount_add_target_links(Mount *m) {
} else {
if (!noauto && handle)
- if ((r = unit_add_dependency(tu, UNIT_WANTS, UNIT(m), true)) < 0)
- return r;
+ if (user || m->meta.manager->running_as != MANAGER_SESSION)
+ if ((r = unit_add_dependency(tu, UNIT_WANTS, UNIT(m), true)) < 0)
+ return r;
return unit_add_dependency(UNIT(m), UNIT_BEFORE, tu, true);
}