Samba and Dataflex

Rudolf Bargholz rudolf at
Tue Jan 4 11:56:21 GMT 2000

Dear Alexandre,

this problem of data-corruption with file based databases is not a Dataflex
issue, nor is it necessarily a Samba issue. The problem basically is that
when an application tells windows to write data to a file, the data is
normally not written directly to the file but placed in a cache. Windows
then waits till it has some free time and then proceeds to write the data to
the storage medium. This process is called write-behind-caching, is
defaulted to TRUE under Windows and makes Windows look faster than it is.
The problem with this write-behind-caching is that if your file is on a
network server and the network is temporarily overworked, network packets
can get lost. Your run-of-the-mill files are not affected by this packet
loss as they are normally not that large and do not have to write to many
different positions in a file but simply copy a file from your memory to the
network sever. File based databases have to write to many different places
in the same file and if packets get lost you get a corrupted database.
Another cause of data corruption can also be the use of opportunistic
locking on NT. You can turn off opportunistic locking for SAMBA pretty
easily for a share by setting

oplocks = False

To turn off write-behind-caching you have to make changes in the Windows
registry. It is best if I give you a couple of URLs that go into more
(At the above URL you will find a small tool that makes the registry changes
for you.)

Don't know how good your German is but I also have a reference to a Swiss
company that uses Dataflex and had similar problems to those you describe:

Turning off oportunistic locking and write-behind-caching has resolved
almost every data corruption issue I have been confronted with.


Rudolf Bargholz
email: rudolf_bargholz at

OMNIS Software
Tel: +49-(0)40-532 87 20
Fax: +49-(0)40-531 38 18

More information about the samba mailing list