svn commit: r346017 - in head: libexec/rc libexec/rc/rc.d share/man/man5
Chris Rees
crees at FreeBSD.org
Tue Sep 3 14:06:57 UTC 2019
Author: crees (doc,ports committer)
Date: Sun Apr 7 18:31:45 2019
New Revision: 346017
URL: https://svnweb.freebsd.org/changeset/base/346017
Log:
Remove now unnecessary kldstat check before attempting to load modules.
Since r233109, kldload has the -n option, which silently ignores options
that are already loaded.
https://lists.freebsd.org/pipermail/freebsd-rc/2018-December/003899.html
Note that this script no longer reports if the module is already loaded,
but it could be argued this wasn't particularly useful information.
PR: docs/234248
Reviewed by: bcr (docs), kib, rgrimes (visual)
Approved by: jilles
Differential Revision: https://reviews.freebsd.org/D18670
Modified:
head/libexec/rc/rc.d/abi
head/libexec/rc/rc.d/bthidd
head/libexec/rc/rc.d/cfumass
head/libexec/rc/rc.d/kld
head/libexec/rc/rc.d/mdconfig
head/libexec/rc/rc.d/mdconfig2
head/libexec/rc/rc.d/mountcritremote
head/libexec/rc/rc.d/syscons
head/libexec/rc/rc.subr
head/share/man/man5/rc.conf.5
Modified: head/libexec/rc/rc.d/abi
==============================================================================
--- head/libexec/rc/rc.d/abi Sun Apr 7 18:24:26 2019 (r346016)
+++ head/libexec/rc/rc.d/abi Sun Apr 7 18:31:45 2019 (r346017)
@@ -27,10 +27,10 @@ linux_start()
local _tmpdir
echo -n ' linux'
- load_kld -e 'linux(aout|elf)' linux
+ load_kld linux
case `sysctl -n hw.machine_arch` in
amd64)
- load_kld -e 'linux64elf' linux64
+ load_kld linux64
;;
esac
if [ -x /compat/linux/sbin/ldconfigDisabled ]; then
Modified: head/libexec/rc/rc.d/bthidd
==============================================================================
--- head/libexec/rc/rc.d/bthidd Sun Apr 7 18:24:26 2019 (r346016)
+++ head/libexec/rc/rc.d/bthidd Sun Apr 7 18:31:45 2019 (r346017)
@@ -34,11 +34,11 @@ evdev_enabled()
bthidd_prestart()
{
if evdev_enabled; then
- load_kld -m uinput uinput
+ load_kld uinput
fi
- load_kld -m kbdmux kbdmux
- load_kld -m vkbd vkbd
- load_kld -m ng_btsocket ng_btsocket
+ load_kld kbdmux
+ load_kld vkbd
+ load_kld ng_btsocket
return 0
}
Modified: head/libexec/rc/rc.d/cfumass
==============================================================================
--- head/libexec/rc/rc.d/cfumass Sun Apr 7 18:24:26 2019 (r346016)
+++ head/libexec/rc/rc.d/cfumass Sun Apr 7 18:31:45 2019 (r346017)
@@ -75,7 +75,7 @@ cfumass_start()
return "${err}"
fi
- load_kld -e cfumass cfumass
+ load_kld cfumass
# If the template is already switched to Mass Storage, then reset
# it to -1 to force the host to reenumerate it; otherwise it might
Modified: head/libexec/rc/rc.d/kld
==============================================================================
--- head/libexec/rc/rc.d/kld Sun Apr 7 18:24:26 2019 (r346016)
+++ head/libexec/rc/rc.d/kld Sun Apr 7 18:31:45 2019 (r346017)
@@ -46,7 +46,7 @@ kld_start()
echo 'Loading kernel modules:'
for _kld in $kld_list ; do
- load_kld -e ${_kld}.ko $_kld
+ load_kld $_kld
done
}
Modified: head/libexec/rc/rc.d/mdconfig
==============================================================================
--- head/libexec/rc/rc.d/mdconfig Sun Apr 7 18:24:26 2019 (r346016)
+++ head/libexec/rc/rc.d/mdconfig Sun Apr 7 18:31:45 2019 (r346017)
@@ -114,7 +114,7 @@ mdconfig_start()
continue
fi
if [ "${_file}" != "${_file%.uzip}" ]; then
- load_kld -m g_uzip geom_uzip || return 3
+ load_kld geom_uzip || return 3
# sleep a bit to allow creation of /dev/mdX.uzip
sleep 2
fi
Modified: head/libexec/rc/rc.d/mdconfig2
==============================================================================
--- head/libexec/rc/rc.d/mdconfig2 Sun Apr 7 18:24:26 2019 (r346016)
+++ head/libexec/rc/rc.d/mdconfig2 Sun Apr 7 18:31:45 2019 (r346017)
@@ -123,7 +123,7 @@ mdconfig2_start()
# been created.
if [ "${_type}" = "vnode" -a "${_fs}" != "/" ]; then
if [ "${_file}" != "${_file%.uzip}" ]; then
- load_kld -m g_uzip geom_uzip || return 3
+ load_kld geom_uzip || return 3
fi
if is_readonly ${_fs}; then
warn "${_fs} is mounted read-only, skipping ${_md}."
Modified: head/libexec/rc/rc.d/mountcritremote
==============================================================================
--- head/libexec/rc/rc.d/mountcritremote Sun Apr 7 18:24:26 2019 (r346016)
+++ head/libexec/rc/rc.d/mountcritremote Sun Apr 7 18:31:45 2019 (r346017)
@@ -27,7 +27,7 @@ mountcritremote_precmd()
case "`mount -d -a -t nfs 2> /dev/null`" in
*mount_nfs*)
# Handle absent nfs client support
- load_kld -m nfs nfscl || return 1
+ load_kld nfscl || return 1
;;
esac
return 0
Modified: head/libexec/rc/rc.d/syscons
==============================================================================
--- head/libexec/rc/rc.d/syscons Sun Apr 7 18:24:26 2019 (r346016)
+++ head/libexec/rc/rc.d/syscons Sun Apr 7 18:31:45 2019 (r346017)
@@ -346,7 +346,7 @@ syscons_start()
for i in `kldstat | awk '$5 ~ "_saver\.ko$" { print $5 }'`; do
kldunload ${i}
done
- load_kld -e _saver ${saver}_saver
+ load_kld ${saver}_saver
;;
esac
Modified: head/libexec/rc/rc.subr
==============================================================================
--- head/libexec/rc/rc.subr Sun Apr 7 18:24:26 2019 (r346016)
+++ head/libexec/rc/rc.subr Sun Apr 7 18:31:45 2019 (r346017)
@@ -1853,48 +1853,29 @@ mount_md()
}
# Code common to scripts that need to load a kernel module
-# if it isn't in the kernel yet. Syntax:
-# load_kld [-e regex] [-m module] file
-# where -e or -m chooses the way to check if the module
-# is already loaded:
-# regex is egrep'd in the output from `kldstat -v',
-# module is passed to `kldstat -m'.
-# The default way is as though `-m file' were specified.
+# if it isn't in the kernel yet. Syntax:
+# load_kld file
load_kld()
{
- local _loaded _mod _opt _re
+ local _opt
+ # Silently ignore legacy options; they are unnecessary
while getopts "e:m:" _opt; do
case "$_opt" in
- e) _re="$OPTARG" ;;
- m) _mod="$OPTARG" ;;
- *) err 3 'USAGE: load_kld [-e regex] [-m module] file' ;;
+ e) ;;
+ m) ;;
+ *) err 3 'USAGE: load_kld file' ;;
esac
done
shift $(($OPTIND - 1))
if [ $# -ne 1 ]; then
- err 3 'USAGE: load_kld [-e regex] [-m module] file'
+ err 3 'USAGE: load_kld file'
fi
- _mod=${_mod:-$1}
- _loaded=false
- if [ -n "$_re" ]; then
- if kldstat -v | egrep -q -e "$_re"; then
- _loaded=true
- fi
+ if ! kldload -n "$1"; then
+ warn "Unable to load kernel module $1"
+ return 1
else
- if kldstat -q -m "$_mod"; then
- _loaded=true
- fi
- fi
- if ! $_loaded; then
- if ! kldload "$1"; then
- warn "Unable to load kernel module $1"
- return 1
- else
- info "$1 kernel module loaded."
- fi
- else
- debug "load_kld: $1 kernel module already loaded."
+ info "$1 kernel module loaded."
fi
return 0
}
Modified: head/share/man/man5/rc.conf.5
==============================================================================
--- head/share/man/man5/rc.conf.5 Sun Apr 7 18:24:26 2019 (r346016)
+++ head/share/man/man5/rc.conf.5 Sun Apr 7 18:31:45 2019 (r346017)
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd March 21, 2019
+.Dd April 7, 2019
.Dt RC.CONF 5
.Os
.Sh NAME
@@ -249,9 +249,7 @@ Default
.It Va kld_list
.Pq Vt str
A whitespace-separated list of kernel modules to load right after
-the local disks are mounted, without any
-.Pa .ko
-extension or path.
+the local disks are mounted, with optional path.
Loading modules at this point in the boot process is
much faster than doing it via
.Pa /boot/loader.conf
More information about the svn-src-all
mailing list