+ # If no module arguments were passed, get them from $MODOPTS_<MODULE>, else from
+ # modprobe.conf
+ if [ $# -eq 0 ]; then
+ # $MODOPTS_<MODULE>; we could use associative arrays, but that's not in
+ # Bash until 4.x, so we resort to eval.
+ optvar="MODOPTS_$(basename $module | tr a-z A-Z)"
+ eval set -- \$$optvar
+ if [ $# -eq 0 -a -n "$MODPROBECONF" ]; then
+ # Nothing in $MODOPTS_<MODULE>; try modprobe.conf
+ set -- $(grep "^options\\s*\<${module}\>" $MODPROBECONF)
+ # Get rid of "options $module"
+ (($# > 0)) && shift 2
+
+ # Ensure we have accept=all for lnet
+ if [ $module = lnet ]; then
+ # OK, this is a bit wordy...
+ local arg accept_all_present=false
+ for arg in "$@"; do
+ [ "$arg" = accept=all ] && accept_all_present=true
+ done
+ $accept_all_present || set -- "$@" accept=all
+ fi
+ fi
+ fi
+
+ [ $# -gt 0 ] && echo "${module} options: '$*'"
+