On Thu, 15.01.15 19:24, Stéphane Graber (stgra...@ubuntu.com) wrote: > On Thu, Jan 15, 2015 at 07:20:55PM +0100, Lennart Poettering wrote: > diff --git a/src/core/mount.c b/src/core/mount.c > index 612d150..4de878e 100644 > --- a/src/core/mount.c > +++ b/src/core/mount.c > @@ -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; > + } > + > r = exec_command_set(m->control_command, "/bin/umount", m->where, > NULL); > if (r >= 0 && UNIT(m)->manager->running_as == SYSTEMD_SYSTEM) > r = exec_command_append(m->control_command, "-n", NULL);
Ah, nah, that patch wouldn't work, the state would be restored later when we read from /proc/self/mountinfo again... Anyway, I kinda missed that this is already an issue witht the shutdown logic of the main unit engine. I assumed this was only about the final unmount spree in systemd-shutdown. I now made this change: http://cgit.freedesktop.org/systemd/systemd/commit/?id=874d3404cbf2363604106c8f86683db4082691ea This does two things: - Exempts all file systems below /dev, /proc, /sys from getting a Conflicts= dependency with umount.target. THis means during shutdown, where umount.target is pulled in these mount units will not be stopped. - In the final umount loop in systemd-shutdown we simply won't bother anymore with these file systems too. Hope this makes things work for you. Please test! Thanks, Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel