[systemd-devel] [PATCH] Fix systemd crash (on assert) during shutdown/reboot in unprivileged container
Lennart Poettering
lennart at poettering.net
Fri Jan 23 04:54:57 PST 2015
On Fri, 16.01.15 19:32, Andrei Borzenkov (arvidjaar at gmail.com) wrote:
> В Thu, 15 Jan 2015 19:24:25 -0500
> Stéphane Graber <stgraber at ubuntu.com> пишет:
>
> > @@ -871,6 +871,14 @@ static void mount_enter_unmounting(Mount *m) {
> > m->control_command_id = MOUNT_EXEC_UNMOUNT;
> > m->control_command = m->exec_command + MOUNT_EXEC_UNMOUNT;
> >
> > + /* Ignore any mounts under /dev, /proc or /sys */
> > + if (path_startswith(m->where, "/dev/") ||
> > + path_startswith(m->where, "/proc/") ||
> > + path_startswith(m->where, "/sys/")) {
> > + mount_set_state(m, MOUNT_DEAD);
> > + return;
> > + }
> > +
>
> This does not look right either. I'd rather expect to a) set
> DefaultDependencies=no for these special mounts so that they are left
> at shutdown and b) ignore them in the final killing spree if needed
> (unless happens already).
I pretty much implemented this now, though instead of setting
DefaultDependencies=no for these mounts I just made
DefaultDependencies=yes have no effect for them. But the general
approach I agree with.
> If I as user do "systemctl stop /dev/pts" I expect it to
> unmount /dev/pts not fake "dead" state.
Well, /dev/pts is not a mount point systemd picks up anyway, so the
unit for that doesn't even exist. It's already exempted. But I do get
your point and I agree.
Lennart
--
Lennart Poettering, Red Hat
More information about the systemd-devel
mailing list