* [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[parent not found: <1454574901-6290-1-git-send-email-xlpang-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>]
* 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