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
This commit is contained in:
Warner Losh 2021-07-08 13:53:18 -06:00
parent b29ebb9c65
commit 5549c6a62f

View File

@ -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
}