printing, locking, etc in 2.2.0

Jeremy Allison jeremy at
Tue May 22 18:35:39 GMT 2001

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

It assumes that smbds never crash, but if they do then it
can leave dead records in the locking and brlock tdb's, which
won't get cleaned up until a smbd shutdown and restart.

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

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.



Buying an operating system without source is like buying
a self-assembly Space Shuttle with no instructions.

More information about the samba-technical mailing list