Hi there,
I initially created a bug report for this topic (apologize, Lennart), but would
like to discuss this topic in mode detail here (as suggested by Lennart), and
really appreciate your opinion here,
I've seen that once you define network (NFS) mount together with local
(referring to that network (NFS) mount) mount in `/etc/fstab` then it will
always produce dependency loops (due to `local-fs.target`),
Details and how to reproduce it,
# systemctl --version
systemd 219
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP
+LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD
+IDN
# cat /etc/*release
CentOS Linux release 7.4.1708 (Core)
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
CentOS Linux release 7.4.1708 (Core)
### Expected behaviour you didn't see
All local mounts (dependencies) are defined for
`local-fs.target` with `Wants` parameter.
### Unexpected behaviour you saw
All local mounts are defined for `local-fs.target` with
`Requires` parameter instead of `Wants` parameter.
### Steps to reproduce the problem
1. Add NFS mount into `/etc/fstab`, example
```server.domain:/ /mnt/test nfs4
nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 0 0```
2. Add local mount with dependency on NFS mount, example,
```/mnt/some_other_mount/ /mnt/test/media/
none bind,rw 0 0```
Example of `/etc/fstab`,
```
#
# /etc/fstab
# Created by anaconda on Mon Nov 27 22:04:35 2017
#
# Accessible filesystems, by reference, are maintained under
'/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8)
for more info
#
UUID=2f15c101-f516-4ee8-a4b7-89ad880610db /
xfs defaults 0 0
server.domain:/ /mnt/test nfs4
nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 0 0
/mnt/some_other_mount/ /mnt/test/medi none bind,rw 0 0
```
Question,
I know that this issue with dependency loop on `local-fs.target` can be
corrected by `nofail`/`_netdev` options in `/etc/fstab` file for all local
shares (as then all local mounts will be only wanted (`Wants` parameter), and
not required (`Requires` parameter) by `local-fs.target), but my question is
about behavior without these options specified, do you think that this
(explained) behavior is correct?
This looks for me as quite dangerous behavior (without `nofail`/`_netdev`
options) since in this scenario we may delete start jobs for up to 10 different
services/targets (including network stack (`network.service`)), here is the
full list of possible services/targets which may never start due to this issue
(ordering cycle (loop)),
systemd-journal-catalog-update.service
systemd-machine-id-commit.service
systemd-tmpfiles-setup.service
rhel-import-state.service
systemd-update-done.service
auditd.service
network.service
nfs-config.service
local-fs.target
Thanks a lot in advance!
Kind regards,
Alexey
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/systemd-devel