build initramfs: unclear _mpargs in instmods()

The local variable _mpargs in function instmods() in file dracut-functions
looks peculiar.  The documentation is non-existent, but still ...

First, $_mpargs is not passed to modprobe via for_each_kmod_dep.
This is strange because my guess is that "_mpargs" means
"extra arguments for modprobe".

Second, the leading "--" will be lopped when a leading pathname
is stripped via
	_mod=${_mod##*/}
It seems to me that a leading "--" should inhibit modification.

Here's the corresponding patch to current HEAD (from dracut-013.)
master
John Reiser 2011-08-29 14:42:15 -07:00 committed by Harald Hoyer
parent ab55a117e2
commit f4ca564ba6
1 changed files with 1 additions and 2 deletions

View File

@ -919,7 +919,6 @@ instmods() {
fi
;;
--*)
_mod=${_mod##*/}
_mpargs+=" $_mod";;
i2o_scsi) shift; continue;; # Do not load this diagnostic-only module
*) _mod=${_mod##*/}
@ -942,7 +941,7 @@ instmods() {
# ok, load the module, all its dependencies, and any firmware
# it may require
for_each_kmod_dep install_kmod_with_fw $_mod \
--set-version $kernel ${_moddirname}
--set-version $kernel ${_moddirname} $_mpargs
((_ret+=$?))
;;
esac