svn commit: r364985 - stable/12/libexec/rc/rc.d
Edward Tomasz Napierala
trasz at FreeBSD.org
Mon Aug 31 12:14:20 UTC 2020
Author: trasz
Date: Mon Aug 31 12:14:20 2020
New Revision: 364985
URL: https://svnweb.freebsd.org/changeset/base/364985
Log:
In 13-CURRENT, the linux rc script uses "nocover" mount option to avoid
mounting required filesystems twice. However, this option hasn't been MFC'd.
Implement its functionality in a different way, by stating the mount point.
Submitted by: sigsys at gmail.com
Differential Revision: https://reviews.freebsd.org/D26217
Modified:
stable/12/libexec/rc/rc.d/linux
Modified: stable/12/libexec/rc/rc.d/linux
==============================================================================
--- stable/12/libexec/rc/rc.d/linux Mon Aug 31 09:05:45 2020 (r364984)
+++ stable/12/libexec/rc/rc.d/linux Mon Aug 31 12:14:20 2020 (r364985)
@@ -15,6 +15,12 @@ rcvar="linux_enable"
start_cmd="${name}_start"
stop_cmd=":"
+unmounted()
+{
+ [ `stat -f "%d" "$1"` == `stat -f "%d" "$1/.."` -a \
+ `stat -f "%i" "$1"` != `stat -f "%i" "$1/.."` ]
+}
+
linux_start()
{
local _emul_path _tmpdir
@@ -48,11 +54,12 @@ linux_start()
if checkyesno linux_mounts_enable; then
_emul_path="/compat/linux"
- mount -t linprocfs linprocfs "${_emul_path}/proc"
- mount -t linsysfs linsysfs "${_emul_path}/sys"
- mount -t devfs devfs "${_emul_path}/dev"
- mount -o linrdlnk -t fdescfs fdescfs "${_emul_path}/dev/fd"
- mount -o mode=1777 -t tmpfs tmpfs "${_emul_path}/dev/shm"
+ unmounted "${_emul_path}/proc" && mount -t linprocfs linprocfs "${_emul_path}/proc"
+ unmounted "${_emul_path}/sys" && mount -t linsysfs linsysfs "${_emul_path}/sys"
+ unmounted "${_emul_path}/dev" && mount -t devfs devfs "${_emul_path}/dev"
+ unmounted "${_emul_path}/dev/fd" && mount -o linrdlnk -t fdescfs fdescfs "${_emul_path}/dev/fd"
+ unmounted "${_emul_path}/dev/shm" && mount -o mode=1777 -t tmpfs tmpfs "${_emul_path}/dev/shm"
+ true
fi
}
More information about the svn-src-all
mailing list