mounts with "nofail" can be unmounted on shutdown before "After=*-fs.target" units

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hey guys, I have question regarding a certain behaviour of the systemd mount generator.

Mounts do not have `Before=*-fs.target` if the `nofail` mount option is added to their `/etc/fstab` entry.

From the man page I see that this is intended behaviour:
- https://www.freedesktop.org/software/systemd/man/latest/systemd.mount.html#Default%20Dependencies - https://www.freedesktop.org/software/systemd/man/latest/systemd.mount.html#noauto

First of all, I see the reason why it seems to be not important for mounts to start before certain targets, if one explicitly declares that it is okay for them to fail. But I do not see a downside of adding `Before=*-fs.target` either. There are use cases where one still wants other services to wait for at least the attempt to have all network shares mounted, even when not wanting some of them to cause failure in the boot sequence.

The more problematic implication however is indeed, that those mounts can be attempted to be unmounted on shutdown, before services with `After=*-fs.target` are stopped. This can lead to hanging services and potential data loss. It has been observed with qBittorrent and a CIFS network share in particular, where the CIFS mount was tried to be unmounted first, failed, since it was accessed by qBittorrent, and for some reason was hanging the shutdown sequence, so that the system needed to be power cycled. Doing the unmount manually before shutdown, solves the issue. This was when I found the missing `Before=remote-fs.target` entry.

Is there a particular reason `nofail` mounts do not have `Before=*-fs.target` defined, respectively is there any downside when defining it as well with `nofail`? One thing I have in mind, is that hanging mount attempts delay `remote-fs.target` and hence `getty@.service` units, i.e. the local login prompt. However, if I want to avoid this, because I am expecting the share to be offline regularly, then I would would use `noauto`, in case with `x-systemd.automount`. But I did not expect the `nofail` option to be a "mount at any later time on boot" + "unmount at any earlier time on shutdown".

Best regards,

Micha



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux