Problems with fopen and many open files

Mattias.Gronlund Mattias.Gronlund at sa.erisoft.se
Wed Sep 15 20:54:23 GMT 1999


Hi,

We are running Samba on a Solaris 2.5.1-system. 

We have seen messages like this in the log from time to time:

[1999/09/15 12:57:43.093672, 0, 24356, e(0, 0), r(0, 0)]
passdb/smbpassfile.c:trust_passwo
rd_lock(119)
  trust_password_lock: cannot open file
/opt/fw/samba/current/private/ERISOFT_SA.SCC001.ma
c - Error was No such file or directory.
[1999/09/15 12:57:43.095309, 0, 24356, e(0, 0), r(0, 0)]
passdb/smbpassfile.c:trust_get_pa
sswd(288)
  domain_client_validate: unable to open the machine account password
file for machine SCC
001 in domain ERISOFT_SA.

I did run truss on a process and trigged a new message, truss gave:
open("/opt/fw/samba/current/private/ERISOFT_SA.SCC001.mac", O_RDWR) =
320
close(320)                                      = 0

As of what I have understood, this is the fopen opening the file but
rejecting the descriptor. I wrote a test and verified that I get
an error, "Too many open files" with descriptors over 63. What buggs me
is
that the error printed by smbd is "No such file or directory".

My conclution of this is that libc:s fopen is limited somehow by 
limits.h:s OPEN_MAX, that is set to 64.

I have run my test-program on Solaris 2.6 and Redhat Linux 6.0 too, and
seen
the same limit on Solaris 2.6, but no such limit under Redhat Linux 6.0.

I can't say that I am a friend of the fopen. So I wounder why do Samba
need
to use fopen? Couldn't we convert the code to use open insted of fopen?

/Mattias


More information about the samba-technical mailing list