git: 5549c6a62f0f - main - devmatch: don't announce autoloading so much

Warner Losh imp at FreeBSD.org
Thu Jul 8 21:27:27 UTC 2021


The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=5549c6a62f0f4fc5d7e80973b28ebcf7f556edf8

commit 5549c6a62f0f4fc5d7e80973b28ebcf7f556edf8
Author:     Warner Losh <imp at FreeBSD.org>
AuthorDate: 2021-07-08 19:53:18 +0000
Commit:     Warner Losh <imp at FreeBSD.org>
CommitDate: 2021-07-08 21:22:22 +0000

    devmatch: don't announce autoloading so much
    
    devmatch rc script would announce it was loading a module multiple
    times. It used kldload -n so it really wasn't loading it that many
    times, but the message is confusing. Use kldstat to see if we need to
    load the module before saying we do. This fixes the vast majority of the
    problems. It may be possible to race devmatch with a user invocation and
    devd, though quite hard. In that case we'll announce things twice, but
    still only load it once. No attempt is made to fix this.
    
    PR:                     232782
    MFC After:              2 weeks
    Sponsored by:           Netflix
---
 libexec/rc/rc.d/devmatch | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libexec/rc/rc.d/devmatch b/libexec/rc/rc.d/devmatch
index f7f677b968e7..f5b8e8e51071 100755
--- a/libexec/rc/rc.d/devmatch
+++ b/libexec/rc/rc.d/devmatch
@@ -71,8 +71,8 @@ devmatch_start()
 		case "${x}" in
 		*"#${m}#"*) continue ;;
 		esac
-		echo "Autoloading module: ${m}"
-		kldload -n ${m}
+		kldstat -q -n ${m} || \
+		    (echo "Autoloading module: ${m}"; kldload -n ${m})
 	done
 	devctl thaw
 }


More information about the dev-commits-src-main mailing list