From: Mingli Yu Date: Tue, 7 Apr 2020 08:38:58 +0000 (+0800) Subject: Revert "dhclient: not always skip the nfsroot interface" X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~11367 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5c172e0e8f8d02fe1dacec9d3574671baf9ad075;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git Revert "dhclient: not always skip the nfsroot interface" This reverts commit[27aec88 dhclient: not always skip the nfsroot interface] which used to address the IP address renew issue when boot a system in a nfsroot fs and altogether boot with ip=dhcp. But reported by some tester, the above commit introduces below issue when run ltp test on a nfsroot system which boot with ip=dhcp: nfs: server 192.168.100.1 not responding, still trying nfs: server 192.168.100.1 not responding, still trying [snip] So revert the above commit now to avoid blocking test. Signed-off-by: Mingli Yu Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-connectivity/dhcp/files/dhclient-systemd-wrapper b/meta/recipes-connectivity/dhcp/files/dhclient-systemd-wrapper index 87c60fa95fe..7d0e224a1df 100644 --- a/meta/recipes-connectivity/dhcp/files/dhclient-systemd-wrapper +++ b/meta/recipes-connectivity/dhcp/files/dhclient-systemd-wrapper @@ -1,19 +1,5 @@ #!/bin/sh -# Add an initial /var/lib/dhcp/dhclient.leases to make -# sure the IP which dhclient try to renew is the same -# with the IP which kernel got from dhcp server during -# boot -update_dhclient_leases() -{ - local addr=$1 - local interface=$2 - echo "lease {" >> /var/lib/dhcp/dhclient.leases - echo " interface \"${addr}\";" >> /var/lib/dhcp/dhclient.leases - echo " fixed-address ${interface:0:-3};" >> /var/lib/dhcp/dhclient.leases - echo "}" >> /var/lib/dhcp/dhclient.leases -} - # In case the interface is used for nfs, skip it. nfsroot=0 interfaces="" @@ -33,7 +19,6 @@ while read dev mtpt fstype rest; do done exec 0<&9 9<&- - if [ $nfsroot -eq 0 ]; then interfaces="$INTERFACES" else @@ -42,16 +27,7 @@ else fi for i in $INTERFACES; do if test "x$i" = "x$nfs_iface"; then - interface_addr=`ip -4 address show $nfs_iface | grep 'inet '|sed 's/.*inet \(\S\+\).*/\1/'` - if [ "x$interface_addr" != "x" ] && cat /proc/cmdline | grep "ip=dhcp" > /dev/null ; then - # use to renew lease if needed - interfaces="$interfaces $i" - # use to update /var/lib/dhcp/dhclient.leases if needed - # when the ip got by kernel, we need use dhclient to renew the ip - update_dhclient_leases $nfs_iface $interface_addr - else - echo "dhclient skipping nfsroot interface $i" - fi + echo "dhclient skipping nfsroot interface $i" else interfaces="$interfaces $i" fi