summaryrefslogtreecommitdiff
path: root/dracut-functions
diff options
context:
space:
mode:
authorHarald Hoyer <harald@redhat.com>2010-07-27 11:51:27 +0200
committerHarald Hoyer <harald@redhat.com>2010-07-27 11:51:27 +0200
commitbb7645459ed17564efb5f8e079c111d3cf9439f0 (patch)
tree6f9fafa27a53dfacc8edee63710e1c88ac311bb9 /dracut-functions
parente5c6cb2a8c0abc145b7322cb9c7a1927b8e07fd4 (diff)
downloaddracut-bb7645459ed17564efb5f8e079c111d3cf9439f0.tar.gz
dracut-bb7645459ed17564efb5f8e079c111d3cf9439f0.tar.bz2
dracut-bb7645459ed17564efb5f8e079c111d3cf9439f0.zip
dracut-functions: fix "-m -a" handling
Diffstat (limited to 'dracut-functions')
-rwxr-xr-xdracut-functions16
1 files changed, 12 insertions, 4 deletions
diff --git a/dracut-functions b/dracut-functions
index 5e486bf7..40c4bef4 100755
--- a/dracut-functions
+++ b/dracut-functions
@@ -526,12 +526,20 @@ check_modules() {
strstr "$mods_to_load" " $mod " && continue
# This should never happen, but...
[[ -d $moddir ]] || continue
- [[ $dracutmodules != all ]] && ! strstr "$dracutmodules" "$mod" && \
- continue
+
strstr "$omit_dracutmodules" "$mod" && continue
- if ! strstr "$add_dracutmodules" "$mod"; then
- should_source_module "$moddir" || continue
+
+ if ! strstr "$dracutmodules $add_dracutmodules" "$mod"; then
+ # module not in our list
+ if [[ $dracutmodules = all ]]; then
+ # check, if we can install this module
+ should_source_module "$moddir" || continue
+ else
+ # skip this module
+ continue
+ fi
fi
+
mods_to_load+=" $mod "
done