From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020830 Description of problem: Attempts to mount more than about 140 NFS over TCP mounts from an AS 2.1 client fail with an "unable to bind to privileged port" error. This error seems to be the result of a large number of TCP connections on privileged ports being held in TIME_WAIT. These connections are on ports 2049 and 32786. (statd and portmapper). These errors subside if you wait 60 seconds for the TIME_WAIT sockets to clear. These errors also occur in AS 3 Beta 2 Solaris _does not_ suffer from this same problem. We believe this is because it uses UDP RPC calls for communicating with portmapper and statd. Version-Release number of selected component (if applicable): mount-2.11g-6 How reproducible: Always Steps to Reproduce: 1) Create 1000 distinct mount points on a server that supports TCP. In our case, we have used both NetApp filers and Solaris NFS servers. 2) Write a shell loop on a Linux client that mounts these exports one after the other. Actual Results: The script will fail after about 140 mounts. It will report "cannot bind to priveleged port" errors. Expected Results: The script should have been able to create almost 800 mounts before failing due to lack of ports. Additional info:
I think the real problem here is that all of the setup communication needed for the mount (i.e communication to and from portmapper, lockd, statd) puts privilege ports in a temporary unusable state (i.e. TIME_WAIT). Having the setup communications use UDP sockets instead TCP would take care of the problem.
Steve, you know way better than I what needs doing - hope it's ok to assign this bug to you in the interest of making progress.
Given that AS 2.1 is now in maintenance mode, I don't see us changing this there. Subsequent RHEL versions should be much better about this now.