From 45974b2907eee77a649381e7d15363c7cfb92052 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Mar 18 2013 07:46:04 +0000 Subject: dracut-026-55.git20130318 - install all host filesystem drivers Resolves: rhbz#922565 --- diff --git a/0054-kernel-modules-module-setup.sh-install-all-host-file.patch b/0054-kernel-modules-module-setup.sh-install-all-host-file.patch new file mode 100644 index 0000000..269d657 --- /dev/null +++ b/0054-kernel-modules-module-setup.sh-install-all-host-file.patch @@ -0,0 +1,76 @@ +From fd191a7b41b0f402e8c36f692b5f1b5e9eb8b035 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 18 Mar 2013 08:43:23 +0100 +Subject: [PATCH] kernel-modules/module-setup.sh: install all host filesystem + drivers + +https://bugzilla.redhat.com/show_bug.cgi?id=922565 +--- + dracut-functions.sh | 14 ++++++++++++++ + modules.d/90kernel-modules/module-setup.sh | 8 +++----- + 2 files changed, 17 insertions(+), 5 deletions(-) + +diff --git a/dracut-functions.sh b/dracut-functions.sh +index c6a5c7e..eba7412 100755 +--- a/dracut-functions.sh ++++ b/dracut-functions.sh +@@ -457,12 +457,20 @@ for_each_host_dev_fs() + local _func="$1" + local _dev + local _ret=1 ++ ++ [[ "${!host_fs_types[@]}" ]] || return 0 ++ + for _dev in "${!host_fs_types[@]}"; do + $_func "$_dev" "${host_fs_types[$_dev]}" && _ret=0 + done + return $_ret + } + ++host_fs_all() ++{ ++ echo "${host_fs_types[@]}" ++} ++ + # Walk all the slave relationships for a given block device. + # Stop when our helper function returns success + # $1 = function to call on every found block device +@@ -508,6 +516,9 @@ for_each_host_dev_and_slaves_all() + local _func="$1" + local _dev + local _ret=1 ++ ++ [[ "${host_devs[@]}" ]] || return 0 ++ + for _dev in ${host_devs[@]}; do + [[ -b "$_dev" ]] || continue + if check_block_and_slaves_all $_func $(get_maj_min $_dev); then +@@ -521,6 +532,9 @@ for_each_host_dev_and_slaves() + { + local _func="$1" + local _dev ++ ++ [[ "${host_devs[@]}" ]] || return 0 ++ + for _dev in ${host_devs[@]}; do + [[ -b "$_dev" ]] || continue + check_block_and_slaves $_func $(get_maj_min $_dev) && return 0 +diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh +index 7d7da83..bd35a2c 100755 +--- a/modules.d/90kernel-modules/module-setup.sh ++++ b/modules.d/90kernel-modules/module-setup.sh +@@ -65,11 +65,9 @@ installkernel() { + instmods '=fs' + fi + else +- inst_fs() { +- [[ $2 ]] || return 1 +- hostonly='' instmods $2 +- } +- for_each_host_dev_fs inst_fs ++ for i in $(host_fs_all); do ++ hostonly='' instmods $i ++ done + fi + fi + } diff --git a/dracut.spec b/dracut.spec index df78fdb..00f223f 100644 --- a/dracut.spec +++ b/dracut.spec @@ -10,7 +10,7 @@ Name: dracut Version: 026 -Release: 54.git20130316%{?dist} +Release: 55.git20130318%{?dist} Summary: Initramfs generator using udev %if 0%{?fedora} || 0%{?rhel} @@ -82,6 +82,7 @@ Patch50: 0050-TEST-16-DMSQUASH-use-current-releasever.patch Patch51: 0051-dracut.conf.5.asc-remove-duplicated-install_items.patch Patch52: 0052-dmsquash-live-force-load-squashfs-kernel-module.patch Patch53: 0053-sosreport-mkdir-run-initramfs-if-it-does-not-exist-y.patch +Patch54: 0054-kernel-modules-module-setup.sh-install-all-host-file.patch BuildRequires: dash bash git @@ -471,6 +472,10 @@ rm -rf $RPM_BUILD_ROOT %{dracutlibdir}/dracut.conf.d/02-norescue.conf %changelog +* Mon Mar 18 2013 Harald Hoyer 026-55.git20130318 +- install all host filesystem drivers +Resolves: rhbz#922565 + * Sat Mar 16 2013 Harald Hoyer 026-54.git20130316 - fix for squashfs Resolves: rhbz#922248