<div dir="ltr"><div>Hello,<br></div><div><br></div><div>In Ubuntu Core, we have some mounts that cannot be unmounted until we have switched root.</div><div><br></div><div>To simplify, this looks like that:<br></div><div><br></div><div>/ mounts a ro loop devices backed by /some/disk/some/path/image.img</div><div>/some/disk mounts a block device (let's say /dev/some-block0p1)<br></div><div><br></div><div>In this case, /some/disk cannot be unmounted.</div><div><br></div><div>We do not want to lazily unmount, we cannot get errors if something fails. (Unless we had a lazy unmount that would only work when read-only)<br></div><div><br></div><div>We do remount /some/disk read-only on shutdown. And in the shutdown intramfs, we unmount /oldroot/some/disk.<br></div><div><br></div><div>However, we get an error message with systemd trying to unmount it. While functionally, it does not matter, it is still very problematic to have error messages.</div><div><br></div><div>Using `DefaultDependencies=no` is not enough. I have tried to be clever and add some-disk.mount to shutdown.target.wants so it would not try to unmount it. But systemd got confused with conflicts and randomly kills stop jobs until there is no conflict.</div><div><br></div><div>Debugging it, I have found that this is because some-disk.mount depends on systemd-fsck@some\x2dblock0p1.service. And systemd-fsck@.service conflicts with shutdown.target.</div><div><br></div><div>I wonder if having conflict on shutdown.target really needed. Could we remove it? (And also add DefaultDepenencies=no to system-systemd\x2dfsck.slice) With this, mounts with DefaultDependencie=no do not get unmounted as part of shutdown.target. (They do during systemd-shutdown)<br></div></div>