FCNTL on Solaris

David Schwarz dave at deakin.edu.au
Mon Apr 22 05:10:02 GMT 2002

>On Thu, Apr 18, 2002 at 11:40:13AM +1000, Wade Turland wrote:
>>> Tridge found the (already noted) related bug on our system and conceded it
>>> was a design flaw. Apparently each new smbd process that starts, does a
>>> quick traversal of the tdb databases to clean out any stale entries, and on
>>> Solaris, these are taking too long. Now when the client times out, it makes
>>> another attempt, but the first attempt is still running so it bogs the
>>> system down quickly. This was first found in the UK in 2.2.2 with
>>> connections.tdb.
>>> It sounds like Mark has our problem, with byte-range locking (brlock.tdb).
>>> If you try the latest CVS it should be fixed.
>>> Andrew said he would look at all the others too and fix them. Andy, maybe
>>> you can help with printing.tdb otherwise keep checking the CVS.
>Ok - discussed this with Andrew last night. It seems that this is only
>a problem on Solaris. Solaris seems to have *serious* issues with fcntl
>locks with multiple processes contending for locks. No other system we
>run on seems to have this problem (they have their own problems :-).
>Dave CB - can you investigate this within Sun please. This is a *critical*
>part of Samba, we may have to look into a solaris-specific workaround and
>this would be bad.

I just found this, it may be a solution,
its from the page

On Wed, 30 May 2001, Bill Stoddard wrote:

> I cannot believe the lock calls don't already return EINTR. That seems to be an okay
> solution... Here is another solution I was an advocate for at least 1 1/2 years ago...
> Don't APRize the accept/select locking.
> And here is one real life scenario to demonstrate... Many (most?) Apache users running
> Apache on Solaris with Netegrity Siteminder have problems with Apache
going belly up (not
> serving requests) because of a failure in the default FCNTL locking in Apache 1.3.
> Netegrity's advise to their customers is to use SYSV_SEM locking rather than FCNTL
> locking. If we use APR'ized locks, then all Apache mutexs are changed from FCNTL to
> SYSV_SEM with this change.  This is not good. I believe the accept/select locking is
> specialized enough to merit handling outside of APR.
> Bill

 David Schwarz
 Desktop/Workgroup Section Leader
 ITS, Deakin University
 Ph (03) 52278938
 Fax (03) 52278866
 Email Dave at deakin.edu.au

More information about the samba-technical mailing list