Bug 508277

Summary: ifenslave fails with too many open files in system
Product: [Fedora] Fedora Reporter: Nigel Rumens <wooky>
Component: iputilsAssignee: Jiri Skala <jskala>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 11CC: aglotov, agospoda, jskala
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-08-31 17:00:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Nigel Rumens 2009-06-26 11:48:18 UTC
Description of problem: ifenslave on wireless device fails with Error: SIOCBONDENSLAVE failed: Too many open files in system


Version-Release number of selected component (if applicable): Fedora 11


How reproducible: every time


Steps to Reproduce:
1.ifenslave bond0 eth1
2.
3.
  
Actual results: error message 
Error: SIOCBONDENSLAVE failed: Too many open files in system



Expected results: eth1 is a slave to bond0


Additional info:

setup is dell 1525 laptop with wired and wireless nic's normally I use these as a bond device in backup mode with the wired device as the primary and wireless as the secondary.

This has been working fine with both F10 and F11. Then I updated the machine this morning when it started failing with the above error.

This mornings update was to kernel 2.6.29.5-191.fc11.x86_64

Etherenet devices are
09:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8040 PCI-E Fast Ethernet Controller (rev 12)
0b:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)

the broadcom is eth1

both devices work fine when configured separately but I am now unable to create a bond device out of them.

Comment 1 Andy Gospodarek 2009-06-30 15:19:48 UTC
Can you tell me which kernel worked previously?

There have been some changes to bonding code upstream recently (in the last two weeks), but I'm not sure that is the problem.

There is also this tunable:

/proc/sys/fs/file-max

which may have some effect.  What does that output look like on your currently-running system?  On an upstream kernel based on 2.6.30, mine shows:

# cat /proc/sys/fs/file-max 
100216

and on a f10 system running 2.6.27, mine shows:

# cat /proc/sys/fs/file-max 
733944

Comment 2 Nigel Rumens 2009-06-30 19:08:31 UTC
Previous working kernel was kernel-2.6.29.4-167.fc11.x86_64

# cat /proc/sys/fs/file-max
300478

One other thing I forgot is the error above is with ifenslave -v without the -v option it simply says Enslave failed

anything else you need just let me know

Comment 3 Andy Gospodarek 2009-06-30 20:02:55 UTC
Do you get the same error if you try to add the slave to the bond by doing this:

echo +eth0 > /sys/class/net/bond0/bonding/slaves

Comment 4 Nigel Rumens 2009-06-30 20:30:00 UTC
Yep same error

# echo +eth1 > /sys/class/net/bond0/bonding/slaves
-bash: echo: write error: Too many open files in system

Comment 5 Andy Gospodarek 2009-06-30 21:06:04 UTC
This sounds more like a kernel problem than something specific to ifenslave.

Can you open any files (like what about just creating a new file in /tmp)?

Comment 6 Nigel Rumens 2009-06-30 21:48:23 UTC
Yes everything seems to be working fine apart from that - I can create files. Don't see anything strange in messages etc. Can ifconfig up and down both wired and wireless nic's and have either one working.

That's how I'm doing this just ifconfig and iwconfiged the wireless card up (not near the lan cable at the moment) and I'm away.

Apart from not being able to create a bond device out of them now I've not noticed any other problems at all.

Comment 7 Andy Gospodarek 2009-07-01 19:49:25 UTC
Can you enslave eth0 without problems?

Can you also try this: 

# echo 800000 > /proc/sys/fs/file-max

and see if you can then enslave eth1.

Of course there has been no change to the BCM4312 driver in fedora between those builds.

Have you been using the fedora driver or are you using one from broadcom or some other source?

Comment 8 Nigel Rumens 2009-07-01 20:07:13 UTC
I can enslave eth0 no problem

tried enslaving eth1 after doing echo 800000 > /proc/sys/fs/file-max
no change - still the same error

I am using the broadcom and kmod-wl from rpmfusion

# yum list installed | grep wl
akmod-wl.x86_64                          5.10.91.9-3.fc11              @rpmfusion-nonfree-updates
broadcom-wl.noarch                       5.10.91.9-1.fc11              @rpmfusion-nonfree-updates
iwl3945-firmware.noarch                  15.32.2.9-1.fc11              installed
iwl4965-firmware.noarch                  228.57.2.23-5.fc11            installed
iwl5000-firmware.noarch                  8.24.2.12-1.fc11              installed
kmod-wl.x86_64                           5.10.91.9-3.fc11.1            @rpmfusion-nonfree-updates
kmod-wl-2.6.29.3-155.fc11.x86_64.x86_64  5.10.79.10-2.fc11.6           installed
kmod-wl-2.6.29.4-167.fc11.x86_64.x86_64  5.10.91.9-3.fc11              @rpmfusion-nonfree-updates
kmod-wl-2.6.29.5-191.fc11.x86_64.x86_64  5.10.91.9-3.fc11.1            @rpmfusion-nonfree-updates

Comment 9 Nigel Rumens 2009-08-29 11:51:22 UTC
Looks like this bug is down to the broadcom driver.

I just grabbed the latest b43 driver from linux wireless which now supports my device:- 

0b:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g [14e4:4315] (rev 01)

and now ifenslave works perfectly and I once again have a fully functional bond0

Comment 10 Andy Gospodarek 2009-08-31 17:00:07 UTC
Sounds great!  I'll close this out, then.