File kdump-net-0017-kernel-mods-for-inactive.patch of Package kdump
From: Petr Tesarik <ptesarik@suse.com>
Date: Mon, 12 Sep 2016 17:43:14 +0200
Subject: Include required kernel modules for inactive interfaces
References: bsc#980328
Patch-mainline: v0.8.16
Git-commit: 848f4d15558bb6ae82d028cc5c281e813f84889b
Dracut's network module already includes modules for bridges, bonding
and vlan, but if dracut runs with the --hostonly option, they are
included only if the corresponding module is loaded. This logic is
wrong if kdump uses a non-default interface which is not started
automatically (e.g. with STARTMODE='manual').
Make sure that all necessary kernel modules are included by calling
instmods with hostonly explicitly set to an empty string.
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
---
init/module-setup.sh | 5 +++++
init/setup-kdump.functions | 7 +++++++
2 files changed, 12 insertions(+)
diff --git a/init/module-setup.sh b/init/module-setup.sh
index 27a06f8..5f295f5 100755
--- a/init/module-setup.sh
+++ b/init/module-setup.sh
@@ -112,6 +112,11 @@ cmdline() {
kdump_cmdline_ip
}
+installkernel() {
+ [ -n "$kdump_kmods" ] || return 0
+ hostonly='' instmods $kdump_kmods
+}
+
install() {
if [[ $hostonly_cmdline == "yes" ]] ; then
local _cmdline=$(cmdline)
diff --git a/init/setup-kdump.functions b/init/setup-kdump.functions
index f97b498..133aa99 100644
--- a/init/setup-kdump.functions
+++ b/init/setup-kdump.functions
@@ -253,6 +253,7 @@ function kdump_list_slaves() # {{{
# Output variables:
# kdump_netif corresponding bridge= initrd parameter added
# kdump_iface device name in initrd
+# kdump_kmods additional kernel modules updated
function kdump_bridge_config() # {{{
{
local bridge="$1"
@@ -278,6 +279,7 @@ function kdump_bridge_config() # {{{
kdump_iface="$bridge"
[ -n "$slaves" ] || return 1
+ kdump_kmods="$kdump_kmods bridge"
slaves="${slaves# }"
kdump_netif="$kdump_netif bridge=$kdump_iface:${slaves// /,}"
} # }}}
@@ -290,6 +292,7 @@ function kdump_bridge_config() # {{{
# Output variables:
# kdump_netif corresponding bond= initrd parameter added
# kdump_iface device name in initrd
+# kdump_kmods additional kernel modules updated
function kdump_bond_config() # {{{
{
local bond="$1"
@@ -392,6 +395,7 @@ function kdump_bond_config() # {{{
[ -n "$slaves" ] || return 1
slaves="${slaves# }"
+ kdump_kmods="$kdump_kmods bonding"
kdump_netif="$kdump_netif bond=$kdump_iface:${slaves// /,}:${opts#,}"
} # }}}
@@ -415,6 +419,7 @@ function kdump_link2vlan() # {{{{
# Output variables:
# kdump_netif corresponding vlan= initrd parameter added
# kdump_iface device name in initrd
+# kdump_kmods additional kernel modules updated
#
# Because of dracut limitations for vlan interface naming, the initrd
# interface name may be different from the original name.
@@ -438,6 +443,7 @@ function kdump_vlan_config() # {{{
if="${slaves# }"
fi
+ kdump_kmods="$kdump_kmods 8021q"
kdump_ifname_config "$if"
kdump_iface="$if.$vid"
kdump_netif="$kdump_netif vlan=$kdump_iface:$if"
@@ -450,6 +456,7 @@ function kdump_vlan_config() # {{{
# Output variables:
# kdump_netif corresponding ifname= initrd parameter added
# kdump_iface device name in initrd
+# kdump_kmods additional kernel modules updated
function kdump_ifname_config() # {{{
{
kdump_iface="$1"
--
2.6.6