From: Michal Schmidt Date: Thu, 26 Jan 2012 00:19:19 +0000 (+0100) Subject: mount: fix automount regression X-Git-Tag: v40~36 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=da375869ff31f83938123dc0d2a8d5c0f0845a0c mount: fix automount regression Tom Gundersen noticed a regression where comment=systemd.automount in fstab no longer prevented the adding of the After=foo.mount dependency into local-fs.target. He bisected it to commit 9ddc4a26. It turns out that clearing the default_dependencies flag is necessary after all, in order to avoid complementing of Wants= with After= in the target unit. We still want to add the dependencies on quota units and umount.target though. --- diff --git a/src/mount.c b/src/mount.c index 6d0af4ef7..965f70567 100644 --- a/src/mount.c +++ b/src/mount.c @@ -583,6 +583,11 @@ static int mount_load(Unit *u) { if (UNIT(m)->fragment_path) m->from_fragment = true; + else if (m->from_etc_fstab) + /* We always add several default dependencies to fstab mounts, + * but we do not want the implicit complementing of Wants= with After= + * in the target unit that this mount unit will be hooked into. */ + UNIT(m)->default_dependencies = false; if (!m->where) if (!(m->where = unit_name_to_path(u->id))) @@ -615,7 +620,7 @@ static int mount_load(Unit *u) { if ((r = mount_add_fstab_links(m)) < 0) return r; - if (UNIT(m)->default_dependencies) + if (UNIT(m)->default_dependencies || m->from_etc_fstab) if ((r = mount_add_default_dependencies(m)) < 0) return r;