dracut-026-55.git20130318

- install all host filesystem drivers
Resolves: rhbz#922565
This commit is contained in:
Harald Hoyer 2013-03-18 08:46:04 +01:00
parent 8d2be9b2e4
commit 45974b2907
2 changed files with 82 additions and 1 deletions

View File

@ -0,0 +1,76 @@
From fd191a7b41b0f402e8c36f692b5f1b5e9eb8b035 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
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
}

View File

@ -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 <harald@redhat.com> 026-55.git20130318
- install all host filesystem drivers
Resolves: rhbz#922565
* Sat Mar 16 2013 Harald Hoyer <harald@redhat.com> 026-54.git20130316
- fix for squashfs
Resolves: rhbz#922248