DBase File locking issues

Jim Morris Jim at Morris.net
Tue Sep 14 16:58:40 GMT 1999


Hi All,

I am experiencing issues with the use of DBase files on a Samba 2.0.5a
share, that appear to be due to locking problems.  Basically, I have
test programs for both DOS and Win32 that does nothing but append
records to a DBase database (DBF/MDX files).  If more than one client
PC is appending to this file, data loss occurs.  I get random data
loss, with records lost, and index file corruption too.  I.e. I find
records that were supposedly added that are simply missing, and other
records that have multiple index file entries pointing to one physical
record - and the record contains only the data from one PC of course.
FYI, I've written the test apps using several different methods of
DBase access - CodeBase 5.1 for DOS and Win32, as well as Borland
C++ Builder 4.0 and the "Borland Database Engine".

The problem ONLY seems to occur when two clients systems are WRITING
to the database at the same time. I can have one reading from, while
another writes to the database, and not see the problem.

I've tried turning STRICT LOCKING on, and OPLOCKS off, to no avail.

I found references in the Samba mailing list archives to a Redhat 6.0
GLIBC locking bug.  The two Samba servers I've seen the problem on are
both running Redhat 6.0, with all the latest updates applied.  I built
the Samba 2.0.5a RPM's myself, using the samba-2.0.5a.tar.gz source.

So my question is:  is this locking bug in the Redhat C libraries
fixed in Samba 2.0.5a, or do I need to do something to upgrade my C
libraries?  Or is something else going on?

Thanks!
 --
/------------------------------------------------\
| Jim Morris  | Business:  jmorris at rtc-group.com |
|             | Personal:  Jim at Morris.net        |
|------------------------------------------------|
|    World Wide Web:  http://Jim.Morris.net      |
|       AOL Instant Messenger:  JFM2001          |
\------------------------------------------------/




More information about the samba mailing list