Author: crees (doc,ports committer)
Date: Wed Apr 10 07:51:13 2019
New Revision: 346072
URL: https://svnweb.freebsd.org/changeset/base/346072

Log:
  Revert r346017 pending compiled-in zfs fix
  
  PR:           237172
  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    Wed Apr 10 06:23:15 2019        (r346071)
+++ head/libexec/rc/rc.d/abi    Wed Apr 10 07:51:13 2019        (r346072)
@@ -27,10 +27,10 @@ linux_start()
        local _tmpdir
 
        echo -n ' linux'
-       load_kld linux
+       load_kld -e 'linux(aout|elf)' linux
        case `sysctl -n hw.machine_arch` in
        amd64)
-               load_kld linux64
+               load_kld -e 'linux64elf' linux64
                ;;
        esac
        if [ -x /compat/linux/sbin/ldconfigDisabled ]; then

Modified: head/libexec/rc/rc.d/bthidd
==============================================================================
--- head/libexec/rc/rc.d/bthidd Wed Apr 10 06:23:15 2019        (r346071)
+++ head/libexec/rc/rc.d/bthidd Wed Apr 10 07:51:13 2019        (r346072)
@@ -34,11 +34,11 @@ evdev_enabled()
 bthidd_prestart()
 {
        if evdev_enabled; then
-               load_kld uinput
+               load_kld -m uinput uinput
        fi
-       load_kld kbdmux
-       load_kld vkbd
-       load_kld ng_btsocket
+       load_kld -m kbdmux kbdmux
+       load_kld -m vkbd vkbd
+       load_kld -m ng_btsocket ng_btsocket
        return 0
 }
 

Modified: head/libexec/rc/rc.d/cfumass
==============================================================================
--- head/libexec/rc/rc.d/cfumass        Wed Apr 10 06:23:15 2019        
(r346071)
+++ head/libexec/rc/rc.d/cfumass        Wed Apr 10 07:51:13 2019        
(r346072)
@@ -75,7 +75,7 @@ cfumass_start()
                return "${err}"
        fi
 
-       load_kld cfumass
+       load_kld -e cfumass 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    Wed Apr 10 06:23:15 2019        (r346071)
+++ head/libexec/rc/rc.d/kld    Wed Apr 10 07:51:13 2019        (r346072)
@@ -46,7 +46,7 @@ kld_start()
 
        echo 'Loading kernel modules:'
        for _kld in $kld_list ; do
-               load_kld $_kld
+               load_kld -e ${_kld}.ko $_kld
        done
 }
 

Modified: head/libexec/rc/rc.d/mdconfig
==============================================================================
--- head/libexec/rc/rc.d/mdconfig       Wed Apr 10 06:23:15 2019        
(r346071)
+++ head/libexec/rc/rc.d/mdconfig       Wed Apr 10 07:51:13 2019        
(r346072)
@@ -114,7 +114,7 @@ mdconfig_start()
                                        continue
                                fi
                                if [ "${_file}" != "${_file%.uzip}" ]; then
-                                       load_kld geom_uzip || return 3
+                                       load_kld -m g_uzip 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      Wed Apr 10 06:23:15 2019        
(r346071)
+++ head/libexec/rc/rc.d/mdconfig2      Wed Apr 10 07:51:13 2019        
(r346072)
@@ -123,7 +123,7 @@ mdconfig2_start()
                # been created.
                if [ "${_type}" = "vnode" -a "${_fs}" != "/" ]; then
                        if [ "${_file}" != "${_file%.uzip}" ]; then
-                               load_kld geom_uzip || return 3
+                               load_kld -m g_uzip 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        Wed Apr 10 06:23:15 2019        
(r346071)
+++ head/libexec/rc/rc.d/mountcritremote        Wed Apr 10 07:51:13 2019        
(r346072)
@@ -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 nfscl || return 1
+               load_kld -m nfs nfscl || return 1
                ;;
        esac
        return 0

Modified: head/libexec/rc/rc.d/syscons
==============================================================================
--- head/libexec/rc/rc.d/syscons        Wed Apr 10 06:23:15 2019        
(r346071)
+++ head/libexec/rc/rc.d/syscons        Wed Apr 10 07:51:13 2019        
(r346072)
@@ -346,7 +346,7 @@ syscons_start()
                for i in `kldstat | awk '$5 ~ "_saver\.ko$" { print $5 }'`; do
                        kldunload ${i}
                done
-               load_kld ${saver}_saver
+               load_kld -e _saver ${saver}_saver
                ;;
        esac
 

Modified: head/libexec/rc/rc.subr
==============================================================================
--- head/libexec/rc/rc.subr     Wed Apr 10 06:23:15 2019        (r346071)
+++ head/libexec/rc/rc.subr     Wed Apr 10 07:51:13 2019        (r346072)
@@ -1853,29 +1853,48 @@ mount_md()
 }
 
 # Code common to scripts that need to load a kernel module
-# if it isn't in the kernel yet.  Syntax:
-#   load_kld file
+# 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.
 load_kld()
 {
-       local _opt
+       local _loaded _mod _opt _re
 
-       # Silently ignore legacy options; they are unnecessary
        while getopts "e:m:" _opt; do
                case "$_opt" in
-               e) ;;
-               m) ;;
-               *) err 3 'USAGE: load_kld file' ;;
+               e) _re="$OPTARG" ;;
+               m) _mod="$OPTARG" ;;
+               *) err 3 'USAGE: load_kld [-e regex] [-m module] file' ;;
                esac
        done
        shift $(($OPTIND - 1))
        if [ $# -ne 1 ]; then
-               err 3 'USAGE: load_kld file'
+               err 3 'USAGE: load_kld [-e regex] [-m module] file'
        fi
-       if ! kldload -n "$1"; then
-               warn "Unable to load kernel module $1"
-               return 1
+       _mod=${_mod:-$1}
+       _loaded=false
+       if [ -n "$_re" ]; then
+               if kldstat -v | egrep -q -e "$_re"; then
+                       _loaded=true
+               fi
        else
-               info "$1 kernel module loaded."
+               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."
        fi
        return 0
 }

Modified: head/share/man/man5/rc.conf.5
==============================================================================
--- head/share/man/man5/rc.conf.5       Wed Apr 10 06:23:15 2019        
(r346071)
+++ head/share/man/man5/rc.conf.5       Wed Apr 10 07:51:13 2019        
(r346072)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd April 7, 2019
+.Dd March 21, 2019
 .Dt RC.CONF 5
 .Os
 .Sh NAME
@@ -249,7 +249,9 @@ Default
 .It Va kld_list
 .Pq Vt str
 A whitespace-separated list of kernel modules to load right after
-the local disks are mounted, with optional path.
+the local disks are mounted, without any
+.Pa .ko
+extension or path.
 Loading modules at this point in the boot process is
 much faster than doing it via
 .Pa /boot/loader.conf
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to