diff options
author | David Kaspar [Dee'Kej] <dkaspar@redhat.com> | 2018-07-24 15:28:12 +0200 |
---|---|---|
committer | Dee'Kej <deekej@linuxmail.org> | 2018-07-24 16:35:49 +0200 |
commit | 5e145f4474349f18bb385cd30d21a22028fe0daf (patch) | |
tree | efce27039364ceea6848df833c60f502f6b806f6 /rc.d/init.d/network | |
parent | 0929d07c13b152266ce095f9c6e142667f4f1a8b (diff) | |
download | initscripts-5e145f4474349f18bb385cd30d21a22028fe0daf.tar initscripts-5e145f4474349f18bb385cd30d21a22028fe0daf.tar.gz initscripts-5e145f4474349f18bb385cd30d21a22028fe0daf.tar.bz2 initscripts-5e145f4474349f18bb385cd30d21a22028fe0daf.tar.xz initscripts-5e145f4474349f18bb385cd30d21a22028fe0daf.zip |
network: parsing of /proc/mounts returned
This partially reverts the commit 15eaf7ece, because systemd's
generated unit files might have incorrect dependencies at some
circumstances, thus causing diskless nfs-clients to hang while
unmounting root filesystem after '$ service network stop'.
Diffstat (limited to 'rc.d/init.d/network')
-rwxr-xr-x | rc.d/init.d/network | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/rc.d/init.d/network b/rc.d/init.d/network index 2834df47..1edb9884 100755 --- a/rc.d/init.d/network +++ b/rc.d/init.d/network @@ -162,11 +162,16 @@ stop) [ "$EUID" != "0" ] && exit 4 # Don't shut the network down if root or /usr is on NFS or a network # block device. - if systemctl show --property=RequiredBy -- -.mount usr.mount | grep -q 'remote-fs.target' ; then + root_fstype=$(gawk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/" && $3 != "rootfs") { print $3; }}' /proc/mounts) + usr_fstype=$(gawk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/usr" && $3 != "rootfs") { print $3; }}' /proc/mounts) + + if [[ "${root_fstype}" == nfs* || "${usr_fstype}" == nfs* ]] || systemctl show --property=RequiredBy -- -.mount usr.mount | grep -q 'remote-fs.target' ; then net_log $"rootfs or /usr is on network filesystem, leaving network up" exit 1 fi + unset root_fstype usr_fstype + # Don't shut the network down when shutting down the system if configured # as such in sysconfig if is_false "$IFDOWN_ON_SHUTDOWN"; then |