samba 3.0.0 and spinlocks ?

tridge at samba.org tridge at samba.org
Wed Nov 26 22:05:14 GMT 2003


Jens,

 > Nov 18 10:21:37 pserver16 smbd[2968]: [2003/11/18 10:21:37, 0]
 > tdb/tdbutil.c:tdb_log(724)
 > Nov 18 10:21:37 pserver16 smbd[2968]:   tdb(/var/lib/samba/locking.tdb):
 > tdb_oob len -2320 beyond eof at
 >  40960
 > Nov 18 10:21:37 pserver16 smbd[2968]: [2003/11/18 10:21:37, 0]
 > tdb/tdbutil.c:tdb_log(724)
 > Nov 18 10:21:37 pserver16 smbd[2968]:   tdb(/var/lib/samba/locking.tdb):
 > tdb_free: left read failed at 4
 > 294964952 (4096)

I fixed this a few weeks ago. The fix didn't make it for 3.0.0 but is
in the following releases.

  http://build.samba.org/?function=diff&tree=samba_3_0&date=1066467136&author=tridge

 > Is it safe and reasonable to use spinlocks ? Has this part of the code been
 > thoroughly tested ?

It hasn't been nearly as well tested as the non-spinlock case, but
when I did the above patch I did do quite a lot of testing, including
large netbench runs. I didn't see any problems.

I don't really like the spinlock design in tdb though. I think the
spinlock storage should be part of a normal allocated record rather
than at a magic position at the end of the hash table. I don't have
time to fix it, but it is something that has bothered me a little.

Cheers, Tridge



More information about the samba-technical mailing list