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 18:28:44 +0000
commit00ed9aa54bec137327e37c25fcd5d59347bbf4e6 (patch)
treef06601c9bacf22f89f0e3bece7af87365b3f18d1
parenta4ce800b585ba01dc6e5787521654318906a1efd (diff)
downloadsrc-00ed9aa54bec137327e37c25fcd5d59347bbf4e6.tar.gz
src-00ed9aa54bec137327e37c25fcd5d59347bbf4e6.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 (cherry picked from commit 5549c6a62f0f4fc5d7e80973b28ebcf7f556edf8)
-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 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
}