Proposed patch for Samba-2.0.7 to allow Solaris open more than
1014 (or rlim_fd_max) files
Eric Boehm
boehm at nortelnetworks.com
Fri Jan 26 10:39:12 GMT 2001
On Fri, Jan 26, 2001 at 10:08:33AM +0100, Andy Polyakov wrote:
>>>>> "Andy" == Andy Polyakov <appro at fy.chalmers.se> writes:
>>>>> "David" == David Boyce <dsb at world.std.com> writes:
Andy> Compiling with sfio doesn't solve all the problems. The remaining
Andy> problem is that we don't know if library functions called by SAMBA
Andy> call fopen and company. Linking with binary compatibility shim
Andy> doesn't help as it would presumably suffer from the very same
Andy> deficiency (or won't be binary compatible).
David> Please remember, as mentioned before, that this whole
David> stdio/sfio/MAX_OPEN thing is a sidetrack from the real (setrlimit)
David> discussion.
Andy> Sure we remember that, but it was the author of the original post
Andy> who brought the issue up:-)
I'm the person who brought it up :-(. I'm afraid I didn't David credit where
credit is due. The analysis of SFIO and FDs between 256 and 1024 is all
David's work. The information I included was a summary of an analysis he
posted to the CCIUG (ClearCase International Users Group) mailing list. It was
not my intent to take credit for his work.
David> ... any idea why it didn't get rolled in?
Andy> No. Probably because it was brought up as a side comment, just like
Andy> this time:-)
Andy> Was it just overlooked or did someone have a problem with it?
Perhaps it should be raised as a separate issue then so that it doesn't get
forgotten, again.
Andy> Rather nobody (but me at that time) experienced a problem without
Andy> it... Indeed, it takes a site running Solaris (in some specific
Andy> configuration as it's most likely nss_*.so modules that use stdio
Andy> and therefore would suffer), pushing SAMBA hard on it and sticking
Andy> to Solaris when a problem arises. And there aren't many enough to
Andy> care about...
I'm not pushing it *that* hard. Approximately 400 users across 4 servers.
Andy> I should also recommend -DUSE_POLL and -DFD_SETSIZE=2400 (or
Andy> something), -DUSE_POLL effectively prevents SAMBA from using select
Andy> (which is btw very similar front-end to poll anyway) and FD_SETSIZE
Andy> scales up structures used by SAMBA itself.
I thought these were useful points. I agree that increasing FD_SETSIZE to
scale up structures is a good idea.
I decided to punt on the issue of SFIO and other functions calling open(2)
indirectly. I decided to compile samba as a 64-bit application. That increases
FD_SETSIZE to 65536, avoids problems with select and no need to shuffle file
descriptors.
If you can't generate a 64-bit samba I'm willing to share binaries if you'd
like to test.
--
Eric M. Boehm boehm at nortelnetworks.com
More information about the samba-technical
mailing list