* [PATCH] network/parse-ip-opts.sh: avoid die with multiple "ip=" dhcp cases
@ 2016-02-04 8:35 Xunlei Pang
[not found] ` <1454574901-6290-1-git-send-email-xlpang-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Xunlei Pang @ 2016-02-04 8:35 UTC (permalink / raw)
To: initramfs-u79uwXL29TY76Z2rM5mHXA, Harald Hoyer, Dave Young; +Cc: Xunlei Pang
When multiple "ip=" dhcp related commands are specified, dracut
will die. Two "ip=dhcp" is a simple example.
For kdump cases, when the kernel command line contains "ip=dhcp"
which is inherited by kdump environment, the network dumping also
hits this.
To fix it, we can treat multiple dhcp related commands just as one.
Signed-off-by: Xunlei Pang <xlpang-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
---
modules.d/40network/parse-ip-opts.sh | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/40network/parse-ip-opts.sh
index 5779ef8..521f48b 100755
--- a/modules.d/40network/parse-ip-opts.sh
+++ b/modules.d/40network/parse-ip-opts.sh
@@ -22,16 +22,23 @@ fi
# Count ip= lines to decide whether we need bootdev= or not
if [ -z "$NEEDBOOTDEV" ] ; then
count=0
+ has_dhcp=0
for p in $(getargs ip=); do
- case "$p" in
+ ip_to_var $p
+ case "$autoconf" in
ibft)
continue;;
+ dhcp|dhcp6|on|any)
+ # Regard multiple dhcp cases as one to avoid die
+ has_dhcp=1
+ continue;;
esac
count=$(( $count + 1 ))
done
+ count=$(( $count + $has_dhcp ))
[ $count -gt 1 ] && NEEDBOOTDEV=1
fi
-unset count
+unset count has_dhcp
# If needed, check if bootdev= contains anything usable
BOOTDEV=$(getarg bootdev=)
--
1.8.3.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] network/parse-ip-opts.sh: avoid die with multiple "ip=" dhcp cases
[not found] ` <1454574901-6290-1-git-send-email-xlpang-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2016-02-04 9:04 ` Dracut GitHub Import Bot
2016-02-05 2:07 ` Xunlei Pang
1 sibling, 0 replies; 3+ messages in thread
From: Dracut GitHub Import Bot @ 2016-02-04 9:04 UTC (permalink / raw)
To: initramfs-u79uwXL29TY76Z2rM5mHXA
Patchset imported to github.
Pull request:
<https://github.com/haraldh/dracut/compare/master...dracut-mailing-devs:1454574901-6290-1-git-send-email-xlpang%40redhat.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] network/parse-ip-opts.sh: avoid die with multiple "ip=" dhcp cases
[not found] ` <1454574901-6290-1-git-send-email-xlpang-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-02-04 9:04 ` Dracut GitHub Import Bot
@ 2016-02-05 2:07 ` Xunlei Pang
1 sibling, 0 replies; 3+ messages in thread
From: Xunlei Pang @ 2016-02-05 2:07 UTC (permalink / raw)
To: Xunlei Pang, initramfs-u79uwXL29TY76Z2rM5mHXA, Harald Hoyer,
Dave Young
Cc: hkrzesin-H+wXaHxf7aLQT0dZR+AlfA,
kexec-kdump-list-H+wXaHxf7aLQT0dZR+AlfA
Cc more.
https://bugzilla.redhat.com/show_bug.cgi?id=1304069
One worry that I have about the patch is the multiple "ip=???:<interface>:dhcp:???"
with a dhcp device specifed, not too sure about the bootdev in this case.
On 2016/02/04 at 16:35, Xunlei Pang wrote:
> When multiple "ip=" dhcp related commands are specified, dracut
> will die. Two "ip=dhcp" is a simple example.
>
> For kdump cases, when the kernel command line contains "ip=dhcp"
> which is inherited by kdump environment, the network dumping also
> hits this.
>
> To fix it, we can treat multiple dhcp related commands just as one.
>
> Signed-off-by: Xunlei Pang <xlpang-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> ---
> modules.d/40network/parse-ip-opts.sh | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/40network/parse-ip-opts.sh
> index 5779ef8..521f48b 100755
> --- a/modules.d/40network/parse-ip-opts.sh
> +++ b/modules.d/40network/parse-ip-opts.sh
> @@ -22,16 +22,23 @@ fi
> # Count ip= lines to decide whether we need bootdev= or not
> if [ -z "$NEEDBOOTDEV" ] ; then
> count=0
> + has_dhcp=0
> for p in $(getargs ip=); do
> - case "$p" in
> + ip_to_var $p
> + case "$autoconf" in
> ibft)
> continue;;
> + dhcp|dhcp6|on|any)
> + # Regard multiple dhcp cases as one to avoid die
> + has_dhcp=1
> + continue;;
Should we have an extra judgement using $dev here, if NULL then continue?
Regards,
Xunlei
> esac
> count=$(( $count + 1 ))
> done
> + count=$(( $count + $has_dhcp ))
> [ $count -gt 1 ] && NEEDBOOTDEV=1
> fi
> -unset count
> +unset count has_dhcp
>
> # If needed, check if bootdev= contains anything usable
> BOOTDEV=$(getarg bootdev=)
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-02-05 2:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-04 8:35 [PATCH] network/parse-ip-opts.sh: avoid die with multiple "ip=" dhcp cases Xunlei Pang
[not found] ` <1454574901-6290-1-git-send-email-xlpang-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-02-04 9:04 ` Dracut GitHub Import Bot
2016-02-05 2:07 ` Xunlei Pang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox