aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2021-07-08 19:53:18 +0000
committerWarner Losh <imp@FreeBSD.org>2021-07-16 17:45:11 +0000
commit66c5e65030ca055ada3eae1c18cbbafe8131fa86 (patch)
treed18b5daf1e91c483736dd0c6d4e305e10c01b985
parent3b125a8b3174e4efa2e98d02dfbba4e3ae9e52d5 (diff)
downloadsrc-66c5e65030ca055ada3eae1c18cbbafe8131fa86.tar.gz
src-66c5e65030ca055ada3eae1c18cbbafe8131fa86.zip
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
-rwxr-xr-xlibexec/rc/rc.d/devmatch4
1 files changed, 2 insertions, 2 deletions
diff --git a/libexec/rc/rc.d/devmatch b/libexec/rc/rc.d/devmatch
index d48661ca9e15..cdea796c4689 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
}