diff options
-rw-r--r-- | TODO | 3 | ||||
-rw-r--r-- | src/mount.c | 9 |
2 files changed, 9 insertions, 3 deletions
@@ -9,9 +9,6 @@ Bugs: * somehow some /etc/fstab supplied mount params are never applied to api fs https://bugzilla.redhat.com/show_bug.cgi?id=663108 -* automount units can cause a segfault: - https://bugs.freedesktop.org/show_bug.cgi?id=32076 - * bind mounts with 'fsck' fail and block for a minute: /foo /bar none bind 1 1 (requesting fsck is wrong, but why do we block for a minute diff --git a/src/mount.c b/src/mount.c index f978a5467d..aae9d982ae 100644 --- a/src/mount.c +++ b/src/mount.c @@ -98,12 +98,21 @@ static void mount_parameters_done(MountParameters *p) { static void mount_done(Unit *u) { Mount *m = MOUNT(u); + Meta *other; assert(m); free(m->where); m->where = NULL; + /* Try to detach us from the automount unit if there is any */ + LIST_FOREACH(units_per_type, other, m->meta.manager->units_per_type[UNIT_AUTOMOUNT]) { + Automount *a = (Automount*) other; + + if (a->mount == m) + a->mount = NULL; + } + mount_parameters_done(&m->parameters_etc_fstab); mount_parameters_done(&m->parameters_proc_self_mountinfo); mount_parameters_done(&m->parameters_fragment); |