printing, locking, etc in 2.2.0

Neil Hoggarth neil.hoggarth at
Wed May 23 07:45:01 GMT 2001

Dear Jeremy

On Tue, 22 May 2001, Jeremy Allison wrote:

> I took a long look at the locking and brlock code in 2.2.0,
> and it's not done defensively.

I've found a technique for creating stale locks on demand for testing
purposes now (lock a file from a client, kill -9 the appropraite smbd
...). I take it that the debug traces aren't needed now, however?

> I've added code in the 2.2.1 and HEAD trees to scan both
> db's on startup and shutdown (it was already being done on
> startup for the brlock tdb) to check entries are valid, and
> clean them up if not.
> This is defensive programming, but I'm not sure about the
> performance implications on startup and shutdow. Each smbd
> starting up and shutting down will do a tdb_traverse over
> both db's, locking each hash chain and ensuring record
> integrity.

I think that is prudent. The issue is not just smbd crashing - there are
a few places in the code where smbd deals with an unexpected error by
emitting a level 0 debug comment and calling exit(1).

> As it's really important for Samba to provide completely
> reliable file & print service, I'd like to postpone shipping
> 2.2.1 for a little, until several people have tested this code
> in larger environments (ie. several hundred simultaneous
> users at least - maybe a NetBench run from Herb also).
> If you want to test this please check out the 2.2 branch.

I have a couple of hundred users at peak times. I checked out 2.2 this
morning (cvs update at about 06:00 GMT) and rebuilt. Unfortunately the
new build has problems - it is turning down most connections with a
"make_connection(494) too many connections - rejected" log message. I
don't use "max connections" at all in my smb.conf file. I had to revert
to a prior build of smbd on my main server to restore service, but I'll
try and do some further tests on another machine.

Neil Hoggarth                                 Departmental Computer Officer
<neil.hoggarth at>                   Laboratory of Physiology                  University of Oxford, UK

More information about the samba-technical mailing list