On 03/10/15 at 06:48pm, Minfei Huang wrote:
The ipv6 link scope (like: fe80::fab1:56ff:feb6:56d5%eth1) needs to append the netdevice to identify the ipv6 address.
Due to add prefix "kdump-" before ethX(commit: ba7660f) in the 2nd kernel, we should correct the mount parameter and /etc/kdump.conf to add the prefix "kdump-" before ethX, if use the ipv6 link scope.
Signed-off-by: Minfei Huang mhuang@redhat.com
dracut-module-setup.sh | 20 ++++++++++++++++++++ mkdumprd | 16 +++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh index 4641025..349c3c1 100755 --- a/dracut-module-setup.sh +++ b/dracut-module-setup.sh @@ -343,6 +343,25 @@ default_dump_target_install_conf()
}
Add a description comment for the function should be good for reading.
Descript what it is the purpose of the function, it accept what type of arguments. Give an example for an ipv6 address (before and after changing)
Otherwise the patch looks good to me..
+kdump_ipv6_netdev_fixup() +{
- local _srcaddr _tmp_conf=$1
- if is_ssh_dump_target; then
_srcaddr=$(get_option_value ssh)
- elif is_nfs_dump_target; then
_srcaddr=$(get_option_value nfs)
- fi
- if [ "x" != "x"$_srcaddr ] && `echo $_srcaddr | grep -q "%"`; then
local _orig_netdev=${_srcaddr#*\%}
_orig_netdev=${_orig_netdev%]*}
local _pre_netdev=$(kdump_setup_ifname $_orig_netdev)
if [ "x"$_orig_netdev != "x"$_pre_netdev ]; then
sed -i "s#$_orig_netdev#$_pre_netdev#" $_tmp_conf
fi
- fi
+}
#install kdump.conf and what user specifies in kdump.conf kdump_install_conf() { sed -ne '/^#/!p' /etc/kdump.conf > ${initdir}/tmp/$$-kdump.conf @@ -357,6 +376,7 @@ kdump_install_conf() { ;; ssh|nfs) kdump_install_net "$config_val"
kdump_ipv6_netdev_fixup "${initdir}/tmp/$$-kdump.conf" ;; kdump_pre|kdump_post|extra_bins) dracut_install $config_val
diff --git a/mkdumprd b/mkdumprd index 4d251ba..34bed63 100644 --- a/mkdumprd +++ b/mkdumprd @@ -78,8 +78,22 @@ add_dracut_module() { add_dracut_arg "--add" "$1" }
+# The ipv6 link scope which appends the netdevice to identify the ipv6 +# address is start with prefix "fe80", so we should correct the mount +# parameter to add the prefix "kdump-" before ethX. add_dracut_mount() {
- add_dracut_arg "--mount" "$1"
- local _val="$1"
- if is_nfs_dump_target; then
if `echo "$_val" | grep -q "^\[fe80"`; then
local _prefix="${_val%%\%*}"
local _netdev="${_val#*\%}"
_netdev=$(kdump_setup_ifname "$_netdev")
_val="$_prefix"%"$_netdev"
fi
- fi
- add_dracut_arg "--mount" "$_val"
}
add_dracut_sshkey() {
1.9.3
kexec mailing list kexec@lists.fedoraproject.org https://lists.fedoraproject.org/mailman/listinfo/kexec