Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 Apr 2019 18:31:45 +0000 (UTC)
From:      Chris Rees <crees@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r346017 - in head: libexec/rc libexec/rc/rc.d share/man/man5
Message-ID:  <201904071831.x37IVj4r096803@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201904071831.x37IVj4r096803>