This commit is contained in:
Lukas Nykryn 2014-12-16 15:48:17 +01:00
parent 245053800f
commit 6ebdb7b94e
4 changed files with 9 additions and 65 deletions

1
.gitignore vendored
View File

@ -13,3 +13,4 @@
/initscripts-9.56.1.tar.bz2
/initscripts-9.58.tar.bz2
/initscripts-9.59.tar.bz2
/initscripts-9.60.tar.bz2

View File

@ -1,56 +0,0 @@
From 30ecd15eb772de10f9c2f94cc9bad4eac5439d24 Mon Sep 17 00:00:00 2001
From: Ashish Samant <ashish.samant@oracle.com>
Date: Wed, 29 Oct 2014 17:47:29 -0700
Subject: [PATCH] improve_check_for_bond_master_in_install_bonding_driver
The current grep check (fgrep -sqx) in install_bonding_driver, to determine
whether bond master exists, fails when there are multiple bond masters.
The fix assumes that multiple bond masters are on different lines in the file
"/sys/class/net/bonding_masters", while they are in fact on the same line.
Since fgrep -sqx checks for the entire line,it will never match any one bond
master within the line and always fail if there are multiple bonds.
This patch improves the check by creating a new function, bond_master_exists()
to handle this and other conditions.
Orabug: 19897586
Signed-off-by: Ashish Samant <ashish.samant@oracle.com>
Signed-off-by: John Haxby <john.haxby@oracle.com>
Acked-by: Mukesh Kacker <mukesh.kacker@oracle.com>
---
sysconfig/network-scripts/network-functions | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/sysconfig/network-scripts/network-functions b/sysconfig/network-scripts/network-functions
index 0e86efd..e6273bb 100644
--- a/sysconfig/network-scripts/network-functions
+++ b/sysconfig/network-scripts/network-functions
@@ -458,10 +458,22 @@ phy_wireless_device ()
cat /sys/class/net/$1/phy80211/name
}
+bond_master_exists ()
+{
+ local bond_name
+ [ -z "${1}" ] && return 1
+ [ ! -f /sys/class/net/bonding_masters ] && return 1
+
+ for bond_name in $(< /sys/class/net/bonding_masters); do
+ [ "${bond_name}" == "${1}" ] && return 0
+ done
+ return 1
+}
+
install_bonding_driver ()
{
- [ ! -f /sys/class/net/bonding_masters ] && ( modprobe bonding || return 1 )
- if ! fgrep -sqx "$1" /sys/class/net/bonding_masters; then
+ if ! bond_master_exists ${1}; then
+ modprobe bonding || return 1
echo "+$1" > /sys/class/net/bonding_masters 2>/dev/null
fi
(
--
1.8.3.1

View File

@ -1,9 +1,9 @@
Summary: Scripts to bring up network interfaces and legacy utilities
Name: initscripts
Version: 9.59
Version: 9.60
License: GPLv2
Group: System Environment/Base
Release: 2%{?dist}
Release: 1%{?dist}
URL: http://fedorahosted.org/releases/i/n/initscripts/
Source: http://fedorahosted.org/releases/i/n/initscripts/initscripts-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
@ -34,8 +34,6 @@ Requires(preun): /sbin/chkconfig
BuildRequires: glib2-devel popt-devel gettext pkgconfig
Provides: /sbin/service
Patch1: 0001-improve_check_for_bond_master_in_install_bonding_dri.patch
%description
This package contains the script that activates and deactivates most
network interfaces, some utilities, and other legacy files.
@ -54,8 +52,6 @@ Currently, this consists of various memory checking code.
%prep
%setup -q
%patch1 -p1
%build
make
@ -193,8 +189,11 @@ rm -rf $RPM_BUILD_ROOT
/etc/profile.d/debug*
%changelog
* Mon Dec 08 2014 Lukáš Nykrýn <lnykryn@redhat.com> - 9.59-2
- improve check for bond_master in install bonding driver
* Tue Dec 16 2014 Lukáš Nykrýn <lnykryn@redhat.com> - 9.60-1
- improve_check_for_bond_master_in_install_bonding_driver
- network-functions: reeplace iwconfig with iw
- ifup: fix typo
- ifdown-ipv6: reset addrgenmode to eui64 for device
* Wed Nov 12 2014 Lukáš Nykrýn <lnykryn@redhat.com> - 9.59-1
- adjust LINKDELAY when STP is on

View File

@ -1 +1 @@
5c223f5f61e96115e08b1030c27f9dbe initscripts-9.59.tar.bz2
5c9cd83e4e04257fef3ffd8e549b7f81 initscripts-9.60.tar.bz2